EVOLUTION-MANAGER
Edit File: Funkin.js
(function ($hx_exports, $global) { "use strict"; var $hx_script = (function (exports, global) { // Generated by Haxe 4.0.5 (function ($hx_exports, $global) { "use strict"; $hx_exports["lime"] = $hx_exports["lime"] || {}; var $hxClasses = {},$estr = function() { return js_Boot.__string_rec(this,''); },$hxEnums = $hxEnums || {},$_; function $extend(from, fields) { var proto = Object.create(from); for (var name in fields) proto[name] = fields[name]; if( fields.toString !== Object.prototype.toString ) proto.toString = fields.toString; return proto; } var flixel_util_IFlxDestroyable = function() { }; $hxClasses["flixel.util.IFlxDestroyable"] = flixel_util_IFlxDestroyable; flixel_util_IFlxDestroyable.__name__ = "flixel.util.IFlxDestroyable"; flixel_util_IFlxDestroyable.__isInterface__ = true; flixel_util_IFlxDestroyable.prototype = { destroy: null ,__class__: flixel_util_IFlxDestroyable }; var flixel_FlxBasic = function() { this.flixelType = 0; this.exists = true; this.alive = true; this.visible = true; this.active = true; this.ID = flixel_FlxBasic.idEnumerator++; }; $hxClasses["flixel.FlxBasic"] = flixel_FlxBasic; flixel_FlxBasic.__name__ = "flixel.FlxBasic"; flixel_FlxBasic.__interfaces__ = [flixel_util_IFlxDestroyable]; flixel_FlxBasic.prototype = { ID: null ,active: null ,visible: null ,alive: null ,exists: null ,flixelType: null ,_cameras: null ,destroy: function() { this.set_exists(false); this._cameras = null; } ,kill: function() { this.set_alive(false); this.set_exists(false); } ,revive: function() { this.set_alive(true); this.set_exists(true); } ,update: function(elapsed) { } ,draw: function() { } ,toString: function() { var value = this.active; var _this = flixel_util_LabelValuePair._pool.get(); _this.label = "active"; _this.value = value; var value1 = this.visible; var _this1 = flixel_util_LabelValuePair._pool.get(); _this1.label = "visible"; _this1.value = value1; var value2 = this.alive; var _this2 = flixel_util_LabelValuePair._pool.get(); _this2.label = "alive"; _this2.value = value2; var value3 = this.exists; var _this3 = flixel_util_LabelValuePair._pool.get(); _this3.label = "exists"; _this3.value = value3; return flixel_util_FlxStringUtil.getDebugString([_this,_this1,_this2,_this3]); } ,set_visible: function(Value) { return this.visible = Value; } ,set_active: function(Value) { return this.active = Value; } ,set_exists: function(Value) { return this.exists = Value; } ,set_alive: function(Value) { return this.alive = Value; } ,get_camera: function() { if(this._cameras == null || this._cameras.length == 0) { return flixel_FlxCamera._defaultCameras[0]; } else { return this._cameras[0]; } } ,set_camera: function(Value) { if(this._cameras == null) { this._cameras = [Value]; } else { this._cameras[0] = Value; } return Value; } ,get_cameras: function() { if(this._cameras == null) { return flixel_FlxCamera._defaultCameras; } else { return this._cameras; } } ,set_cameras: function(Value) { return this._cameras = Value; } ,__class__: flixel_FlxBasic ,__properties__: {set_cameras:"set_cameras",get_cameras:"get_cameras",set_camera:"set_camera",get_camera:"get_camera",set_exists:"set_exists",set_alive:"set_alive",set_visible:"set_visible",set_active:"set_active"} }; var flixel_util_IFlxPooled = function() { }; $hxClasses["flixel.util.IFlxPooled"] = flixel_util_IFlxPooled; flixel_util_IFlxPooled.__name__ = "flixel.util.IFlxPooled"; flixel_util_IFlxPooled.__isInterface__ = true; flixel_util_IFlxPooled.__interfaces__ = [flixel_util_IFlxDestroyable]; flixel_util_IFlxPooled.prototype = { put: null ,_inPool: null ,__class__: flixel_util_IFlxPooled }; var flixel_util_IFlxPool = function() { }; $hxClasses["flixel.util.IFlxPool"] = flixel_util_IFlxPool; flixel_util_IFlxPool.__name__ = "flixel.util.IFlxPool"; flixel_util_IFlxPool.__isInterface__ = true; flixel_util_IFlxPool.prototype = { preAllocate: null ,clear: null ,__class__: flixel_util_IFlxPool }; var flixel_util_FlxPool_$flixel_$math_$FlxRect = function(classObj) { this._count = 0; this._pool = []; this._class = classObj; }; $hxClasses["flixel.util.FlxPool_flixel_math_FlxRect"] = flixel_util_FlxPool_$flixel_$math_$FlxRect; flixel_util_FlxPool_$flixel_$math_$FlxRect.__name__ = "flixel.util.FlxPool_flixel_math_FlxRect"; flixel_util_FlxPool_$flixel_$math_$FlxRect.__interfaces__ = [flixel_util_IFlxPool]; flixel_util_FlxPool_$flixel_$math_$FlxRect.prototype = { _pool: null ,_class: null ,_count: null ,get: function() { if(this._count == 0) { return Type.createInstance(this._class,[]); } return this._pool[--this._count]; } ,put: function(obj) { if(obj != null) { var i = this._pool.indexOf(obj); if(i == -1 || i >= this._count) { obj.destroy(); this._pool[this._count++] = obj; } } } ,putUnsafe: function(obj) { if(obj != null) { obj.destroy(); this._pool[this._count++] = obj; } } ,preAllocate: function(numObjects) { while(numObjects-- > 0) this._pool[this._count++] = Type.createInstance(this._class,[]); } ,clear: function() { this._count = 0; var oldPool = this._pool; this._pool = []; return oldPool; } ,get_length: function() { return this._count; } ,__class__: flixel_util_FlxPool_$flixel_$math_$FlxRect ,__properties__: {get_length:"get_length"} }; var flixel_math_FlxRect = function(X,Y,Width,Height) { if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } this._inPool = false; this._weak = false; var X1 = X; var Y1 = Y; var Width1 = Width; var Height1 = Height; if(Height1 == null) { Height1 = 0; } if(Width1 == null) { Width1 = 0; } if(Y1 == null) { Y1 = 0; } if(X1 == null) { X1 = 0; } this.x = X1; this.y = Y1; this.width = Width1; this.height = Height1; }; $hxClasses["flixel.math.FlxRect"] = flixel_math_FlxRect; flixel_math_FlxRect.__name__ = "flixel.math.FlxRect"; flixel_math_FlxRect.__interfaces__ = [flixel_util_IFlxPooled]; flixel_math_FlxRect.__properties__ = {get_pool:"get_pool"}; flixel_math_FlxRect.get = function(X,Y,Width,Height) { if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } var _this = flixel_math_FlxRect._pool.get(); var X1 = X; var Y1 = Y; var Width1 = Width; var Height1 = Height; if(Height1 == null) { Height1 = 0; } if(Width1 == null) { Width1 = 0; } if(Y1 == null) { Y1 = 0; } if(X1 == null) { X1 = 0; } _this.x = X1; _this.y = Y1; _this.width = Width1; _this.height = Height1; var rect = _this; rect._inPool = false; return rect; }; flixel_math_FlxRect.weak = function(X,Y,Width,Height) { if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } var X1 = X; var Y1 = Y; var Width1 = Width; var Height1 = Height; if(Height1 == null) { Height1 = 0; } if(Width1 == null) { Width1 = 0; } if(Y1 == null) { Y1 = 0; } if(X1 == null) { X1 = 0; } var _this = flixel_math_FlxRect._pool.get(); var X2 = X1; var Y2 = Y1; var Width2 = Width1; var Height2 = Height1; if(Height2 == null) { Height2 = 0; } if(Width2 == null) { Width2 = 0; } if(Y2 == null) { Y2 = 0; } if(X2 == null) { X2 = 0; } _this.x = X2; _this.y = Y2; _this.width = Width2; _this.height = Height2; var rect = _this; rect._inPool = false; var rect1 = rect; rect1._weak = true; return rect1; }; flixel_math_FlxRect.get_pool = function() { return flixel_math_FlxRect._pool; }; flixel_math_FlxRect.prototype = { x: null ,y: null ,width: null ,height: null ,_weak: null ,_inPool: null ,put: function() { if(!this._inPool) { this._inPool = true; this._weak = false; flixel_math_FlxRect._pool.putUnsafe(this); } } ,putWeak: function() { if(this._weak) { if(!this._inPool) { this._inPool = true; this._weak = false; flixel_math_FlxRect._pool.putUnsafe(this); } } } ,setSize: function(Width,Height) { this.width = Width; this.height = Height; return this; } ,setPosition: function(x,y) { this.x = x; this.y = y; return this; } ,set: function(X,Y,Width,Height) { if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } this.x = X; this.y = Y; this.width = Width; this.height = Height; return this; } ,copyFrom: function(Rect) { this.x = Rect.x; this.y = Rect.y; this.width = Rect.width; this.height = Rect.height; if(Rect._weak) { if(!Rect._inPool) { Rect._inPool = true; Rect._weak = false; flixel_math_FlxRect._pool.putUnsafe(Rect); } } return this; } ,copyTo: function(Rect) { Rect.x = this.x; Rect.y = this.y; Rect.width = this.width; Rect.height = this.height; if(Rect._weak) { if(!Rect._inPool) { Rect._inPool = true; Rect._weak = false; flixel_math_FlxRect._pool.putUnsafe(Rect); } } return Rect; } ,copyFromFlash: function(FlashRect) { this.x = FlashRect.x; this.y = FlashRect.y; this.width = FlashRect.width; this.height = FlashRect.height; return this; } ,copyToFlash: function(FlashRect) { if(FlashRect == null) { FlashRect = new openfl_geom_Rectangle(); } FlashRect.x = this.x; FlashRect.y = this.y; FlashRect.width = this.width; FlashRect.height = this.height; return FlashRect; } ,overlaps: function(Rect) { var result = Rect.x + Rect.width > this.x && Rect.x < this.x + this.width && Rect.y + Rect.height > this.y && Rect.y < this.y + this.height; if(Rect._weak) { if(!Rect._inPool) { Rect._inPool = true; Rect._weak = false; flixel_math_FlxRect._pool.putUnsafe(Rect); } } return result; } ,containsPoint: function(Point) { var result = flixel_math_FlxMath.pointInFlxRect(Point.x,Point.y,this); if(Point._weak) { Point.put(); } return result; } ,union: function(Rect) { var minX = Math.min(this.x,Rect.x); var minY = Math.min(this.y,Rect.y); var maxX = Math.max(this.x + this.width,Rect.x + Rect.width); var maxY = Math.max(this.y + this.height,Rect.y + Rect.height); if(Rect._weak) { if(!Rect._inPool) { Rect._inPool = true; Rect._weak = false; flixel_math_FlxRect._pool.putUnsafe(Rect); } } var X = minX; var Y = minY; var Width = maxX - minX; var Height = maxY - minY; if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } this.x = X; this.y = Y; this.width = Width; this.height = Height; return this; } ,floor: function() { this.x = Math.floor(this.x); this.y = Math.floor(this.y); this.width = Math.floor(this.width); this.height = Math.floor(this.height); return this; } ,ceil: function() { this.x = Math.ceil(this.x); this.y = Math.ceil(this.y); this.width = Math.ceil(this.width); this.height = Math.ceil(this.height); return this; } ,round: function() { this.x = Math.round(this.x); this.y = Math.round(this.y); this.width = Math.round(this.width); this.height = Math.round(this.height); return this; } ,fromTwoPoints: function(Point1,Point2) { var minX = Math.min(Point1.x,Point2.x); var minY = Math.min(Point1.y,Point2.y); var maxX = Math.max(Point1.x,Point2.x); var maxY = Math.max(Point1.y,Point2.y); if(Point1._weak) { Point1.put(); } if(Point2._weak) { Point2.put(); } var X = minX; var Y = minY; var Width = maxX - minX; var Height = maxY - minY; if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } this.x = X; this.y = Y; this.width = Width; this.height = Height; return this; } ,unionWithPoint: function(Point) { var minX = Math.min(this.x,Point.x); var minY = Math.min(this.y,Point.y); var maxX = Math.max(this.x + this.width,Point.x); var maxY = Math.max(this.y + this.height,Point.y); if(Point._weak) { Point.put(); } var X = minX; var Y = minY; var Width = maxX - minX; var Height = maxY - minY; if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } this.x = X; this.y = Y; this.width = Width; this.height = Height; return this; } ,offset: function(dx,dy) { this.x += dx; this.y += dy; return this; } ,destroy: function() { } ,equals: function(rect) { var result = Math.abs(this.x - rect.x) <= 0.0000001 && Math.abs(this.y - rect.y) <= 0.0000001 && Math.abs(this.width - rect.width) <= 0.0000001 && Math.abs(this.height - rect.height) <= 0.0000001; if(rect._weak) { if(!rect._inPool) { rect._inPool = true; rect._weak = false; flixel_math_FlxRect._pool.putUnsafe(rect); } } return result; } ,intersection: function(rect,result) { if(result == null) { var _this = flixel_math_FlxRect._pool.get(); var X = 0; var Y = 0; var Width = 0; var Height = 0; if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } _this.x = X; _this.y = Y; _this.width = Width; _this.height = Height; var rect1 = _this; rect1._inPool = false; result = rect1; } var x0 = this.x < rect.x ? rect.x : this.x; var x1 = this.x + this.width > rect.x + rect.width ? rect.x + rect.width : this.x + this.width; if(x1 <= x0) { if(rect._weak) { if(!rect._inPool) { rect._inPool = true; rect._weak = false; flixel_math_FlxRect._pool.putUnsafe(rect); } } return result; } var y0 = this.y < rect.y ? rect.y : this.y; var y1 = this.y + this.height > rect.y + rect.height ? rect.y + rect.height : this.y + this.height; if(y1 <= y0) { if(rect._weak) { if(!rect._inPool) { rect._inPool = true; rect._weak = false; flixel_math_FlxRect._pool.putUnsafe(rect); } } return result; } if(rect._weak) { if(!rect._inPool) { rect._inPool = true; rect._weak = false; flixel_math_FlxRect._pool.putUnsafe(rect); } } var X1 = x0; var Y1 = y0; var Width1 = x1 - x0; var Height1 = y1 - y0; if(Height1 == null) { Height1 = 0; } if(Width1 == null) { Width1 = 0; } if(Y1 == null) { Y1 = 0; } if(X1 == null) { X1 = 0; } result.x = X1; result.y = Y1; result.width = Width1; result.height = Height1; return result; } ,toString: function() { var value = this.x; var _this = flixel_util_LabelValuePair._pool.get(); _this.label = "x"; _this.value = value; var value1 = this.y; var _this1 = flixel_util_LabelValuePair._pool.get(); _this1.label = "y"; _this1.value = value1; var value2 = this.width; var _this2 = flixel_util_LabelValuePair._pool.get(); _this2.label = "w"; _this2.value = value2; var value3 = this.height; var _this3 = flixel_util_LabelValuePair._pool.get(); _this3.label = "h"; _this3.value = value3; return flixel_util_FlxStringUtil.getDebugString([_this,_this1,_this2,_this3]); } ,get_left: function() { return this.x; } ,set_left: function(Value) { this.width -= Value - this.x; return this.x = Value; } ,get_right: function() { return this.x + this.width; } ,set_right: function(Value) { this.width = Value - this.x; return Value; } ,get_top: function() { return this.y; } ,set_top: function(Value) { this.height -= Value - this.y; return this.y = Value; } ,get_bottom: function() { return this.y + this.height; } ,set_bottom: function(Value) { this.height = Value - this.y; return Value; } ,get_isEmpty: function() { if(this.width != 0) { return this.height == 0; } else { return true; } } ,__class__: flixel_math_FlxRect ,__properties__: {get_isEmpty:"get_isEmpty",set_bottom:"set_bottom",get_bottom:"get_bottom",set_top:"set_top",get_top:"get_top",set_right:"set_right",get_right:"get_right",set_left:"set_left",get_left:"get_left"} }; var flixel_FlxObject = function(X,Y,Width,Height) { if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } var _this = flixel_math_FlxRect._pool.get(); _this.x = 0; _this.y = 0; _this.width = 0; _this.height = 0; _this._inPool = false; this._rect = _this; var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; this._point = point; this.path = null; this.collisonXDrag = true; this.allowCollisions = 4369; this.wasTouching = 0; this.touching = 0; this.health = 1; this.maxAngular = 10000; this.angularDrag = 0; this.angularAcceleration = 0; this.angularVelocity = 0; this.elasticity = 0; this.mass = 1; this.immovable = false; this.moves = true; this.angle = 0; this.pixelPerfectPosition = true; this.y = 0; this.x = 0; flixel_FlxBasic.call(this); this.set_x(X); this.set_y(Y); this.set_width(Width); this.set_height(Height); this.initVars(); }; $hxClasses["flixel.FlxObject"] = flixel_FlxObject; flixel_FlxObject.__name__ = "flixel.FlxObject"; flixel_FlxObject.separate = function(Object1,Object2) { var separatedX = flixel_FlxObject.separateX(Object1,Object2); var separatedY = flixel_FlxObject.separateY(Object1,Object2); if(!separatedX) { return separatedY; } else { return true; } }; flixel_FlxObject.updateTouchingFlags = function(Object1,Object2) { var touchingX = flixel_FlxObject.updateTouchingFlagsX(Object1,Object2); var touchingY = flixel_FlxObject.updateTouchingFlagsY(Object1,Object2); if(!touchingX) { return touchingY; } else { return true; } }; flixel_FlxObject.computeOverlapX = function(Object1,Object2,checkMaxOverlap) { if(checkMaxOverlap == null) { checkMaxOverlap = true; } var overlap = 0; var obj1delta = Object1.x - Object1.last.x; var obj2delta = Object2.x - Object2.last.x; if(obj1delta != obj2delta) { var obj1deltaAbs = obj1delta > 0 ? obj1delta : -obj1delta; var obj2deltaAbs = obj2delta > 0 ? obj2delta : -obj2delta; var _this = flixel_FlxObject._firstSeparateFlxRect; var X = Object1.x - (obj1delta > 0 ? obj1delta : 0); var Y = Object1.last.y; var Width = Object1.get_width() + obj1deltaAbs; var Height = Object1.get_height(); if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } _this.x = X; _this.y = Y; _this.width = Width; _this.height = Height; var obj1rect = _this; var _this1 = flixel_FlxObject._secondSeparateFlxRect; var X1 = Object2.x - (obj2delta > 0 ? obj2delta : 0); var Y1 = Object2.last.y; var Width1 = Object2.get_width() + obj2deltaAbs; var Height1 = Object2.get_height(); if(Height1 == null) { Height1 = 0; } if(Width1 == null) { Width1 = 0; } if(Y1 == null) { Y1 = 0; } if(X1 == null) { X1 = 0; } _this1.x = X1; _this1.y = Y1; _this1.width = Width1; _this1.height = Height1; var obj2rect = _this1; if(obj1rect.x + obj1rect.width > obj2rect.x && obj1rect.x < obj2rect.x + obj2rect.width && obj1rect.y + obj1rect.height > obj2rect.y && obj1rect.y < obj2rect.y + obj2rect.height) { var maxOverlap = checkMaxOverlap ? obj1deltaAbs + obj2deltaAbs + flixel_FlxObject.SEPARATE_BIAS : 0; if(obj1delta > obj2delta) { overlap = Object1.x + Object1.get_width() - Object2.x; if(checkMaxOverlap && overlap > maxOverlap || (Object1.allowCollisions & 16) == 0 || (Object2.allowCollisions & 1) == 0) { overlap = 0; } else { Object1.touching |= 16; Object2.touching |= 1; } } else if(obj1delta < obj2delta) { overlap = Object1.x - Object2.get_width() - Object2.x; if(checkMaxOverlap && -overlap > maxOverlap || (Object1.allowCollisions & 1) == 0 || (Object2.allowCollisions & 16) == 0) { overlap = 0; } else { Object1.touching |= 1; Object2.touching |= 16; } } } } return overlap; }; flixel_FlxObject.separateX = function(Object1,Object2) { var obj1immovable = Object1.immovable; var obj2immovable = Object2.immovable; if(obj1immovable && obj2immovable) { return false; } if(Object1.flixelType == 3) { var tilemap = Object1; return tilemap.overlapsWithCallback(Object2,flixel_FlxObject.separateX); } if(Object2.flixelType == 3) { var tilemap1 = Object2; return tilemap1.overlapsWithCallback(Object1,flixel_FlxObject.separateX,true); } var overlap = flixel_FlxObject.computeOverlapX(Object1,Object2); if(overlap != 0) { var obj1v = Object1.velocity.x; var obj2v = Object2.velocity.x; if(!obj1immovable && !obj2immovable) { overlap *= 0.5; Object1.set_x(Object1.x - overlap); var _g = Object2; _g.set_x(_g.x + overlap); var obj1velocity = Math.sqrt(obj2v * obj2v * Object2.mass / Object1.mass) * (obj2v > 0 ? 1 : -1); var obj2velocity = Math.sqrt(obj1v * obj1v * Object1.mass / Object2.mass) * (obj1v > 0 ? 1 : -1); var average = (obj1velocity + obj2velocity) * 0.5; obj1velocity -= average; obj2velocity -= average; Object1.velocity.set_x(average + obj1velocity * Object1.elasticity); Object2.velocity.set_x(average + obj2velocity * Object2.elasticity); } else if(!obj1immovable) { Object1.set_x(Object1.x - overlap); Object1.velocity.set_x(obj2v - obj1v * Object1.elasticity); } else if(!obj2immovable) { var _g1 = Object2; _g1.set_x(_g1.x + overlap); Object2.velocity.set_x(obj1v - obj2v * Object2.elasticity); } return true; } return false; }; flixel_FlxObject.updateTouchingFlagsX = function(Object1,Object2) { if(Object1.flixelType == 3) { var tilemap = Object1; return tilemap.overlapsWithCallback(Object2,flixel_FlxObject.updateTouchingFlagsX); } if(Object2.flixelType == 3) { var tilemap1 = Object2; return tilemap1.overlapsWithCallback(Object1,flixel_FlxObject.updateTouchingFlagsX,true); } return flixel_FlxObject.computeOverlapX(Object1,Object2,false) != 0; }; flixel_FlxObject.computeOverlapY = function(Object1,Object2,checkMaxOverlap) { if(checkMaxOverlap == null) { checkMaxOverlap = true; } var overlap = 0; var obj1delta = Object1.y - Object1.last.y; var obj2delta = Object2.y - Object2.last.y; if(obj1delta != obj2delta) { var obj1deltaAbs = obj1delta > 0 ? obj1delta : -obj1delta; var obj2deltaAbs = obj2delta > 0 ? obj2delta : -obj2delta; var _this = flixel_FlxObject._firstSeparateFlxRect; var X = Object1.x; var Y = Object1.y - (obj1delta > 0 ? obj1delta : 0); var Width = Object1.get_width(); var Height = Object1.get_height() + obj1deltaAbs; if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } _this.x = X; _this.y = Y; _this.width = Width; _this.height = Height; var obj1rect = _this; var _this1 = flixel_FlxObject._secondSeparateFlxRect; var X1 = Object2.x; var Y1 = Object2.y - (obj2delta > 0 ? obj2delta : 0); var Width1 = Object2.get_width(); var Height1 = Object2.get_height() + obj2deltaAbs; if(Height1 == null) { Height1 = 0; } if(Width1 == null) { Width1 = 0; } if(Y1 == null) { Y1 = 0; } if(X1 == null) { X1 = 0; } _this1.x = X1; _this1.y = Y1; _this1.width = Width1; _this1.height = Height1; var obj2rect = _this1; if(obj1rect.x + obj1rect.width > obj2rect.x && obj1rect.x < obj2rect.x + obj2rect.width && obj1rect.y + obj1rect.height > obj2rect.y && obj1rect.y < obj2rect.y + obj2rect.height) { var maxOverlap = checkMaxOverlap ? obj1deltaAbs + obj2deltaAbs + flixel_FlxObject.SEPARATE_BIAS : 0; if(obj1delta > obj2delta) { overlap = Object1.y + Object1.get_height() - Object2.y; if(checkMaxOverlap && overlap > maxOverlap || (Object1.allowCollisions & 4096) == 0 || (Object2.allowCollisions & 256) == 0) { overlap = 0; } else { Object1.touching |= 4096; Object2.touching |= 256; } } else if(obj1delta < obj2delta) { overlap = Object1.y - Object2.get_height() - Object2.y; if(checkMaxOverlap && -overlap > maxOverlap || (Object1.allowCollisions & 256) == 0 || (Object2.allowCollisions & 4096) == 0) { overlap = 0; } else { Object1.touching |= 256; Object2.touching |= 4096; } } } } return overlap; }; flixel_FlxObject.separateY = function(Object1,Object2) { var obj1immovable = Object1.immovable; var obj2immovable = Object2.immovable; if(obj1immovable && obj2immovable) { return false; } if(Object1.flixelType == 3) { var tilemap = Object1; return tilemap.overlapsWithCallback(Object2,flixel_FlxObject.separateY); } if(Object2.flixelType == 3) { var tilemap1 = Object2; return tilemap1.overlapsWithCallback(Object1,flixel_FlxObject.separateY,true); } var overlap = flixel_FlxObject.computeOverlapY(Object1,Object2); if(overlap != 0) { var obj1delta = Object1.y - Object1.last.y; var obj2delta = Object2.y - Object2.last.y; var obj1v = Object1.velocity.y; var obj2v = Object2.velocity.y; if(!obj1immovable && !obj2immovable) { overlap *= 0.5; Object1.set_y(Object1.y - overlap); var _g = Object2; _g.set_y(_g.y + overlap); var obj1velocity = Math.sqrt(obj2v * obj2v * Object2.mass / Object1.mass) * (obj2v > 0 ? 1 : -1); var obj2velocity = Math.sqrt(obj1v * obj1v * Object1.mass / Object2.mass) * (obj1v > 0 ? 1 : -1); var average = (obj1velocity + obj2velocity) * 0.5; obj1velocity -= average; obj2velocity -= average; Object1.velocity.set_y(average + obj1velocity * Object1.elasticity); Object2.velocity.set_y(average + obj2velocity * Object2.elasticity); } else if(!obj1immovable) { Object1.set_y(Object1.y - overlap); Object1.velocity.set_y(obj2v - obj1v * Object1.elasticity); if(Object1.collisonXDrag && Object2.active && Object2.moves && obj1delta > obj2delta) { var _g1 = Object1; _g1.set_x(_g1.x + (Object2.x - Object2.last.x)); } } else if(!obj2immovable) { var _g2 = Object2; _g2.set_y(_g2.y + overlap); Object2.velocity.set_y(obj1v - obj2v * Object2.elasticity); if(Object2.collisonXDrag && Object1.active && Object1.moves && obj1delta < obj2delta) { var _g3 = Object2; _g3.set_x(_g3.x + (Object1.x - Object1.last.x)); } } return true; } return false; }; flixel_FlxObject.updateTouchingFlagsY = function(Object1,Object2) { if(Object1.flixelType == 3) { var tilemap = Object1; return tilemap.overlapsWithCallback(Object2,flixel_FlxObject.updateTouchingFlagsY); } if(Object2.flixelType == 3) { var tilemap1 = Object2; return tilemap1.overlapsWithCallback(Object1,flixel_FlxObject.updateTouchingFlagsY,true); } return flixel_FlxObject.computeOverlapY(Object1,Object2,false) != 0; }; flixel_FlxObject.__super__ = flixel_FlxBasic; flixel_FlxObject.prototype = $extend(flixel_FlxBasic.prototype,{ x: null ,y: null ,width: null ,height: null ,pixelPerfectRender: null ,pixelPerfectPosition: null ,angle: null ,moves: null ,immovable: null ,scrollFactor: null ,velocity: null ,acceleration: null ,drag: null ,maxVelocity: null ,last: null ,mass: null ,elasticity: null ,angularVelocity: null ,angularAcceleration: null ,angularDrag: null ,maxAngular: null ,health: null ,touching: null ,wasTouching: null ,allowCollisions: null ,collisonXDrag: null ,path: null ,_point: null ,_rect: null ,initVars: function() { this.flixelType = 1; var X = this.x; var Y = this.y; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; this.last = point; var X1 = 1; var Y1 = 1; if(Y1 == null) { Y1 = 0; } if(X1 == null) { X1 = 0; } var point1 = flixel_math_FlxPoint._pool.get().set(X1,Y1); point1._inPool = false; this.scrollFactor = point1; this.pixelPerfectPosition = flixel_FlxObject.defaultPixelPerfectPosition; var point2 = flixel_math_FlxPoint._pool.get().set(0,0); point2._inPool = false; this.velocity = point2; var point3 = flixel_math_FlxPoint._pool.get().set(0,0); point3._inPool = false; this.acceleration = point3; var point4 = flixel_math_FlxPoint._pool.get().set(0,0); point4._inPool = false; this.drag = point4; var X2 = 10000; var Y2 = 10000; if(Y2 == null) { Y2 = 0; } if(X2 == null) { X2 = 0; } var point5 = flixel_math_FlxPoint._pool.get().set(X2,Y2); point5._inPool = false; this.maxVelocity = point5; } ,initMotionVars: function() { var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; this.velocity = point; var point1 = flixel_math_FlxPoint._pool.get().set(0,0); point1._inPool = false; this.acceleration = point1; var point2 = flixel_math_FlxPoint._pool.get().set(0,0); point2._inPool = false; this.drag = point2; var X = 10000; var Y = 10000; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var point3 = flixel_math_FlxPoint._pool.get().set(X,Y); point3._inPool = false; this.maxVelocity = point3; } ,destroy: function() { flixel_FlxBasic.prototype.destroy.call(this); this.velocity = flixel_util_FlxDestroyUtil.put(this.velocity); this.acceleration = flixel_util_FlxDestroyUtil.put(this.acceleration); this.drag = flixel_util_FlxDestroyUtil.put(this.drag); this.maxVelocity = flixel_util_FlxDestroyUtil.put(this.maxVelocity); this.scrollFactor = flixel_util_FlxDestroyUtil.put(this.scrollFactor); this.last = flixel_util_FlxDestroyUtil.put(this.last); this._point = flixel_util_FlxDestroyUtil.put(this._point); this._rect = flixel_util_FlxDestroyUtil.put(this._rect); } ,update: function(elapsed) { this.last.set(this.x,this.y); if(this.path != null && this.path.active) { this.path.update(elapsed); } if(this.moves) { this.updateMotion(elapsed); } this.wasTouching = this.touching; this.touching = 0; } ,updateMotion: function(elapsed) { var velocityDelta = 0.5 * (flixel_math_FlxVelocity.computeVelocity(this.angularVelocity,this.angularAcceleration,this.angularDrag,this.maxAngular,elapsed) - this.angularVelocity); this.angularVelocity += velocityDelta; var _g = this; _g.set_angle(_g.angle + this.angularVelocity * elapsed); this.angularVelocity += velocityDelta; velocityDelta = 0.5 * (flixel_math_FlxVelocity.computeVelocity(this.velocity.x,this.acceleration.x,this.drag.x,this.maxVelocity.x,elapsed) - this.velocity.x); var _g1 = this.velocity; _g1.set_x(_g1.x + velocityDelta); var delta = this.velocity.x * elapsed; var _g2 = this.velocity; _g2.set_x(_g2.x + velocityDelta); var _g3 = this; _g3.set_x(_g3.x + delta); velocityDelta = 0.5 * (flixel_math_FlxVelocity.computeVelocity(this.velocity.y,this.acceleration.y,this.drag.y,this.maxVelocity.y,elapsed) - this.velocity.y); var _g4 = this.velocity; _g4.set_y(_g4.y + velocityDelta); delta = this.velocity.y * elapsed; var _g5 = this.velocity; _g5.set_y(_g5.y + velocityDelta); var _g6 = this; _g6.set_y(_g6.y + delta); } ,draw: function() { } ,overlaps: function(ObjectOrGroup,InScreenSpace,Camera) { if(InScreenSpace == null) { InScreenSpace = false; } var group = flixel_group_FlxTypedGroup.resolveGroup(ObjectOrGroup); if(group != null) { return flixel_group_FlxTypedGroup.overlaps($bind(this,this.overlapsCallback),group,0,0,InScreenSpace,Camera); } if(ObjectOrGroup.flixelType == 3) { var tilemap = ObjectOrGroup; return tilemap.overlaps(this,InScreenSpace,Camera); } var object = ObjectOrGroup; if(!InScreenSpace) { if(object.x + object.get_width() > this.x && object.x < this.x + this.get_width() && object.y + object.get_height() > this.y) { return object.y < this.y + this.get_height(); } else { return false; } } if(Camera == null) { Camera = flixel_FlxG.camera; } var objectScreenPos = object.getScreenPosition(null,Camera); this.getScreenPosition(this._point,Camera); if(objectScreenPos.x + object.get_width() > this._point.x && objectScreenPos.x < this._point.x + this.get_width() && objectScreenPos.y + object.get_height() > this._point.y) { return objectScreenPos.y < this._point.y + this.get_height(); } else { return false; } } ,overlapsCallback: function(ObjectOrGroup,X,Y,InScreenSpace,Camera) { return this.overlaps(ObjectOrGroup,InScreenSpace,Camera); } ,overlapsAt: function(X,Y,ObjectOrGroup,InScreenSpace,Camera) { if(InScreenSpace == null) { InScreenSpace = false; } var group = flixel_group_FlxTypedGroup.resolveGroup(ObjectOrGroup); if(group != null) { return flixel_group_FlxTypedGroup.overlaps($bind(this,this.overlapsAtCallback),group,X,Y,InScreenSpace,Camera); } if(ObjectOrGroup.flixelType == 3) { var tilemap = ObjectOrGroup; return tilemap.overlapsAt(tilemap.x - (X - this.x),tilemap.y - (Y - this.y),this,InScreenSpace,Camera); } var object = ObjectOrGroup; if(!InScreenSpace) { if(object.x + object.get_width() > X && object.x < X + this.get_width() && object.y + object.get_height() > Y) { return object.y < Y + this.get_height(); } else { return false; } } if(Camera == null) { Camera = flixel_FlxG.camera; } var objectScreenPos = object.getScreenPosition(null,Camera); this.getScreenPosition(this._point,Camera); if(objectScreenPos.x + object.get_width() > this._point.x && objectScreenPos.x < this._point.x + this.get_width() && objectScreenPos.y + object.get_height() > this._point.y) { return objectScreenPos.y < this._point.y + this.get_height(); } else { return false; } } ,overlapsAtCallback: function(ObjectOrGroup,X,Y,InScreenSpace,Camera) { return this.overlapsAt(X,Y,ObjectOrGroup,InScreenSpace,Camera); } ,overlapsPoint: function(point,InScreenSpace,Camera) { if(InScreenSpace == null) { InScreenSpace = false; } if(!InScreenSpace) { if(point.x >= this.x && point.x < this.x + this.get_width() && point.y >= this.y) { return point.y < this.y + this.get_height(); } else { return false; } } if(Camera == null) { Camera = flixel_FlxG.camera; } var xPos = point.x - Camera.scroll.x; var yPos = point.y - Camera.scroll.y; this.getScreenPosition(this._point,Camera); if(point._weak) { point.put(); } if(xPos >= this._point.x && xPos < this._point.x + this.get_width() && yPos >= this._point.y) { return yPos < this._point.y + this.get_height(); } else { return false; } } ,inWorldBounds: function() { var tmp; if(this.x + this.get_width() > flixel_FlxG.worldBounds.x) { var _this = flixel_FlxG.worldBounds; tmp = this.x < _this.x + _this.width; } else { tmp = false; } if(tmp && this.y + this.get_height() > flixel_FlxG.worldBounds.y) { var _this1 = flixel_FlxG.worldBounds; return this.y < _this1.y + _this1.height; } else { return false; } } ,getScreenPosition: function(point,Camera) { if(point == null) { var point1 = flixel_math_FlxPoint._pool.get().set(0,0); point1._inPool = false; point = point1; } if(Camera == null) { Camera = flixel_FlxG.camera; } point.set(this.x,this.y); if(this.pixelPerfectPosition) { point.set_x(Math.floor(point.x)); point.set_y(Math.floor(point.y)); } var X = Camera.scroll.x * this.scrollFactor.x; var Y = Camera.scroll.y * this.scrollFactor.y; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var _g = point; _g.set_x(_g.x - X); var _g1 = point; _g1.set_y(_g1.y - Y); return point; } ,getPosition: function(point) { if(point == null) { var point1 = flixel_math_FlxPoint._pool.get().set(0,0); point1._inPool = false; point = point1; } return point.set(this.x,this.y); } ,getMidpoint: function(point) { if(point == null) { var point1 = flixel_math_FlxPoint._pool.get().set(0,0); point1._inPool = false; point = point1; } return point.set(this.x + this.get_width() * 0.5,this.y + this.get_height() * 0.5); } ,getHitbox: function(rect) { if(rect == null) { var _this = flixel_math_FlxRect._pool.get(); var X = 0; var Y = 0; var Width = 0; var Height = 0; if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } _this.x = X; _this.y = Y; _this.width = Width; _this.height = Height; var rect1 = _this; rect1._inPool = false; rect = rect1; } var X1 = this.x; var Y1 = this.y; var Width1 = this.get_width(); var Height1 = this.get_height(); if(Height1 == null) { Height1 = 0; } if(Width1 == null) { Width1 = 0; } if(Y1 == null) { Y1 = 0; } if(X1 == null) { X1 = 0; } rect.x = X1; rect.y = Y1; rect.width = Width1; rect.height = Height1; return rect; } ,reset: function(X,Y) { this.touching = 0; this.wasTouching = 0; this.setPosition(X,Y); this.last.set(this.x,this.y); this.velocity.set(); this.revive(); } ,isOnScreen: function(Camera) { if(Camera == null) { Camera = flixel_FlxG.camera; } this.getScreenPosition(this._point,Camera); var point = this._point; var width = this.get_width(); var height = this.get_height(); if(height == null) { height = 0; } if(width == null) { width = 0; } if(point.x + width > Camera.viewOffsetX && point.x < Camera.viewOffsetWidth && point.y + height > Camera.viewOffsetY) { return point.y < Camera.viewOffsetHeight; } else { return false; } } ,isPixelPerfectRender: function(Camera) { if(Camera == null) { Camera = flixel_FlxG.camera; } if(this.pixelPerfectRender == null) { return Camera.pixelPerfectRender; } else { return this.pixelPerfectRender; } } ,isTouching: function(Direction) { return (this.touching & Direction) > 0; } ,justTouched: function(Direction) { if((this.touching & Direction) > 0) { return (this.wasTouching & Direction) <= 0; } else { return false; } } ,hurt: function(Damage) { this.health -= Damage; if(this.health <= 0) { this.kill(); } } ,screenCenter: function(axes) { if(axes == null) { axes = flixel_util_FlxAxes.XY; } if(axes != flixel_util_FlxAxes.Y) { this.set_x(flixel_FlxG.width / 2 - this.get_width() / 2); } if(axes != flixel_util_FlxAxes.X) { this.set_y(flixel_FlxG.height / 2 - this.get_height() / 2); } return this; } ,setPosition: function(X,Y) { if(Y == null) { Y = 0; } if(X == null) { X = 0; } this.set_x(X); this.set_y(Y); } ,setSize: function(Width,Height) { this.set_width(Width); this.set_height(Height); } ,getBoundingBox: function(camera) { this.getScreenPosition(this._point,camera); var _this = this._rect; var X = this._point.x; var Y = this._point.y; var Width = this.get_width(); var Height = this.get_height(); if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } _this.x = X; _this.y = Y; _this.width = Width; _this.height = Height; this._rect = camera.transformRect(this._rect); if(this.isPixelPerfectRender(camera)) { var _this1 = this._rect; _this1.x = Math.floor(_this1.x); _this1.y = Math.floor(_this1.y); _this1.width = Math.floor(_this1.width); _this1.height = Math.floor(_this1.height); } return this._rect; } ,toString: function() { var value = this.x; var _this = flixel_util_LabelValuePair._pool.get(); _this.label = "x"; _this.value = value; var value1 = this.y; var _this1 = flixel_util_LabelValuePair._pool.get(); _this1.label = "y"; _this1.value = value1; var value2 = this.get_width(); var _this2 = flixel_util_LabelValuePair._pool.get(); _this2.label = "w"; _this2.value = value2; var value3 = this.get_height(); var _this3 = flixel_util_LabelValuePair._pool.get(); _this3.label = "h"; _this3.value = value3; var value4 = this.visible; var _this4 = flixel_util_LabelValuePair._pool.get(); _this4.label = "visible"; _this4.value = value4; var value5 = this.velocity; var _this5 = flixel_util_LabelValuePair._pool.get(); _this5.label = "velocity"; _this5.value = value5; return flixel_util_FlxStringUtil.getDebugString([_this,_this1,_this2,_this3,_this4,_this5]); } ,set_x: function(NewX) { return this.x = NewX; } ,set_y: function(NewY) { return this.y = NewY; } ,set_width: function(Width) { return this.width = Width; } ,set_height: function(Height) { return this.height = Height; } ,get_width: function() { return this.width; } ,get_height: function() { return this.height; } ,get_solid: function() { return (this.allowCollisions & 4369) > 0; } ,set_solid: function(Solid) { this.set_allowCollisions(Solid ? 4369 : 0); return Solid; } ,set_angle: function(Value) { return this.angle = Value; } ,set_moves: function(Value) { return this.moves = Value; } ,set_immovable: function(Value) { return this.immovable = Value; } ,set_pixelPerfectRender: function(Value) { return this.pixelPerfectRender = Value; } ,set_allowCollisions: function(Value) { return this.allowCollisions = Value; } ,set_path: function(path) { if(this.path == path) { return path; } if(this.path != null) { this.path.object = null; } if(path != null) { path.object = this; } return this.path = path; } ,__class__: flixel_FlxObject ,__properties__: $extend(flixel_FlxBasic.prototype.__properties__,{set_path:"set_path",set_allowCollisions:"set_allowCollisions",set_solid:"set_solid",get_solid:"get_solid",set_immovable:"set_immovable",set_moves:"set_moves",set_angle:"set_angle",set_pixelPerfectRender:"set_pixelPerfectRender",set_height:"set_height",get_height:"get_height",set_width:"set_width",get_width:"get_width",set_y:"set_y",set_x:"set_x"}) }); var flixel_FlxSprite = function(X,Y,SimpleGraphic) { if(Y == null) { Y = 0; } if(X == null) { X = 0; } this._facingFlip = new haxe_ds_IntMap(); this._angleChanged = true; this._cosAngle = 1; this._sinAngle = 0; this._facingVerticalMult = 1; this._facingHorizontalMult = 1; this.useColorTransform = false; this.color = 16777215; this.flipY = false; this.flipX = false; this.facing = 16; this.alpha = 1.0; this.bakedRotationAngle = 0; this.numFrames = 0; this.frameHeight = 0; this.frameWidth = 0; this.dirty = true; this.antialiasing = false; this.useFramePixels = true; flixel_FlxObject.call(this,X,Y); this.set_useFramePixels(flixel_FlxG.renderBlit); if(SimpleGraphic != null) { this.loadGraphic(SimpleGraphic); } }; $hxClasses["flixel.FlxSprite"] = flixel_FlxSprite; flixel_FlxSprite.__name__ = "flixel.FlxSprite"; flixel_FlxSprite.__super__ = flixel_FlxObject; flixel_FlxSprite.prototype = $extend(flixel_FlxObject.prototype,{ animation: null ,framePixels: null ,useFramePixels: null ,antialiasing: null ,dirty: null ,frame: null ,frameWidth: null ,frameHeight: null ,numFrames: null ,frames: null ,graphic: null ,bakedRotationAngle: null ,alpha: null ,facing: null ,flipX: null ,flipY: null ,origin: null ,offset: null ,scale: null ,blend: null ,color: null ,colorTransform: null ,useColorTransform: null ,clipRect: null ,shader: null ,_frame: null ,_frameGraphic: null ,_facingHorizontalMult: null ,_facingVerticalMult: null ,_flashPoint: null ,_flashRect: null ,_flashRect2: null ,_flashPointZero: null ,_matrix: null ,_halfSize: null ,_sinAngle: null ,_cosAngle: null ,_angleChanged: null ,_facingFlip: null ,initVars: function() { flixel_FlxObject.prototype.initVars.call(this); this.animation = new flixel_animation_FlxAnimationController(this); this._flashPoint = new openfl_geom_Point(); this._flashRect = new openfl_geom_Rectangle(); this._flashRect2 = new openfl_geom_Rectangle(); this._flashPointZero = new openfl_geom_Point(); var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; this.offset = point; var point1 = flixel_math_FlxPoint._pool.get().set(0,0); point1._inPool = false; this.origin = point1; var X = 1; var Y = 1; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var point2 = flixel_math_FlxPoint._pool.get().set(X,Y); point2._inPool = false; this.scale = point2; var point3 = flixel_math_FlxPoint._pool.get().set(0,0); point3._inPool = false; this._halfSize = point3; this._matrix = new flixel_math_FlxMatrix(); this.colorTransform = new openfl_geom_ColorTransform(); } ,destroy: function() { flixel_FlxObject.prototype.destroy.call(this); this.animation = flixel_util_FlxDestroyUtil.destroy(this.animation); this.offset = flixel_util_FlxDestroyUtil.put(this.offset); this.origin = flixel_util_FlxDestroyUtil.put(this.origin); this.scale = flixel_util_FlxDestroyUtil.put(this.scale); this._halfSize = flixel_util_FlxDestroyUtil.put(this._halfSize); this.framePixels = flixel_util_FlxDestroyUtil.dispose(this.framePixels); this._flashPoint = null; this._flashRect = null; this._flashRect2 = null; this._flashPointZero = null; this._matrix = null; this.colorTransform = null; this.set_blend(null); this.set_frames(null); this.set_graphic(null); this._frame = flixel_util_FlxDestroyUtil.destroy(this._frame); this._frameGraphic = flixel_util_FlxDestroyUtil.destroy(this._frameGraphic); this.shader = null; } ,clone: function() { return new flixel_FlxSprite().loadGraphicFromSprite(this); } ,loadGraphicFromSprite: function(Sprite) { this.set_frames(Sprite.frames); this.bakedRotationAngle = Sprite.bakedRotationAngle; if(this.bakedRotationAngle > 0) { this.set_width(Sprite.get_width()); this.set_height(Sprite.get_height()); this.centerOffsets(); } this.set_antialiasing(Sprite.antialiasing); this.animation.copyFrom(Sprite.animation); this.graphicLoaded(); this.set_clipRect(Sprite.clipRect); return this; } ,loadGraphic: function(Graphic,Animated,Width,Height,Unique,Key) { if(Unique == null) { Unique = false; } if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Animated == null) { Animated = false; } var graph = flixel_FlxG.bitmap.add(Graphic,Unique,Key); if(graph == null) { return this; } if(Width == 0) { Width = Animated ? graph.height : graph.width; Width = Width > graph.width ? graph.width : Width; } if(Height == 0) { Height = Animated ? Width : graph.height; Height = Height > graph.height ? graph.height : Height; } if(Animated) { var X = Width; var Y = Height; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; this.set_frames(flixel_graphics_frames_FlxTileFrames.fromGraphic(graph,point)); } else { this.set_frames(graph.get_imageFrame()); } return this; } ,loadRotatedGraphic: function(Graphic,Rotations,Frame,AntiAliasing,AutoBuffer,Key) { if(AutoBuffer == null) { AutoBuffer = false; } if(AntiAliasing == null) { AntiAliasing = false; } if(Frame == null) { Frame = -1; } if(Rotations == null) { Rotations = 16; } var brushGraphic = flixel_FlxG.bitmap.add(Graphic,false,Key); if(brushGraphic == null) { return this; } var brush = brushGraphic.bitmap; var key = brushGraphic.key; if(Frame >= 0) { var brushSize = brush.height; var framesNum = brush.width / brushSize | 0; if(framesNum > Frame) { Frame = Frame; } else { Frame %= framesNum; } key += ":" + Frame; var full = brush; brush = new openfl_display_BitmapData(brushSize,brushSize,true,0); this._flashRect.setTo(Frame * brushSize,0,brushSize,brushSize); brush.copyPixels(full,this._flashRect,this._flashPointZero); } key += ":" + Rotations + ":" + (AutoBuffer == null ? "null" : "" + AutoBuffer); var _this = flixel_FlxG.bitmap._cache; var tempGraph = __map_reserved[key] != null ? _this.getReserved(key) : _this.h[key]; if(tempGraph == null) { var bitmap = flixel_util_FlxBitmapDataUtil.generateRotations(brush,Rotations,AntiAliasing,AutoBuffer); tempGraph = flixel_graphics_FlxGraphic.fromBitmapData(bitmap,false,key); } var max = brush.height > brush.width ? brush.height : brush.width; max = AutoBuffer ? max * 1.5 | 0 : max; var X = max; var Y = max; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; this.set_frames(flixel_graphics_frames_FlxTileFrames.fromGraphic(tempGraph,point)); if(AutoBuffer) { this.set_width(brush.width); this.set_height(brush.height); this.centerOffsets(); } this.bakedRotationAngle = 360 / Rotations; this.animation.createPrerotated(); return this; } ,loadRotatedFrame: function(Frame,Rotations,AntiAliasing,AutoBuffer) { if(AutoBuffer == null) { AutoBuffer = false; } if(AntiAliasing == null) { AntiAliasing = false; } if(Rotations == null) { Rotations = 16; } var key = Frame.parent.key; if(Frame.name != null) { key += ":" + Frame.name; } else { var _this = Frame.frame; var value = _this.x; var _this1 = flixel_util_LabelValuePair._pool.get(); _this1.label = "x"; _this1.value = value; var value1 = _this.y; var _this2 = flixel_util_LabelValuePair._pool.get(); _this2.label = "y"; _this2.value = value1; var value2 = _this.width; var _this3 = flixel_util_LabelValuePair._pool.get(); _this3.label = "w"; _this3.value = value2; var value3 = _this.height; var _this4 = flixel_util_LabelValuePair._pool.get(); _this4.label = "h"; _this4.value = value3; key += ":" + flixel_util_FlxStringUtil.getDebugString([_this1,_this2,_this3,_this4]); } var _this5 = flixel_FlxG.bitmap._cache; var graphic = __map_reserved[key] != null ? _this5.getReserved(key) : _this5.h[key]; if(graphic == null) { graphic = flixel_graphics_FlxGraphic.fromBitmapData(Frame.paint(),false,key); } return this.loadRotatedGraphic(graphic,Rotations,-1,AntiAliasing,AutoBuffer); } ,makeGraphic: function(Width,Height,Color,Unique,Key) { if(Unique == null) { Unique = false; } if(Color == null) { Color = -1; } var graph = flixel_FlxG.bitmap.create(Width,Height,Color,Unique,Key); this.set_frames(graph.get_imageFrame()); return this; } ,graphicLoaded: function() { } ,resetSize: function() { this._flashRect.x = 0; this._flashRect.y = 0; this._flashRect.width = this.frameWidth; this._flashRect.height = this.frameHeight; } ,resetFrameSize: function() { if(this.frame != null) { this.frameWidth = this.frame.sourceSize.x | 0; this.frameHeight = this.frame.sourceSize.y | 0; } this._halfSize.set(0.5 * this.frameWidth,0.5 * this.frameHeight); this._flashRect.x = 0; this._flashRect.y = 0; this._flashRect.width = this.frameWidth; this._flashRect.height = this.frameHeight; } ,resetSizeFromFrame: function() { this.set_width(this.frameWidth); this.set_height(this.frameHeight); } ,resetFrame: function() { this.set_frame(this.frame); } ,setGraphicSize: function(Width,Height) { if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Width <= 0 && Height <= 0) { return; } var newScaleX = Width / this.frameWidth; var newScaleY = Height / this.frameHeight; this.scale.set(newScaleX,newScaleY); if(Width <= 0) { this.scale.set_x(newScaleY); } else if(Height <= 0) { this.scale.set_y(newScaleX); } } ,updateHitbox: function() { this.set_width(Math.abs(this.scale.x) * this.frameWidth); this.set_height(Math.abs(this.scale.y) * this.frameHeight); this.offset.set(-0.5 * (this.get_width() - this.frameWidth),-0.5 * (this.get_height() - this.frameHeight)); this.origin.set(this.frameWidth * 0.5,this.frameHeight * 0.5); } ,resetHelpers: function() { if(this.frame != null) { this.frameWidth = this.frame.sourceSize.x | 0; this.frameHeight = this.frame.sourceSize.y | 0; } this._halfSize.set(0.5 * this.frameWidth,0.5 * this.frameHeight); this._flashRect.x = 0; this._flashRect.y = 0; this._flashRect.width = this.frameWidth; this._flashRect.height = this.frameHeight; this.set_width(this.frameWidth); this.set_height(this.frameHeight); this._flashRect2.x = 0; this._flashRect2.y = 0; if(this.graphic != null) { this._flashRect2.width = this.graphic.width; this._flashRect2.height = this.graphic.height; } this.origin.set(this.frameWidth * 0.5,this.frameHeight * 0.5); if(flixel_FlxG.renderBlit) { this.dirty = true; this.updateFramePixels(); } } ,update: function(elapsed) { flixel_FlxObject.prototype.update.call(this,elapsed); this.updateAnimation(elapsed); } ,updateAnimation: function(elapsed) { this.animation.update(elapsed); } ,checkEmptyFrame: function() { if(this._frame == null) { this.loadGraphic("flixel/images/logo/default.png"); } } ,draw: function() { this.checkEmptyFrame(); if(this.alpha == 0 || this._frame.type == 2) { return; } if(this.dirty) { this.calcFrame(this.useFramePixels); } var _g = 0; var _g1 = this.get_cameras(); while(_g < _g1.length) { var camera = _g1[_g]; ++_g; if(!camera.visible || !camera.exists || !this.isOnScreen(camera)) { continue; } this.getScreenPosition(this._point,camera).subtractPoint(this.offset); if(this.isSimpleRender(camera)) { this.drawSimple(camera); } else { this.drawComplex(camera); } } } ,drawSimple: function(camera) { if(this.isPixelPerfectRender(camera)) { var _this = this._point; _this.set_x(Math.floor(_this.x)); _this.set_y(Math.floor(_this.y)); } var _this1 = this._point; var FlashPoint = this._flashPoint; if(FlashPoint == null) { FlashPoint = new openfl_geom_Point(); } FlashPoint.x = _this1.x; FlashPoint.y = _this1.y; camera.copyPixels(this._frame,this.framePixels,this._flashRect,this._flashPoint,this.colorTransform,this.blend,this.antialiasing); } ,drawComplex: function(camera) { var doFlipX = this.flipX != this._frame.flipX; var doFlipY = this.flipY != this._frame.flipY; this._frame.prepareMatrix(this._matrix,0,this.animation._curAnim != null ? doFlipX != this.animation._curAnim.flipX : doFlipX,this.animation._curAnim != null ? doFlipY != this.animation._curAnim.flipY : doFlipY); this._matrix.translate(-this.origin.x,-this.origin.y); this._matrix.scale(this.scale.x,this.scale.y); if(this.bakedRotationAngle <= 0) { if(this._angleChanged) { var radians = this.angle * (Math.PI / 180); this._sinAngle = Math.sin(radians); this._cosAngle = Math.cos(radians); this._angleChanged = false; } if(this.angle != 0) { var _this = this._matrix; var cos = this._cosAngle; var sin = this._sinAngle; var a1 = _this.a * cos - _this.b * sin; _this.b = _this.a * sin + _this.b * cos; _this.a = a1; var c1 = _this.c * cos - _this.d * sin; _this.d = _this.c * sin + _this.d * cos; _this.c = c1; var tx1 = _this.tx * cos - _this.ty * sin; _this.ty = _this.tx * sin + _this.ty * cos; _this.tx = tx1; } } var _this1 = this._point; var X = this.origin.x; var Y = this.origin.y; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var _g = _this1; _g.set_x(_g.x + X); var _g1 = _this1; _g1.set_y(_g1.y + Y); this._matrix.translate(this._point.x,this._point.y); if(this.isPixelPerfectRender(camera)) { this._matrix.tx = Math.floor(this._matrix.tx); this._matrix.ty = Math.floor(this._matrix.ty); } camera.drawPixels(this._frame,this.framePixels,this._matrix,this.colorTransform,this.blend,this.antialiasing,this.shader); } ,stamp: function(Brush,X,Y) { if(Y == null) { Y = 0; } if(X == null) { X = 0; } Brush.drawFrame(); if(this.graphic == null || Brush.graphic == null) { throw new js__$Boot_HaxeError("Cannot stamp to or from a FlxSprite with no graphics."); } var bitmapData = Brush.framePixels; if(this.isSimpleRenderBlit()) { this._flashPoint.x = X + this.frame.frame.x; this._flashPoint.y = Y + this.frame.frame.y; this._flashRect2.width = bitmapData.width; this._flashRect2.height = bitmapData.height; this.graphic.bitmap.copyPixels(bitmapData,this._flashRect2,this._flashPoint,null,null,true); this._flashRect2.width = this.graphic.bitmap.width; this._flashRect2.height = this.graphic.bitmap.height; } else { this._matrix.identity(); this._matrix.translate(-Brush.origin.x,-Brush.origin.y); this._matrix.scale(Brush.scale.x,Brush.scale.y); if(Brush.angle != 0) { this._matrix.rotate(Brush.angle * (Math.PI / 180)); } this._matrix.translate(X + this.frame.frame.x + Brush.origin.x,Y + this.frame.frame.y + Brush.origin.y); var brushBlend = Brush.blend; this.graphic.bitmap.draw(bitmapData,this._matrix,null,brushBlend,null,Brush.antialiasing); } if(flixel_FlxG.renderBlit) { this.dirty = true; this.calcFrame(); } } ,drawFrame: function(Force) { if(Force == null) { Force = false; } if(flixel_FlxG.renderBlit) { if(Force || this.dirty) { this.dirty = true; this.calcFrame(); } } else { this.dirty = true; this.calcFrame(true); } } ,centerOffsets: function(AdjustPosition) { if(AdjustPosition == null) { AdjustPosition = false; } this.offset.set_x((this.frameWidth - this.get_width()) * 0.5); this.offset.set_y((this.frameHeight - this.get_height()) * 0.5); if(AdjustPosition) { var _g = this; _g.set_x(_g.x + this.offset.x); var _g1 = this; _g1.set_y(_g1.y + this.offset.y); } } ,centerOrigin: function() { this.origin.set(this.frameWidth * 0.5,this.frameHeight * 0.5); } ,replaceColor: function(Color,NewColor,FetchPositions) { if(FetchPositions == null) { FetchPositions = false; } var positions = flixel_util_FlxBitmapDataUtil.replaceColor(this.graphic.bitmap,Color,NewColor,FetchPositions); if(positions != null) { this.dirty = true; } return positions; } ,setColorTransform: function(redMultiplier,greenMultiplier,blueMultiplier,alphaMultiplier,redOffset,greenOffset,blueOffset,alphaOffset) { if(alphaOffset == null) { alphaOffset = 0; } if(blueOffset == null) { blueOffset = 0; } if(greenOffset == null) { greenOffset = 0; } if(redOffset == null) { redOffset = 0; } if(alphaMultiplier == null) { alphaMultiplier = 1.0; } if(blueMultiplier == null) { blueMultiplier = 1.0; } if(greenMultiplier == null) { greenMultiplier = 1.0; } if(redMultiplier == null) { redMultiplier = 1.0; } var color = flixel_util__$FlxColor_FlxColor_$Impl_$._new(); var Alpha = 1; if(Alpha == null) { Alpha = 1; } var Value = Math.round(redMultiplier * 255); color &= -16711681; color |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16; var Value1 = Math.round(greenMultiplier * 255); color &= -65281; color |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 8; var Value2 = Math.round(blueMultiplier * 255); color &= -256; color |= Value2 > 255 ? 255 : Value2 < 0 ? 0 : Value2; var Value3 = Math.round(Alpha * 255); color &= 16777215; color |= (Value3 > 255 ? 255 : Value3 < 0 ? 0 : Value3) << 24; this.set_color(color & 16777215); this.set_alpha(alphaMultiplier); flixel_util_FlxColorTransformUtil.setMultipliers(this.colorTransform,redMultiplier,greenMultiplier,blueMultiplier,alphaMultiplier); flixel_util_FlxColorTransformUtil.setOffsets(this.colorTransform,redOffset,greenOffset,blueOffset,alphaOffset); this.useColorTransform = this.alpha != 1 || this.color != 16777215 || flixel_util_FlxColorTransformUtil.hasRGBOffsets(this.colorTransform); this.dirty = true; } ,updateColorTransform: function() { if(this.colorTransform == null) { this.colorTransform = new openfl_geom_ColorTransform(); } this.useColorTransform = this.alpha != 1 || this.color != 16777215; if(this.useColorTransform) { flixel_util_FlxColorTransformUtil.setMultipliers(this.colorTransform,(this.color >> 16 & 255) / 255,(this.color >> 8 & 255) / 255,(this.color & 255) / 255,this.alpha); } else { flixel_util_FlxColorTransformUtil.setMultipliers(this.colorTransform,1,1,1,1); } this.dirty = true; } ,pixelsOverlapPoint: function(point,Mask,Camera) { if(Mask == null) { Mask = 255; } if(Camera == null) { Camera = flixel_FlxG.camera; } this.getScreenPosition(this._point,Camera); this._point.subtractPoint(this.offset); this._flashPoint.x = point.x - Camera.scroll.x - this._point.x; this._flashPoint.y = point.y - Camera.scroll.y - this._point.y; if(point._weak) { point.put(); } if(this._flashPoint.x < 0 || this._flashPoint.x > this.frameWidth || this._flashPoint.y < 0 || this._flashPoint.y > this.frameHeight) { return false; } else { var frameData = this.updateFramePixels(); var pixelColor = frameData.getPixel32(this._flashPoint.x | 0,this._flashPoint.y | 0); return (pixelColor >> 24 & 255) * this.alpha >= Mask; } } ,calcFrame: function(RunOnCpp) { if(RunOnCpp == null) { RunOnCpp = false; } this.checkEmptyFrame(); if(flixel_FlxG.renderTile && !RunOnCpp) { return; } this.updateFramePixels(); } ,updateFramePixels: function() { if(this._frame == null || !this.dirty) { return this.framePixels; } if(flixel_FlxG.renderTile && this._frameGraphic != null) { this.dirty = false; return this.framePixels; } var doFlipX = this.flipX != this._frame.flipX; var doFlipX1 = this.animation._curAnim != null ? doFlipX != this.animation._curAnim.flipX : doFlipX; var doFlipY = this.flipY != this._frame.flipY; var doFlipY1 = this.animation._curAnim != null ? doFlipY != this.animation._curAnim.flipY : doFlipY; if(!doFlipX1 && !doFlipY1 && this._frame.type == 0) { this.framePixels = this._frame.paint(this.framePixels,this._flashPointZero,false,true); } else { this.framePixels = this._frame.paintRotatedAndFlipped(this.framePixels,this._flashPointZero,0,doFlipX1,doFlipY1,false,true); } if(this.useColorTransform) { this.framePixels.colorTransform(this._flashRect,this.colorTransform); } if(flixel_FlxG.renderTile && this.useFramePixels) { this._frameGraphic = flixel_util_FlxDestroyUtil.destroy(this._frameGraphic); this._frameGraphic = flixel_graphics_FlxGraphic.fromBitmapData(this.framePixels,false,null,false); this._frame = this._frameGraphic.get_imageFrame().get_frame().copyTo(this._frame); } this.dirty = false; return this.framePixels; } ,getGraphicMidpoint: function(point) { if(point == null) { var point1 = flixel_math_FlxPoint._pool.get().set(0,0); point1._inPool = false; point = point1; } return point.set(this.x + this.frameWidth * 0.5,this.y + this.frameHeight * 0.5); } ,isOnScreen: function(Camera) { if(Camera == null) { Camera = flixel_FlxG.camera; } var minX = this.x - this.offset.x - Camera.scroll.x * this.scrollFactor.x; var minY = this.y - this.offset.y - Camera.scroll.y * this.scrollFactor.y; if((this.angle == 0 || this.bakedRotationAngle > 0) && this.scale.x == 1 && this.scale.y == 1) { this._point.set(minX,minY); var point = this._point; var width = this.frameWidth; var height = this.frameHeight; if(height == null) { height = 0; } if(width == null) { width = 0; } if(point.x + width > Camera.viewOffsetX && point.x < Camera.viewOffsetWidth && point.y + height > Camera.viewOffsetY) { return point.y < Camera.viewOffsetHeight; } else { return false; } } var radiusX = this._halfSize.x; var radiusY = this._halfSize.y; var ox = this.origin.x; if(ox != radiusX) { var x1 = Math.abs(ox); var x2 = Math.abs(this.frameWidth - ox); radiusX = Math.max(x2,x1); } var oy = this.origin.y; if(oy != radiusY) { var y1 = Math.abs(oy); var y2 = Math.abs(this.frameHeight - oy); radiusY = Math.max(y2,y1); } radiusX *= Math.abs(this.scale.x); radiusY *= Math.abs(this.scale.y); var radius = Math.max(radiusX,radiusY); radius *= 1.41421356237; minX += ox - radius; minY += oy - radius; var doubleRadius = 2 * radius; this._point.set(minX,minY); var point1 = this._point; var width1 = doubleRadius; var height1 = doubleRadius; if(height1 == null) { height1 = 0; } if(width1 == null) { width1 = 0; } if(point1.x + width1 > Camera.viewOffsetX && point1.x < Camera.viewOffsetWidth && point1.y + height1 > Camera.viewOffsetY) { return point1.y < Camera.viewOffsetHeight; } else { return false; } } ,isSimpleRender: function(camera) { if(flixel_FlxG.renderTile) { return false; } return this.isSimpleRenderBlit(camera); } ,isSimpleRenderBlit: function(camera) { var result = (this.angle == 0 || this.bakedRotationAngle > 0) && this.scale.x == 1 && this.scale.y == 1 && this.blend == null; result = result && (camera != null ? this.isPixelPerfectRender(camera) : this.pixelPerfectRender); return result; } ,setFacingFlip: function(Direction,FlipX,FlipY) { this._facingFlip.h[Direction] = { x : FlipX, y : FlipY}; } ,setFrames: function(Frames,saveAnimations) { if(saveAnimations == null) { saveAnimations = true; } if(saveAnimations) { var animations = this.animation._animations; var reverse = false; var index = 0; var frameIndex = this.animation.frameIndex; var currName = null; if(this.animation._curAnim != null) { reverse = this.animation._curAnim.reversed; index = this.animation._curAnim.curFrame; currName = this.animation._curAnim.name; } this.animation._animations = null; this.set_frames(Frames); this.set_frame(this.frames.frames[frameIndex]); this.animation._animations = animations; if(currName != null) { this.animation.play(currName,false,reverse,index); } } else { this.set_frames(Frames); } return this; } ,get_pixels: function() { if(this.graphic == null) { return null; } else { return this.graphic.bitmap; } } ,set_pixels: function(Pixels) { var key = flixel_FlxG.bitmap.findKeyForBitmap(Pixels); if(key == null) { key = flixel_FlxG.bitmap.getUniqueKey(); this.set_graphic(flixel_FlxG.bitmap.add(Pixels,false,key)); } else { var _this = flixel_FlxG.bitmap._cache; this.set_graphic(__map_reserved[key] != null ? _this.getReserved(key) : _this.h[key]); } this.set_frames(this.graphic.get_imageFrame()); return Pixels; } ,set_frame: function(Value) { this.frame = Value; if(this.frame != null) { if(this.frame != null) { this.frameWidth = this.frame.sourceSize.x | 0; this.frameHeight = this.frame.sourceSize.y | 0; } this._halfSize.set(0.5 * this.frameWidth,0.5 * this.frameHeight); this._flashRect.x = 0; this._flashRect.y = 0; this._flashRect.width = this.frameWidth; this._flashRect.height = this.frameHeight; this.dirty = true; } else if(this.frames != null && this.frames.frames != null && this.numFrames > 0) { this.frame = this.frames.frames[0]; this.dirty = true; } else { return null; } if(flixel_FlxG.renderTile) { this._frameGraphic = flixel_util_FlxDestroyUtil.destroy(this._frameGraphic); } if(this.clipRect != null) { this._frame = this.frame.clipTo(this.clipRect,this._frame); } else { this._frame = this.frame.copyTo(this._frame); } return this.frame; } ,set_facing: function(Direction) { var flip = this._facingFlip.h[Direction]; if(flip != null) { this.set_flipX(flip.x); this.set_flipY(flip.y); } return this.facing = Direction; } ,set_alpha: function(Alpha) { if(this.alpha == Alpha) { return Alpha; } var lowerBound = Alpha < 0 ? 0 : Alpha; this.alpha = lowerBound > 1 ? 1 : lowerBound; this.updateColorTransform(); return this.alpha; } ,set_color: function(Color) { if(this.color == Color) { return Color; } this.color = Color; this.updateColorTransform(); return this.color; } ,set_angle: function(Value) { var newAngle = this.angle != Value; var ret = flixel_FlxObject.prototype.set_angle.call(this,Value); if(newAngle) { this._angleChanged = true; this.animation.update(0); } return ret; } ,updateTrig: function() { if(this._angleChanged) { var radians = this.angle * (Math.PI / 180); this._sinAngle = Math.sin(radians); this._cosAngle = Math.cos(radians); this._angleChanged = false; } } ,set_blend: function(Value) { return this.blend = Value; } ,set_graphic: function(Value) { var oldGraphic = this.graphic; if(this.graphic != Value && Value != null) { var _g = Value; _g.set_useCount(_g.get_useCount() + 1); } if(oldGraphic != null && oldGraphic != Value) { var _g1 = oldGraphic; _g1.set_useCount(_g1.get_useCount() - 1); } return this.graphic = Value; } ,set_clipRect: function(rect) { if(rect != null) { rect.x = Math.round(rect.x); rect.y = Math.round(rect.y); rect.width = Math.round(rect.width); rect.height = Math.round(rect.height); this.clipRect = rect; } else { this.clipRect = null; } if(this.frames != null) { this.set_frame(this.frames.frames[this.animation.frameIndex]); } return rect; } ,set_frames: function(Frames) { if(this.animation != null) { this.animation.destroyAnimations(); } if(Frames != null) { this.set_graphic(Frames.parent); this.frames = Frames; this.set_frame(this.frames.frames[0]); this.numFrames = this.frames.frames.length; this.resetHelpers(); this.bakedRotationAngle = 0; this.animation.set_frameIndex(0); this.graphicLoaded(); } else { this.frames = null; this.set_frame(null); this.set_graphic(null); } return Frames; } ,set_flipX: function(Value) { if(flixel_FlxG.renderTile) { this._facingHorizontalMult = Value ? -1 : 1; } this.dirty = this.flipX != Value || this.dirty; return this.flipX = Value; } ,set_flipY: function(Value) { if(flixel_FlxG.renderTile) { this._facingVerticalMult = Value ? -1 : 1; } this.dirty = this.flipY != Value || this.dirty; return this.flipY = Value; } ,set_antialiasing: function(value) { return this.antialiasing = value; } ,set_useFramePixels: function(value) { if(flixel_FlxG.renderTile) { if(value != this.useFramePixels) { this.useFramePixels = value; this.set_frame(this.frame); if(value) { this.updateFramePixels(); } } return value; } else { this.useFramePixels = true; return true; } } ,checkFlipX: function() { var doFlipX = this.flipX != this._frame.flipX; if(this.animation._curAnim != null) { return doFlipX != this.animation._curAnim.flipX; } return doFlipX; } ,checkFlipY: function() { var doFlipY = this.flipY != this._frame.flipY; if(this.animation._curAnim != null) { return doFlipY != this.animation._curAnim.flipY; } return doFlipY; } ,__class__: flixel_FlxSprite ,__properties__: $extend(flixel_FlxObject.prototype.__properties__,{set_clipRect:"set_clipRect",set_color:"set_color",set_blend:"set_blend",set_flipY:"set_flipY",set_flipX:"set_flipX",set_facing:"set_facing",set_alpha:"set_alpha",set_graphic:"set_graphic",set_frames:"set_frames",set_frame:"set_frame",set_pixels:"set_pixels",get_pixels:"get_pixels",set_antialiasing:"set_antialiasing",set_useFramePixels:"set_useFramePixels"}) }); var flixel_group_FlxTypedSpriteGroup = function(X,Y,MaxSize) { if(MaxSize == null) { MaxSize = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } this._skipTransformChildren = false; this.directAlpha = false; flixel_FlxSprite.call(this,X,Y); this.group = new flixel_group_FlxTypedGroup(MaxSize); this._sprites = this.group.members; }; $hxClasses["flixel.group.FlxTypedSpriteGroup"] = flixel_group_FlxTypedSpriteGroup; flixel_group_FlxTypedSpriteGroup.__name__ = "flixel.group.FlxTypedSpriteGroup"; flixel_group_FlxTypedSpriteGroup.__super__ = flixel_FlxSprite; flixel_group_FlxTypedSpriteGroup.prototype = $extend(flixel_FlxSprite.prototype,{ transformChildren_flixel_math_FlxRect: function(Function1,Value) { if(this.group == null) { return; } var _g = 0; var _g1 = this._sprites; while(_g < _g1.length) { var sprite = _g1[_g]; ++_g; if(sprite != null) { Function1(sprite,Value); } } } ,transformChildren_openfl_display_BlendMode: function(Function1,Value) { if(this.group == null) { return; } var _g = 0; var _g1 = this._sprites; while(_g < _g1.length) { var sprite = _g1[_g]; ++_g; if(sprite != null) { Function1(sprite,Value); } } } ,transformChildren_flixel_FlxCamera: function(Function1,Value) { if(this.group == null) { return; } var _g = 0; var _g1 = this._sprites; while(_g < _g1.length) { var sprite = _g1[_g]; ++_g; if(sprite != null) { Function1(sprite,Value); } } } ,multiTransformChildren_Float: function(FunctionArray,ValueArray) { if(this.group == null) { return; } var numProps = FunctionArray.length; if(numProps > ValueArray.length) { return; } var lambda; var _g = 0; var _g1 = this._sprites; while(_g < _g1.length) { var sprite = _g1[_g]; ++_g; if(sprite != null && sprite.exists) { var _g2 = 0; var _g11 = numProps; while(_g2 < _g11) { var i = _g2++; lambda = FunctionArray[i]; lambda(sprite,ValueArray[i]); } } } } ,transformChildren_flixel_math_FlxPoint: function(Function1,Value) { if(this.group == null) { return; } var _g = 0; var _g1 = this._sprites; while(_g < _g1.length) { var sprite = _g1[_g]; ++_g; if(sprite != null) { Function1(sprite,Value); } } } ,transformChildren_Int: function(Function1,Value) { if(this.group == null) { return; } var _g = 0; var _g1 = this._sprites; while(_g < _g1.length) { var sprite = _g1[_g]; ++_g; if(sprite != null) { Function1(sprite,Value); } } } ,transformChildren_Float: function(Function1,Value) { if(this.group == null) { return; } var _g = 0; var _g1 = this._sprites; while(_g < _g1.length) { var sprite = _g1[_g]; ++_g; if(sprite != null) { Function1(sprite,Value); } } } ,transformChildren_Array_flixel_FlxCamera: function(Function1,Value) { if(this.group == null) { return; } var _g = 0; var _g1 = this._sprites; while(_g < _g1.length) { var sprite = _g1[_g]; ++_g; if(sprite != null) { Function1(sprite,Value); } } } ,transformChildren_Bool: function(Function1,Value) { if(this.group == null) { return; } var _g = 0; var _g1 = this._sprites; while(_g < _g1.length) { var sprite = _g1[_g]; ++_g; if(sprite != null) { Function1(sprite,Value); } } } ,group: null ,directAlpha: null ,_skipTransformChildren: null ,_sprites: null ,initVars: function() { this.flixelType = 4; this.offset = new flixel_math_FlxCallbackPoint($bind(this,this.offsetCallback)); this.origin = new flixel_math_FlxCallbackPoint($bind(this,this.originCallback)); this.scale = new flixel_math_FlxCallbackPoint($bind(this,this.scaleCallback)); this.scrollFactor = new flixel_math_FlxCallbackPoint($bind(this,this.scrollFactorCallback)); this.scale.set(1,1); this.scrollFactor.set(1,1); var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; this.velocity = point; var point1 = flixel_math_FlxPoint._pool.get().set(0,0); point1._inPool = false; this.acceleration = point1; var point2 = flixel_math_FlxPoint._pool.get().set(0,0); point2._inPool = false; this.drag = point2; var X = 10000; var Y = 10000; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var point3 = flixel_math_FlxPoint._pool.get().set(X,Y); point3._inPool = false; this.maxVelocity = point3; } ,destroy: function() { this.offset = flixel_util_FlxDestroyUtil.destroy(this.offset); this.origin = flixel_util_FlxDestroyUtil.destroy(this.origin); this.scale = flixel_util_FlxDestroyUtil.destroy(this.scale); this.scrollFactor = flixel_util_FlxDestroyUtil.destroy(this.scrollFactor); this.group = flixel_util_FlxDestroyUtil.destroy(this.group); this._sprites = null; flixel_FlxSprite.prototype.destroy.call(this); } ,clone: function() { var newGroup = new flixel_group_FlxTypedSpriteGroup(this.x,this.y,this.group.maxSize); var _g = 0; var _g1 = this.group.members; while(_g < _g1.length) { var sprite = _g1[_g]; ++_g; if(sprite != null) { newGroup.add(sprite.clone()); } } return newGroup; } ,isOnScreen: function(Camera) { var _g = 0; var _g1 = this._sprites; while(_g < _g1.length) { var sprite = _g1[_g]; ++_g; if(sprite != null && sprite.exists && sprite.visible && sprite.isOnScreen(Camera)) { return true; } } return false; } ,overlapsPoint: function(point,InScreenSpace,Camera) { if(InScreenSpace == null) { InScreenSpace = false; } var result = false; var _g = 0; var _g1 = this._sprites; while(_g < _g1.length) { var sprite = _g1[_g]; ++_g; if(sprite != null && sprite.exists && sprite.visible) { result = result || sprite.overlapsPoint(point,InScreenSpace,Camera); } } return result; } ,pixelsOverlapPoint: function(point,Mask,Camera) { if(Mask == null) { Mask = 255; } var result = false; var _g = 0; var _g1 = this._sprites; while(_g < _g1.length) { var sprite = _g1[_g]; ++_g; if(sprite != null && sprite.exists && sprite.visible) { result = result || sprite.pixelsOverlapPoint(point,Mask,Camera); } } return result; } ,update: function(elapsed) { this.group.update(elapsed); if(this.moves) { this.updateMotion(elapsed); } } ,draw: function() { this.group.draw(); } ,replaceColor: function(Color,NewColor,FetchPositions) { if(FetchPositions == null) { FetchPositions = false; } var positions = null; if(FetchPositions) { positions = []; } var spritePositions; var _g = 0; var _g1 = this._sprites; while(_g < _g1.length) { var sprite = _g1[_g]; ++_g; if(sprite != null) { spritePositions = sprite.replaceColor(Color,NewColor,FetchPositions); if(FetchPositions) { positions = positions.concat(spritePositions); } } } return positions; } ,add: function(Sprite) { this.preAdd(Sprite); return this.group.add(Sprite); } ,insert: function(Position,Sprite) { this.preAdd(Sprite); return this.group.insert(Position,Sprite); } ,preAdd: function(Sprite) { var sprite = Sprite; var _g = sprite; _g.set_x(_g.x + this.x); var _g1 = sprite; _g1.set_y(_g1.y + this.y); var _g2 = sprite; _g2.set_alpha(_g2.alpha * this.alpha); var _this = sprite.scrollFactor; var point = this.scrollFactor; _this.set_x(point.x); _this.set_y(point.y); if(point._weak) { point.put(); } sprite.set_cameras(this._cameras); if(this.clipRect != null) { var ClipRect = this.clipRect; if(ClipRect == null) { sprite.set_clipRect(null); } else { var X = ClipRect.x - sprite.x + this.x; var Y = ClipRect.y - sprite.y + this.y; var Width = ClipRect.width; var Height = ClipRect.height; if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } var _this1 = flixel_math_FlxRect._pool.get(); var X1 = X; var Y1 = Y; var Width1 = Width; var Height1 = Height; if(Height1 == null) { Height1 = 0; } if(Width1 == null) { Width1 = 0; } if(Y1 == null) { Y1 = 0; } if(X1 == null) { X1 = 0; } _this1.x = X1; _this1.y = Y1; _this1.width = Width1; _this1.height = Height1; var rect = _this1; rect._inPool = false; sprite.set_clipRect(rect); } } } ,recycle: function(ObjectClass,ObjectFactory,Force,Revive) { if(Revive == null) { Revive = true; } if(Force == null) { Force = false; } return this.group.recycle(ObjectClass,ObjectFactory,Force,Revive); } ,remove: function(Sprite,Splice) { if(Splice == null) { Splice = false; } var sprite = Sprite; var _g = sprite; _g.set_x(_g.x - this.x); var _g1 = sprite; _g1.set_y(_g1.y - this.y); sprite.set_cameras(null); return this.group.remove(Sprite,Splice); } ,replace: function(OldObject,NewObject) { return this.group.replace(OldObject,NewObject); } ,sort: function(Function1,Order) { if(Order == null) { Order = -1; } var Order1 = Order; if(Order1 == null) { Order1 = -1; } var f = Function1; var a1 = Order1; var tmp = function(a2,a3) { return f(a1,a2,a3); }; this.group.members.sort(tmp); } ,getFirstAvailable: function(ObjectClass,Force) { if(Force == null) { Force = false; } return this.group.getFirstAvailable(ObjectClass,Force); } ,getFirstNull: function() { return this.group.getFirstNull(); } ,getFirstExisting: function() { return this.group.getFirstExisting(); } ,getFirstAlive: function() { return this.group.getFirstAlive(); } ,getFirstDead: function() { return this.group.getFirstDead(); } ,countLiving: function() { return this.group.countLiving(); } ,countDead: function() { return this.group.countDead(); } ,getRandom: function(StartIndex,Length) { if(Length == null) { Length = 0; } if(StartIndex == null) { StartIndex = 0; } return this.group.getRandom(StartIndex,Length); } ,iterator: function(filter) { return new flixel_group_FlxTypedGroupIterator(this.group.members,filter); } ,forEach: function(Function1,Recurse) { if(Recurse == null) { Recurse = false; } this.group.forEach(Function1,Recurse); } ,forEachAlive: function(Function1,Recurse) { if(Recurse == null) { Recurse = false; } this.group.forEachAlive(Function1,Recurse); } ,forEachDead: function(Function1,Recurse) { if(Recurse == null) { Recurse = false; } this.group.forEachDead(Function1,Recurse); } ,forEachExists: function(Function1,Recurse) { if(Recurse == null) { Recurse = false; } this.group.forEachExists(Function1,Recurse); } ,forEachOfType: function(ObjectClass,Function1,Recurse) { if(Recurse == null) { Recurse = false; } this.group.forEachOfType(ObjectClass,Function1,Recurse); } ,clear: function() { this.group.clear(); } ,kill: function() { flixel_FlxSprite.prototype.kill.call(this); this.group.kill(); } ,revive: function() { flixel_FlxSprite.prototype.revive.call(this); this.group.revive(); } ,reset: function(X,Y) { this.revive(); this.setPosition(X,Y); var _g = 0; var _g1 = this._sprites; while(_g < _g1.length) { var sprite = _g1[_g]; ++_g; if(sprite != null) { sprite.reset(X,Y); } } } ,setPosition: function(X,Y) { if(Y == null) { Y = 0; } if(X == null) { X = 0; } var dx = X - this.x; var dy = Y - this.y; this.multiTransformChildren_Float([$bind(this,this.xTransform),$bind(this,this.yTransform)],[dx,dy]); this._skipTransformChildren = true; this.set_x(X); this.set_y(Y); this._skipTransformChildren = false; } ,set_camera: function(Value) { if(this.get_camera() != Value) { this.transformChildren_flixel_FlxCamera($bind(this,this.cameraTransform),Value); } return flixel_FlxSprite.prototype.set_camera.call(this,Value); } ,set_cameras: function(Value) { if(this.get_cameras() != Value) { this.transformChildren_Array_flixel_FlxCamera($bind(this,this.camerasTransform),Value); } return flixel_FlxSprite.prototype.set_cameras.call(this,Value); } ,set_exists: function(Value) { if(this.exists != Value) { this.transformChildren_Bool($bind(this,this.existsTransform),Value); } return flixel_FlxSprite.prototype.set_exists.call(this,Value); } ,set_visible: function(Value) { if(this.exists && this.visible != Value) { this.transformChildren_Bool($bind(this,this.visibleTransform),Value); } return flixel_FlxSprite.prototype.set_visible.call(this,Value); } ,set_active: function(Value) { if(this.exists && this.active != Value) { this.transformChildren_Bool($bind(this,this.activeTransform),Value); } return flixel_FlxSprite.prototype.set_active.call(this,Value); } ,set_alive: function(Value) { if(this.alive != Value) { this.transformChildren_Bool($bind(this,this.aliveTransform),Value); } return flixel_FlxSprite.prototype.set_alive.call(this,Value); } ,set_x: function(Value) { if(!this._skipTransformChildren && this.exists && this.x != Value) { var offset = Value - this.x; this.transformChildren_Float($bind(this,this.xTransform),offset); } return this.x = Value; } ,set_y: function(Value) { if(!this._skipTransformChildren && this.exists && this.y != Value) { var offset = Value - this.y; this.transformChildren_Float($bind(this,this.yTransform),offset); } return this.y = Value; } ,set_angle: function(Value) { if(this.exists && this.angle != Value) { var offset = Value - this.angle; this.transformChildren_Float($bind(this,this.angleTransform),offset); } return this.angle = Value; } ,set_alpha: function(Value) { var lowerBound = Value < 0 ? 0 : Value; Value = lowerBound > 1 ? 1 : lowerBound; if(this.exists && this.alpha != Value) { var factor = this.alpha > 0 ? Value / this.alpha : 0; if(!this.directAlpha && this.alpha != 0) { this.transformChildren_Float($bind(this,this.alphaTransform),factor); } else { this.transformChildren_Float($bind(this,this.directAlphaTransform),Value); } } return this.alpha = Value; } ,set_facing: function(Value) { if(this.exists && this.facing != Value) { this.transformChildren_Int($bind(this,this.facingTransform),Value); } return this.facing = Value; } ,set_flipX: function(Value) { if(this.exists && this.flipX != Value) { this.transformChildren_Bool($bind(this,this.flipXTransform),Value); } return this.flipX = Value; } ,set_flipY: function(Value) { if(this.exists && this.flipY != Value) { this.transformChildren_Bool($bind(this,this.flipYTransform),Value); } return this.flipY = Value; } ,set_moves: function(Value) { if(this.exists && this.moves != Value) { this.transformChildren_Bool($bind(this,this.movesTransform),Value); } return this.moves = Value; } ,set_immovable: function(Value) { if(this.exists && this.immovable != Value) { this.transformChildren_Bool($bind(this,this.immovableTransform),Value); } return this.immovable = Value; } ,set_solid: function(Value) { if(this.exists && (this.allowCollisions & 4369) > 0 != Value) { this.transformChildren_Bool($bind(this,this.solidTransform),Value); } return flixel_FlxSprite.prototype.set_solid.call(this,Value); } ,set_color: function(Value) { if(this.exists && this.color != Value) { this.transformChildren_Int($bind(this,this.gColorTransform),Value); } return this.color = Value; } ,set_blend: function(Value) { if(this.exists && this.blend != Value) { this.transformChildren_openfl_display_BlendMode($bind(this,this.blendTransform),Value); } return this.blend = Value; } ,set_clipRect: function(rect) { if(this.exists) { this.transformChildren_flixel_math_FlxRect($bind(this,this.clipRectTransform),rect); } return flixel_FlxSprite.prototype.set_clipRect.call(this,rect); } ,set_pixelPerfectRender: function(Value) { if(this.exists && this.pixelPerfectRender != Value) { this.transformChildren_Bool($bind(this,this.pixelPerfectTransform),Value); } return flixel_FlxSprite.prototype.set_pixelPerfectRender.call(this,Value); } ,set_width: function(Value) { return Value; } ,get_width: function() { if(this.group.length == 0) { return 0; } var minX = Infinity; var maxX = -Infinity; var _g = 0; var _g1 = this._sprites; while(_g < _g1.length) { var member = _g1[_g]; ++_g; if(member == null) { continue; } var minMemberX = member.x; var maxMemberX = minMemberX + member.get_width(); if(maxMemberX > maxX) { maxX = maxMemberX; } if(minMemberX < minX) { minX = minMemberX; } } return maxX - minX; } ,set_height: function(Value) { return Value; } ,get_height: function() { if(this.group.length == 0) { return 0; } var minY = Infinity; var maxY = -Infinity; var _g = 0; var _g1 = this._sprites; while(_g < _g1.length) { var member = _g1[_g]; ++_g; if(member == null) { continue; } var minMemberY = member.y; var maxMemberY = minMemberY + member.get_height(); if(maxMemberY > maxY) { maxY = maxMemberY; } if(minMemberY < minY) { minY = minMemberY; } } return maxY - minY; } ,get_length: function() { return this.group.length; } ,get_maxSize: function() { return this.group.maxSize; } ,set_maxSize: function(Size) { return this.group.set_maxSize(Size); } ,get_members: function() { return this.group.members; } ,xTransform: function(Sprite,X) { var _g = Sprite; _g.set_x(_g.x + X); } ,yTransform: function(Sprite,Y) { var _g = Sprite; _g.set_y(_g.y + Y); } ,angleTransform: function(Sprite,Angle) { var _g = Sprite; _g.set_angle(_g.angle + Angle); } ,alphaTransform: function(Sprite,Alpha) { if(Sprite.alpha != 0 || Alpha == 0) { var _g = Sprite; _g.set_alpha(_g.alpha * Alpha); } else { Sprite.set_alpha(1 / Alpha); } } ,directAlphaTransform: function(Sprite,Alpha) { Sprite.set_alpha(Alpha); } ,facingTransform: function(Sprite,Facing) { Sprite.set_facing(Facing); } ,flipXTransform: function(Sprite,FlipX) { Sprite.set_flipX(FlipX); } ,flipYTransform: function(Sprite,FlipY) { Sprite.set_flipY(FlipY); } ,movesTransform: function(Sprite,Moves) { Sprite.set_moves(Moves); } ,pixelPerfectTransform: function(Sprite,PixelPerfect) { Sprite.set_pixelPerfectRender(PixelPerfect); } ,gColorTransform: function(Sprite,Color) { Sprite.set_color(Color); } ,blendTransform: function(Sprite,Blend) { Sprite.set_blend(Blend); } ,immovableTransform: function(Sprite,Immovable) { Sprite.set_immovable(Immovable); } ,visibleTransform: function(Sprite,Visible) { Sprite.set_visible(Visible); } ,activeTransform: function(Sprite,Active) { Sprite.set_active(Active); } ,solidTransform: function(Sprite,Solid) { Sprite.set_solid(Solid); } ,aliveTransform: function(Sprite,Alive) { Sprite.set_alive(Alive); } ,existsTransform: function(Sprite,Exists) { Sprite.set_exists(Exists); } ,cameraTransform: function(Sprite,Camera) { Sprite.set_camera(Camera); } ,camerasTransform: function(Sprite,Cameras) { Sprite.set_cameras(Cameras); } ,offsetTransform: function(Sprite,Offset) { var _this = Sprite.offset; _this.set_x(Offset.x); _this.set_y(Offset.y); if(Offset._weak) { Offset.put(); } } ,originTransform: function(Sprite,Origin) { var _this = Sprite.origin; _this.set_x(Origin.x); _this.set_y(Origin.y); if(Origin._weak) { Origin.put(); } } ,scaleTransform: function(Sprite,Scale) { var _this = Sprite.scale; _this.set_x(Scale.x); _this.set_y(Scale.y); if(Scale._weak) { Scale.put(); } } ,scrollFactorTransform: function(Sprite,ScrollFactor) { var _this = Sprite.scrollFactor; _this.set_x(ScrollFactor.x); _this.set_y(ScrollFactor.y); if(ScrollFactor._weak) { ScrollFactor.put(); } } ,clipRectTransform: function(Sprite,ClipRect) { if(ClipRect == null) { Sprite.set_clipRect(null); } else { var X = ClipRect.x - Sprite.x + this.x; var Y = ClipRect.y - Sprite.y + this.y; var Width = ClipRect.width; var Height = ClipRect.height; if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } var _this = flixel_math_FlxRect._pool.get(); var X1 = X; var Y1 = Y; var Width1 = Width; var Height1 = Height; if(Height1 == null) { Height1 = 0; } if(Width1 == null) { Width1 = 0; } if(Y1 == null) { Y1 = 0; } if(X1 == null) { X1 = 0; } _this.x = X1; _this.y = Y1; _this.width = Width1; _this.height = Height1; var rect = _this; rect._inPool = false; Sprite.set_clipRect(rect); } } ,offsetCallback: function(Offset) { this.transformChildren_flixel_math_FlxPoint($bind(this,this.offsetTransform),Offset); } ,originCallback: function(Origin) { this.transformChildren_flixel_math_FlxPoint($bind(this,this.originTransform),Origin); } ,scaleCallback: function(Scale) { this.transformChildren_flixel_math_FlxPoint($bind(this,this.scaleTransform),Scale); } ,scrollFactorCallback: function(ScrollFactor) { this.transformChildren_flixel_math_FlxPoint($bind(this,this.scrollFactorTransform),ScrollFactor); } ,loadGraphicFromSprite: function(Sprite) { return this; } ,loadGraphic: function(Graphic,Animated,Width,Height,Unique,Key) { if(Unique == null) { Unique = false; } if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Animated == null) { Animated = false; } return this; } ,loadRotatedGraphic: function(Graphic,Rotations,Frame,AntiAliasing,AutoBuffer,Key) { if(AutoBuffer == null) { AutoBuffer = false; } if(AntiAliasing == null) { AntiAliasing = false; } if(Frame == null) { Frame = -1; } if(Rotations == null) { Rotations = 16; } return this; } ,makeGraphic: function(Width,Height,Color,Unique,Key) { if(Unique == null) { Unique = false; } if(Color == null) { Color = -1; } return this; } ,set_pixels: function(Value) { return Value; } ,set_frame: function(Value) { return Value; } ,get_pixels: function() { return null; } ,calcFrame: function(RunOnCpp) { if(RunOnCpp == null) { RunOnCpp = false; } } ,resetHelpers: function() { } ,stamp: function(Brush,X,Y) { if(Y == null) { Y = 0; } if(X == null) { X = 0; } } ,set_frames: function(Frames) { return Frames; } ,updateColorTransform: function() { } ,__class__: flixel_group_FlxTypedSpriteGroup ,__properties__: $extend(flixel_FlxSprite.prototype.__properties__,{set_maxSize:"set_maxSize",get_maxSize:"get_maxSize",get_length:"get_length",get_members:"get_members"}) }); var Alphabet = function(x,y,text,bold,typed) { if(typed == null) { typed = false; } if(bold == null) { bold = false; } if(text == null) { text = ""; } this.personTalking = "gf"; this.isBold = false; this.splitWords = []; this.lastWasSpace = false; this.xPosResetted = false; this.yMulti = 1; this.widthOfWords = flixel_FlxG.width; this._curText = ""; this._finalText = ""; this.text = ""; this.isMenuItem = false; this.targetY = 0; this.paused = false; this.delay = 0.05; flixel_group_FlxTypedSpriteGroup.call(this,x,y); this._finalText = text; this.text = text; this.isBold = bold; if(text != "") { if(typed) { this.startTypedText(); } else { this.addText(); } } }; $hxClasses["Alphabet"] = Alphabet; Alphabet.__name__ = "Alphabet"; Alphabet.__super__ = flixel_group_FlxTypedSpriteGroup; Alphabet.prototype = $extend(flixel_group_FlxTypedSpriteGroup.prototype,{ delay: null ,paused: null ,targetY: null ,isMenuItem: null ,text: null ,_finalText: null ,_curText: null ,widthOfWords: null ,yMulti: null ,lastSprite: null ,xPosResetted: null ,lastWasSpace: null ,splitWords: null ,isBold: null ,addText: function() { this.doSplitWords(); var xPos = 0; var _g = 0; var _g1 = this.splitWords; while(_g < _g1.length) { var character = _g1[_g]; ++_g; if(character == " " || character == "-") { this.lastWasSpace = true; } if(AlphaCharacter.alphabet.indexOf(character.toLowerCase()) != -1) { if(this.lastSprite != null) { xPos = this.lastSprite.x + this.lastSprite.get_width(); } if(this.lastWasSpace) { xPos += 40; this.lastWasSpace = false; } var letter = new AlphaCharacter(xPos,0); if(this.isBold) { letter.createBold(character); } else { letter.createLetter(character); } this.add(letter); this.lastSprite = letter; } } } ,doSplitWords: function() { this.splitWords = this._finalText.split(""); } ,personTalking: null ,startTypedText: function() { var _gthis = this; this._finalText = this.text; this.doSplitWords(); var loopNum = 0; var xPos = 0; var curRow = 0; new flixel_util_FlxTimer().start(0.05,function(tmr) { if(_gthis._finalText.charCodeAt(loopNum) == 10) { _gthis.yMulti += 1; _gthis.xPosResetted = true; xPos = 0; curRow += 1; } if(_gthis.splitWords[loopNum] == " ") { _gthis.lastWasSpace = true; } var isNumber = AlphaCharacter.numbers.indexOf(_gthis.splitWords[loopNum]) != -1; var isSymbol = AlphaCharacter.symbols.indexOf(_gthis.splitWords[loopNum]) != -1; if(AlphaCharacter.alphabet.indexOf(_gthis.splitWords[loopNum].toLowerCase()) != -1 || isNumber || isSymbol) { if(_gthis.lastSprite != null && !_gthis.xPosResetted) { _gthis.lastSprite.updateHitbox(); xPos += _gthis.lastSprite.get_width() + 3; } else { _gthis.xPosResetted = false; } if(_gthis.lastWasSpace) { xPos += 20; _gthis.lastWasSpace = false; } var letter = new AlphaCharacter(xPos,55 * _gthis.yMulti); letter.row = curRow; if(_gthis.isBold) { letter.createBold(_gthis.splitWords[loopNum]); } else { if(isNumber) { letter.createNumber(_gthis.splitWords[loopNum]); } else if(isSymbol) { letter.createSymbol(_gthis.splitWords[loopNum]); } else { letter.createLetter(_gthis.splitWords[loopNum]); } var _g = letter; _g.set_x(_g.x + 90); } var Chance = 40; if(Chance == null) { Chance = 50; } if(flixel_FlxG.random.float(0,100) < Chance) { var daSound = "GF_"; flixel_FlxG.sound.play(Paths.sound(daSound + flixel_FlxG.random.int(1,4),null)); } _gthis.add(letter); _gthis.lastSprite = letter; } loopNum += 1; tmr.time = flixel_FlxG.random.float(0.04,0.09); },this.splitWords.length); } ,update: function(elapsed) { if(this.isMenuItem) { var scaledY = flixel_math_FlxMath.remapToRange(this.targetY,0,1,0,1.3); var a = this.y; this.set_y(a + 0.16 * (scaledY * 120 + flixel_FlxG.height * 0.48 - a)); var a1 = this.x; this.set_x(a1 + 0.16 * (this.targetY * 20 + 90 - a1)); } flixel_group_FlxTypedSpriteGroup.prototype.update.call(this,elapsed); } ,__class__: Alphabet }); var AlphaCharacter = function(x,y) { this.row = 0; flixel_FlxSprite.call(this,x,y); var library = null; var tex = flixel_graphics_frames_FlxAtlasFrames.fromSparrow(Paths.getPath("images/" + "alphabet" + ".png","IMAGE",library),Paths.getPath("images/" + "alphabet" + ".xml","TEXT",library)); this.set_frames(tex); this.set_antialiasing(true); }; $hxClasses["AlphaCharacter"] = AlphaCharacter; AlphaCharacter.__name__ = "AlphaCharacter"; AlphaCharacter.__super__ = flixel_FlxSprite; AlphaCharacter.prototype = $extend(flixel_FlxSprite.prototype,{ row: null ,createBold: function(letter) { this.animation.addByPrefix(letter,letter.toUpperCase() + " bold",24); this.animation.play(letter); this.updateHitbox(); } ,createLetter: function(letter) { var letterCase = "lowercase"; if(letter.toLowerCase() != letter) { letterCase = "capital"; } this.animation.addByPrefix(letter,letter + " " + letterCase,24); this.animation.play(letter); this.updateHitbox(); this.set_y(110 - this.get_height()); var _g = this; _g.set_y(_g.y + this.row * 60); } ,createNumber: function(letter) { this.animation.addByPrefix(letter,letter,24); this.animation.play(letter); this.updateHitbox(); } ,createSymbol: function(letter) { switch(letter) { case "!": this.animation.addByPrefix(letter,"exclamation point",24); this.animation.play(letter); break; case "'": this.animation.addByPrefix(letter,"apostraphie",24); this.animation.play(letter); var _g = this; _g.set_y(_g.y); break; case ".": this.animation.addByPrefix(letter,"period",24); this.animation.play(letter); var _g1 = this; _g1.set_y(_g1.y + 50); break; case "?": this.animation.addByPrefix(letter,"question mark",24); this.animation.play(letter); break; } this.updateHitbox(); } ,__class__: AlphaCharacter }); var lime_app_IModule = function() { }; $hxClasses["lime.app.IModule"] = lime_app_IModule; lime_app_IModule.__name__ = "lime.app.IModule"; lime_app_IModule.__isInterface__ = true; lime_app_IModule.prototype = { __registerLimeModule: null ,__unregisterLimeModule: null ,__class__: lime_app_IModule }; var lime_app_Module = function() { this.onExit = new lime_app__$Event_$Int_$Void(); }; $hxClasses["lime.app.Module"] = lime_app_Module; lime_app_Module.__name__ = "lime.app.Module"; lime_app_Module.__interfaces__ = [lime_app_IModule]; lime_app_Module.prototype = { onExit: null ,__registerLimeModule: function(application) { } ,__unregisterLimeModule: function(application) { } ,__class__: lime_app_Module }; var lime__$internal_backend_html5_HTML5Application = function(parent) { this.gameDeviceCache = new haxe_ds_IntMap(); this.parent = parent; this.currentUpdate = 0; this.lastUpdate = 0; this.nextUpdate = 0; this.framePeriod = -1; lime_media_AudioManager.init(); this.accelerometer = lime_system_Sensor.registerSensor(lime_system_SensorType.ACCELEROMETER,0); }; $hxClasses["lime._internal.backend.html5.HTML5Application"] = lime__$internal_backend_html5_HTML5Application; lime__$internal_backend_html5_HTML5Application.__name__ = "lime._internal.backend.html5.HTML5Application"; lime__$internal_backend_html5_HTML5Application.prototype = { accelerometer: null ,currentUpdate: null ,deltaTime: null ,framePeriod: null ,gameDeviceCache: null ,hidden: null ,lastUpdate: null ,nextUpdate: null ,parent: null ,convertKeyCode: function(keyCode) { if(keyCode >= 65 && keyCode <= 90) { return keyCode + 32; } switch(keyCode) { case 12: return 1073741980; case 16: return 1073742049; case 17: return 1073742048; case 18: return 1073742050; case 19: return 1073741896; case 20: return 1073741881; case 33: return 1073741899; case 34: return 1073741902; case 35: return 1073741901; case 36: return 1073741898; case 37: return 1073741904; case 38: return 1073741906; case 39: return 1073741903; case 40: return 1073741905; case 41: return 1073741943; case 43: return 1073741940; case 44: return 1073741894; case 45: return 1073741897; case 46: return 127; case 91: return 1073742051; case 92: return 1073742055; case 93: return 1073742055; case 95: return 1073742106; case 96: return 1073741922; case 97: return 1073741913; case 98: return 1073741914; case 99: return 1073741915; case 100: return 1073741916; case 101: return 1073741917; case 102: return 1073741918; case 103: return 1073741919; case 104: return 1073741920; case 105: return 1073741921; case 106: return 1073741909; case 107: return 1073741911; case 108: return 1073741923; case 109: return 1073741910; case 110: return 1073741923; case 111: return 1073741908; case 112: return 1073741882; case 113: return 1073741883; case 114: return 1073741884; case 115: return 1073741885; case 116: return 1073741886; case 117: return 1073741887; case 118: return 1073741888; case 119: return 1073741889; case 120: return 1073741890; case 121: return 1073741891; case 122: return 1073741892; case 123: return 1073741893; case 124: return 1073741928; case 125: return 1073741929; case 126: return 1073741930; case 127: return 1073741931; case 128: return 1073741932; case 129: return 1073741933; case 130: return 1073741934; case 131: return 1073741935; case 132: return 1073741936; case 133: return 1073741937; case 134: return 1073741938; case 135: return 1073741939; case 144: return 1073741907; case 145: return 1073741895; case 160: return 94; case 161: return 33; case 163: return 35; case 164: return 36; case 166: return 1073742094; case 167: return 1073742095; case 168: return 1073742097; case 169: return 41; case 170: return 42; case 171: return 96; case 172: return 1073741898; case 173: return 45; case 174: return 1073741953; case 175: return 1073741952; case 176: return 1073742082; case 177: return 1073742083; case 178: return 1073742084; case 179: return 1073742085; case 180: return 1073742089; case 181: return 1073742086; case 182: return 1073741953; case 183: return 1073741952; case 186: return 59; case 187: return 61; case 188: return 44; case 189: return 45; case 190: return 46; case 191: return 47; case 192: return 96; case 193: return 63; case 194: return 1073741923; case 219: return 91; case 220: return 92; case 221: return 93; case 222: return 39; case 223: return 96; case 224: return 1073742051; case 226: return 92; } return keyCode; } ,exec: function() { window.addEventListener("keydown",$bind(this,this.handleKeyEvent),false); window.addEventListener("keyup",$bind(this,this.handleKeyEvent),false); window.addEventListener("focus",$bind(this,this.handleWindowEvent),false); window.addEventListener("blur",$bind(this,this.handleWindowEvent),false); window.addEventListener("resize",$bind(this,this.handleWindowEvent),false); window.addEventListener("beforeunload",$bind(this,this.handleWindowEvent),false); window.addEventListener("devicemotion",$bind(this,this.handleSensorEvent),false); if (!CanvasRenderingContext2D.prototype.isPointInStroke) { CanvasRenderingContext2D.prototype.isPointInStroke = function (path, x, y) { return false; }; } if (!CanvasRenderingContext2D.prototype.isPointInPath) { CanvasRenderingContext2D.prototype.isPointInPath = function (path, x, y) { return false; }; } if ('performance' in window == false) { window.performance = {}; } if ('now' in window.performance == false) { var offset = Date.now(); if (performance.timing && performance.timing.navigationStart) { offset = performance.timing.navigationStart } window.performance.now = function now() { return Date.now() - offset; } } var lastTime = 0; var vendors = ['ms', 'moz', 'webkit', 'o']; for (var x = 0; x < vendors.length && !window.requestAnimationFrame; ++x) { window.requestAnimationFrame = window[vendors[x]+'RequestAnimationFrame']; window.cancelAnimationFrame = window[vendors[x]+'CancelAnimationFrame'] || window[vendors[x]+'CancelRequestAnimationFrame']; } if (!window.requestAnimationFrame) window.requestAnimationFrame = function(callback, element) { var currTime = new Date().getTime(); var timeToCall = Math.max(0, 16 - (currTime - lastTime)); var id = window.setTimeout(function() { callback(currTime + timeToCall); }, timeToCall); lastTime = currTime + timeToCall; return id; }; if (!window.cancelAnimationFrame) window.cancelAnimationFrame = function(id) { clearTimeout(id); }; window.requestAnimFrame = window.requestAnimationFrame; ; this.lastUpdate = new Date().getTime(); this.handleApplicationEvent(); return 0; } ,exit: function() { } ,handleApplicationEvent: function(__) { var _g = 0; var _g1 = this.parent.__windows; while(_g < _g1.length) { var $window = _g1[_g]; ++_g; $window.__backend.updateSize(); } this.updateGameDevices(); this.currentUpdate = new Date().getTime(); if(this.currentUpdate >= this.nextUpdate) { this.deltaTime = this.currentUpdate - this.lastUpdate; var _g2 = 0; var _g3 = this.parent.__windows; while(_g2 < _g3.length) { var window1 = _g3[_g2]; ++_g2; this.parent.onUpdate.dispatch(this.deltaTime | 0); if(window1.context != null) { window1.onRender.dispatch(window1.context); } } if(this.framePeriod < 0) { this.nextUpdate = this.currentUpdate; } else { this.nextUpdate = this.currentUpdate - this.currentUpdate % this.framePeriod + this.framePeriod; } this.lastUpdate = this.currentUpdate; } window.requestAnimationFrame($bind(this,this.handleApplicationEvent)); } ,handleKeyEvent: function(event) { if(this.parent.__window != null) { var keyCode = this.convertKeyCode(event.keyCode != null ? event.keyCode : event.which); var modifier = (event.shiftKey ? 3 : 0) | (event.ctrlKey ? 192 : 0) | (event.altKey ? 768 : 0) | (event.metaKey ? 3072 : 0); if(event.type == "keydown") { this.parent.__window.onKeyDown.dispatch(keyCode,modifier); if(this.parent.__window.onKeyDown.canceled && event.cancelable) { event.preventDefault(); } } else { this.parent.__window.onKeyUp.dispatch(keyCode,modifier); if(this.parent.__window.onKeyUp.canceled && event.cancelable) { event.preventDefault(); } } } } ,handleSensorEvent: function(event) { this.accelerometer.onUpdate.dispatch(event.accelerationIncludingGravity.x,event.accelerationIncludingGravity.y,event.accelerationIncludingGravity.z); } ,handleWindowEvent: function(event) { if(this.parent.__window != null) { switch(event.type) { case "beforeunload": break; case "blur": if(!this.hidden) { this.parent.__window.onFocusOut.dispatch(); this.parent.__window.onDeactivate.dispatch(); this.hidden = true; } break; case "focus": if(this.hidden) { this.parent.__window.onFocusIn.dispatch(); this.parent.__window.onActivate.dispatch(); this.hidden = false; } break; case "resize": this.parent.__window.__backend.handleResizeEvent(event); break; case "visibilitychange": if(window.document.hidden) { if(!this.hidden) { this.parent.__window.onFocusOut.dispatch(); this.parent.__window.onDeactivate.dispatch(); this.hidden = true; } } else if(this.hidden) { this.parent.__window.onFocusIn.dispatch(); this.parent.__window.onActivate.dispatch(); this.hidden = false; } break; } } } ,updateGameDevices: function() { var devices = lime_ui_Joystick.__getDeviceData(); if(devices == null) { return; } var id; var gamepad; var joystick; var data; var cache; var _g = 0; var _g1 = devices.length; while(_g < _g1) { var i = _g++; id = i; data = devices[id]; if(data == null) { continue; } if(!this.gameDeviceCache.h.hasOwnProperty(id)) { cache = new lime__$internal_backend_html5_GameDeviceData(); cache.id = id; cache.connected = data.connected; var _g2 = 0; var _g11 = data.buttons.length; while(_g2 < _g11) { var i1 = _g2++; cache.buttons.push(data.buttons[i1].value); } var _g21 = 0; var _g3 = data.axes.length; while(_g21 < _g3) { var i2 = _g21++; cache.axes.push(data.axes[i2]); } if(data.mapping == "standard") { cache.isGamepad = true; } this.gameDeviceCache.h[id] = cache; if(data.connected) { lime_ui_Joystick.__connect(id); if(cache.isGamepad) { lime_ui_Gamepad.__connect(id); } } } cache = this.gameDeviceCache.h[id]; joystick = lime_ui_Joystick.devices.h[id]; gamepad = lime_ui_Gamepad.devices.h[id]; if(data.connected) { var button; var value; var _g4 = 0; var _g12 = data.buttons.length; while(_g4 < _g12) { var i3 = _g4++; value = data.buttons[i3].value; if(value != cache.buttons[i3]) { if(i3 == 6) { joystick.onAxisMove.dispatch(data.axes.length,value); if(gamepad != null) { gamepad.onAxisMove.dispatch(4,value); } } else if(i3 == 7) { joystick.onAxisMove.dispatch(data.axes.length + 1,value); if(gamepad != null) { gamepad.onAxisMove.dispatch(5,value); } } else { if(value > 0) { joystick.onButtonDown.dispatch(i3); } else { joystick.onButtonUp.dispatch(i3); } if(gamepad != null) { switch(i3) { case 0: button = 0; break; case 1: button = 1; break; case 2: button = 2; break; case 3: button = 3; break; case 4: button = 9; break; case 5: button = 10; break; case 8: button = 4; break; case 9: button = 6; break; case 10: button = 7; break; case 11: button = 8; break; case 12: button = 11; break; case 13: button = 12; break; case 14: button = 13; break; case 15: button = 14; break; case 16: button = 5; break; default: continue; } if(value > 0) { gamepad.onButtonDown.dispatch(button); } else { gamepad.onButtonUp.dispatch(button); } } } cache.buttons[i3] = value; } } var _g22 = 0; var _g31 = data.axes.length; while(_g22 < _g31) { var i4 = _g22++; if(data.axes[i4] != cache.axes[i4]) { joystick.onAxisMove.dispatch(i4,data.axes[i4]); if(gamepad != null) { gamepad.onAxisMove.dispatch(i4,data.axes[i4]); } cache.axes[i4] = data.axes[i4]; } } } else if(cache.connected) { cache.connected = false; lime_ui_Joystick.__disconnect(id); lime_ui_Gamepad.__disconnect(id); } } } ,__class__: lime__$internal_backend_html5_HTML5Application }; var lime_app_Application = function() { this.onCreateWindow = new lime_app__$Event_$lime_$ui_$Window_$Void(); this.onUpdate = new lime_app__$Event_$Int_$Void(); lime_app_Module.call(this); if(lime_app_Application.current == null) { lime_app_Application.current = this; } this.meta = new haxe_ds_StringMap(); this.modules = []; this.__windowByID = new haxe_ds_IntMap(); this.__windows = []; this.__backend = new lime__$internal_backend_html5_HTML5Application(this); this.__registerLimeModule(this); this.__preloader = new lime_utils_Preloader(); this.__preloader.onProgress.add($bind(this,this.onPreloadProgress)); this.__preloader.onComplete.add($bind(this,this.onPreloadComplete)); }; $hxClasses["lime.app.Application"] = lime_app_Application; lime_app_Application.__name__ = "lime.app.Application"; lime_app_Application.current = null; lime_app_Application.__super__ = lime_app_Module; lime_app_Application.prototype = $extend(lime_app_Module.prototype,{ meta: null ,modules: null ,onUpdate: null ,onCreateWindow: null ,preloader: null ,window: null ,windows: null ,__backend: null ,__preloader: null ,__window: null ,__windowByID: null ,__windows: null ,addModule: function(module) { module.__registerLimeModule(this); this.modules.push(module); } ,createWindow: function(attributes) { var $window = this.__createWindow(attributes); this.__addWindow($window); return $window; } ,exec: function() { lime_app_Application.current = this; return this.__backend.exec(); } ,onGamepadAxisMove: function(gamepad,axis,value) { } ,onGamepadButtonDown: function(gamepad,button) { } ,onGamepadButtonUp: function(gamepad,button) { } ,onGamepadConnect: function(gamepad) { } ,onGamepadDisconnect: function(gamepad) { } ,onJoystickAxisMove: function(joystick,axis,value) { } ,onJoystickButtonDown: function(joystick,button) { } ,onJoystickButtonUp: function(joystick,button) { } ,onJoystickConnect: function(joystick) { } ,onJoystickDisconnect: function(joystick) { } ,onJoystickHatMove: function(joystick,hat,position) { } ,onJoystickTrackballMove: function(joystick,trackball,x,y) { } ,onKeyDown: function(keyCode,modifier) { } ,onKeyUp: function(keyCode,modifier) { } ,onModuleExit: function(code) { } ,onMouseDown: function(x,y,button) { } ,onMouseMove: function(x,y) { } ,onMouseMoveRelative: function(x,y) { } ,onMouseUp: function(x,y,button) { } ,onMouseWheel: function(deltaX,deltaY,deltaMode) { } ,onPreloadComplete: function() { } ,onPreloadProgress: function(loaded,total) { } ,onRenderContextLost: function() { } ,onRenderContextRestored: function(context) { } ,onTextEdit: function(text,start,length) { } ,onTextInput: function(text) { } ,onTouchCancel: function(touch) { } ,onTouchEnd: function(touch) { } ,onTouchMove: function(touch) { } ,onTouchStart: function(touch) { } ,onWindowActivate: function() { } ,onWindowClose: function() { } ,onWindowCreate: function() { } ,onWindowDeactivate: function() { } ,onWindowDropFile: function(file) { } ,onWindowEnter: function() { } ,onWindowExpose: function() { } ,onWindowFocusIn: function() { } ,onWindowFocusOut: function() { } ,onWindowFullscreen: function() { } ,onWindowLeave: function() { } ,onWindowMove: function(x,y) { } ,onWindowMinimize: function() { } ,onWindowResize: function(width,height) { } ,onWindowRestore: function() { } ,removeModule: function(module) { if(module != null) { module.__unregisterLimeModule(this); HxOverrides.remove(this.modules,module); } } ,render: function(context) { } ,update: function(deltaTime) { } ,__addWindow: function($window) { if($window != null) { this.__windows.push($window); this.__windowByID.h[$window.id] = $window; var f = $bind(this,this.__onWindowClose); var window1 = $window; var tmp = function() { f(window1); }; $window.onClose.add(tmp,false,-10000); if(this.__window == null) { this.__window = $window; $window.onActivate.add($bind(this,this.onWindowActivate)); $window.onRenderContextLost.add($bind(this,this.onRenderContextLost)); $window.onRenderContextRestored.add($bind(this,this.onRenderContextRestored)); $window.onDeactivate.add($bind(this,this.onWindowDeactivate)); $window.onDropFile.add($bind(this,this.onWindowDropFile)); $window.onEnter.add($bind(this,this.onWindowEnter)); $window.onExpose.add($bind(this,this.onWindowExpose)); $window.onFocusIn.add($bind(this,this.onWindowFocusIn)); $window.onFocusOut.add($bind(this,this.onWindowFocusOut)); $window.onFullscreen.add($bind(this,this.onWindowFullscreen)); $window.onKeyDown.add($bind(this,this.onKeyDown)); $window.onKeyUp.add($bind(this,this.onKeyUp)); $window.onLeave.add($bind(this,this.onWindowLeave)); $window.onMinimize.add($bind(this,this.onWindowMinimize)); $window.onMouseDown.add($bind(this,this.onMouseDown)); $window.onMouseMove.add($bind(this,this.onMouseMove)); $window.onMouseMoveRelative.add($bind(this,this.onMouseMoveRelative)); $window.onMouseUp.add($bind(this,this.onMouseUp)); $window.onMouseWheel.add($bind(this,this.onMouseWheel)); $window.onMove.add($bind(this,this.onWindowMove)); $window.onRender.add($bind(this,this.render)); $window.onResize.add($bind(this,this.onWindowResize)); $window.onRestore.add($bind(this,this.onWindowRestore)); $window.onTextEdit.add($bind(this,this.onTextEdit)); $window.onTextInput.add($bind(this,this.onTextInput)); this.onWindowCreate(); } this.onCreateWindow.dispatch($window); } } ,__createWindow: function(attributes) { var $window = new lime_ui_Window(this,attributes); if($window.id == -1) { return null; } return $window; } ,__registerLimeModule: function(application) { application.onUpdate.add($bind(this,this.update)); application.onExit.add($bind(this,this.onModuleExit),false,0); application.onExit.add($bind(this,this.__onModuleExit),false,0); var gamepad = lime_ui_Gamepad.devices.iterator(); while(gamepad.hasNext()) { var gamepad1 = gamepad.next(); this.__onGamepadConnect(gamepad1); } lime_ui_Gamepad.onConnect.add($bind(this,this.__onGamepadConnect)); var joystick = lime_ui_Joystick.devices.iterator(); while(joystick.hasNext()) { var joystick1 = joystick.next(); this.__onJoystickConnect(joystick1); } lime_ui_Joystick.onConnect.add($bind(this,this.__onJoystickConnect)); lime_ui_Touch.onCancel.add($bind(this,this.onTouchCancel)); lime_ui_Touch.onStart.add($bind(this,this.onTouchStart)); lime_ui_Touch.onMove.add($bind(this,this.onTouchMove)); lime_ui_Touch.onEnd.add($bind(this,this.onTouchEnd)); } ,__removeWindow: function($window) { if($window != null && this.__windowByID.h.hasOwnProperty($window.id)) { if(this.__window == $window) { this.__window = null; } HxOverrides.remove(this.__windows,$window); this.__windowByID.remove($window.id); $window.close(); if(this.__windows.length == 0) { lime_system_System.exit(0); } } } ,__onGamepadConnect: function(gamepad) { this.onGamepadConnect(gamepad); var f = $bind(this,this.onGamepadAxisMove); var gamepad1 = gamepad; var tmp = function(axis,value) { f(gamepad1,axis,value); }; gamepad.onAxisMove.add(tmp); var f1 = $bind(this,this.onGamepadButtonDown); var gamepad2 = gamepad; var tmp1 = function(button) { f1(gamepad2,button); }; gamepad.onButtonDown.add(tmp1); var f2 = $bind(this,this.onGamepadButtonUp); var gamepad3 = gamepad; var tmp2 = function(button1) { f2(gamepad3,button1); }; gamepad.onButtonUp.add(tmp2); var f3 = $bind(this,this.onGamepadDisconnect); var gamepad4 = gamepad; var tmp3 = function() { f3(gamepad4); }; gamepad.onDisconnect.add(tmp3); } ,__onJoystickConnect: function(joystick) { this.onJoystickConnect(joystick); var f = $bind(this,this.onJoystickAxisMove); var joystick1 = joystick; var tmp = function(axis,value) { f(joystick1,axis,value); }; joystick.onAxisMove.add(tmp); var f1 = $bind(this,this.onJoystickButtonDown); var joystick2 = joystick; var tmp1 = function(button) { f1(joystick2,button); }; joystick.onButtonDown.add(tmp1); var f2 = $bind(this,this.onJoystickButtonUp); var joystick3 = joystick; var tmp2 = function(button1) { f2(joystick3,button1); }; joystick.onButtonUp.add(tmp2); var f3 = $bind(this,this.onJoystickDisconnect); var joystick4 = joystick; var tmp3 = function() { f3(joystick4); }; joystick.onDisconnect.add(tmp3); var f4 = $bind(this,this.onJoystickHatMove); var joystick5 = joystick; var tmp4 = function(hat,position) { f4(joystick5,hat,position); }; joystick.onHatMove.add(tmp4); var f5 = $bind(this,this.onJoystickTrackballMove); var joystick6 = joystick; var tmp5 = function(trackball,x,y) { f5(joystick6,trackball,x,y); }; joystick.onTrackballMove.add(tmp5); } ,__onModuleExit: function(code) { this.__backend.exit(); } ,__onWindowClose: function($window) { if(this.__window == $window) { this.onWindowClose(); } this.__removeWindow($window); } ,__unregisterLimeModule: function(application) { application.onUpdate.remove($bind(this,this.update)); application.onExit.remove($bind(this,this.__onModuleExit)); application.onExit.remove($bind(this,this.onModuleExit)); lime_ui_Gamepad.onConnect.remove($bind(this,this.__onGamepadConnect)); lime_ui_Joystick.onConnect.remove($bind(this,this.__onJoystickConnect)); lime_ui_Touch.onCancel.remove($bind(this,this.onTouchCancel)); lime_ui_Touch.onStart.remove($bind(this,this.onTouchStart)); lime_ui_Touch.onMove.remove($bind(this,this.onTouchMove)); lime_ui_Touch.onEnd.remove($bind(this,this.onTouchEnd)); this.onModuleExit(0); } ,get_preloader: function() { return this.__preloader; } ,get_window: function() { return this.__window; } ,get_windows: function() { return this.__windows; } ,__class__: lime_app_Application ,__properties__: {get_windows:"get_windows",get_window:"get_window",get_preloader:"get_preloader"} }); var ApplicationMain = function() { }; $hxClasses["ApplicationMain"] = ApplicationMain; ApplicationMain.__name__ = "ApplicationMain"; ApplicationMain.main = function() { lime_system_System.__registerEntryPoint("Funkin",ApplicationMain.create); }; ApplicationMain.create = function(config) { var app = new openfl_display_Application(); ManifestResources.init(config); var _this = app.meta; if(__map_reserved["build"] != null) { _this.setReserved("build","582"); } else { _this.h["build"] = "582"; } var _this1 = app.meta; if(__map_reserved["company"] != null) { _this1.setReserved("company","ninjamuffin99"); } else { _this1.h["company"] = "ninjamuffin99"; } var _this2 = app.meta; if(__map_reserved["file"] != null) { _this2.setReserved("file","Funkin"); } else { _this2.h["file"] = "Funkin"; } var _this3 = app.meta; if(__map_reserved["name"] != null) { _this3.setReserved("name","Friday Night Funkin'"); } else { _this3.h["name"] = "Friday Night Funkin'"; } var _this4 = app.meta; if(__map_reserved["packageName"] != null) { _this4.setReserved("packageName","com.ninjamuffin99.funkin"); } else { _this4.h["packageName"] = "com.ninjamuffin99.funkin"; } var _this5 = app.meta; if(__map_reserved["version"] != null) { _this5.setReserved("version","0.2.7.1"); } else { _this5.h["version"] = "0.2.7.1"; } var attributes = { allowHighDPI : false, alwaysOnTop : false, borderless : false, element : null, frameRate : 60, height : 720, hidden : false, maximized : false, minimized : false, parameters : { }, resizable : true, title : "Friday Night Funkin'", width : 1280, x : null, y : null}; attributes.context = { antialiasing : 0, background : 0, colorDepth : 32, depth : true, hardware : true, stencil : true, type : null, vsync : false}; if(app.__window == null) { if(config != null) { var _g = 0; var _g1 = Reflect.fields(config); while(_g < _g1.length) { var field = _g1[_g]; ++_g; if(Object.prototype.hasOwnProperty.call(attributes,field)) { attributes[field] = Reflect.field(config,field); } else if(Object.prototype.hasOwnProperty.call(attributes.context,field)) { attributes.context[field] = Reflect.field(config,field); } } } } app.createWindow(attributes); var preloader = new openfl_display_Preloader(new flixel_system_FlxPreloader()); app.__preloader.onProgress.add(function(loaded,total) { preloader.update(loaded,total); }); app.__preloader.onComplete.add(function() { preloader.start(); }); var stage = app.__window.stage; var tmp = function() { ApplicationMain.start(stage); }; preloader.onComplete.add(tmp); var _g2 = 0; var _g11 = ManifestResources.preloadLibraries; while(_g2 < _g11.length) { var library = _g11[_g2]; ++_g2; app.__preloader.addLibrary(library); } var _g21 = 0; var _g3 = ManifestResources.preloadLibraryNames; while(_g21 < _g3.length) { var name = _g3[_g21]; ++_g21; app.__preloader.addLibraryName(name); } app.__preloader.load(); var result = app.exec(); }; ApplicationMain.start = function(stage) { try { Main.main(); stage.dispatchEvent(new openfl_events_Event("resize",false,false)); if(stage.window.__fullscreen) { stage.dispatchEvent(new openfl_events_FullScreenEvent("fullScreen",false,false,true,true)); } } catch( e ) { haxe_CallStack.lastException = e; stage.__handleError(((e) instanceof js__$Boot_HaxeError) ? e.val : e); } }; var openfl_events_IEventDispatcher = function() { }; $hxClasses["openfl.events.IEventDispatcher"] = openfl_events_IEventDispatcher; openfl_events_IEventDispatcher.__name__ = "openfl.events.IEventDispatcher"; openfl_events_IEventDispatcher.__isInterface__ = true; openfl_events_IEventDispatcher.prototype = { addEventListener: null ,dispatchEvent: null ,hasEventListener: null ,removeEventListener: null ,willTrigger: null ,__class__: openfl_events_IEventDispatcher }; var openfl_events_EventDispatcher = function(target) { if(target != null) { this.__targetDispatcher = target; } }; $hxClasses["openfl.events.EventDispatcher"] = openfl_events_EventDispatcher; openfl_events_EventDispatcher.__name__ = "openfl.events.EventDispatcher"; openfl_events_EventDispatcher.__interfaces__ = [openfl_events_IEventDispatcher]; openfl_events_EventDispatcher.prototype = { __eventMap: null ,__iterators: null ,__targetDispatcher: null ,addEventListener: function(type,listener,useCapture,priority,useWeakReference) { if(useWeakReference == null) { useWeakReference = false; } if(priority == null) { priority = 0; } if(useCapture == null) { useCapture = false; } if(listener == null) { return; } if(this.__eventMap == null) { this.__eventMap = new haxe_ds_StringMap(); this.__iterators = new haxe_ds_StringMap(); } var _this = this.__eventMap; if(!(__map_reserved[type] != null ? _this.existsReserved(type) : _this.h.hasOwnProperty(type))) { var list = []; list.push(new openfl_events__$EventDispatcher_Listener(listener,useCapture,priority)); var iterator = new openfl_events__$EventDispatcher_DispatchIterator(list); var _this1 = this.__eventMap; if(__map_reserved[type] != null) { _this1.setReserved(type,list); } else { _this1.h[type] = list; } var _this2 = this.__iterators; var value = [iterator]; if(__map_reserved[type] != null) { _this2.setReserved(type,value); } else { _this2.h[type] = value; } } else { var _this3 = this.__eventMap; var list1 = __map_reserved[type] != null ? _this3.getReserved(type) : _this3.h[type]; var _g = 0; var _g1 = list1.length; while(_g < _g1) { var i = _g++; if(list1[i].match(listener,useCapture)) { return; } } var _this4 = this.__iterators; var iterators = __map_reserved[type] != null ? _this4.getReserved(type) : _this4.h[type]; var _g2 = 0; while(_g2 < iterators.length) { var iterator1 = iterators[_g2]; ++_g2; if(iterator1.active) { iterator1.copy(); } } this.__addListenerByPriority(list1,new openfl_events__$EventDispatcher_Listener(listener,useCapture,priority)); } } ,dispatchEvent: function(event) { if(this.__targetDispatcher != null) { event.target = this.__targetDispatcher; } else { event.target = this; } return this.__dispatchEvent(event); } ,hasEventListener: function(type) { if(this.__eventMap == null) { return false; } var _this = this.__eventMap; if(__map_reserved[type] != null) { return _this.existsReserved(type); } else { return _this.h.hasOwnProperty(type); } } ,removeEventListener: function(type,listener,useCapture) { if(useCapture == null) { useCapture = false; } if(this.__eventMap == null || listener == null) { return; } var _this = this.__eventMap; var list = __map_reserved[type] != null ? _this.getReserved(type) : _this.h[type]; if(list == null) { return; } var _this1 = this.__iterators; var iterators = __map_reserved[type] != null ? _this1.getReserved(type) : _this1.h[type]; var _g = 0; var _g1 = list.length; while(_g < _g1) { var i = _g++; if(list[i].match(listener,useCapture)) { var _g2 = 0; while(_g2 < iterators.length) { var iterator = iterators[_g2]; ++_g2; iterator.remove(list[i],i); } list.splice(i,1); break; } } if(list.length == 0) { this.__eventMap.remove(type); this.__iterators.remove(type); } var _this2 = this.__eventMap; if(!new haxe_ds__$StringMap_StringMapIterator(_this2,_this2.arrayKeys()).hasNext()) { this.__eventMap = null; this.__iterators = null; } } ,toString: function() { var c = js_Boot.getClass(this); var full = c.__name__; var short = full.split(".").pop(); return "[object " + short + "]"; } ,willTrigger: function(type) { return this.hasEventListener(type); } ,__dispatchEvent: function(event) { if(this.__eventMap == null || event == null) { return true; } var type = event.type; var _this = this.__eventMap; var list = __map_reserved[type] != null ? _this.getReserved(type) : _this.h[type]; if(list == null) { return true; } if(event.target == null) { if(this.__targetDispatcher != null) { event.target = this.__targetDispatcher; } else { event.target = this; } } event.currentTarget = this; var capture = event.eventPhase == 1; var _this1 = this.__iterators; var iterators = __map_reserved[type] != null ? _this1.getReserved(type) : _this1.h[type]; var iterator = iterators[0]; if(iterator.active) { iterator = new openfl_events__$EventDispatcher_DispatchIterator(list); iterators.push(iterator); } iterator.start(); var listener = iterator; while(listener.hasNext()) { var listener1 = listener.next(); if(listener1 == null) { continue; } if(listener1.useCapture == capture) { listener1.callback(event); if(event.__isCanceledNow) { break; } } } iterator.stop(); if(iterator != iterators[0]) { HxOverrides.remove(iterators,iterator); } else { iterator.reset(list); } return !event.isDefaultPrevented(); } ,__removeAllListeners: function() { this.__eventMap = null; this.__iterators = null; } ,__addListenerByPriority: function(list,listener) { var numElements = list.length; var addAtPosition = numElements; var _g = 0; var _g1 = numElements; while(_g < _g1) { var i = _g++; if(list[i].priority < listener.priority) { addAtPosition = i; break; } } list.splice(addAtPosition,0,listener); } ,__class__: openfl_events_EventDispatcher }; var openfl_display_IBitmapDrawable = function() { }; $hxClasses["openfl.display.IBitmapDrawable"] = openfl_display_IBitmapDrawable; openfl_display_IBitmapDrawable.__name__ = "openfl.display.IBitmapDrawable"; openfl_display_IBitmapDrawable.__isInterface__ = true; openfl_display_IBitmapDrawable.prototype = { __blendMode: null ,__drawableType: null ,__isMask: null ,__renderable: null ,__renderTransform: null ,__transform: null ,__worldAlpha: null ,__worldColorTransform: null ,__worldTransform: null ,__getBounds: null ,__update: null ,__updateTransforms: null ,__mask: null ,__scrollRect: null ,__class__: openfl_display_IBitmapDrawable }; var openfl__$Vector_Vector_$Impl_$ = {}; $hxClasses["openfl._Vector.Vector_Impl_"] = openfl__$Vector_Vector_$Impl_$; openfl__$Vector_Vector_$Impl_$.__name__ = "openfl._Vector.Vector_Impl_"; openfl__$Vector_Vector_$Impl_$.__properties__ = {set_length:"set_length",get_length:"get_length",set_fixed:"set_fixed",get_fixed:"get_fixed"}; openfl__$Vector_Vector_$Impl_$.ofArray_Float = function(array) { var vector = openfl__$Vector_Vector_$Impl_$.toFloatVector(null); var _g = 0; var _g1 = array.length; while(_g < _g1) { var i = _g++; vector.set(i,array[i]); } return vector; }; openfl__$Vector_Vector_$Impl_$.ofArray_Int = function(array) { var vector = openfl__$Vector_Vector_$Impl_$.toIntVector(null); var _g = 0; var _g1 = array.length; while(_g < _g1) { var i = _g++; vector.set(i,array[i]); } return vector; }; openfl__$Vector_Vector_$Impl_$.concat = function(this1,vec) { return this1.concat(vec); }; openfl__$Vector_Vector_$Impl_$.copy = function(this1) { return this1.copy(); }; openfl__$Vector_Vector_$Impl_$.filter = function(this1,callback) { return this1.filter(callback); }; openfl__$Vector_Vector_$Impl_$.get = function(this1,index) { return this1.get(index); }; openfl__$Vector_Vector_$Impl_$.indexOf = function(this1,searchElement,fromIndex) { if(fromIndex == null) { fromIndex = 0; } return this1.indexOf(searchElement,fromIndex); }; openfl__$Vector_Vector_$Impl_$.insertAt = function(this1,index,element) { this1.insertAt(index,element); }; openfl__$Vector_Vector_$Impl_$.iterator = function(this1) { return this1.iterator(); }; openfl__$Vector_Vector_$Impl_$.join = function(this1,sep) { if(sep == null) { sep = ","; } return this1.join(sep); }; openfl__$Vector_Vector_$Impl_$.lastIndexOf = function(this1,searchElement,fromIndex) { return this1.lastIndexOf(searchElement,fromIndex); }; openfl__$Vector_Vector_$Impl_$.pop = function(this1) { return this1.pop(); }; openfl__$Vector_Vector_$Impl_$.push = function(this1,value) { return this1.push(value); }; openfl__$Vector_Vector_$Impl_$.removeAt = function(this1,index) { return this1.removeAt(index); }; openfl__$Vector_Vector_$Impl_$.reverse = function(this1) { return this1.reverse(); }; openfl__$Vector_Vector_$Impl_$.set = function(this1,index,value) { return this1.set(index,value); }; openfl__$Vector_Vector_$Impl_$.shift = function(this1) { return this1.shift(); }; openfl__$Vector_Vector_$Impl_$.slice = function(this1,startIndex,endIndex) { if(startIndex == null) { startIndex = 0; } return this1.slice(startIndex,endIndex); }; openfl__$Vector_Vector_$Impl_$.sort = function(this1,sortBehavior) { this1.sort(sortBehavior); }; openfl__$Vector_Vector_$Impl_$.splice = function(this1,startIndex,deleteCount) { return this1.splice(startIndex,deleteCount); }; openfl__$Vector_Vector_$Impl_$.toString = function(this1) { if(this1 != null) { return this1.toString(); } else { return null; } }; openfl__$Vector_Vector_$Impl_$.unshift = function(this1,value) { this1.unshift(value); }; openfl__$Vector_Vector_$Impl_$.convert = function(vec) { return vec; }; openfl__$Vector_Vector_$Impl_$.toBoolVector = function(t,length,fixed,array) { return new openfl__$Vector_BoolVector(length,fixed,array); }; openfl__$Vector_Vector_$Impl_$.toIntVector = function(t,length,fixed,array) { return new openfl__$Vector_IntVector(length,fixed,array); }; openfl__$Vector_Vector_$Impl_$.toFloatVector = function(t,length,fixed,array) { return new openfl__$Vector_FloatVector(length,fixed,array,true); }; openfl__$Vector_Vector_$Impl_$.toFunctionVector = function(t,length,fixed,array) { return new openfl__$Vector_FunctionVector(length,fixed,array); }; openfl__$Vector_Vector_$Impl_$.toObjectVector = function(t,length,fixed,array) { return new openfl__$Vector_ObjectVector(length,fixed,array,true); }; openfl__$Vector_Vector_$Impl_$.toNullVector = function(t,length,fixed,array) { return new openfl__$Vector_ObjectVector(length,fixed,array,true); }; openfl__$Vector_Vector_$Impl_$.fromBoolVector = function(vector) { return vector; }; openfl__$Vector_Vector_$Impl_$.fromIntVector = function(vector) { return vector; }; openfl__$Vector_Vector_$Impl_$.fromFloatVector = function(vector) { return vector; }; openfl__$Vector_Vector_$Impl_$.fromFunctionVector = function(vector) { return vector; }; openfl__$Vector_Vector_$Impl_$.fromObjectVector = function(vector) { return vector; }; openfl__$Vector_Vector_$Impl_$.get_fixed = function(this1) { return this1.fixed; }; openfl__$Vector_Vector_$Impl_$.set_fixed = function(this1,value) { return this1.fixed = value; }; openfl__$Vector_Vector_$Impl_$.get_length = function(this1) { return this1.get_length(); }; openfl__$Vector_Vector_$Impl_$.set_length = function(this1,value) { return this1.set_length(value); }; var lime_utils_ObjectPool = function(create,clean,size) { this.__pool = new haxe_ds_ObjectMap(); this.activeObjects = 0; this.inactiveObjects = 0; this.__inactiveObject0 = null; this.__inactiveObject1 = null; this.__inactiveObjectList = new haxe_ds_List(); if(create != null) { this.create = create; } if(clean != null) { this.clean = clean; } if(size != null) { this.set_size(size); } }; $hxClasses["lime.utils.ObjectPool"] = lime_utils_ObjectPool; lime_utils_ObjectPool.__name__ = "lime.utils.ObjectPool"; lime_utils_ObjectPool.prototype = { activeObjects: null ,inactiveObjects: null ,__inactiveObject0: null ,__inactiveObject1: null ,__inactiveObjectList: null ,__pool: null ,__size: null ,add: function(object) { if(!this.__pool.exists(object)) { this.__pool.set(object,false); this.clean(object); if(this.__inactiveObject0 == null) { this.__inactiveObject0 = object; } else if(this.__inactiveObject1 == null) { this.__inactiveObject1 = object; } else { this.__inactiveObjectList.add(object); } this.inactiveObjects++; } } ,clean: function(object) { } ,clear: function() { this.__pool = new haxe_ds_ObjectMap(); this.activeObjects = 0; this.inactiveObjects = 0; this.__inactiveObject0 = null; this.__inactiveObject1 = null; this.__inactiveObjectList.clear(); } ,create: function() { return null; } ,get: function() { var object = null; if(this.inactiveObjects > 0) { var object1 = null; if(this.__inactiveObject0 != null) { object1 = this.__inactiveObject0; this.__inactiveObject0 = null; } else if(this.__inactiveObject1 != null) { object1 = this.__inactiveObject1; this.__inactiveObject1 = null; } else { object1 = this.__inactiveObjectList.pop(); if(this.__inactiveObjectList.length > 0) { this.__inactiveObject0 = this.__inactiveObjectList.pop(); } if(this.__inactiveObjectList.length > 0) { this.__inactiveObject1 = this.__inactiveObjectList.pop(); } } this.inactiveObjects--; this.activeObjects++; object = object1; } else if(this.__size == null || this.activeObjects < this.__size) { object = this.create(); if(object != null) { this.__pool.set(object,true); this.activeObjects++; } } return object; } ,release: function(object) { this.activeObjects--; if(this.__size == null || this.activeObjects + this.inactiveObjects < this.__size) { this.clean(object); if(this.__inactiveObject0 == null) { this.__inactiveObject0 = object; } else if(this.__inactiveObject1 == null) { this.__inactiveObject1 = object; } else { this.__inactiveObjectList.add(object); } this.inactiveObjects++; } else { this.__pool.remove(object); } } ,remove: function(object) { if(this.__pool.exists(object)) { this.__pool.remove(object); if(this.__inactiveObject0 == object) { this.__inactiveObject0 = null; this.inactiveObjects--; } else if(this.__inactiveObject1 == object) { this.__inactiveObject1 = null; this.inactiveObjects--; } else if(this.__inactiveObjectList.remove(object)) { this.inactiveObjects--; } else { this.activeObjects--; } } } ,__addInactive: function(object) { if(this.__inactiveObject0 == null) { this.__inactiveObject0 = object; } else if(this.__inactiveObject1 == null) { this.__inactiveObject1 = object; } else { this.__inactiveObjectList.add(object); } this.inactiveObjects++; } ,__getInactive: function() { var object = null; if(this.__inactiveObject0 != null) { object = this.__inactiveObject0; this.__inactiveObject0 = null; } else if(this.__inactiveObject1 != null) { object = this.__inactiveObject1; this.__inactiveObject1 = null; } else { object = this.__inactiveObjectList.pop(); if(this.__inactiveObjectList.length > 0) { this.__inactiveObject0 = this.__inactiveObjectList.pop(); } if(this.__inactiveObjectList.length > 0) { this.__inactiveObject1 = this.__inactiveObjectList.pop(); } } this.inactiveObjects--; this.activeObjects++; return object; } ,__removeInactive: function(count) { if(count <= 0 || this.inactiveObjects == 0) { return; } if(this.__inactiveObject0 != null) { this.__pool.remove(this.__inactiveObject0); this.__inactiveObject0 = null; this.inactiveObjects--; --count; } if(count == 0 || this.inactiveObjects == 0) { return; } if(this.__inactiveObject1 != null) { this.__pool.remove(this.__inactiveObject1); this.__inactiveObject1 = null; this.inactiveObjects--; --count; } if(count == 0 || this.inactiveObjects == 0) { return; } var _g_head = this.__inactiveObjectList.h; while(_g_head != null) { var val = _g_head.item; _g_head = _g_head.next; var object = val; this.__pool.remove(object); this.__inactiveObjectList.remove(object); this.inactiveObjects--; --count; if(count == 0 || this.inactiveObjects == 0) { return; } } } ,get_size: function() { return this.__size; } ,set_size: function(value) { if(value == null) { this.__size = null; } else { var current = this.inactiveObjects + this.activeObjects; this.__size = value; if(current > value) { this.__removeInactive(current - value); } else if(value > current) { var object; var _g = 0; var _g1 = value - current; while(_g < _g1) { var i = _g++; object = this.create(); if(object != null) { this.__pool.set(object,false); this.__inactiveObjectList.add(object); this.inactiveObjects++; } else { break; } } } } return value; } ,__class__: lime_utils_ObjectPool ,__properties__: {set_size:"set_size",get_size:"get_size"} }; var haxe_IMap = function() { }; $hxClasses["haxe.IMap"] = haxe_IMap; haxe_IMap.__name__ = "haxe.IMap"; haxe_IMap.__isInterface__ = true; haxe_IMap.prototype = { get: null ,set: null ,exists: null ,remove: null ,keys: null ,iterator: null ,keyValueIterator: null ,__class__: haxe_IMap }; var haxe_ds_ObjectMap = function() { this.h = { __keys__ : { }}; }; $hxClasses["haxe.ds.ObjectMap"] = haxe_ds_ObjectMap; haxe_ds_ObjectMap.__name__ = "haxe.ds.ObjectMap"; haxe_ds_ObjectMap.__interfaces__ = [haxe_IMap]; haxe_ds_ObjectMap.count = null; haxe_ds_ObjectMap.prototype = { h: null ,set: function(key,value) { var id = key.__id__; if(id == null) { id = (key.__id__ = $global.$haxeUID++); } this.h[id] = value; this.h.__keys__[id] = key; } ,get: function(key) { return this.h[key.__id__]; } ,exists: function(key) { return this.h.__keys__[key.__id__] != null; } ,remove: function(key) { var id = key.__id__; if(this.h.__keys__[id] == null) { return false; } delete(this.h[id]); delete(this.h.__keys__[id]); return true; } ,keys: function() { var a = []; for( var key in this.h.__keys__ ) { if(this.h.hasOwnProperty(key)) { a.push(this.h.__keys__[key]); } } return HxOverrides.iter(a); } ,iterator: function() { return { ref : this.h, it : this.keys(), hasNext : function() { return this.it.hasNext(); }, next : function() { var i = this.it.next(); return this.ref[i.__id__]; }}; } ,keyValueIterator: function() { return new haxe_iterators_MapKeyValueIterator(this); } ,toString: function() { var s_b = ""; s_b += "{"; var it = this.keys(); var i = it; while(i.hasNext()) { var i1 = i.next(); s_b += Std.string(Std.string(i1)); s_b += " => "; s_b += Std.string(Std.string(this.h[i1.__id__])); if(it.hasNext()) { s_b += ", "; } } s_b += "}"; return s_b; } ,__class__: haxe_ds_ObjectMap }; var haxe_ds_List = function() { this.length = 0; }; $hxClasses["haxe.ds.List"] = haxe_ds_List; haxe_ds_List.__name__ = "haxe.ds.List"; haxe_ds_List.prototype = { h: null ,q: null ,length: null ,add: function(item) { var x = new haxe_ds__$List_ListNode(item,null); if(this.h == null) { this.h = x; } else { this.q.next = x; } this.q = x; this.length++; } ,push: function(item) { var x = new haxe_ds__$List_ListNode(item,this.h); this.h = x; if(this.q == null) { this.q = x; } this.length++; } ,pop: function() { if(this.h == null) { return null; } var x = this.h.item; this.h = this.h.next; if(this.h == null) { this.q = null; } this.length--; return x; } ,clear: function() { this.h = null; this.q = null; this.length = 0; } ,remove: function(v) { var prev = null; var l = this.h; while(l != null) { if(l.item == v) { if(prev == null) { this.h = l.next; } else { prev.next = l.next; } if(this.q == l) { this.q = prev; } this.length--; return true; } prev = l; l = l.next; } return false; } ,iterator: function() { return new haxe_ds__$List_ListIterator(this.h); } ,__class__: haxe_ds_List }; var openfl_display_DisplayObject = function() { openfl_events_EventDispatcher.call(this); this.__drawableType = 1; this.__alpha = 1; this.__blendMode = 10; this.__cacheAsBitmap = false; this.__transform = new openfl_geom_Matrix(); this.__visible = true; this.__rotation = 0; this.__rotationSine = 0; this.__rotationCosine = 1; this.__scaleX = 1; this.__scaleY = 1; this.__worldAlpha = 1; this.__worldBlendMode = 10; this.__worldTransform = new openfl_geom_Matrix(); this.__worldColorTransform = new openfl_geom_ColorTransform(); this.__renderTransform = new openfl_geom_Matrix(); this.__worldVisible = true; this.set_name("instance" + ++openfl_display_DisplayObject.__instanceCount); if(openfl_display_DisplayObject.__initStage != null) { this.stage = openfl_display_DisplayObject.__initStage; openfl_display_DisplayObject.__initStage = null; this.stage.addChild(this); } }; $hxClasses["openfl.display.DisplayObject"] = openfl_display_DisplayObject; openfl_display_DisplayObject.__name__ = "openfl.display.DisplayObject"; openfl_display_DisplayObject.__interfaces__ = [openfl_display_IBitmapDrawable]; openfl_display_DisplayObject.__initStage = null; openfl_display_DisplayObject.__supportDOM = null; openfl_display_DisplayObject.__calculateAbsoluteTransform = function(local,parentTransform,target) { target.a = local.a * parentTransform.a + local.b * parentTransform.c; target.b = local.a * parentTransform.b + local.b * parentTransform.d; target.c = local.c * parentTransform.a + local.d * parentTransform.c; target.d = local.c * parentTransform.b + local.d * parentTransform.d; target.tx = local.tx * parentTransform.a + local.ty * parentTransform.c + parentTransform.tx; target.ty = local.tx * parentTransform.b + local.ty * parentTransform.d + parentTransform.ty; }; openfl_display_DisplayObject.__super__ = openfl_events_EventDispatcher; openfl_display_DisplayObject.prototype = $extend(openfl_events_EventDispatcher.prototype,{ opaqueBackground: null ,parent: null ,stage: null ,__alpha: null ,__blendMode: null ,__cacheAsBitmap: null ,__cacheAsBitmapMatrix: null ,__cacheBitmap: null ,__cacheBitmapBackground: null ,__cacheBitmapColorTransform: null ,__cacheBitmapData: null ,__cacheBitmapData2: null ,__cacheBitmapData3: null ,__cacheBitmapMatrix: null ,__cacheBitmapRenderer: null ,__cairo: null ,__children: null ,__customRenderClear: null ,__customRenderEvent: null ,__drawableType: null ,__filters: null ,__graphics: null ,__interactive: null ,__isCacheBitmapRender: null ,__isMask: null ,__loaderInfo: null ,__mask: null ,__maskTarget: null ,__name: null ,__objectTransform: null ,__renderable: null ,__renderDirty: null ,__renderParent: null ,__renderTransform: null ,__renderTransformCache: null ,__renderTransformChanged: null ,__rotation: null ,__rotationCosine: null ,__rotationSine: null ,__scale9Grid: null ,__scaleX: null ,__scaleY: null ,__scrollRect: null ,__shader: null ,__tempPoint: null ,__transform: null ,__transformDirty: null ,__visible: null ,__worldAlpha: null ,__worldAlphaChanged: null ,__worldBlendMode: null ,__worldClip: null ,__worldClipChanged: null ,__worldColorTransform: null ,__worldShader: null ,__worldScale9Grid: null ,__worldTransform: null ,__worldVisible: null ,__worldVisibleChanged: null ,__worldTransformInvalid: null ,__worldZ: null ,__canvas: null ,__context: null ,__style: null ,addEventListener: function(type,listener,useCapture,priority,useWeakReference) { if(useWeakReference == null) { useWeakReference = false; } if(priority == null) { priority = 0; } if(useCapture == null) { useCapture = false; } switch(type) { case "activate":case "deactivate":case "enterFrame":case "exitFrame":case "frameConstructed":case "render": var _this = openfl_display_DisplayObject.__broadcastEvents; if(!(__map_reserved[type] != null ? _this.existsReserved(type) : _this.h.hasOwnProperty(type))) { var _this1 = openfl_display_DisplayObject.__broadcastEvents; var value = []; if(__map_reserved[type] != null) { _this1.setReserved(type,value); } else { _this1.h[type] = value; } } var _this2 = openfl_display_DisplayObject.__broadcastEvents; var dispatchers = __map_reserved[type] != null ? _this2.getReserved(type) : _this2.h[type]; if(dispatchers.indexOf(this) == -1) { dispatchers.push(this); } break; case "clearDOM":case "renderCairo":case "renderCanvas":case "renderDOM":case "renderOpenGL": if(this.__customRenderEvent == null) { this.__customRenderEvent = new openfl_events_RenderEvent(null); this.__customRenderEvent.objectColorTransform = new openfl_geom_ColorTransform(); this.__customRenderEvent.objectMatrix = new openfl_geom_Matrix(); this.__customRenderClear = true; } break; default: } openfl_events_EventDispatcher.prototype.addEventListener.call(this,type,listener,useCapture,priority,useWeakReference); } ,dispatchEvent: function(event) { if(((event) instanceof openfl_events_MouseEvent)) { var mouseEvent = event; var _this = this.__getRenderTransform(); mouseEvent.stageX = mouseEvent.localX * _this.a + mouseEvent.localY * _this.c + _this.tx; var _this1 = this.__getRenderTransform(); mouseEvent.stageY = mouseEvent.localX * _this1.b + mouseEvent.localY * _this1.d + _this1.ty; } else if(((event) instanceof openfl_events_TouchEvent)) { var touchEvent = event; var _this2 = this.__getRenderTransform(); touchEvent.stageX = touchEvent.localX * _this2.a + touchEvent.localY * _this2.c + _this2.tx; var _this3 = this.__getRenderTransform(); touchEvent.stageY = touchEvent.localX * _this3.b + touchEvent.localY * _this3.d + _this3.ty; } event.target = this; return this.__dispatchWithCapture(event); } ,getBounds: function(targetCoordinateSpace) { var matrix = openfl_geom_Matrix.__pool.get(); if(targetCoordinateSpace != null && targetCoordinateSpace != this) { matrix.copyFrom(this.__getWorldTransform()); var targetMatrix = openfl_geom_Matrix.__pool.get(); targetMatrix.copyFrom(targetCoordinateSpace.__getWorldTransform()); targetMatrix.invert(); matrix.concat(targetMatrix); openfl_geom_Matrix.__pool.release(targetMatrix); } else { matrix.identity(); } var bounds = new openfl_geom_Rectangle(); this.__getBounds(bounds,matrix); openfl_geom_Matrix.__pool.release(matrix); return bounds; } ,getRect: function(targetCoordinateSpace) { return this.getBounds(targetCoordinateSpace); } ,globalToLocal: function(pos) { return this.__globalToLocal(pos,new openfl_geom_Point()); } ,hitTestObject: function(obj) { if(obj != null && obj.parent != null && this.parent != null) { var currentBounds = this.getBounds(this); var targetBounds = obj.getBounds(this); return currentBounds.intersects(targetBounds); } return false; } ,hitTestPoint: function(x,y,shapeFlag) { if(shapeFlag == null) { shapeFlag = false; } if(this.stage != null) { return this.__hitTest(x,y,shapeFlag,null,false,this); } else { return false; } } ,invalidate: function() { if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } ,localToGlobal: function(point) { return this.__getRenderTransform().transformPoint(point); } ,removeEventListener: function(type,listener,useCapture) { if(useCapture == null) { useCapture = false; } openfl_events_EventDispatcher.prototype.removeEventListener.call(this,type,listener,useCapture); switch(type) { case "activate":case "deactivate":case "enterFrame":case "exitFrame":case "frameConstructed":case "render": if(!this.hasEventListener(type)) { var _this = openfl_display_DisplayObject.__broadcastEvents; if(__map_reserved[type] != null ? _this.existsReserved(type) : _this.h.hasOwnProperty(type)) { var _this1 = openfl_display_DisplayObject.__broadcastEvents; HxOverrides.remove(__map_reserved[type] != null ? _this1.getReserved(type) : _this1.h[type],this); } } break; case "clearDOM":case "renderCairo":case "renderCanvas":case "renderDOM":case "renderOpenGL": if(!this.hasEventListener("clearDOM") && !this.hasEventListener("renderCairo") && !this.hasEventListener("renderCanvas") && !this.hasEventListener("renderDOM") && !this.hasEventListener("renderOpenGL")) { this.__customRenderEvent = null; } break; default: } } ,__cleanup: function() { this.__cairo = null; this.__canvas = null; this.__context = null; if(this.__graphics != null) { this.__graphics.__cleanup(); } if(this.__cacheBitmap != null) { this.__cacheBitmap.__cleanup(); this.__cacheBitmap = null; } if(this.__cacheBitmapData != null) { this.__cacheBitmapData.dispose(); this.__cacheBitmapData = null; } } ,__dispatch: function(event) { if(this.__eventMap != null && this.hasEventListener(event.type)) { var result = openfl_events_EventDispatcher.prototype.__dispatchEvent.call(this,event); if(event.__isCanceled) { return true; } return result; } return true; } ,__dispatchChildren: function(event) { } ,__dispatchEvent: function(event) { var parent = event.bubbles ? this.parent : null; var result = openfl_events_EventDispatcher.prototype.__dispatchEvent.call(this,event); if(event.__isCanceled) { return true; } if(parent != null && parent != this) { event.eventPhase = 3; if(event.target == null) { event.target = this; } parent.__dispatchEvent(event); } return result; } ,__dispatchWithCapture: function(event) { if(event.target == null) { event.target = this; } if(this.parent != null) { event.eventPhase = 1; if(this.parent == this.stage) { this.parent.__dispatch(event); } else { var stack = openfl_display_DisplayObject.__tempStack.get(); var parent = this.parent; var i = 0; while(parent != null) { stack.set(i,parent); parent = parent.parent; ++i; } var _g = 0; var _g1 = i; while(_g < _g1) { var j = _g++; stack.get(i - j - 1).__dispatch(event); } openfl_display_DisplayObject.__tempStack.release(stack); } } event.eventPhase = 2; return this.__dispatchEvent(event); } ,__enterFrame: function(deltaTime) { } ,__getBounds: function(rect,matrix) { if(this.__graphics != null) { this.__graphics.__getBounds(rect,matrix); } } ,__getCursor: function() { return null; } ,__getFilterBounds: function(rect,matrix) { this.__getRenderBounds(rect,matrix); if(this.__filters != null) { var extension = openfl_geom_Rectangle.__pool.get(); var _g = 0; var _g1 = this.__filters; while(_g < _g1.length) { var filter = _g1[_g]; ++_g; extension.__expand(-filter.__leftExtension,-filter.__topExtension,filter.__leftExtension + filter.__rightExtension,filter.__topExtension + filter.__bottomExtension); } rect.width += extension.width; rect.height += extension.height; rect.x += extension.x; rect.y += extension.y; openfl_geom_Rectangle.__pool.release(extension); } } ,__getInteractive: function(stack) { return false; } ,__getLocalBounds: function(rect) { this.__getBounds(rect,this.__transform); rect.x -= this.__transform.tx; rect.y -= this.__transform.ty; } ,__getRenderBounds: function(rect,matrix) { if(this.__scrollRect == null) { this.__getBounds(rect,matrix); } else { var r = openfl_geom_Rectangle.__pool.get(); r.copyFrom(this.__scrollRect); r.__transform(r,matrix); rect.__expand(r.x,r.y,r.width,r.height); openfl_geom_Rectangle.__pool.release(r); } } ,__getRenderTransform: function() { this.__getWorldTransform(); return this.__renderTransform; } ,__getWorldTransform: function() { var transformDirty = this.__transformDirty || this.__worldTransformInvalid; if(transformDirty) { var list = []; var current = this; if(this.parent == null) { this.__update(true,false); } else { while(current != this.stage) { list.push(current); current = current.parent; if(current == null) { break; } } } var i = list.length; while(--i >= 0) { current = list[i]; current.__update(true,false); } } return this.__worldTransform; } ,__globalToLocal: function(global,local) { this.__getRenderTransform(); if(global == local) { var _this = this.__renderTransform; var norm = _this.a * _this.d - _this.b * _this.c; if(norm == 0) { global.x = -_this.tx; global.y = -_this.ty; } else { var px = 1.0 / norm * (_this.c * (_this.ty - global.y) + _this.d * (global.x - _this.tx)); global.y = 1.0 / norm * (_this.a * (global.y - _this.ty) + _this.b * (_this.tx - global.x)); global.x = px; } } else { var _this1 = this.__renderTransform; var norm1 = _this1.a * _this1.d - _this1.b * _this1.c; local.x = norm1 == 0 ? -_this1.tx : 1.0 / norm1 * (_this1.c * (_this1.ty - global.y) + _this1.d * (global.x - _this1.tx)); var _this2 = this.__renderTransform; var norm2 = _this2.a * _this2.d - _this2.b * _this2.c; local.y = norm2 == 0 ? -_this2.ty : 1.0 / norm2 * (_this2.a * (global.y - _this2.ty) + _this2.b * (_this2.tx - global.x)); } return local; } ,__hitTest: function(x,y,shapeFlag,stack,interactiveOnly,hitObject) { if(this.__graphics != null) { if(!hitObject.__visible || this.__isMask) { return false; } if(this.get_mask() != null && !this.get_mask().__hitTestMask(x,y)) { return false; } if(this.__graphics.__hitTest(x,y,shapeFlag,this.__getRenderTransform())) { if(stack != null && !interactiveOnly) { stack.push(hitObject); } return true; } } return false; } ,__hitTestMask: function(x,y) { if(this.__graphics != null) { if(this.__graphics.__hitTest(x,y,true,this.__getRenderTransform())) { return true; } } return false; } ,__readGraphicsData: function(graphicsData,recurse) { if(this.__graphics != null) { this.__graphics.__readGraphicsData(graphicsData); } } ,__setParentRenderDirty: function() { var renderParent = this.__renderParent != null ? this.__renderParent : this.parent; if(renderParent != null && !renderParent.__renderDirty) { renderParent.__renderDirty = true; renderParent.__setParentRenderDirty(); } } ,__setRenderDirty: function() { if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } ,__setStageReference: function(stage) { this.stage = stage; } ,__setTransformDirty: function() { if(!this.__transformDirty) { this.__transformDirty = true; this.__setWorldTransformInvalid(); this.__setParentRenderDirty(); } } ,__setWorldTransformInvalid: function() { this.__worldTransformInvalid = true; } ,__stopAllMovieClips: function() { } ,__update: function(transformOnly,updateChildren) { var renderParent = this.__renderParent != null ? this.__renderParent : this.parent; if(this.__isMask && renderParent == null) { renderParent = this.__maskTarget; } this.__renderable = this.__visible && this.__scaleX != 0 && this.__scaleY != 0 && !this.__isMask && (renderParent == null || !renderParent.__isMask); this.__updateTransforms(); this.__transformDirty = false; this.__worldTransformInvalid = false; if(!transformOnly) { if(openfl_display_DisplayObject.__supportDOM) { this.__renderTransformChanged = !this.__renderTransform.equals(this.__renderTransformCache); if(this.__renderTransformCache == null) { this.__renderTransformCache = this.__renderTransform.clone(); } else { this.__renderTransformCache.copyFrom(this.__renderTransform); } } if(renderParent != null) { if(openfl_display_DisplayObject.__supportDOM) { var worldVisible = renderParent.__worldVisible && this.__visible; this.__worldVisibleChanged = this.__worldVisible != worldVisible; this.__worldVisible = worldVisible; var worldAlpha = this.get_alpha() * renderParent.__worldAlpha; this.__worldAlphaChanged = this.__worldAlpha != worldAlpha; this.__worldAlpha = worldAlpha; } else { this.__worldAlpha = this.get_alpha() * renderParent.__worldAlpha; } if(this.__objectTransform != null) { this.__worldColorTransform.__copyFrom(this.__objectTransform.__colorTransform); this.__worldColorTransform.__combine(renderParent.__worldColorTransform); } else { this.__worldColorTransform.__copyFrom(renderParent.__worldColorTransform); } if(this.__blendMode == null || this.__blendMode == 10) { this.__worldBlendMode = renderParent.__worldBlendMode; } else { this.__worldBlendMode = this.__blendMode; } if(this.__shader == null) { this.__worldShader = renderParent.__shader; } else { this.__worldShader = this.__shader; } if(this.__scale9Grid == null) { this.__worldScale9Grid = renderParent.__scale9Grid; } else { this.__worldScale9Grid = this.__scale9Grid; } } else { this.__worldAlpha = this.get_alpha(); if(openfl_display_DisplayObject.__supportDOM) { this.__worldVisibleChanged = this.__worldVisible != this.__visible; this.__worldVisible = this.__visible; this.__worldAlphaChanged = this.__worldAlpha != this.get_alpha(); } if(this.__objectTransform != null) { this.__worldColorTransform.__copyFrom(this.__objectTransform.__colorTransform); } else { this.__worldColorTransform.__identity(); } this.__worldBlendMode = this.__blendMode; this.__worldShader = this.__shader; this.__worldScale9Grid = this.__scale9Grid; } } if(updateChildren && this.get_mask() != null) { this.get_mask().__update(transformOnly,true); } } ,__updateTransforms: function(overrideTransform) { var overrided = overrideTransform != null; var local = overrided ? overrideTransform : this.__transform; if(this.__worldTransform == null) { this.__worldTransform = new openfl_geom_Matrix(); } if(this.__renderTransform == null) { this.__renderTransform = new openfl_geom_Matrix(); } var renderParent = this.__renderParent != null ? this.__renderParent : this.parent; if(!overrided && this.parent != null) { var parentTransform = this.parent.__worldTransform; var target = this.__worldTransform; target.a = local.a * parentTransform.a + local.b * parentTransform.c; target.b = local.a * parentTransform.b + local.b * parentTransform.d; target.c = local.c * parentTransform.a + local.d * parentTransform.c; target.d = local.c * parentTransform.b + local.d * parentTransform.d; target.tx = local.tx * parentTransform.a + local.ty * parentTransform.c + parentTransform.tx; target.ty = local.tx * parentTransform.b + local.ty * parentTransform.d + parentTransform.ty; } else { this.__worldTransform.copyFrom(local); } if(!overrided && renderParent != null) { var parentTransform1 = renderParent.__renderTransform; var target1 = this.__renderTransform; target1.a = local.a * parentTransform1.a + local.b * parentTransform1.c; target1.b = local.a * parentTransform1.b + local.b * parentTransform1.d; target1.c = local.c * parentTransform1.a + local.d * parentTransform1.c; target1.d = local.c * parentTransform1.b + local.d * parentTransform1.d; target1.tx = local.tx * parentTransform1.a + local.ty * parentTransform1.c + parentTransform1.tx; target1.ty = local.tx * parentTransform1.b + local.ty * parentTransform1.d + parentTransform1.ty; } else { this.__renderTransform.copyFrom(local); } if(this.__scrollRect != null) { var _this = this.__renderTransform; var px = -this.__scrollRect.x; var py = -this.__scrollRect.y; _this.tx = px * _this.a + py * _this.c + _this.tx; _this.ty = px * _this.b + py * _this.d + _this.ty; } } ,get_alpha: function() { return this.__alpha; } ,set_alpha: function(value) { if(value > 1.0) { value = 1.0; } if(value < 0.0) { value = 0.0; } if(value != this.__alpha && !this.get_cacheAsBitmap()) { if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } return this.__alpha = value; } ,get_blendMode: function() { return this.__blendMode; } ,set_blendMode: function(value) { if(value == null) { value = 10; } if(value != this.__blendMode) { if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } return this.__blendMode = value; } ,get_cacheAsBitmap: function() { if(this.__filters == null) { return this.__cacheAsBitmap; } else { return true; } } ,set_cacheAsBitmap: function(value) { if(value != this.__cacheAsBitmap) { if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } return this.__cacheAsBitmap = value; } ,get_cacheAsBitmapMatrix: function() { return this.__cacheAsBitmapMatrix; } ,set_cacheAsBitmapMatrix: function(value) { if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } return this.__cacheAsBitmapMatrix = value != null ? value.clone() : value; } ,get_filters: function() { if(this.__filters == null) { return []; } else { return this.__filters.slice(); } } ,set_filters: function(value) { if(value != null && value.length > 0) { this.__filters = value; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } else if(this.__filters != null) { this.__filters = null; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } return value; } ,get_height: function() { var rect = openfl_geom_Rectangle.__pool.get(); this.__getLocalBounds(rect); var height = rect.height; openfl_geom_Rectangle.__pool.release(rect); return height; } ,set_height: function(value) { var rect = openfl_geom_Rectangle.__pool.get(); var matrix = openfl_geom_Matrix.__pool.get(); matrix.identity(); this.__getBounds(rect,matrix); if(value != rect.height) { this.set_scaleY(value / rect.height); } else { this.set_scaleY(1); } openfl_geom_Rectangle.__pool.release(rect); openfl_geom_Matrix.__pool.release(matrix); return value; } ,get_loaderInfo: function() { if(this.stage != null) { return openfl_utils__$internal_Lib.current.__loaderInfo; } return null; } ,get_mask: function() { return this.__mask; } ,set_mask: function(value) { if(value == this.__mask) { return value; } if(value != this.__mask) { this.__setTransformDirty(); if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } if(this.__mask != null) { this.__mask.__isMask = false; this.__mask.__maskTarget = null; this.__mask.__setTransformDirty(); var _this = this.__mask; if(!_this.__renderDirty) { _this.__renderDirty = true; _this.__setParentRenderDirty(); } } if(value != null) { value.__isMask = true; value.__maskTarget = this; value.__setWorldTransformInvalid(); } if(this.__cacheBitmap != null && this.__cacheBitmap.get_mask() != value) { this.__cacheBitmap.set_mask(value); } return this.__mask = value; } ,get_mouseX: function() { var mouseX = this.stage != null ? this.stage.__mouseX : openfl_utils__$internal_Lib.current.stage.__mouseX; var mouseY = this.stage != null ? this.stage.__mouseY : openfl_utils__$internal_Lib.current.stage.__mouseY; var _this = this.__getRenderTransform(); var norm = _this.a * _this.d - _this.b * _this.c; if(norm == 0) { return -_this.tx; } else { return 1.0 / norm * (_this.c * (_this.ty - mouseY) + _this.d * (mouseX - _this.tx)); } } ,get_mouseY: function() { var mouseX = this.stage != null ? this.stage.__mouseX : openfl_utils__$internal_Lib.current.stage.__mouseX; var mouseY = this.stage != null ? this.stage.__mouseY : openfl_utils__$internal_Lib.current.stage.__mouseY; var _this = this.__getRenderTransform(); var norm = _this.a * _this.d - _this.b * _this.c; if(norm == 0) { return -_this.ty; } else { return 1.0 / norm * (_this.a * (mouseY - _this.ty) + _this.b * (_this.tx - mouseX)); } } ,get_name: function() { return this.__name; } ,set_name: function(value) { return this.__name = value; } ,get_root: function() { if(this.stage != null) { return openfl_utils__$internal_Lib.current; } return null; } ,get_rotation: function() { return this.__rotation; } ,set_rotation: function(value) { if(value != this.__rotation) { this.__rotation = value; var radians = this.__rotation * (Math.PI / 180); this.__rotationSine = Math.sin(radians); this.__rotationCosine = Math.cos(radians); this.__transform.a = this.__rotationCosine * this.__scaleX; this.__transform.b = this.__rotationSine * this.__scaleX; this.__transform.c = -this.__rotationSine * this.__scaleY; this.__transform.d = this.__rotationCosine * this.__scaleY; this.__setTransformDirty(); } return value; } ,get_scale9Grid: function() { if(this.__scale9Grid == null) { return null; } return this.__scale9Grid.clone(); } ,set_scale9Grid: function(value) { if(value == null && this.__scale9Grid == null) { return value; } if(value != null && this.__scale9Grid != null && this.__scale9Grid.equals(value)) { return value; } if(value != null) { if(this.__scale9Grid == null) { this.__scale9Grid = new openfl_geom_Rectangle(); } this.__scale9Grid.copyFrom(value); } else { this.__scale9Grid = null; } if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } return value; } ,get_scaleX: function() { return this.__scaleX; } ,set_scaleX: function(value) { if(value != this.__scaleX) { this.__scaleX = value; if(this.__transform.b == 0) { if(value != this.__transform.a) { this.__setTransformDirty(); } this.__transform.a = value; } else { var a = this.__rotationCosine * value; var b = this.__rotationSine * value; if(this.__transform.a != a || this.__transform.b != b) { this.__setTransformDirty(); } this.__transform.a = a; this.__transform.b = b; } } return value; } ,get_scaleY: function() { return this.__scaleY; } ,set_scaleY: function(value) { if(value != this.__scaleY) { this.__scaleY = value; if(this.__transform.c == 0) { if(value != this.__transform.d) { this.__setTransformDirty(); } this.__transform.d = value; } else { var c = -this.__rotationSine * value; var d = this.__rotationCosine * value; if(this.__transform.d != d || this.__transform.c != c) { this.__setTransformDirty(); } this.__transform.c = c; this.__transform.d = d; } } return value; } ,get_scrollRect: function() { if(this.__scrollRect == null) { return null; } return this.__scrollRect.clone(); } ,set_scrollRect: function(value) { if(value == null && this.__scrollRect == null) { return value; } if(value != null && this.__scrollRect != null && this.__scrollRect.equals(value)) { return value; } if(value != null) { if(this.__scrollRect == null) { this.__scrollRect = new openfl_geom_Rectangle(); } this.__scrollRect.copyFrom(value); } else { this.__scrollRect = null; } this.__setTransformDirty(); if(openfl_display_DisplayObject.__supportDOM) { if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } return value; } ,get_shader: function() { return this.__shader; } ,set_shader: function(value) { this.__shader = value; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } return value; } ,get_transform: function() { if(this.__objectTransform == null) { this.__objectTransform = new openfl_geom_Transform(this); } return this.__objectTransform; } ,set_transform: function(value) { if(value == null) { throw new js__$Boot_HaxeError(new openfl_errors_TypeError("Parameter transform must be non-null.")); } if(this.__objectTransform == null) { this.__objectTransform = new openfl_geom_Transform(this); } this.__setTransformDirty(); this.__objectTransform.set_matrix(value.get_matrix()); if(!this.__objectTransform.__colorTransform.__equals(value.__colorTransform,true) || !this.get_cacheAsBitmap() && this.__objectTransform.__colorTransform.alphaMultiplier != value.__colorTransform.alphaMultiplier) { this.__objectTransform.__colorTransform.__copyFrom(value.get_colorTransform()); if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } return this.__objectTransform; } ,get_visible: function() { return this.__visible; } ,set_visible: function(value) { if(value != this.__visible) { if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } return this.__visible = value; } ,get_width: function() { var rect = openfl_geom_Rectangle.__pool.get(); this.__getLocalBounds(rect); var width = rect.width; openfl_geom_Rectangle.__pool.release(rect); return width; } ,set_width: function(value) { var rect = openfl_geom_Rectangle.__pool.get(); var matrix = openfl_geom_Matrix.__pool.get(); matrix.identity(); this.__getBounds(rect,matrix); if(value != rect.width) { this.set_scaleX(value / rect.width); } else { this.set_scaleX(1); } openfl_geom_Rectangle.__pool.release(rect); openfl_geom_Matrix.__pool.release(matrix); return value; } ,get_x: function() { return this.__transform.tx; } ,set_x: function(value) { if(value != this.__transform.tx) { this.__setTransformDirty(); } return this.__transform.tx = value; } ,get_y: function() { return this.__transform.ty; } ,set_y: function(value) { if(value != this.__transform.ty) { this.__setTransformDirty(); } return this.__transform.ty = value; } ,__class__: openfl_display_DisplayObject ,__properties__: {set_y:"set_y",get_y:"get_y",set_x:"set_x",get_x:"get_x",set_width:"set_width",get_width:"get_width",set_visible:"set_visible",get_visible:"get_visible",set_transform:"set_transform",get_transform:"get_transform",set_shader:"set_shader",get_shader:"get_shader",set_scrollRect:"set_scrollRect",get_scrollRect:"get_scrollRect",set_scaleY:"set_scaleY",get_scaleY:"get_scaleY",set_scaleX:"set_scaleX",get_scaleX:"get_scaleX",set_scale9Grid:"set_scale9Grid",get_scale9Grid:"get_scale9Grid",set_rotation:"set_rotation",get_rotation:"get_rotation",get_root:"get_root",set_name:"set_name",get_name:"get_name",get_mouseY:"get_mouseY",get_mouseX:"get_mouseX",set_mask:"set_mask",get_mask:"get_mask",get_loaderInfo:"get_loaderInfo",set_height:"set_height",get_height:"get_height",set_filters:"set_filters",get_filters:"get_filters",set_cacheAsBitmapMatrix:"set_cacheAsBitmapMatrix",get_cacheAsBitmapMatrix:"get_cacheAsBitmapMatrix",set_cacheAsBitmap:"set_cacheAsBitmap",get_cacheAsBitmap:"get_cacheAsBitmap",set_blendMode:"set_blendMode",get_blendMode:"get_blendMode",set_alpha:"set_alpha",get_alpha:"get_alpha"} }); var openfl_display_InteractiveObject = function() { openfl_display_DisplayObject.call(this); this.doubleClickEnabled = false; this.mouseEnabled = true; this.needsSoftKeyboard = false; this.__tabEnabled = null; this.__tabIndex = -1; }; $hxClasses["openfl.display.InteractiveObject"] = openfl_display_InteractiveObject; openfl_display_InteractiveObject.__name__ = "openfl.display.InteractiveObject"; openfl_display_InteractiveObject.__super__ = openfl_display_DisplayObject; openfl_display_InteractiveObject.prototype = $extend(openfl_display_DisplayObject.prototype,{ doubleClickEnabled: null ,focusRect: null ,mouseEnabled: null ,needsSoftKeyboard: null ,softKeyboardInputAreaOfInterest: null ,__tabEnabled: null ,__tabIndex: null ,requestSoftKeyboard: function() { openfl_utils__$internal_Lib.notImplemented({ fileName : "openfl/display/InteractiveObject.hx", lineNumber : 1251, className : "openfl.display.InteractiveObject", methodName : "requestSoftKeyboard"}); return false; } ,__allowMouseFocus: function() { return this.get_tabEnabled(); } ,__getInteractive: function(stack) { if(stack != null) { stack.push(this); if(this.parent != null) { this.parent.__getInteractive(stack); } } return true; } ,__hitTest: function(x,y,shapeFlag,stack,interactiveOnly,hitObject) { if(!hitObject.get_visible() || this.__isMask || interactiveOnly && !this.mouseEnabled) { return false; } return openfl_display_DisplayObject.prototype.__hitTest.call(this,x,y,shapeFlag,stack,interactiveOnly,hitObject); } ,__tabTest: function(stack) { if(this.get_tabEnabled()) { stack.push(this); } } ,get_tabEnabled: function() { if(this.__tabEnabled == true) { return true; } else { return false; } } ,set_tabEnabled: function(value) { if(this.__tabEnabled != value) { this.__tabEnabled = value; this.dispatchEvent(new openfl_events_Event("tabEnabledChange",true,false)); } return this.__tabEnabled; } ,get_tabIndex: function() { return this.__tabIndex; } ,set_tabIndex: function(value) { if(this.__tabIndex != value) { if(value < -1) { throw new js__$Boot_HaxeError(new openfl_errors_RangeError("Parameter tabIndex must be a non-negative number; got " + value)); } this.__tabIndex = value; this.dispatchEvent(new openfl_events_Event("tabIndexChange",true,false)); } return this.__tabIndex; } ,__class__: openfl_display_InteractiveObject ,__properties__: $extend(openfl_display_DisplayObject.prototype.__properties__,{set_tabIndex:"set_tabIndex",get_tabIndex:"get_tabIndex",set_tabEnabled:"set_tabEnabled",get_tabEnabled:"get_tabEnabled"}) }); var openfl_display_DisplayObjectContainer = function() { openfl_display_InteractiveObject.call(this); this.mouseChildren = true; this.__tabChildren = true; this.__children = []; this.__removedChildren = openfl__$Vector_Vector_$Impl_$.toObjectVector(null); }; $hxClasses["openfl.display.DisplayObjectContainer"] = openfl_display_DisplayObjectContainer; openfl_display_DisplayObjectContainer.__name__ = "openfl.display.DisplayObjectContainer"; openfl_display_DisplayObjectContainer.__super__ = openfl_display_InteractiveObject; openfl_display_DisplayObjectContainer.prototype = $extend(openfl_display_InteractiveObject.prototype,{ mouseChildren: null ,__removedChildren: null ,__tabChildren: null ,addChild: function(child) { return this.addChildAt(child,this.get_numChildren()); } ,addChildAt: function(child,index) { if(child == null) { var error = new openfl_errors_TypeError("Error #2007: Parameter child must be non-null."); error.errorID = 2007; throw new js__$Boot_HaxeError(error); } else if(child.stage == child) { var error1 = new openfl_errors_ArgumentError("Error #3783: A Stage object cannot be added as the child of another object."); error1.errorID = 3783; throw new js__$Boot_HaxeError(error1); } if(index > this.__children.length || index < 0) { throw new js__$Boot_HaxeError("Invalid index position " + index); } if(child.parent == this) { if(this.__children[index] != child) { HxOverrides.remove(this.__children,child); this.__children.splice(index,0,child); if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } } else { if(child.parent != null) { child.parent.removeChild(child); } this.__children.splice(index,0,child); child.parent = this; var addedToStage = this.stage != null && child.stage == null; if(addedToStage) { child.__setStageReference(this.stage); } child.__setTransformDirty(); if(!child.__renderDirty) { child.__renderDirty = true; child.__setParentRenderDirty(); } if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } var event = new openfl_events_Event("added"); event.bubbles = true; event.target = child; child.__dispatchWithCapture(event); if(addedToStage) { event = new openfl_events_Event("addedToStage",false,false); child.__dispatchWithCapture(event); child.__dispatchChildren(event); } } return child; } ,areInaccessibleObjectsUnderPoint: function(point) { return false; } ,contains: function(child) { while(child != this && child != null) child = child.parent; return child == this; } ,getChildAt: function(index) { if(index >= 0 && index < this.__children.length) { return this.__children[index]; } return null; } ,getChildByName: function(name) { var _g = 0; var _g1 = this.__children; while(_g < _g1.length) { var child = _g1[_g]; ++_g; if(child.get_name() == name) { return child; } } return null; } ,getChildIndex: function(child) { var _g = 0; var _g1 = this.__children.length; while(_g < _g1) { var i = _g++; if(this.__children[i] == child) { return i; } } return -1; } ,getObjectsUnderPoint: function(point) { var stack = []; this.__hitTest(point.x,point.y,false,stack,false,this); stack.reverse(); return stack; } ,removeChild: function(child) { if(child != null && child.parent == this) { child.__setTransformDirty(); if(!child.__renderDirty) { child.__renderDirty = true; child.__setParentRenderDirty(); } if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } var event = new openfl_events_Event("removed",true); child.__dispatchWithCapture(event); if(this.stage != null) { if(child.stage != null && this.stage.get_focus() == child) { this.stage.set_focus(null); } var event1 = new openfl_events_Event("removedFromStage",false,false); child.__dispatchWithCapture(event1); child.__dispatchChildren(event1); child.__setStageReference(null); } child.parent = null; HxOverrides.remove(this.__children,child); this.__removedChildren.push(child); child.__setTransformDirty(); } return child; } ,removeChildAt: function(index) { if(index >= 0 && index < this.__children.length) { return this.removeChild(this.__children[index]); } return null; } ,removeChildren: function(beginIndex,endIndex) { if(endIndex == null) { endIndex = 2147483647; } if(beginIndex == null) { beginIndex = 0; } if(endIndex == 2147483647) { endIndex = this.__children.length - 1; if(endIndex < 0) { return; } } if(beginIndex > this.__children.length - 1) { return; } else if(endIndex < beginIndex || beginIndex < 0 || endIndex > this.__children.length) { throw new js__$Boot_HaxeError(new openfl_errors_RangeError("The supplied index is out of bounds.")); } var numRemovals = endIndex - beginIndex; while(numRemovals >= 0) { this.removeChildAt(beginIndex); --numRemovals; } } ,resolve: function(fieldName) { if(this.__children == null) { return null; } var _g = 0; var _g1 = this.__children; while(_g < _g1.length) { var child = _g1[_g]; ++_g; if(child.get_name() == fieldName) { return child; } } return null; } ,setChildIndex: function(child,index) { if(index >= 0 && index <= this.__children.length && child.parent == this) { HxOverrides.remove(this.__children,child); this.__children.splice(index,0,child); } } ,stopAllMovieClips: function() { this.__stopAllMovieClips(); } ,swapChildren: function(child1,child2) { if(child1.parent == this && child2.parent == this) { var index1 = this.__children.indexOf(child1); var index2 = this.__children.indexOf(child2); this.__children[index1] = child2; this.__children[index2] = child1; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } } ,swapChildrenAt: function(index1,index2) { var swap = this.__children[index1]; this.__children[index1] = this.__children[index2]; this.__children[index2] = swap; swap = null; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } ,__cleanup: function() { openfl_display_InteractiveObject.prototype.__cleanup.call(this); var _g = 0; var _g1 = this.__children; while(_g < _g1.length) { var child = _g1[_g]; ++_g; child.__cleanup(); } var orphan = this.__removedChildren.iterator(); while(orphan.hasNext()) { var orphan1 = orphan.next(); if(orphan1.stage == null) { orphan1.__cleanup(); } } this.__removedChildren.set_length(0); } ,__cleanupRemovedChildren: function() { var orphan = this.__removedChildren.iterator(); while(orphan.hasNext()) { var orphan1 = orphan.next(); if(orphan1.stage == null) { orphan1.__cleanup(); } } this.__removedChildren.set_length(0); } ,__dispatchChildren: function(event) { if(this.__children != null) { var _g = 0; var _g1 = this.__children; while(_g < _g1.length) { var child = _g1[_g]; ++_g; event.target = child; if(!child.__dispatchWithCapture(event)) { break; } child.__dispatchChildren(event); } } } ,__enterFrame: function(deltaTime) { var _g = 0; var _g1 = this.__children; while(_g < _g1.length) { var child = _g1[_g]; ++_g; child.__enterFrame(deltaTime); } } ,__getBounds: function(rect,matrix) { openfl_display_InteractiveObject.prototype.__getBounds.call(this,rect,matrix); if(this.__children.length == 0) { return; } var childWorldTransform = openfl_geom_Matrix.__pool.get(); var _g = 0; var _g1 = this.__children; while(_g < _g1.length) { var child = _g1[_g]; ++_g; if(child.__scaleX == 0 || child.__scaleY == 0) { continue; } var local = child.__transform; childWorldTransform.a = local.a * matrix.a + local.b * matrix.c; childWorldTransform.b = local.a * matrix.b + local.b * matrix.d; childWorldTransform.c = local.c * matrix.a + local.d * matrix.c; childWorldTransform.d = local.c * matrix.b + local.d * matrix.d; childWorldTransform.tx = local.tx * matrix.a + local.ty * matrix.c + matrix.tx; childWorldTransform.ty = local.tx * matrix.b + local.ty * matrix.d + matrix.ty; child.__getBounds(rect,childWorldTransform); } openfl_geom_Matrix.__pool.release(childWorldTransform); } ,__getFilterBounds: function(rect,matrix) { openfl_display_InteractiveObject.prototype.__getFilterBounds.call(this,rect,matrix); if(this.__scrollRect != null) { return; } if(this.__children.length == 0) { return; } var childWorldTransform = openfl_geom_Matrix.__pool.get(); var _g = 0; var _g1 = this.__children; while(_g < _g1.length) { var child = _g1[_g]; ++_g; if(child.__scaleX == 0 || child.__scaleY == 0 || child.__isMask) { continue; } var local = child.__transform; childWorldTransform.a = local.a * matrix.a + local.b * matrix.c; childWorldTransform.b = local.a * matrix.b + local.b * matrix.d; childWorldTransform.c = local.c * matrix.a + local.d * matrix.c; childWorldTransform.d = local.c * matrix.b + local.d * matrix.d; childWorldTransform.tx = local.tx * matrix.a + local.ty * matrix.c + matrix.tx; childWorldTransform.ty = local.tx * matrix.b + local.ty * matrix.d + matrix.ty; var childRect = openfl_geom_Rectangle.__pool.get(); child.__getFilterBounds(childRect,childWorldTransform); rect.__expand(childRect.x,childRect.y,childRect.width,childRect.height); openfl_geom_Rectangle.__pool.release(childRect); } openfl_geom_Matrix.__pool.release(childWorldTransform); } ,__getRenderBounds: function(rect,matrix) { if(this.__scrollRect != null) { openfl_display_InteractiveObject.prototype.__getRenderBounds.call(this,rect,matrix); return; } else { openfl_display_InteractiveObject.prototype.__getBounds.call(this,rect,matrix); } if(this.__children.length == 0) { return; } var childWorldTransform = openfl_geom_Matrix.__pool.get(); var _g = 0; var _g1 = this.__children; while(_g < _g1.length) { var child = _g1[_g]; ++_g; if(child.__scaleX == 0 || child.__scaleY == 0 || child.__isMask) { continue; } var local = child.__transform; childWorldTransform.a = local.a * matrix.a + local.b * matrix.c; childWorldTransform.b = local.a * matrix.b + local.b * matrix.d; childWorldTransform.c = local.c * matrix.a + local.d * matrix.c; childWorldTransform.d = local.c * matrix.b + local.d * matrix.d; childWorldTransform.tx = local.tx * matrix.a + local.ty * matrix.c + matrix.tx; childWorldTransform.ty = local.tx * matrix.b + local.ty * matrix.d + matrix.ty; child.__getRenderBounds(rect,childWorldTransform); } openfl_geom_Matrix.__pool.release(childWorldTransform); } ,__hitTest: function(x,y,shapeFlag,stack,interactiveOnly,hitObject) { if(!hitObject.get_visible() || this.__isMask || interactiveOnly && !this.mouseEnabled && !this.mouseChildren) { return false; } if(this.get_mask() != null && !this.get_mask().__hitTestMask(x,y)) { return false; } if(this.__scrollRect != null) { var point = openfl_geom_Point.__pool.get(); point.setTo(x,y); var _this = this.__getRenderTransform(); var norm = _this.a * _this.d - _this.b * _this.c; if(norm == 0) { point.x = -_this.tx; point.y = -_this.ty; } else { var px = 1.0 / norm * (_this.c * (_this.ty - point.y) + _this.d * (point.x - _this.tx)); point.y = 1.0 / norm * (_this.a * (point.y - _this.ty) + _this.b * (_this.tx - point.x)); point.x = px; } if(!this.__scrollRect.containsPoint(point)) { openfl_geom_Point.__pool.release(point); return false; } openfl_geom_Point.__pool.release(point); } var i = this.__children.length; if(interactiveOnly) { if(stack == null || !this.mouseChildren) { while(--i >= 0) if(this.__children[i].__hitTest(x,y,shapeFlag,null,true,this.__children[i])) { if(stack != null) { stack.push(hitObject); } return true; } } else if(stack != null) { var length = stack.length; var interactive = false; var hitTest = false; while(--i >= 0) { interactive = this.__children[i].__getInteractive(null); if(interactive || this.mouseEnabled && !hitTest) { if(this.__children[i].__hitTest(x,y,shapeFlag,stack,true,this.__children[i])) { hitTest = true; if(interactive && stack.length > length) { break; } } } } if(hitTest) { stack.splice(length,0,hitObject); return true; } } } else { var hitTest1 = false; while(--i >= 0) if(this.__children[i].__hitTest(x,y,shapeFlag,stack,false,this.__children[i])) { hitTest1 = true; if(stack == null) { break; } } return hitTest1; } return false; } ,__hitTestMask: function(x,y) { var i = this.__children.length; while(--i >= 0) if(this.__children[i].__hitTestMask(x,y)) { return true; } return false; } ,__readGraphicsData: function(graphicsData,recurse) { openfl_display_InteractiveObject.prototype.__readGraphicsData.call(this,graphicsData,recurse); if(recurse) { var _g = 0; var _g1 = this.__children; while(_g < _g1.length) { var child = _g1[_g]; ++_g; child.__readGraphicsData(graphicsData,recurse); } } } ,__setStageReference: function(stage) { openfl_display_InteractiveObject.prototype.__setStageReference.call(this,stage); if(this.__children != null) { var _g = 0; var _g1 = this.__children; while(_g < _g1.length) { var child = _g1[_g]; ++_g; child.__setStageReference(stage); } } } ,__setWorldTransformInvalid: function() { if(!this.__worldTransformInvalid) { this.__worldTransformInvalid = true; if(this.__children != null) { var _g = 0; var _g1 = this.__children; while(_g < _g1.length) { var child = _g1[_g]; ++_g; child.__setWorldTransformInvalid(); } } } } ,__stopAllMovieClips: function() { var _g = 0; var _g1 = this.__children; while(_g < _g1.length) { var child = _g1[_g]; ++_g; child.__stopAllMovieClips(); } } ,__tabTest: function(stack) { openfl_display_InteractiveObject.prototype.__tabTest.call(this,stack); if(!this.get_tabChildren()) { return; } var interactive = false; var interactiveObject = null; var _g = 0; var _g1 = this.__children; while(_g < _g1.length) { var child = _g1[_g]; ++_g; interactive = child.__getInteractive(null); if(interactive) { interactiveObject = child; interactiveObject.__tabTest(stack); } } } ,__update: function(transformOnly,updateChildren) { openfl_display_InteractiveObject.prototype.__update.call(this,transformOnly,updateChildren); if(updateChildren) { var _g = 0; var _g1 = this.__children; while(_g < _g1.length) { var child = _g1[_g]; ++_g; child.__update(transformOnly,true); } } } ,get_numChildren: function() { return this.__children.length; } ,get_tabChildren: function() { return this.__tabChildren; } ,set_tabChildren: function(value) { if(this.__tabChildren != value) { this.__tabChildren = value; this.dispatchEvent(new openfl_events_Event("tabChildrenChange",true,false)); } return this.__tabChildren; } ,__class__: openfl_display_DisplayObjectContainer ,__properties__: $extend(openfl_display_InteractiveObject.prototype.__properties__,{set_tabChildren:"set_tabChildren",get_tabChildren:"get_tabChildren",get_numChildren:"get_numChildren"}) }); var openfl_display_Sprite = function() { openfl_display_DisplayObjectContainer.call(this); this.__drawableType = 4; this.__buttonMode = false; this.useHandCursor = true; }; $hxClasses["openfl.display.Sprite"] = openfl_display_Sprite; openfl_display_Sprite.__name__ = "openfl.display.Sprite"; openfl_display_Sprite.__super__ = openfl_display_DisplayObjectContainer; openfl_display_Sprite.prototype = $extend(openfl_display_DisplayObjectContainer.prototype,{ dropTarget: null ,hitArea: null ,useHandCursor: null ,__buttonMode: null ,startDrag: function(lockCenter,bounds) { if(lockCenter == null) { lockCenter = false; } if(this.stage != null) { this.stage.__startDrag(this,lockCenter,bounds); } } ,stopDrag: function() { if(this.stage != null) { this.stage.__stopDrag(this); } } ,__getCursor: function() { if(this.__buttonMode && this.useHandCursor) { return "button"; } else { return null; } } ,__hitTest: function(x,y,shapeFlag,stack,interactiveOnly,hitObject) { if(interactiveOnly && !this.mouseEnabled && !this.mouseChildren) { return false; } if(!hitObject.get_visible() || this.__isMask) { return this.__hitTestHitArea(x,y,shapeFlag,stack,interactiveOnly,hitObject); } if(this.get_mask() != null && !this.get_mask().__hitTestMask(x,y)) { return this.__hitTestHitArea(x,y,shapeFlag,stack,interactiveOnly,hitObject); } if(this.__scrollRect != null) { var point = openfl_geom_Point.__pool.get(); point.setTo(x,y); var _this = this.__getRenderTransform(); var norm = _this.a * _this.d - _this.b * _this.c; if(norm == 0) { point.x = -_this.tx; point.y = -_this.ty; } else { var px = 1.0 / norm * (_this.c * (_this.ty - point.y) + _this.d * (point.x - _this.tx)); point.y = 1.0 / norm * (_this.a * (point.y - _this.ty) + _this.b * (_this.tx - point.x)); point.x = px; } if(!this.__scrollRect.containsPoint(point)) { openfl_geom_Point.__pool.release(point); return this.__hitTestHitArea(x,y,shapeFlag,stack,true,hitObject); } openfl_geom_Point.__pool.release(point); } if(openfl_display_DisplayObjectContainer.prototype.__hitTest.call(this,x,y,shapeFlag,stack,interactiveOnly,hitObject)) { if(stack != null) { return interactiveOnly; } else { return true; } } else if(this.hitArea == null && this.__graphics != null && this.__graphics.__hitTest(x,y,shapeFlag,this.__getRenderTransform())) { if(stack != null && (!interactiveOnly || this.mouseEnabled)) { stack.push(hitObject); } return true; } return this.__hitTestHitArea(x,y,shapeFlag,stack,interactiveOnly,hitObject); } ,__hitTestHitArea: function(x,y,shapeFlag,stack,interactiveOnly,hitObject) { if(this.hitArea != null) { if(!this.hitArea.mouseEnabled) { this.hitArea.mouseEnabled = true; var hitTest = this.hitArea.__hitTest(x,y,shapeFlag,null,true,hitObject); this.hitArea.mouseEnabled = false; if(stack != null && hitTest) { stack[stack.length] = hitObject; } return hitTest; } } return false; } ,__hitTestMask: function(x,y) { if(openfl_display_DisplayObjectContainer.prototype.__hitTestMask.call(this,x,y)) { return true; } else if(this.__graphics != null && this.__graphics.__hitTest(x,y,true,this.__getRenderTransform())) { return true; } return false; } ,get_graphics: function() { if(this.__graphics == null) { this.__graphics = new openfl_display_Graphics(this); } return this.__graphics; } ,get_tabEnabled: function() { if(this.__tabEnabled == null) { return this.__buttonMode; } else { return this.__tabEnabled; } } ,get_buttonMode: function() { return this.__buttonMode; } ,set_buttonMode: function(value) { return this.__buttonMode = value; } ,__class__: openfl_display_Sprite ,__properties__: $extend(openfl_display_DisplayObjectContainer.prototype.__properties__,{get_graphics:"get_graphics",set_buttonMode:"set_buttonMode",get_buttonMode:"get_buttonMode"}) }); var Main = function() { this.startFullscreen = false; this.skipSplash = true; this.framerate = 120; this.zoom = -1; this.initialState = TitleState; this.gameHeight = 720; this.gameWidth = 1280; openfl_display_Sprite.call(this); if(this.stage != null) { this.init(); } else { this.addEventListener("addedToStage",$bind(this,this.init)); } }; $hxClasses["Main"] = Main; Main.__name__ = "Main"; Main.main = function() { openfl_Lib.get_current().addChild(new Main()); }; Main.__super__ = openfl_display_Sprite; Main.prototype = $extend(openfl_display_Sprite.prototype,{ gameWidth: null ,gameHeight: null ,initialState: null ,zoom: null ,framerate: null ,skipSplash: null ,startFullscreen: null ,init: function(E) { if(this.hasEventListener("addedToStage")) { this.removeEventListener("addedToStage",$bind(this,this.init)); } this.setupGame(); } ,setupGame: function() { var stageWidth = openfl_Lib.get_current().stage.stageWidth; var stageHeight = openfl_Lib.get_current().stage.stageHeight; if(this.zoom == -1) { var ratioX = stageWidth / this.gameWidth; var ratioY = stageHeight / this.gameHeight; this.zoom = Math.min(ratioX,ratioY); this.gameWidth = Math.ceil(stageWidth / this.zoom); this.gameHeight = Math.ceil(stageHeight / this.zoom); } this.initialState = TitleState; this.addChild(new flixel_FlxGame(this.gameWidth,this.gameHeight,this.initialState,this.zoom,this.framerate,this.framerate,this.skipSplash,this.startFullscreen)); } ,fpsCounter: null ,toggleFPS: function(fpsEnabled) { this.fpsCounter.set_visible(fpsEnabled); } ,__class__: Main }); var DocumentClass = function(current) { current.addChild(this); Main.call(this); this.dispatchEvent(new openfl_events_Event("addedToStage",false,false)); }; $hxClasses["DocumentClass"] = DocumentClass; DocumentClass.__name__ = "DocumentClass"; DocumentClass.__super__ = Main; DocumentClass.prototype = $extend(Main.prototype,{ __class__: DocumentClass }); var BackgroundDancer = function(x,y) { this.danceDir = false; flixel_FlxSprite.call(this,x,y); var library = null; this.set_frames(flixel_graphics_frames_FlxAtlasFrames.fromSparrow(Paths.getPath("images/" + "limo/limoDancer" + ".png","IMAGE",library),Paths.getPath("images/" + "limo/limoDancer" + ".xml","TEXT",library))); this.animation.addByIndices("danceLeft","bg dancer sketch PINK",[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14],"",24,false); this.animation.addByIndices("danceRight","bg dancer sketch PINK",[15,16,17,18,19,20,21,22,23,24,25,26,27,28,29],"",24,false); this.animation.play("danceLeft"); this.set_antialiasing(true); }; $hxClasses["BackgroundDancer"] = BackgroundDancer; BackgroundDancer.__name__ = "BackgroundDancer"; BackgroundDancer.__super__ = flixel_FlxSprite; BackgroundDancer.prototype = $extend(flixel_FlxSprite.prototype,{ danceDir: null ,dance: function() { this.danceDir = !this.danceDir; if(this.danceDir) { this.animation.play("danceRight",true); } else { this.animation.play("danceLeft",true); } } ,__class__: BackgroundDancer }); var BackgroundGirls = function(x,y) { this.danceDir = false; flixel_FlxSprite.call(this,x,y); var library = null; this.set_frames(flixel_graphics_frames_FlxAtlasFrames.fromSparrow(Paths.getPath("images/" + "weeb/bgFreaks" + ".png","IMAGE",library),Paths.getPath("images/" + "weeb/bgFreaks" + ".xml","TEXT",library))); this.animation.addByIndices("danceLeft","BG girls group",CoolUtil.numberArray(14),"",24,false); this.animation.addByIndices("danceRight","BG girls group",CoolUtil.numberArray(30,15),"",24,false); this.animation.play("danceLeft"); }; $hxClasses["BackgroundGirls"] = BackgroundGirls; BackgroundGirls.__name__ = "BackgroundGirls"; BackgroundGirls.__super__ = flixel_FlxSprite; BackgroundGirls.prototype = $extend(flixel_FlxSprite.prototype,{ danceDir: null ,getScared: function() { this.animation.addByIndices("danceLeft","BG fangirls dissuaded",CoolUtil.numberArray(14),"",24,false); this.animation.addByIndices("danceRight","BG fangirls dissuaded",CoolUtil.numberArray(30,15),"",24,false); this.dance(); } ,dance: function() { this.danceDir = !this.danceDir; if(this.danceDir) { this.animation.play("danceRight",true); } else { this.animation.play("danceLeft",true); } } ,__class__: BackgroundGirls }); var Character = function(x,y,character,isPlayer) { if(isPlayer == null) { isPlayer = false; } if(character == null) { character = "bf"; } this.danced = false; this.holdTimer = 0; this.curCharacter = "bf"; this.isPlayer = false; this.debugMode = false; flixel_FlxSprite.call(this,x,y); this.animOffsets = new haxe_ds_StringMap(); this.curCharacter = character; this.isPlayer = isPlayer; var tex; this.set_antialiasing(true); switch(this.curCharacter) { case "bf": var library = null; var tex1 = flixel_graphics_frames_FlxAtlasFrames.fromSparrow(Paths.getPath("images/" + "BOYFRIEND" + ".png","IMAGE",library),Paths.getPath("images/" + "BOYFRIEND" + ".xml","TEXT",library)); this.set_frames(tex1); this.animation.addByPrefix("idle","BF idle dance",24,false); this.animation.addByPrefix("singUP","BF NOTE UP0",24,false); this.animation.addByPrefix("singLEFT","BF NOTE LEFT0",24,false); this.animation.addByPrefix("singRIGHT","BF NOTE RIGHT0",24,false); this.animation.addByPrefix("singDOWN","BF NOTE DOWN0",24,false); this.animation.addByPrefix("singUPmiss","BF NOTE UP MISS",24,false); this.animation.addByPrefix("singLEFTmiss","BF NOTE LEFT MISS",24,false); this.animation.addByPrefix("singRIGHTmiss","BF NOTE RIGHT MISS",24,false); this.animation.addByPrefix("singDOWNmiss","BF NOTE DOWN MISS",24,false); this.animation.addByPrefix("hey","BF HEY",24,false); this.animation.addByPrefix("firstDeath","BF dies",24,false); this.animation.addByPrefix("deathLoop","BF Dead Loop",24,true); this.animation.addByPrefix("deathConfirm","BF Dead confirm",24,false); this.animation.addByPrefix("scared","BF idle shaking",24); this.addOffset("idle",-5); this.addOffset("singUP",-29,27); this.addOffset("singRIGHT",-38,-7); this.addOffset("singLEFT",12,-6); this.addOffset("singDOWN",-10,-50); this.addOffset("singUPmiss",-29,27); this.addOffset("singRIGHTmiss",-30,21); this.addOffset("singLEFTmiss",12,24); this.addOffset("singDOWNmiss",-11,-19); this.addOffset("hey",7,4); this.addOffset("firstDeath",37,11); this.addOffset("deathLoop",37,5); this.addOffset("deathConfirm",37,69); this.addOffset("scared",-4); this.playAnim("idle"); this.set_flipX(true); break; case "bf-car": var library1 = null; var tex2 = flixel_graphics_frames_FlxAtlasFrames.fromSparrow(Paths.getPath("images/" + "bfCar" + ".png","IMAGE",library1),Paths.getPath("images/" + "bfCar" + ".xml","TEXT",library1)); this.set_frames(tex2); this.animation.addByPrefix("idle","BF idle dance",24,false); this.animation.addByPrefix("singUP","BF NOTE UP0",24,false); this.animation.addByPrefix("singLEFT","BF NOTE LEFT0",24,false); this.animation.addByPrefix("singRIGHT","BF NOTE RIGHT0",24,false); this.animation.addByPrefix("singDOWN","BF NOTE DOWN0",24,false); this.animation.addByPrefix("singUPmiss","BF NOTE UP MISS",24,false); this.animation.addByPrefix("singLEFTmiss","BF NOTE LEFT MISS",24,false); this.animation.addByPrefix("singRIGHTmiss","BF NOTE RIGHT MISS",24,false); this.animation.addByPrefix("singDOWNmiss","BF NOTE DOWN MISS",24,false); this.addOffset("idle",-5); this.addOffset("singUP",-29,27); this.addOffset("singRIGHT",-38,-7); this.addOffset("singLEFT",12,-6); this.addOffset("singDOWN",-10,-50); this.addOffset("singUPmiss",-29,27); this.addOffset("singRIGHTmiss",-30,21); this.addOffset("singLEFTmiss",12,24); this.addOffset("singDOWNmiss",-11,-19); this.playAnim("idle"); this.set_flipX(true); break; case "bf-christmas": var library2 = null; var tex3 = flixel_graphics_frames_FlxAtlasFrames.fromSparrow(Paths.getPath("images/" + "christmas/bfChristmas" + ".png","IMAGE",library2),Paths.getPath("images/" + "christmas/bfChristmas" + ".xml","TEXT",library2)); this.set_frames(tex3); this.animation.addByPrefix("idle","BF idle dance",24,false); this.animation.addByPrefix("singUP","BF NOTE UP0",24,false); this.animation.addByPrefix("singLEFT","BF NOTE LEFT0",24,false); this.animation.addByPrefix("singRIGHT","BF NOTE RIGHT0",24,false); this.animation.addByPrefix("singDOWN","BF NOTE DOWN0",24,false); this.animation.addByPrefix("singUPmiss","BF NOTE UP MISS",24,false); this.animation.addByPrefix("singLEFTmiss","BF NOTE LEFT MISS",24,false); this.animation.addByPrefix("singRIGHTmiss","BF NOTE RIGHT MISS",24,false); this.animation.addByPrefix("singDOWNmiss","BF NOTE DOWN MISS",24,false); this.animation.addByPrefix("hey","BF HEY",24,false); this.addOffset("idle",-5); this.addOffset("singUP",-29,27); this.addOffset("singRIGHT",-38,-7); this.addOffset("singLEFT",12,-6); this.addOffset("singDOWN",-10,-50); this.addOffset("singUPmiss",-29,27); this.addOffset("singRIGHTmiss",-30,21); this.addOffset("singLEFTmiss",12,24); this.addOffset("singDOWNmiss",-11,-19); this.addOffset("hey",7,4); this.playAnim("idle"); this.set_flipX(true); break; case "bf-pixel": var library3 = null; this.set_frames(flixel_graphics_frames_FlxAtlasFrames.fromSparrow(Paths.getPath("images/" + "weeb/bfPixel" + ".png","IMAGE",library3),Paths.getPath("images/" + "weeb/bfPixel" + ".xml","TEXT",library3))); this.animation.addByPrefix("idle","BF IDLE",24,false); this.animation.addByPrefix("singUP","BF UP NOTE",24,false); this.animation.addByPrefix("singLEFT","BF LEFT NOTE",24,false); this.animation.addByPrefix("singRIGHT","BF RIGHT NOTE",24,false); this.animation.addByPrefix("singDOWN","BF DOWN NOTE",24,false); this.animation.addByPrefix("singUPmiss","BF UP MISS",24,false); this.animation.addByPrefix("singLEFTmiss","BF LEFT MISS",24,false); this.animation.addByPrefix("singRIGHTmiss","BF RIGHT MISS",24,false); this.animation.addByPrefix("singDOWNmiss","BF DOWN MISS",24,false); this.addOffset("idle"); this.addOffset("singUP"); this.addOffset("singRIGHT"); this.addOffset("singLEFT"); this.addOffset("singDOWN"); this.addOffset("singUPmiss"); this.addOffset("singRIGHTmiss"); this.addOffset("singLEFTmiss"); this.addOffset("singDOWNmiss"); this.setGraphicSize(this.get_width() * 6 | 0); this.updateHitbox(); this.playAnim("idle"); var _g = this; _g.set_width(_g.get_width() - 100); var _g1 = this; _g1.set_height(_g1.get_height() - 100); this.set_antialiasing(false); this.set_flipX(true); break; case "bf-pixel-dead": var library4 = null; this.set_frames(flixel_graphics_frames_FlxAtlasFrames.fromSparrow(Paths.getPath("images/" + "weeb/bfPixelsDEAD" + ".png","IMAGE",library4),Paths.getPath("images/" + "weeb/bfPixelsDEAD" + ".xml","TEXT",library4))); this.animation.addByPrefix("singUP","BF Dies pixel",24,false); this.animation.addByPrefix("firstDeath","BF Dies pixel",24,false); this.animation.addByPrefix("deathLoop","Retry Loop",24,true); this.animation.addByPrefix("deathConfirm","RETRY CONFIRM",24,false); this.animation.play("firstDeath"); this.addOffset("firstDeath"); this.addOffset("deathLoop",-37); this.addOffset("deathConfirm",-37); this.playAnim("firstDeath"); this.setGraphicSize(this.get_width() * 6 | 0); this.updateHitbox(); this.set_antialiasing(false); this.set_flipX(true); break; case "dad": var library5 = null; tex = flixel_graphics_frames_FlxAtlasFrames.fromSparrow(Paths.getPath("images/" + "DADDY_DEAREST" + ".png","IMAGE",library5),Paths.getPath("images/" + "DADDY_DEAREST" + ".xml","TEXT",library5)); this.set_frames(tex); this.animation.addByPrefix("idle","Dad idle dance",24); this.animation.addByPrefix("singUP","Dad Sing Note UP",24); this.animation.addByPrefix("singRIGHT","Dad Sing Note RIGHT",24); this.animation.addByPrefix("singDOWN","Dad Sing Note DOWN",24); this.animation.addByPrefix("singLEFT","Dad Sing Note LEFT",24); this.addOffset("idle"); this.addOffset("singUP",-6,50); this.addOffset("singRIGHT",0,27); this.addOffset("singLEFT",-10,10); this.addOffset("singDOWN",0,-30); this.playAnim("idle"); break; case "gf": var library6 = null; tex = flixel_graphics_frames_FlxAtlasFrames.fromSparrow(Paths.getPath("images/" + "GF_assets" + ".png","IMAGE",library6),Paths.getPath("images/" + "GF_assets" + ".xml","TEXT",library6)); this.set_frames(tex); this.animation.addByPrefix("cheer","GF Cheer",24,false); this.animation.addByPrefix("singLEFT","GF left note",24,false); this.animation.addByPrefix("singRIGHT","GF Right Note",24,false); this.animation.addByPrefix("singUP","GF Up Note",24,false); this.animation.addByPrefix("singDOWN","GF Down Note",24,false); this.animation.addByIndices("sad","gf sad",[0,1,2,3,4,5,6,7,8,9,10,11,12],"",24,false); this.animation.addByIndices("danceLeft","GF Dancing Beat",[30,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14],"",24,false); this.animation.addByIndices("danceRight","GF Dancing Beat",[15,16,17,18,19,20,21,22,23,24,25,26,27,28,29],"",24,false); this.animation.addByIndices("hairBlow","GF Dancing Beat Hair blowing",[0,1,2,3],"",24); this.animation.addByIndices("hairFall","GF Dancing Beat Hair Landing",[0,1,2,3,4,5,6,7,8,9,10,11],"",24,false); this.animation.addByPrefix("scared","GF FEAR",24); this.addOffset("cheer"); this.addOffset("sad",-2,-2); this.addOffset("danceLeft",0,-9); this.addOffset("danceRight",0,-9); this.addOffset("singUP",0,4); this.addOffset("singRIGHT",0,-20); this.addOffset("singLEFT",0,-19); this.addOffset("singDOWN",0,-20); this.addOffset("hairBlow",45,-8); this.addOffset("hairFall",0,-9); this.addOffset("scared",-2,-17); this.playAnim("danceRight"); break; case "gf-car": var library7 = null; tex = flixel_graphics_frames_FlxAtlasFrames.fromSparrow(Paths.getPath("images/" + "gfCar" + ".png","IMAGE",library7),Paths.getPath("images/" + "gfCar" + ".xml","TEXT",library7)); this.set_frames(tex); this.animation.addByIndices("singUP","GF Dancing Beat Hair blowing CAR",[0],"",24,false); this.animation.addByIndices("danceLeft","GF Dancing Beat Hair blowing CAR",[30,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14],"",24,false); this.animation.addByIndices("danceRight","GF Dancing Beat Hair blowing CAR",[15,16,17,18,19,20,21,22,23,24,25,26,27,28,29],"",24,false); this.addOffset("danceLeft",0); this.addOffset("danceRight",0); this.playAnim("danceRight"); break; case "gf-christmas": var library8 = null; tex = flixel_graphics_frames_FlxAtlasFrames.fromSparrow(Paths.getPath("images/" + "christmas/gfChristmas" + ".png","IMAGE",library8),Paths.getPath("images/" + "christmas/gfChristmas" + ".xml","TEXT",library8)); this.set_frames(tex); this.animation.addByPrefix("cheer","GF Cheer",24,false); this.animation.addByPrefix("singLEFT","GF left note",24,false); this.animation.addByPrefix("singRIGHT","GF Right Note",24,false); this.animation.addByPrefix("singUP","GF Up Note",24,false); this.animation.addByPrefix("singDOWN","GF Down Note",24,false); this.animation.addByIndices("sad","gf sad",[0,1,2,3,4,5,6,7,8,9,10,11,12],"",24,false); this.animation.addByIndices("danceLeft","GF Dancing Beat",[30,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14],"",24,false); this.animation.addByIndices("danceRight","GF Dancing Beat",[15,16,17,18,19,20,21,22,23,24,25,26,27,28,29],"",24,false); this.animation.addByIndices("hairBlow","GF Dancing Beat Hair blowing",[0,1,2,3],"",24); this.animation.addByIndices("hairFall","GF Dancing Beat Hair Landing",[0,1,2,3,4,5,6,7,8,9,10,11],"",24,false); this.animation.addByPrefix("scared","GF FEAR",24); this.addOffset("cheer"); this.addOffset("sad",-2,-2); this.addOffset("danceLeft",0,-9); this.addOffset("danceRight",0,-9); this.addOffset("singUP",0,4); this.addOffset("singRIGHT",0,-20); this.addOffset("singLEFT",0,-19); this.addOffset("singDOWN",0,-20); this.addOffset("hairBlow",45,-8); this.addOffset("hairFall",0,-9); this.addOffset("scared",-2,-17); this.playAnim("danceRight"); break; case "gf-pixel": var library9 = null; tex = flixel_graphics_frames_FlxAtlasFrames.fromSparrow(Paths.getPath("images/" + "weeb/gfPixel" + ".png","IMAGE",library9),Paths.getPath("images/" + "weeb/gfPixel" + ".xml","TEXT",library9)); this.set_frames(tex); this.animation.addByIndices("singUP","GF IDLE",[2],"",24,false); this.animation.addByIndices("danceLeft","GF IDLE",[30,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14],"",24,false); this.animation.addByIndices("danceRight","GF IDLE",[15,16,17,18,19,20,21,22,23,24,25,26,27,28,29],"",24,false); this.addOffset("danceLeft",0); this.addOffset("danceRight",0); this.playAnim("danceRight"); this.setGraphicSize(this.get_width() * PlayState.daPixelZoom | 0); this.updateHitbox(); this.set_antialiasing(false); break; case "mom": var library10 = null; tex = flixel_graphics_frames_FlxAtlasFrames.fromSparrow(Paths.getPath("images/" + "Mom_Assets" + ".png","IMAGE",library10),Paths.getPath("images/" + "Mom_Assets" + ".xml","TEXT",library10)); this.set_frames(tex); this.animation.addByPrefix("idle","Mom Idle",24,false); this.animation.addByPrefix("singUP","Mom Up Pose",24,false); this.animation.addByPrefix("singDOWN","MOM DOWN POSE",24,false); this.animation.addByPrefix("singLEFT","Mom Left Pose",24,false); this.animation.addByPrefix("singRIGHT","Mom Pose Left",24,false); this.addOffset("idle"); this.addOffset("singUP",14,71); this.addOffset("singRIGHT",10,-60); this.addOffset("singLEFT",250,-23); this.addOffset("singDOWN",20,-160); this.playAnim("idle"); break; case "mom-car": var library11 = null; tex = flixel_graphics_frames_FlxAtlasFrames.fromSparrow(Paths.getPath("images/" + "momCar" + ".png","IMAGE",library11),Paths.getPath("images/" + "momCar" + ".xml","TEXT",library11)); this.set_frames(tex); this.animation.addByPrefix("idle","Mom Idle",24,false); this.animation.addByPrefix("singUP","Mom Up Pose",24,false); this.animation.addByPrefix("singDOWN","MOM DOWN POSE",24,false); this.animation.addByPrefix("singLEFT","Mom Left Pose",24,false); this.animation.addByPrefix("singRIGHT","Mom Pose Left",24,false); this.addOffset("idle"); this.addOffset("singUP",14,71); this.addOffset("singRIGHT",10,-60); this.addOffset("singLEFT",250,-23); this.addOffset("singDOWN",20,-160); this.playAnim("idle"); break; case "monster": var library12 = null; tex = flixel_graphics_frames_FlxAtlasFrames.fromSparrow(Paths.getPath("images/" + "Monster_Assets" + ".png","IMAGE",library12),Paths.getPath("images/" + "Monster_Assets" + ".xml","TEXT",library12)); this.set_frames(tex); this.animation.addByPrefix("idle","monster idle",24,false); this.animation.addByPrefix("singUP","monster up note",24,false); this.animation.addByPrefix("singDOWN","monster down",24,false); this.animation.addByPrefix("singLEFT","Monster left note",24,false); this.animation.addByPrefix("singRIGHT","Monster Right note",24,false); this.addOffset("idle"); this.addOffset("singUP",-20,50); this.addOffset("singRIGHT",-51); this.addOffset("singLEFT",-30); this.addOffset("singDOWN",-30,-40); this.playAnim("idle"); break; case "monster-christmas": var library13 = null; tex = flixel_graphics_frames_FlxAtlasFrames.fromSparrow(Paths.getPath("images/" + "christmas/monsterChristmas" + ".png","IMAGE",library13),Paths.getPath("images/" + "christmas/monsterChristmas" + ".xml","TEXT",library13)); this.set_frames(tex); this.animation.addByPrefix("idle","monster idle",24,false); this.animation.addByPrefix("singUP","monster up note",24,false); this.animation.addByPrefix("singDOWN","monster down",24,false); this.animation.addByPrefix("singLEFT","Monster left note",24,false); this.animation.addByPrefix("singRIGHT","Monster Right note",24,false); this.addOffset("idle"); this.addOffset("singUP",-20,50); this.addOffset("singRIGHT",-51); this.addOffset("singLEFT",-30); this.addOffset("singDOWN",-40,-94); this.playAnim("idle"); break; case "parents-christmas": var library14 = null; this.set_frames(flixel_graphics_frames_FlxAtlasFrames.fromSparrow(Paths.getPath("images/" + "christmas/mom_dad_christmas_assets" + ".png","IMAGE",library14),Paths.getPath("images/" + "christmas/mom_dad_christmas_assets" + ".xml","TEXT",library14))); this.animation.addByPrefix("idle","Parent Christmas Idle",24,false); this.animation.addByPrefix("singUP","Parent Up Note Dad",24,false); this.animation.addByPrefix("singDOWN","Parent Down Note Dad",24,false); this.animation.addByPrefix("singLEFT","Parent Left Note Dad",24,false); this.animation.addByPrefix("singRIGHT","Parent Right Note Dad",24,false); this.animation.addByPrefix("singUP-alt","Parent Up Note Mom",24,false); this.animation.addByPrefix("singDOWN-alt","Parent Down Note Mom",24,false); this.animation.addByPrefix("singLEFT-alt","Parent Left Note Mom",24,false); this.animation.addByPrefix("singRIGHT-alt","Parent Right Note Mom",24,false); this.addOffset("idle"); this.addOffset("singUP",-47,24); this.addOffset("singRIGHT",-1,-23); this.addOffset("singLEFT",-30,16); this.addOffset("singDOWN",-31,-29); this.addOffset("singUP-alt",-47,24); this.addOffset("singRIGHT-alt",-1,-24); this.addOffset("singLEFT-alt",-30,15); this.addOffset("singDOWN-alt",-30,-27); this.playAnim("idle"); break; case "pico": var library15 = null; tex = flixel_graphics_frames_FlxAtlasFrames.fromSparrow(Paths.getPath("images/" + "Pico_FNF_assetss" + ".png","IMAGE",library15),Paths.getPath("images/" + "Pico_FNF_assetss" + ".xml","TEXT",library15)); this.set_frames(tex); this.animation.addByPrefix("idle","Pico Idle Dance",24); this.animation.addByPrefix("singUP","pico Up note0",24,false); this.animation.addByPrefix("singDOWN","Pico Down Note0",24,false); if(isPlayer) { this.animation.addByPrefix("singLEFT","Pico NOTE LEFT0",24,false); this.animation.addByPrefix("singRIGHT","Pico Note Right0",24,false); this.animation.addByPrefix("singRIGHTmiss","Pico Note Right Miss",24,false); this.animation.addByPrefix("singLEFTmiss","Pico NOTE LEFT miss",24,false); } else { this.animation.addByPrefix("singLEFT","Pico Note Right0",24,false); this.animation.addByPrefix("singRIGHT","Pico NOTE LEFT0",24,false); this.animation.addByPrefix("singRIGHTmiss","Pico NOTE LEFT miss",24,false); this.animation.addByPrefix("singLEFTmiss","Pico Note Right Miss",24,false); } this.animation.addByPrefix("singUPmiss","pico Up note miss",24); this.animation.addByPrefix("singDOWNmiss","Pico Down Note MISS",24); this.addOffset("idle"); this.addOffset("singUP",-29,27); this.addOffset("singRIGHT",-68,-7); this.addOffset("singLEFT",65,9); this.addOffset("singDOWN",200,-70); this.addOffset("singUPmiss",-19,67); this.addOffset("singRIGHTmiss",-60,41); this.addOffset("singLEFTmiss",62,64); this.addOffset("singDOWNmiss",210,-28); this.playAnim("idle"); this.set_flipX(true); break; case "senpai": var library16 = null; this.set_frames(flixel_graphics_frames_FlxAtlasFrames.fromSparrow(Paths.getPath("images/" + "weeb/senpai" + ".png","IMAGE",library16),Paths.getPath("images/" + "weeb/senpai" + ".xml","TEXT",library16))); this.animation.addByPrefix("idle","Senpai Idle",24,false); this.animation.addByPrefix("singUP","SENPAI UP NOTE",24,false); this.animation.addByPrefix("singLEFT","SENPAI LEFT NOTE",24,false); this.animation.addByPrefix("singRIGHT","SENPAI RIGHT NOTE",24,false); this.animation.addByPrefix("singDOWN","SENPAI DOWN NOTE",24,false); this.addOffset("idle"); this.addOffset("singUP",5,37); this.addOffset("singRIGHT"); this.addOffset("singLEFT",40); this.addOffset("singDOWN",14); this.playAnim("idle"); this.setGraphicSize(this.get_width() * 6 | 0); this.updateHitbox(); this.set_antialiasing(false); break; case "senpai-angry": var library17 = null; this.set_frames(flixel_graphics_frames_FlxAtlasFrames.fromSparrow(Paths.getPath("images/" + "weeb/senpai" + ".png","IMAGE",library17),Paths.getPath("images/" + "weeb/senpai" + ".xml","TEXT",library17))); this.animation.addByPrefix("idle","Angry Senpai Idle",24,false); this.animation.addByPrefix("singUP","Angry Senpai UP NOTE",24,false); this.animation.addByPrefix("singLEFT","Angry Senpai LEFT NOTE",24,false); this.animation.addByPrefix("singRIGHT","Angry Senpai RIGHT NOTE",24,false); this.animation.addByPrefix("singDOWN","Angry Senpai DOWN NOTE",24,false); this.addOffset("idle"); this.addOffset("singUP",5,37); this.addOffset("singRIGHT"); this.addOffset("singLEFT",40); this.addOffset("singDOWN",14); this.playAnim("idle"); this.setGraphicSize(this.get_width() * 6 | 0); this.updateHitbox(); this.set_antialiasing(false); break; case "spirit": var library18 = null; this.set_frames(flixel_graphics_frames_FlxAtlasFrames.fromSpriteSheetPacker(Paths.getPath("images/" + "weeb/spirit" + ".png","IMAGE",library18),Paths.getPath("images/" + "weeb/spirit" + ".txt","TEXT",library18))); this.animation.addByPrefix("idle","idle spirit_",24,false); this.animation.addByPrefix("singUP","up_",24,false); this.animation.addByPrefix("singRIGHT","right_",24,false); this.animation.addByPrefix("singLEFT","left_",24,false); this.animation.addByPrefix("singDOWN","spirit down_",24,false); this.addOffset("idle",-220,-280); this.addOffset("singUP",-220,-240); this.addOffset("singRIGHT",-220,-280); this.addOffset("singLEFT",-200,-280); this.addOffset("singDOWN",170,110); this.setGraphicSize(this.get_width() * 6 | 0); this.updateHitbox(); this.playAnim("idle"); this.set_antialiasing(false); break; case "spooky": var library19 = null; tex = flixel_graphics_frames_FlxAtlasFrames.fromSparrow(Paths.getPath("images/" + "spooky_kids_assets" + ".png","IMAGE",library19),Paths.getPath("images/" + "spooky_kids_assets" + ".xml","TEXT",library19)); this.set_frames(tex); this.animation.addByPrefix("singUP","spooky UP NOTE",24,false); this.animation.addByPrefix("singDOWN","spooky DOWN note",24,false); this.animation.addByPrefix("singLEFT","note sing left",24,false); this.animation.addByPrefix("singRIGHT","spooky sing right",24,false); this.animation.addByIndices("danceLeft","spooky dance idle",[0,2,6],"",12,false); this.animation.addByIndices("danceRight","spooky dance idle",[8,10,12,14],"",12,false); this.addOffset("danceLeft"); this.addOffset("danceRight"); this.addOffset("singUP",-20,26); this.addOffset("singRIGHT",-130,-14); this.addOffset("singLEFT",130,-10); this.addOffset("singDOWN",-50,-130); this.playAnim("danceRight"); break; } this.dance(); if(isPlayer) { this.set_flipX(!this.flipX); if(!StringTools.startsWith(this.curCharacter,"bf")) { var _this = this.animation._animations; var oldRight = (__map_reserved["singRIGHT"] != null ? _this.getReserved("singRIGHT") : _this.h["singRIGHT"]).frames; var _this1 = this.animation._animations; var tmp = __map_reserved["singRIGHT"] != null ? _this1.getReserved("singRIGHT") : _this1.h["singRIGHT"]; var _this2 = this.animation._animations; tmp.frames = (__map_reserved["singLEFT"] != null ? _this2.getReserved("singLEFT") : _this2.h["singLEFT"]).frames; var _this3 = this.animation._animations; (__map_reserved["singLEFT"] != null ? _this3.getReserved("singLEFT") : _this3.h["singLEFT"]).frames = oldRight; var _this4 = this.animation._animations; if((__map_reserved["singRIGHTmiss"] != null ? _this4.getReserved("singRIGHTmiss") : _this4.h["singRIGHTmiss"]) != null) { var _this5 = this.animation._animations; var oldMiss = (__map_reserved["singRIGHTmiss"] != null ? _this5.getReserved("singRIGHTmiss") : _this5.h["singRIGHTmiss"]).frames; var _this6 = this.animation._animations; var tmp1 = __map_reserved["singRIGHTmiss"] != null ? _this6.getReserved("singRIGHTmiss") : _this6.h["singRIGHTmiss"]; var _this7 = this.animation._animations; tmp1.frames = (__map_reserved["singLEFTmiss"] != null ? _this7.getReserved("singLEFTmiss") : _this7.h["singLEFTmiss"]).frames; var _this8 = this.animation._animations; (__map_reserved["singLEFTmiss"] != null ? _this8.getReserved("singLEFTmiss") : _this8.h["singLEFTmiss"]).frames = oldMiss; } } } }; $hxClasses["Character"] = Character; Character.__name__ = "Character"; Character.__super__ = flixel_FlxSprite; Character.prototype = $extend(flixel_FlxSprite.prototype,{ animOffsets: null ,debugMode: null ,isPlayer: null ,curCharacter: null ,holdTimer: null ,update: function(elapsed) { if(!StringTools.startsWith(this.curCharacter,"bf")) { if(StringTools.startsWith(this.animation._curAnim.name,"sing")) { this.holdTimer += elapsed; } var dadVar = 4; if(this.curCharacter == "dad") { dadVar = 6.1; } if(this.holdTimer >= Conductor.stepCrochet * dadVar * 0.001) { this.dance(); this.holdTimer = 0; } } if(this.curCharacter == "gf") { if(this.animation._curAnim.name == "hairFall" && this.animation._curAnim.finished) { this.playAnim("danceRight"); } } flixel_FlxSprite.prototype.update.call(this,elapsed); } ,danced: null ,dance: function() { if(!this.debugMode) { switch(this.curCharacter) { case "gf": if(!StringTools.startsWith(this.animation._curAnim.name,"hair")) { this.danced = !this.danced; if(this.danced) { this.playAnim("danceRight"); } else { this.playAnim("danceLeft"); } } break; case "gf-car": if(!StringTools.startsWith(this.animation._curAnim.name,"hair")) { this.danced = !this.danced; if(this.danced) { this.playAnim("danceRight"); } else { this.playAnim("danceLeft"); } } break; case "gf-christmas": if(!StringTools.startsWith(this.animation._curAnim.name,"hair")) { this.danced = !this.danced; if(this.danced) { this.playAnim("danceRight"); } else { this.playAnim("danceLeft"); } } break; case "gf-pixel": if(!StringTools.startsWith(this.animation._curAnim.name,"hair")) { this.danced = !this.danced; if(this.danced) { this.playAnim("danceRight"); } else { this.playAnim("danceLeft"); } } break; case "spooky": this.danced = !this.danced; if(this.danced) { this.playAnim("danceRight"); } else { this.playAnim("danceLeft"); } break; default: this.playAnim("idle"); } } } ,playAnim: function(AnimName,Force,Reversed,Frame) { if(Frame == null) { Frame = 0; } if(Reversed == null) { Reversed = false; } if(Force == null) { Force = false; } this.animation.play(AnimName,Force,Reversed,Frame); var _this = this.animOffsets; var daOffset = __map_reserved[AnimName] != null ? _this.getReserved(AnimName) : _this.h[AnimName]; var _this1 = this.animOffsets; if(__map_reserved[AnimName] != null ? _this1.existsReserved(AnimName) : _this1.h.hasOwnProperty(AnimName)) { this.offset.set(daOffset[0],daOffset[1]); } else { this.offset.set(0,0); } if(this.curCharacter == "gf") { if(AnimName == "singLEFT") { this.danced = true; } else if(AnimName == "singRIGHT") { this.danced = false; } if(AnimName == "singUP" || AnimName == "singDOWN") { this.danced = !this.danced; } } } ,addOffset: function(name,x,y) { if(y == null) { y = 0; } if(x == null) { x = 0; } var v = [x,y]; var _this = this.animOffsets; if(__map_reserved[name] != null) { _this.setReserved(name,v); } else { _this.h[name] = v; } } ,__class__: Character }); var Boyfriend = function(x,y,char) { if(char == null) { char = "bf"; } this.stunned = false; Character.call(this,x,y,char,true); }; $hxClasses["Boyfriend"] = Boyfriend; Boyfriend.__name__ = "Boyfriend"; Boyfriend.__super__ = Character; Boyfriend.prototype = $extend(Character.prototype,{ stunned: null ,update: function(elapsed) { if(!this.debugMode) { if(StringTools.startsWith(this.animation._curAnim.name,"sing")) { this.holdTimer += elapsed; } else { this.holdTimer = 0; } if(StringTools.endsWith(this.animation._curAnim.name,"miss") && this.animation._curAnim.finished && !this.debugMode) { this.playAnim("idle",true,false,10); } if(this.animation._curAnim.name == "firstDeath" && this.animation._curAnim.finished) { this.playAnim("deathLoop"); } } Character.prototype.update.call(this,elapsed); } ,__class__: Boyfriend }); var flixel_group_FlxTypedGroup = function(MaxSize) { if(MaxSize == null) { MaxSize = 0; } this._marker = 0; this.length = 0; flixel_FlxBasic.call(this); this.members = []; this.set_maxSize(Math.abs(MaxSize) | 0); this.flixelType = 2; }; $hxClasses["flixel.group.FlxTypedGroup"] = flixel_group_FlxTypedGroup; flixel_group_FlxTypedGroup.__name__ = "flixel.group.FlxTypedGroup"; flixel_group_FlxTypedGroup.overlaps = function(Callback,Group,X,Y,InScreenSpace,Camera) { var result = false; if(Group != null) { var i = 0; var l = Group.length; var basic; while(i < l) { basic = Group.members[i++]; if(basic != null && Callback(basic,X,Y,InScreenSpace,Camera)) { result = true; break; } } } return result; }; flixel_group_FlxTypedGroup.resolveGroup = function(ObjectOrGroup) { var group = null; if(ObjectOrGroup != null) { if(ObjectOrGroup.flixelType == 2) { group = ObjectOrGroup; } else if(ObjectOrGroup.flixelType == 4) { var spriteGroup = ObjectOrGroup; group = spriteGroup.group; } } return group; }; flixel_group_FlxTypedGroup.__super__ = flixel_FlxBasic; flixel_group_FlxTypedGroup.prototype = $extend(flixel_FlxBasic.prototype,{ members: null ,maxSize: null ,length: null ,_memberAdded: null ,_memberRemoved: null ,_marker: null ,destroy: function() { flixel_FlxBasic.prototype.destroy.call(this); flixel_util_FlxDestroyUtil.destroy(this._memberAdded); flixel_util_FlxDestroyUtil.destroy(this._memberRemoved); if(this.members != null) { var i = 0; var basic = null; while(i < this.length) { basic = this.members[i++]; if(basic != null) { basic.destroy(); } } this.members = null; } } ,update: function(elapsed) { var i = 0; var basic = null; while(i < this.length) { basic = this.members[i++]; if(basic != null && basic.exists && basic.active) { basic.update(elapsed); } } } ,draw: function() { var i = 0; var basic = null; var oldDefaultCameras = flixel_FlxCamera._defaultCameras; if(this.get_cameras() != null) { flixel_FlxCamera._defaultCameras = this.get_cameras(); } while(i < this.length) { basic = this.members[i++]; if(basic != null && basic.exists && basic.visible) { basic.draw(); } } flixel_FlxCamera._defaultCameras = oldDefaultCameras; } ,add: function(Object1) { if(Object1 == null) { return null; } if(this.members.indexOf(Object1) >= 0) { return Object1; } var index = this.getFirstNull(); if(index != -1) { this.members[index] = Object1; if(index >= this.length) { this.length = index + 1; } if(this._memberAdded != null) { this._memberAdded.dispatch(Object1); } return Object1; } if(this.maxSize > 0 && this.length >= this.maxSize) { return Object1; } this.members.push(Object1); this.length++; if(this._memberAdded != null) { this._memberAdded.dispatch(Object1); } return Object1; } ,insert: function(position,object) { if(object == null) { return null; } if(this.members.indexOf(object) >= 0) { return object; } if(position < this.length && this.members[position] == null) { this.members[position] = object; if(this._memberAdded != null) { this._memberAdded.dispatch(object); } return object; } if(this.maxSize > 0 && this.length >= this.maxSize) { return object; } this.members.splice(position,0,object); this.length++; if(this._memberAdded != null) { this._memberAdded.dispatch(object); } return object; } ,recycle: function(ObjectClass,ObjectFactory,Force,Revive) { if(Revive == null) { Revive = true; } if(Force == null) { Force = false; } var basic = null; if(this.maxSize > 0) { if(this.length < this.maxSize) { var object = null; if(ObjectFactory != null) { object = ObjectFactory(); this.add(object); } else if(ObjectClass != null) { object = Type.createInstance(ObjectClass,[]); this.add(object); } return object; } else { basic = this.members[this._marker++]; if(this._marker >= this.maxSize) { this._marker = 0; } if(Revive) { basic.revive(); } return basic; } } else { basic = this.getFirstAvailable(ObjectClass,Force); if(basic != null) { if(Revive) { basic.revive(); } return basic; } var object1 = null; if(ObjectFactory != null) { object1 = ObjectFactory(); this.add(object1); } else if(ObjectClass != null) { object1 = Type.createInstance(ObjectClass,[]); this.add(object1); } return object1; } } ,recycleCreateObject: function(ObjectClass,ObjectFactory) { var object = null; if(ObjectFactory != null) { object = ObjectFactory(); this.add(object); } else if(ObjectClass != null) { object = Type.createInstance(ObjectClass,[]); this.add(object); } return object; } ,remove: function(Object1,Splice) { if(Splice == null) { Splice = false; } if(this.members == null) { return null; } var index = this.members.indexOf(Object1); if(index < 0) { return null; } if(Splice) { this.members.splice(index,1); this.length--; } else { this.members[index] = null; } if(this._memberRemoved != null) { this._memberRemoved.dispatch(Object1); } return Object1; } ,replace: function(OldObject,NewObject) { var index = this.members.indexOf(OldObject); if(index < 0) { return null; } this.members[index] = NewObject; if(this._memberRemoved != null) { this._memberRemoved.dispatch(OldObject); } if(this._memberAdded != null) { this._memberAdded.dispatch(NewObject); } return NewObject; } ,sort: function(Function1,Order) { if(Order == null) { Order = -1; } var f = Function1; var a1 = Order; var tmp = function(a2,a3) { return f(a1,a2,a3); }; this.members.sort(tmp); } ,getFirstAvailable: function(ObjectClass,Force) { if(Force == null) { Force = false; } var i = 0; var basic = null; while(i < this.length) { basic = this.members[i++]; if(basic != null && !basic.exists && (ObjectClass == null || js_Boot.__instanceof(basic,ObjectClass))) { var tmp; if(Force) { var c = js_Boot.getClass(basic); tmp = c.__name__ != ObjectClass.__name__; } else { tmp = false; } if(tmp) { continue; } return this.members[i - 1]; } } return null; } ,getFirstNull: function() { var i = 0; while(i < this.length) { if(this.members[i] == null) { return i; } ++i; } return -1; } ,getFirstExisting: function() { var i = 0; var basic = null; while(i < this.length) { basic = this.members[i++]; if(basic != null && basic.exists) { return basic; } } return null; } ,getFirstAlive: function() { var i = 0; var basic = null; while(i < this.length) { basic = this.members[i++]; if(basic != null && basic.exists && basic.alive) { return basic; } } return null; } ,getFirstDead: function() { var i = 0; var basic = null; while(i < this.length) { basic = this.members[i++]; if(basic != null && !basic.alive) { return basic; } } return null; } ,countLiving: function() { var i = 0; var count = -1; var basic = null; while(i < this.length) { basic = this.members[i++]; if(basic != null) { if(count < 0) { count = 0; } if(basic.exists && basic.alive) { ++count; } } } return count; } ,countDead: function() { var i = 0; var count = -1; var basic = null; while(i < this.length) { basic = this.members[i++]; if(basic != null) { if(count < 0) { count = 0; } if(!basic.alive) { ++count; } } } return count; } ,getRandom: function(StartIndex,Length) { if(Length == null) { Length = 0; } if(StartIndex == null) { StartIndex = 0; } if(StartIndex < 0) { StartIndex = 0; } if(Length <= 0) { Length = this.length; } return flixel_FlxG.random.getObject_flixel_group_FlxTypedGroup_T(this.members,null,StartIndex,Length); } ,clear: function() { this.length = 0; if(this._memberRemoved != null) { var _g = 0; var _g1 = this.members; while(_g < _g1.length) { var member = _g1[_g]; ++_g; if(member != null) { this._memberRemoved.dispatch(member); } } } flixel_util_FlxArrayUtil.clearArray(this.members); } ,kill: function() { var i = 0; var basic = null; while(i < this.length) { basic = this.members[i++]; if(basic != null && basic.exists) { basic.kill(); } } flixel_FlxBasic.prototype.kill.call(this); } ,revive: function() { var i = 0; var basic = null; while(i < this.length) { basic = this.members[i++]; if(basic != null && !basic.exists) { basic.revive(); } } flixel_FlxBasic.prototype.revive.call(this); } ,iterator: function(filter) { return new flixel_group_FlxTypedGroupIterator(this.members,filter); } ,forEach: function(Function1,Recurse) { if(Recurse == null) { Recurse = false; } var i = 0; var basic = null; while(i < this.length) { basic = this.members[i++]; if(basic != null) { if(Recurse) { var group = flixel_group_FlxTypedGroup.resolveGroup(basic); if(group != null) { group.forEach(Function1,Recurse); } } Function1(basic); } } } ,forEachAlive: function(Function1,Recurse) { if(Recurse == null) { Recurse = false; } var i = 0; var basic = null; while(i < this.length) { basic = this.members[i++]; if(basic != null && basic.exists && basic.alive) { if(Recurse) { var group = flixel_group_FlxTypedGroup.resolveGroup(basic); if(group != null) { group.forEachAlive(Function1,Recurse); } } Function1(basic); } } } ,forEachDead: function(Function1,Recurse) { if(Recurse == null) { Recurse = false; } var i = 0; var basic = null; while(i < this.length) { basic = this.members[i++]; if(basic != null && !basic.alive) { if(Recurse) { var group = flixel_group_FlxTypedGroup.resolveGroup(basic); if(group != null) { group.forEachDead(Function1,Recurse); } } Function1(basic); } } } ,forEachExists: function(Function1,Recurse) { if(Recurse == null) { Recurse = false; } var i = 0; var basic = null; while(i < this.length) { basic = this.members[i++]; if(basic != null && basic.exists) { if(Recurse) { var group = flixel_group_FlxTypedGroup.resolveGroup(basic); if(group != null) { group.forEachExists(Function1,Recurse); } } Function1(basic); } } } ,forEachOfType: function(ObjectClass,Function1,Recurse) { if(Recurse == null) { Recurse = false; } var i = 0; var basic = null; while(i < this.length) { basic = this.members[i++]; if(basic != null) { if(Recurse) { var group = flixel_group_FlxTypedGroup.resolveGroup(basic); if(group != null) { group.forEachOfType(ObjectClass,Function1,Recurse); } } if(js_Boot.__instanceof(basic,ObjectClass)) { Function1(basic); } } } } ,set_maxSize: function(Size) { this.maxSize = Math.abs(Size) | 0; if(this._marker >= this.maxSize) { this._marker = 0; } if(this.maxSize == 0 || this.members == null || this.maxSize >= this.length) { return this.maxSize; } var i = this.maxSize; var l = this.length; var basic = null; while(i < l) { basic = this.members[i++]; if(basic != null) { if(this._memberRemoved != null) { this._memberRemoved.dispatch(basic); } basic.destroy(); } } flixel_util_FlxArrayUtil.setLength_flixel_group_FlxTypedGroup_T(this.members,this.maxSize); this.length = this.members.length; return this.maxSize; } ,get_memberAdded: function() { if(this._memberAdded == null) { this._memberAdded = new flixel_util__$FlxSignal_FlxSignal1(); } return this._memberAdded; } ,get_memberRemoved: function() { if(this._memberRemoved == null) { this._memberRemoved = new flixel_util__$FlxSignal_FlxSignal1(); } return this._memberRemoved; } ,__class__: flixel_group_FlxTypedGroup ,__properties__: $extend(flixel_FlxBasic.prototype.__properties__,{get_memberRemoved:"get_memberRemoved",get_memberAdded:"get_memberAdded",set_maxSize:"set_maxSize"}) }); var flixel_FlxState = function(MaxSize) { this._requestSubStateReset = false; this.destroySubStates = true; this.persistentDraw = true; this.persistentUpdate = false; flixel_group_FlxTypedGroup.call(this,MaxSize); }; $hxClasses["flixel.FlxState"] = flixel_FlxState; flixel_FlxState.__name__ = "flixel.FlxState"; flixel_FlxState.__super__ = flixel_group_FlxTypedGroup; flixel_FlxState.prototype = $extend(flixel_group_FlxTypedGroup.prototype,{ persistentUpdate: null ,persistentDraw: null ,destroySubStates: null ,subState: null ,_requestedSubState: null ,_requestSubStateReset: null ,_subStateOpened: null ,_subStateClosed: null ,create: function() { } ,draw: function() { if(this.persistentDraw || this.subState == null) { flixel_group_FlxTypedGroup.prototype.draw.call(this); } if(this.subState != null) { this.subState.draw(); } } ,openSubState: function(SubState) { this._requestSubStateReset = true; this._requestedSubState = SubState; } ,closeSubState: function() { this._requestSubStateReset = true; } ,resetSubState: function() { if(this.subState != null) { if(this.subState.closeCallback != null) { this.subState.closeCallback(); } if(this._subStateClosed != null) { this._subStateClosed.dispatch(this.subState); } if(this.destroySubStates) { this.subState.destroy(); } } this.subState = this._requestedSubState; this._requestedSubState = null; if(this.subState != null) { if(!this.persistentUpdate) { flixel_FlxG.inputs.onStateSwitch(); } this.subState._parentState = this; if(!this.subState._created) { this.subState._created = true; this.subState.create(); } if(this.subState.openCallback != null) { this.subState.openCallback(); } if(this._subStateOpened != null) { this._subStateOpened.dispatch(this.subState); } } } ,destroy: function() { flixel_util_FlxDestroyUtil.destroy(this._subStateOpened); flixel_util_FlxDestroyUtil.destroy(this._subStateClosed); if(this.subState != null) { this.subState.destroy(); this.subState = null; } flixel_group_FlxTypedGroup.prototype.destroy.call(this); } ,switchTo: function(nextState) { return true; } ,onFocusLost: function() { } ,onFocus: function() { } ,onResize: function(Width,Height) { } ,tryUpdate: function(elapsed) { if(this.persistentUpdate || this.subState == null) { this.update(elapsed); } if(this._requestSubStateReset) { this._requestSubStateReset = false; this.resetSubState(); } if(this.subState != null) { this.subState.tryUpdate(elapsed); } } ,get_bgColor: function() { return flixel_FlxG.cameras.get_bgColor(); } ,set_bgColor: function(Value) { return flixel_FlxG.cameras.set_bgColor(Value); } ,get_subStateOpened: function() { if(this._subStateOpened == null) { this._subStateOpened = new flixel_util__$FlxSignal_FlxSignal1(); } return this._subStateOpened; } ,get_subStateClosed: function() { if(this._subStateClosed == null) { this._subStateClosed = new flixel_util__$FlxSignal_FlxSignal1(); } return this._subStateClosed; } ,__class__: flixel_FlxState ,__properties__: $extend(flixel_group_FlxTypedGroup.prototype.__properties__,{get_subStateClosed:"get_subStateClosed",get_subStateOpened:"get_subStateOpened",set_bgColor:"set_bgColor",get_bgColor:"get_bgColor"}) }); var flixel_addons_transition_FlxTransitionableState = function(TransIn,TransOut) { this._exiting = false; this.transOutFinished = false; this.transIn = TransIn; this.transOut = TransOut; if(this.transIn == null && flixel_addons_transition_FlxTransitionableState.defaultTransIn != null) { this.transIn = flixel_addons_transition_FlxTransitionableState.defaultTransIn; } if(this.transOut == null && flixel_addons_transition_FlxTransitionableState.defaultTransOut != null) { this.transOut = flixel_addons_transition_FlxTransitionableState.defaultTransOut; } flixel_FlxState.call(this); }; $hxClasses["flixel.addons.transition.FlxTransitionableState"] = flixel_addons_transition_FlxTransitionableState; flixel_addons_transition_FlxTransitionableState.__name__ = "flixel.addons.transition.FlxTransitionableState"; flixel_addons_transition_FlxTransitionableState.__super__ = flixel_FlxState; flixel_addons_transition_FlxTransitionableState.prototype = $extend(flixel_FlxState.prototype,{ transIn: null ,transOut: null ,destroy: function() { flixel_FlxState.prototype.destroy.call(this); this.transIn = null; this.transOut = null; this._onExit = null; } ,create: function() { flixel_FlxState.prototype.create.call(this); this.transitionIn(); } ,switchTo: function(nextState) { if(!this.get_hasTransOut()) { return true; } if(!this._exiting) { this.transitionToState(nextState); } return this.transOutFinished; } ,transitionToState: function(nextState) { this._exiting = true; this.transitionOut(function() { if(flixel_FlxG.game._state.switchTo(nextState)) { flixel_FlxG.game._requestedState = nextState; } }); if(flixel_addons_transition_FlxTransitionableState.skipNextTransOut) { flixel_addons_transition_FlxTransitionableState.skipNextTransOut = false; this.finishTransOut(); } } ,transitionIn: function() { if(this.transIn != null && this.transIn.type != "none") { if(flixel_addons_transition_FlxTransitionableState.skipNextTransIn) { flixel_addons_transition_FlxTransitionableState.skipNextTransIn = false; if(this.finishTransIn != null) { this.finishTransIn(); } return; } var _trans = this.createTransition(this.transIn); _trans.setStatus(3); this.openSubState(_trans); _trans.set_finishCallback($bind(this,this.finishTransIn)); _trans.start(1); } } ,transitionOut: function(OnExit) { this._onExit = OnExit; if(this.get_hasTransOut()) { var _trans = this.createTransition(this.transOut); _trans.setStatus(2); this.openSubState(_trans); _trans.set_finishCallback($bind(this,this.finishTransOut)); _trans.start(0); } else { this._onExit(); } } ,transOutFinished: null ,_exiting: null ,_onExit: null ,get_hasTransIn: function() { if(this.transIn != null) { return this.transIn.type != "none"; } else { return false; } } ,get_hasTransOut: function() { if(this.transOut != null) { return this.transOut.type != "none"; } else { return false; } } ,createTransition: function(data) { switch(data.type) { case "fade": return new flixel_addons_transition_Transition(data); case "tiles": return new flixel_addons_transition_Transition(data); default: return null; } } ,finishTransIn: function() { this.closeSubState(); } ,finishTransOut: function() { this.transOutFinished = true; if(!this._exiting) { this.closeSubState(); } if(this._onExit != null) { this._onExit(); } } ,__class__: flixel_addons_transition_FlxTransitionableState ,__properties__: $extend(flixel_FlxState.prototype.__properties__,{get_hasTransOut:"get_hasTransOut",get_hasTransIn:"get_hasTransIn"}) }); var flixel_addons_ui_interfaces_IEventGetter = function() { }; $hxClasses["flixel.addons.ui.interfaces.IEventGetter"] = flixel_addons_ui_interfaces_IEventGetter; flixel_addons_ui_interfaces_IEventGetter.__name__ = "flixel.addons.ui.interfaces.IEventGetter"; flixel_addons_ui_interfaces_IEventGetter.__isInterface__ = true; flixel_addons_ui_interfaces_IEventGetter.prototype = { getEvent: null ,getRequest: null ,__class__: flixel_addons_ui_interfaces_IEventGetter }; var flixel_addons_ui_interfaces_IFlxUIState = function() { }; $hxClasses["flixel.addons.ui.interfaces.IFlxUIState"] = flixel_addons_ui_interfaces_IFlxUIState; flixel_addons_ui_interfaces_IFlxUIState.__name__ = "flixel.addons.ui.interfaces.IFlxUIState"; flixel_addons_ui_interfaces_IFlxUIState.__isInterface__ = true; flixel_addons_ui_interfaces_IFlxUIState.__interfaces__ = [flixel_addons_ui_interfaces_IEventGetter]; flixel_addons_ui_interfaces_IFlxUIState.prototype = { forceFocus: null ,tooltips: null ,cursor: null ,_tongue: null ,__class__: flixel_addons_ui_interfaces_IFlxUIState }; var flixel_addons_ui_FlxUIState = function(TransIn,TransOut) { this.getTextFallback = null; this._reload_countdown = 0; this._reload = false; this.reload_ui_on_resize = false; this._xml_id = ""; this._cursorHidden = false; this.hideCursorOnSubstate = false; this.cursor = null; flixel_addons_transition_FlxTransitionableState.call(this,TransIn,TransOut); }; $hxClasses["flixel.addons.ui.FlxUIState"] = flixel_addons_ui_FlxUIState; flixel_addons_ui_FlxUIState.__name__ = "flixel.addons.ui.FlxUIState"; flixel_addons_ui_FlxUIState.__interfaces__ = [flixel_addons_ui_interfaces_IFlxUIState,flixel_addons_ui_interfaces_IEventGetter]; flixel_addons_ui_FlxUIState.__super__ = flixel_addons_transition_FlxTransitionableState; flixel_addons_ui_FlxUIState.prototype = $extend(flixel_addons_transition_FlxTransitionableState.prototype,{ destroyed: null ,cursor: null ,hideCursorOnSubstate: null ,_cursorHidden: null ,tooltips: null ,_xml_id: null ,_makeCursor: null ,_ui_vars: null ,_ui: null ,_tongue: null ,reload_ui_on_resize: null ,_reload: null ,_reload_countdown: null ,getTextFallback: null ,create: function() { if(flixel_addons_ui_FlxUIState.static_tongue != null) { this._tongue = flixel_addons_ui_FlxUIState.static_tongue; } if(this._makeCursor == true) { this.cursor = this.createCursor(); } this.tooltips = new flixel_addons_ui_FlxUITooltipManager(this); var liveFile = null; this._ui = this.createUI(null,this,null,this._tongue); this.add(this._ui); if(this.getTextFallback != null) { this._ui.getTextFallback = this.getTextFallback; } if(this._xml_id != null && this._xml_id != "") { var data = null; var errorMsg = ""; if(liveFile == null) { try { data = flixel_addons_ui_U.xml(this._xml_id); } catch( msg ) { haxe_CallStack.lastException = msg; var msg1 = ((msg) instanceof js__$Boot_HaxeError) ? msg.val : msg; if(typeof(msg1) == "string") { errorMsg = msg1; } else { throw msg; } } if(data == null) { try { data = flixel_addons_ui_U.xml(this._xml_id,"xml",true,""); } catch( msg2 ) { haxe_CallStack.lastException = msg2; var msg21 = ((msg2) instanceof js__$Boot_HaxeError) ? msg2.val : msg2; if(typeof(msg21) == "string") { errorMsg += ", " + msg21; } else { throw msg2; } } } } if(data == null) { if(liveFile != null) { this.loadUIFromData(liveFile); } } else { this.loadUIFromData(data); } } else { this.loadUIFromData(null); } if(this.cursor != null && this._ui != null) { this.add(this.cursor); this.cursor.addWidgetsFromUI(this._ui); this.cursor.findVisibleLocation(0); } this.tooltips.init(); flixel_addons_transition_FlxTransitionableState.prototype.create.call(this); this.cleanup(); } ,update: function(elapsed) { flixel_addons_transition_FlxTransitionableState.prototype.update.call(this,elapsed); if(this.tooltips != null) { this.tooltips.update(elapsed); } if(this._reload) { if(this._reload_countdown > 0) { this._reload_countdown--; if(this._reload_countdown == 0) { this.reloadUI(); } } } } ,cleanup: function() { this._ui.cleanup(); } ,_cleanupUIVars: function() { if(this._ui_vars != null) { var key = this._ui_vars.keys(); while(key.hasNext()) { var key1 = key.next(); this._ui_vars.remove(key1); } this._ui_vars = null; } } ,setUIVariable: function(key,value) { if(this._ui != null) { this._ui.setVariable(key,value); } else { if(this._ui_vars == null) { this._ui_vars = new haxe_ds_StringMap(); } var _this = this._ui_vars; if(__map_reserved[key] != null) { _this.setReserved(key,value); } else { _this.h[key] = value; } } } ,resizeScreen: function(width,height) { if(height == null) { height = 600; } if(width == null) { width = 800; } } ,openSubState: function(SubState) { if(this.cursor != null && this.hideCursorOnSubstate && this.cursor.visible == true) { this._cursorHidden = true; this.cursor.set_visible(false); } flixel_addons_transition_FlxTransitionableState.prototype.openSubState.call(this,SubState); } ,closeSubState: function() { if(this.cursor != null && this.hideCursorOnSubstate && this._cursorHidden) { this._cursorHidden = false; this.cursor.set_visible(true); } flixel_addons_transition_FlxTransitionableState.prototype.closeSubState.call(this); } ,onResize: function(Width,Height) { if(this.reload_ui_on_resize) { flixel_FlxG.scaleMode.onMeasure(Width,Height); this._reload_countdown = 1; this._reload = true; } } ,onShowTooltip: function(t) { } ,destroy: function() { this.destroyed = true; if(this._ui != null) { this._ui.destroy(); this.remove(this._ui,true); this._ui = null; } if(this.tooltips != null) { this.tooltips.destroy(); this.tooltips = null; } flixel_addons_transition_FlxTransitionableState.prototype.destroy.call(this); } ,forceFocus: function(b,thing) { if(this._ui != null) { if(b) { this._ui.set_focus(thing); } else { this._ui.set_focus(null); } } } ,onCursorEvent: function(code,target) { this.getEvent(code,target,null); } ,getEvent: function(id,sender,data,params) { } ,getRequest: function(id,sender,data,params) { return null; } ,getText: function(Flag,Context,Safe) { if(Safe == null) { Safe = true; } if(Context == null) { Context = "ui"; } if(this._tongue != null) { return this._tongue.get(Flag,Context,Safe); } if(this.getTextFallback != null) { return this.getTextFallback(Flag,Context,Safe); } return Flag; } ,createCursor: function() { return new flixel_addons_ui_FlxUICursor($bind(this,this.onCursorEvent)); } ,createUI: function(data,ptr,superIndex_,tongue_,liveFilePath_) { if(liveFilePath_ == null) { liveFilePath_ = ""; } var flxui = new flixel_addons_ui_FlxUI(data,ptr,superIndex_,tongue_,liveFilePath_,this._ui_vars); this._cleanupUIVars(); return flxui; } ,loadUIFromData: function(data) { this._ui.load(data); } ,reloadUI: function(e) { if(this._ui != null) { this.remove(this._ui,true); this._ui.destroy(); this._ui = null; } this._ui = this.createUI(null,this,null,this._tongue); this.add(this._ui); var data = flixel_addons_ui_U.xml(this._xml_id); if(data != null) { this.loadUIFromData(data); } this._reload = false; this._reload_countdown = 0; } ,__class__: flixel_addons_ui_FlxUIState }); var MusicBeatState = function(TransIn,TransOut) { this.curBeat = 0; this.curStep = 0; this.lastStep = 0; this.lastBeat = 0; flixel_addons_ui_FlxUIState.call(this,TransIn,TransOut); }; $hxClasses["MusicBeatState"] = MusicBeatState; MusicBeatState.__name__ = "MusicBeatState"; MusicBeatState.__super__ = flixel_addons_ui_FlxUIState; MusicBeatState.prototype = $extend(flixel_addons_ui_FlxUIState.prototype,{ lastBeat: null ,lastStep: null ,curStep: null ,curBeat: null ,get_controls: function() { return PlayerSettings.player1.controls; } ,create: function() { if(this.transIn != null) { haxe_Log.trace("reg " + Std.string(this.transIn.region),{ fileName : "source/MusicBeatState.hx", lineNumber : 25, className : "MusicBeatState", methodName : "create"}); } flixel_addons_ui_FlxUIState.prototype.create.call(this); } ,update: function(elapsed) { var oldStep = this.curStep; this.updateCurStep(); this.updateBeat(); if(oldStep != this.curStep && this.curStep > 0) { this.stepHit(); } flixel_addons_ui_FlxUIState.prototype.update.call(this,elapsed); } ,updateBeat: function() { this.curBeat = Math.floor(this.curStep / 4); } ,updateCurStep: function() { var lastChange = { stepTime : 0, songTime : 0, bpm : 0}; var _g = 0; var _g1 = Conductor.bpmChangeMap.length; while(_g < _g1) { var i = _g++; if(Conductor.songPosition >= Conductor.bpmChangeMap[i].songTime) { lastChange = Conductor.bpmChangeMap[i]; } } this.curStep = lastChange.stepTime + Math.floor((Conductor.songPosition - lastChange.songTime) / Conductor.stepCrochet); } ,stepHit: function() { if(this.curStep % 4 == 0) { this.beatHit(); } } ,beatHit: function() { } ,__class__: MusicBeatState ,__properties__: $extend(flixel_addons_ui_FlxUIState.prototype.__properties__,{get_controls:"get_controls"}) }); var ChartingState = function(TransIn,TransOut) { this.daSpacing = 0.3; this.writingNotes = false; this.updatedSection = false; this.tempBpm = 0; this.GRID_SIZE = 40; this.amountSteps = 0; this.curSong = "Dadbattle"; this.curSection = 0; MusicBeatState.call(this,TransIn,TransOut); }; $hxClasses["ChartingState"] = ChartingState; ChartingState.__name__ = "ChartingState"; ChartingState.__super__ = MusicBeatState; ChartingState.prototype = $extend(MusicBeatState.prototype,{ _file: null ,UI_box: null ,curSection: null ,bpmTxt: null ,strumLine: null ,curSong: null ,amountSteps: null ,bullshitUI: null ,writingNotesText: null ,highlight: null ,GRID_SIZE: null ,dummyArrow: null ,curRenderedNotes: null ,curRenderedSustains: null ,gridBG: null ,_song: null ,typingShit: null ,curSelectedNote: null ,tempBpm: null ,gridBlackLine: null ,vocals: null ,leftIcon: null ,rightIcon: null ,create: function() { this.curSection = ChartingState.lastSection; this.gridBG = flixel_addons_display_FlxGridOverlay.create(this.GRID_SIZE,this.GRID_SIZE,this.GRID_SIZE * 8,this.GRID_SIZE * 16); this.add(this.gridBG); this.leftIcon = new HealthIcon("bf"); this.rightIcon = new HealthIcon("dad"); this.leftIcon.scrollFactor.set(1,1); this.rightIcon.scrollFactor.set(1,1); this.leftIcon.setGraphicSize(0,45); this.rightIcon.setGraphicSize(0,45); this.add(this.leftIcon); this.add(this.rightIcon); this.leftIcon.setPosition(0,-100); this.rightIcon.setPosition(this.gridBG.get_width() / 2,-100); this.gridBlackLine = new flixel_FlxSprite(this.gridBG.x + this.gridBG.get_width() / 2).makeGraphic(2,this.gridBG.get_height() | 0,-16777216); this.add(this.gridBlackLine); this.curRenderedNotes = new flixel_group_FlxTypedGroup(); this.curRenderedSustains = new flixel_group_FlxTypedGroup(); if(PlayState.SONG != null) { this._song = PlayState.SONG; } else { this._song = { song : "Test", notes : [], bpm : 150, needsVoices : true, player1 : "bf", player2 : "dad", speed : 1, validScore : false}; } flixel_FlxG.mouse.set_visible(true); flixel_FlxG.save.bind("funkin","ninjamuffin99"); this.tempBpm = this._song.bpm; this.addSection(); this.updateGrid(); this.loadSong(this._song.song); Conductor.changeBPM(this._song.bpm); Conductor.mapBPMChanges(this._song); this.bpmTxt = new flixel_text_FlxText(1000,50,0,"",16); this.bpmTxt.scrollFactor.set(); this.add(this.bpmTxt); this.strumLine = new flixel_FlxSprite(0,50).makeGraphic(flixel_FlxG.width / 2 | 0,4); this.add(this.strumLine); this.dummyArrow = new flixel_FlxSprite().makeGraphic(this.GRID_SIZE,this.GRID_SIZE); this.add(this.dummyArrow); var tabs = [{ name : "Song", label : "Song"},{ name : "Section", label : "Section"},{ name : "Note", label : "Note"}]; this.UI_box = new flixel_addons_ui_FlxUITabMenu(null,null,tabs,null,true); this.UI_box.resize(300,400); this.UI_box.set_x(flixel_FlxG.width / 2); this.UI_box.set_y(20); this.add(this.UI_box); this.addSongUI(); this.addSectionUI(); this.addNoteUI(); this.add(this.curRenderedNotes); this.add(this.curRenderedSustains); MusicBeatState.prototype.create.call(this); } ,addSongUI: function() { var _gthis = this; var UI_songTitle = new flixel_addons_ui_FlxUIInputText(10,10,70,this._song.song,8); this.typingShit = UI_songTitle; var check_voices = new flixel_addons_ui_FlxUICheckBox(10,25,null,null,"Has voice track",100); check_voices.set_checked(this._song.needsVoices); check_voices.callback = function() { _gthis._song.needsVoices = check_voices.checked; haxe_Log.trace("CHECKED!",{ fileName : "source/ChartingState.hx", lineNumber : 190, className : "ChartingState", methodName : "addSongUI"}); }; var check_mute_inst = new flixel_addons_ui_FlxUICheckBox(10,200,null,null,"Mute Instrumental (in editor)",100); check_mute_inst.set_checked(false); check_mute_inst.callback = function() { var vol = 1; if(check_mute_inst.checked) { vol = 0; } flixel_FlxG.sound.music.set_volume(vol); }; var saveButton = new flixel_ui_FlxButton(110,8,"Save",function() { _gthis.saveLevel(); }); var reloadSong = new flixel_ui_FlxButton(saveButton.x + saveButton.get_width() + 10,saveButton.y,"Reload Audio",function() { _gthis.loadSong(_gthis._song.song); }); var reloadSongJson = new flixel_ui_FlxButton(reloadSong.x,saveButton.y + 30,"Reload JSON",function() { _gthis.loadJson(_gthis._song.song.toLowerCase()); }); var restart = new flixel_ui_FlxButton(10,140,"Reset",function() { var _g = 0; var _g1 = _gthis._song.notes.length; while(_g < _g1) { var ii = _g++; var _g2 = 0; var _g11 = _gthis._song.notes[ii].sectionNotes.length; while(_g2 < _g11) { var i = _g2++; _gthis._song.notes[ii].sectionNotes = []; } } _gthis.resetSection(true); }); var loadAutosaveBtn = new flixel_ui_FlxButton(reloadSongJson.x,reloadSongJson.y + 30,"load autosave",$bind(this,this.loadAutosave)); var stepperSpeed = new flixel_addons_ui_FlxUINumericStepper(10,80,0.1,1,0.1,10,1); stepperSpeed.set_value(this._song.speed); stepperSpeed.name = "song_speed"; var stepperBPM = new flixel_addons_ui_FlxUINumericStepper(10,65,0.1,1,1.0,5000.0,1); stepperBPM.set_value(Conductor.bpm); stepperBPM.name = "song_bpm"; var characters = CoolUtil.coolTextFile(Paths.getPath("data/" + "characterList" + ".txt","TEXT",null)); var player1DropDown = new flixel_addons_ui_FlxUIDropDownMenu(10,100,flixel_addons_ui_FlxUIDropDownMenu.makeStrIdLabelArray(characters,true),function(character) { _gthis._song.player1 = characters[Std.parseInt(character)]; }); player1DropDown.set_selectedLabel(this._song.player1); var player2DropDown = new flixel_addons_ui_FlxUIDropDownMenu(140,100,flixel_addons_ui_FlxUIDropDownMenu.makeStrIdLabelArray(characters,true),function(character1) { _gthis._song.player2 = characters[Std.parseInt(character1)]; }); player2DropDown.set_selectedLabel(this._song.player2); var tab_group_song = new flixel_addons_ui_FlxUI(null,this.UI_box); tab_group_song.name = "Song"; tab_group_song.add(UI_songTitle); tab_group_song.add(restart); tab_group_song.add(check_voices); tab_group_song.add(check_mute_inst); tab_group_song.add(saveButton); tab_group_song.add(reloadSong); tab_group_song.add(reloadSongJson); tab_group_song.add(loadAutosaveBtn); tab_group_song.add(stepperBPM); tab_group_song.add(stepperSpeed); tab_group_song.add(player1DropDown); tab_group_song.add(player2DropDown); this.UI_box.addGroup(tab_group_song); this.UI_box.scrollFactor.set(); flixel_FlxG.camera.follow(this.strumLine); } ,stepperLength: null ,check_mustHitSection: null ,check_changeBPM: null ,stepperSectionBPM: null ,check_altAnim: null ,addSectionUI: function() { var _gthis = this; var tab_group_section = new flixel_addons_ui_FlxUI(null,this.UI_box); tab_group_section.name = "Section"; this.stepperLength = new flixel_addons_ui_FlxUINumericStepper(10,10,4,0,0,999,0); this.stepperLength.set_value(this._song.notes[this.curSection].lengthInSteps); this.stepperLength.name = "section_length"; this.stepperSectionBPM = new flixel_addons_ui_FlxUINumericStepper(10,80,1,Conductor.bpm,0,999,0); this.stepperSectionBPM.set_value(Conductor.bpm); this.stepperSectionBPM.name = "section_bpm"; var stepperCopy = new flixel_addons_ui_FlxUINumericStepper(110,130,1,1,-999,999,0); var copyButton = new flixel_ui_FlxButton(10,130,"Copy last section",function() { _gthis.copySection(stepperCopy.value | 0); }); var clearSectionButton = new flixel_ui_FlxButton(10,150,"Clear",$bind(this,this.clearSection)); var swapSection = new flixel_ui_FlxButton(10,170,"Swap section",function() { var _g = 0; var _g1 = _gthis._song.notes[_gthis.curSection].sectionNotes.length; while(_g < _g1) { var i = _g++; var note = _gthis._song.notes[_gthis.curSection].sectionNotes[i]; note[1] = (note[1] + 4) % 8; _gthis._song.notes[_gthis.curSection].sectionNotes[i] = note; _gthis.updateGrid(); } }); this.check_mustHitSection = new flixel_addons_ui_FlxUICheckBox(10,30,null,null,"Must hit section",100); this.check_mustHitSection.name = "check_mustHit"; this.check_mustHitSection.set_checked(true); this.check_altAnim = new flixel_addons_ui_FlxUICheckBox(10,400,null,null,"Alt Animation",100); this.check_altAnim.name = "check_altAnim"; this.check_changeBPM = new flixel_addons_ui_FlxUICheckBox(10,60,null,null,"Change BPM",100); this.check_changeBPM.name = "check_changeBPM"; tab_group_section.add(this.stepperLength); tab_group_section.add(this.stepperSectionBPM); tab_group_section.add(stepperCopy); tab_group_section.add(this.check_mustHitSection); tab_group_section.add(this.check_altAnim); tab_group_section.add(this.check_changeBPM); tab_group_section.add(copyButton); tab_group_section.add(clearSectionButton); tab_group_section.add(swapSection); this.UI_box.addGroup(tab_group_section); } ,stepperSusLength: null ,tab_group_note: null ,addNoteUI: function() { this.tab_group_note = new flixel_addons_ui_FlxUI(null,this.UI_box); this.tab_group_note.name = "Note"; this.writingNotesText = new flixel_addons_ui_FlxUIText(20,100,0,""); this.writingNotesText.setFormat("Arial",20,-1,"left",flixel_text_FlxTextBorderStyle.OUTLINE,-16777216); this.stepperSusLength = new flixel_addons_ui_FlxUINumericStepper(10,10,Conductor.stepCrochet / 2,0,0,Conductor.stepCrochet * this._song.notes[this.curSection].lengthInSteps * 4); this.stepperSusLength.set_value(0); this.stepperSusLength.name = "note_susLength"; var applyLength = new flixel_ui_FlxButton(100,10,"Apply"); this.tab_group_note.add(this.writingNotesText); this.tab_group_note.add(this.stepperSusLength); this.tab_group_note.add(applyLength); this.UI_box.addGroup(this.tab_group_note); } ,loadSong: function(daSong) { var _gthis = this; if(flixel_FlxG.sound.music != null) { var _this = flixel_FlxG.sound.music; _this.cleanup(_this.autoDestroy,true); } flixel_FlxG.sound.playMusic("songs:assets/songs/" + daSong.toLowerCase() + "/Inst." + "mp3",0.6); this.vocals = new flixel_system_FlxSound().loadEmbedded("songs:assets/songs/" + daSong.toLowerCase() + "/Voices." + "mp3"); flixel_FlxG.sound.list.add(this.vocals); flixel_FlxG.sound.music.pause(); this.vocals.pause(); flixel_FlxG.sound.music.onComplete = function() { _gthis.vocals.pause(); _gthis.vocals.set_time(0); flixel_FlxG.sound.music.pause(); flixel_FlxG.sound.music.set_time(0); _gthis.changeSection(); }; } ,generateUI: function() { while(this.bullshitUI.members.length > 0) this.bullshitUI.remove(this.bullshitUI.members[0],true); var title = new flixel_text_FlxText(this.UI_box.x + 20,this.UI_box.y + 20,0); this.bullshitUI.add(title); } ,getEvent: function(id,sender,data,params) { if(id == "click_check_box") { var check = sender; var label = check.getLabel().text; switch(label) { case "Alt Animation": this._song.notes[this.curSection].altAnim = check.checked; break; case "Change BPM": this._song.notes[this.curSection].changeBPM = check.checked; break; case "Must hit section": this._song.notes[this.curSection].mustHitSection = check.checked; this.updateHeads(); break; } } else if(id == "change_numeric_stepper" && ((sender) instanceof flixel_addons_ui_FlxUINumericStepper)) { var nums = sender; var wname = nums.name; if(wname == "section_length") { if(nums.value <= 4) { nums.set_value(4); } this._song.notes[this.curSection].lengthInSteps = nums.value | 0; this.updateGrid(); } else if(wname == "song_speed") { if(nums.value <= 0) { nums.set_value(0); } this._song.speed = nums.value; } else if(wname == "song_bpm") { if(nums.value <= 0) { nums.set_value(1); } this.tempBpm = nums.value | 0; Conductor.mapBPMChanges(this._song); Conductor.changeBPM(nums.value | 0); } else if(wname == "note_susLength") { if(this.curSelectedNote == null) { return; } if(nums.value <= 0) { nums.set_value(0); } this.curSelectedNote[2] = nums.value; this.updateGrid(); } else if(wname == "section_bpm") { if(nums.value <= 0.1) { nums.set_value(0.1); } this._song.notes[this.curSection].bpm = nums.value | 0; this.updateGrid(); } } } ,updatedSection: null ,sectionStartTime: function() { var daBPM = this._song.bpm; var daPos = 0; var _g = 0; var _g1 = this.curSection; while(_g < _g1) { var i = _g++; if(this._song.notes[i].changeBPM) { daBPM = this._song.notes[i].bpm; } daPos += 4 * (60000 / daBPM); } return daPos; } ,writingNotes: null ,update: function(elapsed) { var _gthis = this; this.curStep = this.recalculateSteps(); var _this = flixel_FlxG.keys.justPressed; if(_this.keyManager.checkStatus(18,_this.status) && this.UI_box.get_selected_tab() == 0) { this.writingNotes = !this.writingNotes; } if(this.writingNotes) { this.writingNotesText.set_text("WRITING NOTES"); } else { this.writingNotesText.set_text(""); } Conductor.songPosition = flixel_FlxG.sound.music._time; this._song.song = this.typingShit.text; var upP = PlayerSettings.player1.controls._upP.check(); var rightP = PlayerSettings.player1.controls._rightP.check(); var downP = PlayerSettings.player1.controls._downP.check(); var leftP = PlayerSettings.player1.controls._leftP.check(); var controlArray = [leftP,downP,upP,rightP]; if((upP || rightP || downP || leftP) && this.writingNotes) { var _g = 0; var _g1 = controlArray.length; while(_g < _g1) { var i = _g++; if(controlArray[i]) { var _g2 = 0; var _g11 = this._song.notes[this.curSection].sectionNotes.length; while(_g2 < _g11) { var n = _g2++; var note = this._song.notes[this.curSection].sectionNotes[n]; if(note == null) { continue; } if(note[0] == Conductor.songPosition && note[1] % 4 == i) { haxe_Log.trace("GAMING",{ fileName : "source/ChartingState.hx", lineNumber : 545, className : "ChartingState", methodName : "update"}); HxOverrides.remove(this._song.notes[this.curSection].sectionNotes,note); } } haxe_Log.trace("adding note",{ fileName : "source/ChartingState.hx", lineNumber : 549, className : "ChartingState", methodName : "update"}); this._song.notes[this.curSection].sectionNotes.push([Conductor.songPosition,i,0]); this.updateGrid(); } } } this.strumLine.set_y(this.getYfromStrum((Conductor.songPosition - this.sectionStartTime()) % (Conductor.stepCrochet * this._song.notes[this.curSection].lengthInSteps))); if(this.curBeat % 4 == 0 && this.curStep >= 16 * (this.curSection + 1)) { haxe_Log.trace(this.curStep,{ fileName : "source/ChartingState.hx", lineNumber : 561, className : "ChartingState", methodName : "update"}); haxe_Log.trace(this._song.notes[this.curSection].lengthInSteps * (this.curSection + 1),{ fileName : "source/ChartingState.hx", lineNumber : 562, className : "ChartingState", methodName : "update"}); haxe_Log.trace("DUMBSHIT",{ fileName : "source/ChartingState.hx", lineNumber : 563, className : "ChartingState", methodName : "update"}); if(this._song.notes[this.curSection + 1] == null) { this.addSection(); } this.changeSection(this.curSection + 1,false); } if(flixel_FlxG.mouse._leftButton.current == 2) { if(flixel_FlxG.mouse.overlaps(this.curRenderedNotes)) { this.curRenderedNotes.forEach(function(note1) { if(flixel_FlxG.mouse.overlaps(note1)) { var _this1 = flixel_FlxG.keys.pressed; if(_this1.keyManager.checkStatus(17,_this1.status)) { _gthis.selectNote(note1); } else { haxe_Log.trace("tryin to delete note",{ fileName : "source/ChartingState.hx", lineNumber : 590, className : "ChartingState", methodName : "update"}); haxe_Log.trace(note1.noteData,{ fileName : "source/ChartingState.hx", lineNumber : 591, className : "ChartingState", methodName : "update"}); _gthis.deleteNote(note1); } } }); } else if(flixel_FlxG.mouse.x > this.gridBG.x && flixel_FlxG.mouse.x < this.gridBG.x + this.gridBG.get_width() && flixel_FlxG.mouse.y > this.gridBG.y && flixel_FlxG.mouse.y < this.gridBG.y + this.GRID_SIZE * this._song.notes[this.curSection].lengthInSteps) { this.addNote(); } } if(flixel_FlxG.mouse.x > this.gridBG.x && flixel_FlxG.mouse.x < this.gridBG.x + this.gridBG.get_width() && flixel_FlxG.mouse.y > this.gridBG.y && flixel_FlxG.mouse.y < this.gridBG.y + this.GRID_SIZE * this._song.notes[this.curSection].lengthInSteps) { this.dummyArrow.set_x(Math.floor(flixel_FlxG.mouse.x / this.GRID_SIZE) * this.GRID_SIZE); var _this2 = flixel_FlxG.keys.pressed; if(_this2.keyManager.checkStatus(16,_this2.status)) { this.dummyArrow.set_y(flixel_FlxG.mouse.y); } else { this.dummyArrow.set_y(Math.floor(flixel_FlxG.mouse.y / this.GRID_SIZE) * this.GRID_SIZE); } } var _this3 = flixel_FlxG.keys.justPressed; if(_this3.keyManager.checkStatus(13,_this3.status)) { ChartingState.lastSection = this.curSection; PlayState.SONG = this._song; var _this4 = flixel_FlxG.sound.music; _this4.cleanup(_this4.autoDestroy,true); var _this5 = this.vocals; _this5.cleanup(_this5.autoDestroy,true); var nextState = new PlayState(); if(flixel_FlxG.game._state.switchTo(nextState)) { flixel_FlxG.game._requestedState = nextState; } } var _this6 = flixel_FlxG.keys.justPressed; if(_this6.keyManager.checkStatus(69,_this6.status)) { this.changeNoteSustain(Conductor.stepCrochet); } var _this7 = flixel_FlxG.keys.justPressed; if(_this7.keyManager.checkStatus(81,_this7.status)) { this.changeNoteSustain(-Conductor.stepCrochet); } var _this8 = flixel_FlxG.keys.justPressed; if(_this8.keyManager.checkStatus(9,_this8.status)) { var _this9 = flixel_FlxG.keys.pressed; if(_this9.keyManager.checkStatus(16,_this9.status)) { var _g3 = this.UI_box; _g3.set_selected_tab(_g3.get_selected_tab() - 1); if(this.UI_box.get_selected_tab() < 0) { this.UI_box.set_selected_tab(2); } } else { var _g4 = this.UI_box; _g4.set_selected_tab(_g4.get_selected_tab() + 1); if(this.UI_box.get_selected_tab() >= 3) { this.UI_box.set_selected_tab(0); } } } if(!this.typingShit.hasFocus) { var shiftThing = 1; var _this10 = flixel_FlxG.keys.pressed; if(_this10.keyManager.checkStatus(16,_this10.status)) { shiftThing = 4; } if(!this.writingNotes) { var tmp; var _this11 = flixel_FlxG.keys.justPressed; if(!_this11.keyManager.checkStatus(39,_this11.status)) { var _this12 = flixel_FlxG.keys.justPressed; tmp = _this12.keyManager.checkStatus(68,_this12.status); } else { tmp = true; } if(tmp) { this.changeSection(this.curSection + shiftThing); } var tmp1; var _this13 = flixel_FlxG.keys.justPressed; if(!_this13.keyManager.checkStatus(37,_this13.status)) { var _this14 = flixel_FlxG.keys.justPressed; tmp1 = _this14.keyManager.checkStatus(65,_this14.status); } else { tmp1 = true; } if(tmp1) { this.changeSection(this.curSection - shiftThing); } } var _this15 = flixel_FlxG.keys.justPressed; if(_this15.keyManager.checkStatus(32,_this15.status)) { if(flixel_FlxG.sound.music._channel != null) { flixel_FlxG.sound.music.pause(); this.vocals.pause(); } else { this.vocals.play(); flixel_FlxG.sound.music.play(); } } var _this16 = flixel_FlxG.keys.justPressed; if(_this16.keyManager.checkStatus(82,_this16.status)) { var _this17 = flixel_FlxG.keys.pressed; if(_this17.keyManager.checkStatus(16,_this17.status)) { this.resetSection(true); } else { this.resetSection(); } } if(flixel_FlxG.mouse.wheel != 0) { flixel_FlxG.sound.music.pause(); this.vocals.pause(); var _g5 = flixel_FlxG.sound.music; _g5.set_time(_g5._time - flixel_FlxG.mouse.wheel * Conductor.stepCrochet * 0.4); this.vocals.set_time(flixel_FlxG.sound.music._time); } var _this18 = flixel_FlxG.keys.pressed; if(!_this18.keyManager.checkStatus(16,_this18.status)) { var tmp2; var _this19 = flixel_FlxG.keys.pressed; if(!_this19.keyManager.checkStatus(87,_this19.status)) { var _this20 = flixel_FlxG.keys.pressed; tmp2 = _this20.keyManager.checkStatus(83,_this20.status); } else { tmp2 = true; } if(tmp2) { flixel_FlxG.sound.music.pause(); this.vocals.pause(); var daTime = 700 * flixel_FlxG.elapsed; var _this21 = flixel_FlxG.keys.pressed; if(_this21.keyManager.checkStatus(87,_this21.status)) { var _g6 = flixel_FlxG.sound.music; _g6.set_time(_g6._time - daTime); } else { var _g7 = flixel_FlxG.sound.music; _g7.set_time(_g7._time + daTime); } this.vocals.set_time(flixel_FlxG.sound.music._time); } } else { var tmp3; var _this22 = flixel_FlxG.keys.justPressed; if(!_this22.keyManager.checkStatus(87,_this22.status)) { var _this23 = flixel_FlxG.keys.justPressed; tmp3 = _this23.keyManager.checkStatus(83,_this23.status); } else { tmp3 = true; } if(tmp3) { flixel_FlxG.sound.music.pause(); this.vocals.pause(); var daTime1 = Conductor.stepCrochet * 2; var _this24 = flixel_FlxG.keys.justPressed; if(_this24.keyManager.checkStatus(87,_this24.status)) { var _g8 = flixel_FlxG.sound.music; _g8.set_time(_g8._time - daTime1); } else { var _g9 = flixel_FlxG.sound.music; _g9.set_time(_g9._time + daTime1); } this.vocals.set_time(flixel_FlxG.sound.music._time); } } } this._song.bpm = this.tempBpm; this.bpmTxt.set_text(this.bpmTxt.set_text(Std.string(flixel_math_FlxMath.roundDecimal(Conductor.songPosition / 1000,2)) + " / " + Std.string(flixel_math_FlxMath.roundDecimal(flixel_FlxG.sound.music._length / 1000,2)) + "\nSection: " + this.curSection + "\nCurStep: " + this.curStep)); MusicBeatState.prototype.update.call(this,elapsed); } ,changeNoteSustain: function(value) { if(this.curSelectedNote != null) { if(this.curSelectedNote[2] != null) { this.curSelectedNote[2] += value; this.curSelectedNote[2] = Math.max(this.curSelectedNote[2],0); } } this.updateNoteUI(); this.updateGrid(); } ,recalculateSteps: function() { var lastChange = { stepTime : 0, songTime : 0, bpm : 0}; var _g = 0; var _g1 = Conductor.bpmChangeMap.length; while(_g < _g1) { var i = _g++; if(flixel_FlxG.sound.music._time > Conductor.bpmChangeMap[i].songTime) { lastChange = Conductor.bpmChangeMap[i]; } } this.curStep = lastChange.stepTime + Math.floor((flixel_FlxG.sound.music._time - lastChange.songTime) / Conductor.stepCrochet); this.updateBeat(); return this.curStep; } ,resetSection: function(songBeginning) { if(songBeginning == null) { songBeginning = false; } this.updateGrid(); flixel_FlxG.sound.music.pause(); this.vocals.pause(); flixel_FlxG.sound.music.set_time(this.sectionStartTime()); if(songBeginning) { flixel_FlxG.sound.music.set_time(0); this.curSection = 0; } this.vocals.set_time(flixel_FlxG.sound.music._time); this.updateCurStep(); this.updateGrid(); this.updateSectionUI(); } ,changeSection: function(sec,updateMusic) { if(updateMusic == null) { updateMusic = true; } if(sec == null) { sec = 0; } haxe_Log.trace("changing section" + sec,{ fileName : "source/ChartingState.hx", lineNumber : 816, className : "ChartingState", methodName : "changeSection"}); if(this._song.notes[sec] != null) { haxe_Log.trace("naw im not null",{ fileName : "source/ChartingState.hx", lineNumber : 820, className : "ChartingState", methodName : "changeSection"}); this.curSection = sec; this.updateGrid(); if(updateMusic) { flixel_FlxG.sound.music.pause(); this.vocals.pause(); flixel_FlxG.sound.music.set_time(this.sectionStartTime()); this.vocals.set_time(flixel_FlxG.sound.music._time); this.updateCurStep(); } this.updateGrid(); this.updateSectionUI(); } else { haxe_Log.trace("bro wtf I AM NULL",{ fileName : "source/ChartingState.hx", lineNumber : 847, className : "ChartingState", methodName : "changeSection"}); } } ,copySection: function(sectionNum) { if(sectionNum == null) { sectionNum = 1; } var a = this.curSection; var daSec = a > sectionNum ? a : sectionNum; var _g = 0; var _g1 = this._song.notes[daSec - sectionNum].sectionNotes; while(_g < _g1.length) { var note = _g1[_g]; ++_g; var strum = note[0] + Conductor.stepCrochet * (this._song.notes[daSec].lengthInSteps * sectionNum); var copiedNote = [strum,note[1],note[2]]; this._song.notes[daSec].sectionNotes.push(copiedNote); } this.updateGrid(); } ,updateSectionUI: function() { var sec = this._song.notes[this.curSection]; this.stepperLength.set_value(sec.lengthInSteps); this.check_mustHitSection.set_checked(sec.mustHitSection); this.check_altAnim.set_checked(sec.altAnim); this.check_changeBPM.set_checked(sec.changeBPM); this.stepperSectionBPM.set_value(sec.bpm); this.updateHeads(); } ,updateHeads: function() { if(this.check_mustHitSection.checked) { this.leftIcon.animation.play("bf"); this.rightIcon.animation.play("dad"); } else { this.leftIcon.animation.play("dad"); this.rightIcon.animation.play("bf"); } } ,updateNoteUI: function() { if(this.curSelectedNote != null) { this.stepperSusLength.set_value(this.curSelectedNote[2]); } } ,updateGrid: function() { this.remove(this.gridBG); this.gridBG = flixel_addons_display_FlxGridOverlay.create(this.GRID_SIZE,this.GRID_SIZE,this.GRID_SIZE * 8,this.GRID_SIZE * this._song.notes[this.curSection].lengthInSteps); this.add(this.gridBG); this.remove(this.gridBlackLine); this.gridBlackLine = new flixel_FlxSprite(this.gridBG.x + this.gridBG.get_width() / 2).makeGraphic(2,this.gridBG.get_height() | 0,-16777216); this.add(this.gridBlackLine); while(this.curRenderedNotes.members.length > 0) this.curRenderedNotes.remove(this.curRenderedNotes.members[0],true); while(this.curRenderedSustains.members.length > 0) this.curRenderedSustains.remove(this.curRenderedSustains.members[0],true); var sectionInfo = this._song.notes[this.curSection].sectionNotes; if(this._song.notes[this.curSection].changeBPM && this._song.notes[this.curSection].bpm > 0) { Conductor.changeBPM(this._song.notes[this.curSection].bpm); } else { var daBPM = this._song.bpm; var _g = 0; var _g1 = this.curSection; while(_g < _g1) { var i = _g++; if(this._song.notes[i].changeBPM) { daBPM = this._song.notes[i].bpm; } } Conductor.changeBPM(daBPM); } var _g2 = 0; while(_g2 < sectionInfo.length) { var i1 = sectionInfo[_g2]; ++_g2; var daNoteInfo = i1[1]; var daStrumTime = i1[0]; var daSus = i1[2]; var note = new Note(daStrumTime,daNoteInfo % 4); note.sustainLength = daSus; note.setGraphicSize(this.GRID_SIZE,this.GRID_SIZE); note.updateHitbox(); note.set_x(Math.floor(daNoteInfo * this.GRID_SIZE)); note.set_y(Math.floor(this.getYfromStrum((daStrumTime - this.sectionStartTime()) % (Conductor.stepCrochet * this._song.notes[this.curSection].lengthInSteps)))); this.curRenderedNotes.add(note); if(daSus > 0) { var sustainVis = new flixel_FlxSprite(note.x + this.GRID_SIZE / 2,note.y + this.GRID_SIZE).makeGraphic(8,Math.floor(flixel_math_FlxMath.remapToRange(daSus,0,Conductor.stepCrochet * this._song.notes[this.curSection].lengthInSteps,0,this.gridBG.get_height()))); this.curRenderedSustains.add(sustainVis); } } } ,addSection: function(lengthInSteps) { if(lengthInSteps == null) { lengthInSteps = 16; } var sec = { lengthInSteps : lengthInSteps, bpm : this._song.bpm, changeBPM : false, mustHitSection : true, sectionNotes : [], typeOfSection : 0, altAnim : false}; this._song.notes.push(sec); } ,selectNote: function(note) { var swagNum = 0; var _g = 0; var _g1 = this._song.notes[this.curSection].sectionNotes; while(_g < _g1.length) { var i = _g1[_g]; ++_g; if(i.strumTime == note.strumTime && i.noteData % 4 == note.noteData) { this.curSelectedNote = this._song.notes[this.curSection].sectionNotes[swagNum]; } ++swagNum; } this.updateGrid(); this.updateNoteUI(); } ,deleteNote: function(note) { haxe_Log.trace(this._song.notes[this.curSection].sectionNotes,{ fileName : "source/ChartingState.hx", lineNumber : 1008, className : "ChartingState", methodName : "deleteNote"}); var _g = 0; var _g1 = this._song.notes[this.curSection].sectionNotes.length; while(_g < _g1) { var n = _g++; var i = this._song.notes[this.curSection].sectionNotes[n]; if(i == null) { continue; } if((i[0] == note.strumTime + (note.strumTime == 0 ? 0 : 1) ? true : i[0] == note.strumTime) && i[1] % 4 == note.noteData) { haxe_Log.trace("GAMING",{ fileName : "source/ChartingState.hx", lineNumber : 1020, className : "ChartingState", methodName : "deleteNote"}); HxOverrides.remove(this._song.notes[this.curSection].sectionNotes,i); } } this.updateGrid(); } ,clearSection: function() { this._song.notes[this.curSection].sectionNotes = []; this.updateGrid(); } ,clearSong: function() { var _g = 0; var _g1 = this._song.notes.length; while(_g < _g1) { var daSection = _g++; this._song.notes[daSection].sectionNotes = []; } this.updateGrid(); } ,addNote: function() { var noteStrum = this.getStrumTime(this.dummyArrow.y) + this.sectionStartTime(); var noteData = Math.floor(flixel_FlxG.mouse.x / this.GRID_SIZE); var noteSus = 0; this._song.notes[this.curSection].sectionNotes.push([noteStrum,noteData,noteSus]); this.curSelectedNote = this._song.notes[this.curSection].sectionNotes[this._song.notes[this.curSection].sectionNotes.length - 1]; var _this = flixel_FlxG.keys.pressed; if(_this.keyManager.checkStatus(17,_this.status)) { this._song.notes[this.curSection].sectionNotes.push([noteStrum,(noteData + 4) % 8,noteSus]); } haxe_Log.trace(noteStrum,{ fileName : "source/ChartingState.hx", lineNumber : 1060, className : "ChartingState", methodName : "addNote"}); haxe_Log.trace(this.curSection,{ fileName : "source/ChartingState.hx", lineNumber : 1061, className : "ChartingState", methodName : "addNote"}); this.updateGrid(); this.updateNoteUI(); this.autosaveSong(); } ,getStrumTime: function(yPos) { return flixel_math_FlxMath.remapToRange(yPos,this.gridBG.y,this.gridBG.y + this.gridBG.get_height(),0,16 * Conductor.stepCrochet); } ,getYfromStrum: function(strumTime) { return flixel_math_FlxMath.remapToRange(strumTime,0,16 * Conductor.stepCrochet,this.gridBG.y,this.gridBG.y + this.gridBG.get_height()); } ,daSpacing: null ,loadLevel: function() { haxe_Log.trace(this._song.notes,{ fileName : "source/ChartingState.hx", lineNumber : 1106, className : "ChartingState", methodName : "loadLevel"}); } ,getNotes: function() { var noteData = []; var _g = 0; var _g1 = this._song.notes; while(_g < _g1.length) { var i = _g1[_g]; ++_g; noteData.push(i.sectionNotes); } return noteData; } ,loadJson: function(song) { PlayState.SONG = Song.loadFromJson(song.toLowerCase(),song.toLowerCase()); var nextState = Type.createInstance(js_Boot.getClass(flixel_FlxG.game._state),[]); if(flixel_FlxG.game._state.switchTo(nextState)) { flixel_FlxG.game._requestedState = nextState; } } ,loadAutosave: function() { PlayState.SONG = Song.parseJSONshit(flixel_FlxG.save.data.autosave); var nextState = Type.createInstance(js_Boot.getClass(flixel_FlxG.game._state),[]); if(flixel_FlxG.game._state.switchTo(nextState)) { flixel_FlxG.game._requestedState = nextState; } } ,autosaveSong: function() { flixel_FlxG.save.data.autosave = JSON.stringify({ "song" : this._song}); flixel_FlxG.save.flush(); } ,saveLevel: function() { var json = { "song" : this._song}; var data = JSON.stringify(json); if(data != null && data.length > 0) { this._file = new openfl_net_FileReference(); this._file.addEventListener("complete",$bind(this,this.onSaveComplete)); this._file.addEventListener("cancel",$bind(this,this.onSaveCancel)); this._file.addEventListener("ioError",$bind(this,this.onSaveError)); this._file.save(StringTools.trim(data),this._song.song.toLowerCase() + ".json"); } } ,onSaveComplete: function(_) { this._file.removeEventListener("complete",$bind(this,this.onSaveComplete)); this._file.removeEventListener("cancel",$bind(this,this.onSaveCancel)); this._file.removeEventListener("ioError",$bind(this,this.onSaveError)); this._file = null; } ,onSaveCancel: function(_) { this._file.removeEventListener("complete",$bind(this,this.onSaveComplete)); this._file.removeEventListener("cancel",$bind(this,this.onSaveCancel)); this._file.removeEventListener("ioError",$bind(this,this.onSaveError)); this._file = null; } ,onSaveError: function(_) { this._file.removeEventListener("complete",$bind(this,this.onSaveComplete)); this._file.removeEventListener("cancel",$bind(this,this.onSaveCancel)); this._file.removeEventListener("ioError",$bind(this,this.onSaveError)); this._file = null; } ,__class__: ChartingState }); var Conductor = function() { }; $hxClasses["Conductor"] = Conductor; Conductor.__name__ = "Conductor"; Conductor.songPosition = null; Conductor.lastSongPos = null; Conductor.mapBPMChanges = function(song) { Conductor.bpmChangeMap = []; var curBPM = song.bpm; var totalSteps = 0; var totalPos = 0; var _g = 0; var _g1 = song.notes.length; while(_g < _g1) { var i = _g++; if(song.notes[i].changeBPM && song.notes[i].bpm != curBPM) { curBPM = song.notes[i].bpm; var event = { stepTime : totalSteps, songTime : totalPos, bpm : curBPM}; Conductor.bpmChangeMap.push(event); } var deltaSteps = song.notes[i].lengthInSteps; totalSteps += deltaSteps; totalPos += 60 / curBPM * 1000 / 4 * deltaSteps; } haxe_Log.trace("new BPM map BUDDY " + Std.string(Conductor.bpmChangeMap),{ fileName : "source/Conductor.hx", lineNumber : 59, className : "Conductor", methodName : "mapBPMChanges"}); }; Conductor.changeBPM = function(newBpm) { Conductor.bpm = newBpm; Conductor.crochet = 60 / Conductor.bpm * 1000; Conductor.stepCrochet = Conductor.crochet / 4; }; Conductor.prototype = { __class__: Conductor }; var Device = $hxEnums["Device"] = { __ename__ : "Device", __constructs__ : ["Keys","Gamepad"] ,Keys: {_hx_index:0,__enum__:"Device",toString:$estr} ,Gamepad: ($_=function(id) { return {_hx_index:1,id:id,__enum__:"Device",toString:$estr}; },$_.__params__ = ["id"],$_) }; var Control = $hxEnums["Control"] = { __ename__ : "Control", __constructs__ : ["UP","LEFT","RIGHT","DOWN","RESET","ACCEPT","BACK","PAUSE","CHEAT"] ,UP: {_hx_index:0,__enum__:"Control",toString:$estr} ,LEFT: {_hx_index:1,__enum__:"Control",toString:$estr} ,RIGHT: {_hx_index:2,__enum__:"Control",toString:$estr} ,DOWN: {_hx_index:3,__enum__:"Control",toString:$estr} ,RESET: {_hx_index:4,__enum__:"Control",toString:$estr} ,ACCEPT: {_hx_index:5,__enum__:"Control",toString:$estr} ,BACK: {_hx_index:6,__enum__:"Control",toString:$estr} ,PAUSE: {_hx_index:7,__enum__:"Control",toString:$estr} ,CHEAT: {_hx_index:8,__enum__:"Control",toString:$estr} }; var KeyboardScheme = $hxEnums["KeyboardScheme"] = { __ename__ : "KeyboardScheme", __constructs__ : ["Solo","Duo","None","Custom"] ,Solo: {_hx_index:0,__enum__:"KeyboardScheme",toString:$estr} ,Duo: ($_=function(first) { return {_hx_index:1,first:first,__enum__:"KeyboardScheme",toString:$estr}; },$_.__params__ = ["first"],$_) ,None: {_hx_index:2,__enum__:"KeyboardScheme",toString:$estr} ,Custom: {_hx_index:3,__enum__:"KeyboardScheme",toString:$estr} }; var flixel_input_actions_FlxActionSet = function(Name,DigitalActions,AnalogActions) { this.active = true; this.name = ""; this.name = Name; if(DigitalActions == null) { DigitalActions = []; } if(AnalogActions == null) { AnalogActions = []; } this.digitalActions = DigitalActions; this.analogActions = AnalogActions; }; $hxClasses["flixel.input.actions.FlxActionSet"] = flixel_input_actions_FlxActionSet; flixel_input_actions_FlxActionSet.__name__ = "flixel.input.actions.FlxActionSet"; flixel_input_actions_FlxActionSet.__interfaces__ = [flixel_util_IFlxDestroyable]; flixel_input_actions_FlxActionSet.fromJson = function(Data,CallbackDigital,CallbackAnalog) { var digitalActions = []; var analogActions = []; if(Data == null) { return null; } if(Data.digitalActions != null) { var arrD = Data.digitalActions; var _g = 0; while(_g < arrD.length) { var d = arrD[_g]; ++_g; var dName = d; var action = new flixel_input_actions_FlxActionDigital(dName,CallbackDigital); digitalActions.push(action); } } if(Data.analogActions != null) { var arrA = Data.analogActions; var _g1 = 0; while(_g1 < arrA.length) { var a = arrA[_g1]; ++_g1; var aName = a; var action1 = new flixel_input_actions_FlxActionAnalog(aName,CallbackAnalog); analogActions.push(action1); } } if(Data.name != null) { var name = Data.name; var set = new flixel_input_actions_FlxActionSet(name,digitalActions,analogActions); return set; } return null; }; flixel_input_actions_FlxActionSet.prototype = { name: null ,digitalActions: null ,analogActions: null ,active: null ,toJson: function() { var space = "\t"; return JSON.stringify(this,function(key,value) { if(((value) instanceof flixel_input_actions_FlxAction)) { var fa = value; return { "type" : fa.type, "name" : fa.name, "steamHandle" : fa.steamHandle}; } return value; },space); } ,attachSteamController: function(Handle,Attach) { if(Attach == null) { Attach = true; } this.attachSteamControllerSub(Handle,Attach,flixel_input_actions_FlxInputType.DIGITAL,this.digitalActions,null); this.attachSteamControllerSub(Handle,Attach,flixel_input_actions_FlxInputType.ANALOG,null,this.analogActions); } ,add: function(Action1) { if(Action1.type == flixel_input_actions_FlxInputType.DIGITAL) { var dAction = Action1; if(this.digitalActions.indexOf(dAction) != -1) { return false; } this.digitalActions.push(dAction); return true; } else if(Action1.type == flixel_input_actions_FlxInputType.ANALOG) { var aAction = Action1; if(this.analogActions.indexOf(aAction) != -1) { return false; } this.analogActions.push(aAction); return true; } return false; } ,destroy: function() { this.digitalActions = flixel_util_FlxDestroyUtil.destroyArray(this.digitalActions); this.analogActions = flixel_util_FlxDestroyUtil.destroyArray(this.analogActions); } ,remove: function(Action1,Destroy) { if(Destroy == null) { Destroy = true; } var result = false; if(Action1.type == flixel_input_actions_FlxInputType.DIGITAL) { result = HxOverrides.remove(this.digitalActions,Action1); if(result && Destroy) { Action1.destroy(); } } else if(Action1.type == flixel_input_actions_FlxInputType.ANALOG) { result = HxOverrides.remove(this.analogActions,Action1); if(result && Destroy) { Action1.destroy(); } } return result; } ,update: function() { if(!this.active) { return; } var _g = 0; var _g1 = this.digitalActions; while(_g < _g1.length) { var digitalAction = _g1[_g]; ++_g; digitalAction.update(); } var _g2 = 0; var _g3 = this.analogActions; while(_g2 < _g3.length) { var analogAction = _g3[_g2]; ++_g2; analogAction.update(); } } ,attachSteamControllerSub: function(Handle,Attach,InputType,DigitalActions,AnalogActions) { var length = InputType == flixel_input_actions_FlxInputType.DIGITAL ? DigitalActions.length : AnalogActions.length; var _g = 0; var _g1 = length; while(_g < _g1) { var i = _g++; var action = InputType == flixel_input_actions_FlxInputType.DIGITAL ? DigitalActions[i] : AnalogActions[i]; if(action.steamHandle != -1) { var inputExists = false; var theInput = null; if(action.inputs != null) { var _g2 = 0; var _g11 = action.inputs; while(_g2 < _g11.length) { var input = _g11[_g2]; ++_g2; if(input.device == flixel_input_actions_FlxInputDevice.STEAM_CONTROLLER && input.deviceID == Handle) { inputExists = true; theInput = input; } } } if(Attach) { if(!inputExists) { if(InputType == flixel_input_actions_FlxInputType.DIGITAL) { DigitalActions[i].add(new flixel_input_actions_FlxActionInputDigitalSteam(action.steamHandle,2,Handle)); } else if(InputType == flixel_input_actions_FlxInputType.ANALOG) { AnalogActions[i].add(new flixel_input_actions_FlxActionInputAnalogSteam(action.steamHandle,1,3,Handle)); } } } else if(inputExists) { action.remove(theInput); } } } } ,__class__: flixel_input_actions_FlxActionSet }; var Controls = function(name,scheme) { if(scheme == null) { scheme = KeyboardScheme.None; } this.keyboardScheme = KeyboardScheme.None; this.gamepadsAdded = []; this.byName = new haxe_ds_StringMap(); this._cheat = new flixel_input_actions_FlxActionDigital("cheat"); this._reset = new flixel_input_actions_FlxActionDigital("reset"); this._pause = new flixel_input_actions_FlxActionDigital("pause"); this._back = new flixel_input_actions_FlxActionDigital("back"); this._accept = new flixel_input_actions_FlxActionDigital("accept"); this._downR = new flixel_input_actions_FlxActionDigital("down-release"); this._rightR = new flixel_input_actions_FlxActionDigital("right-release"); this._leftR = new flixel_input_actions_FlxActionDigital("left-release"); this._upR = new flixel_input_actions_FlxActionDigital("up-release"); this._downP = new flixel_input_actions_FlxActionDigital("down-press"); this._rightP = new flixel_input_actions_FlxActionDigital("right-press"); this._leftP = new flixel_input_actions_FlxActionDigital("left-press"); this._upP = new flixel_input_actions_FlxActionDigital("up-press"); this._down = new flixel_input_actions_FlxActionDigital("down"); this._right = new flixel_input_actions_FlxActionDigital("right"); this._left = new flixel_input_actions_FlxActionDigital("left"); this._up = new flixel_input_actions_FlxActionDigital("up"); flixel_input_actions_FlxActionSet.call(this,name); this.add(this._up); this.add(this._left); this.add(this._right); this.add(this._down); this.add(this._upP); this.add(this._leftP); this.add(this._rightP); this.add(this._downP); this.add(this._upR); this.add(this._leftR); this.add(this._rightR); this.add(this._downR); this.add(this._accept); this.add(this._back); this.add(this._pause); this.add(this._reset); this.add(this._cheat); var _g = 0; var _g1 = this.digitalActions; while(_g < _g1.length) { var action = _g1[_g]; ++_g; var k = action.name; var _this = this.byName; if(__map_reserved[k] != null) { _this.setReserved(k,action); } else { _this.h[k] = action; } } this.setKeyboardScheme(scheme,false); }; $hxClasses["Controls"] = Controls; Controls.__name__ = "Controls"; Controls.init = function() { var actions = new flixel_input_actions_FlxActionManager(); flixel_FlxG.inputs.add_flixel_input_actions_FlxActionManager(actions); }; Controls.addKeys = function(action,keys,state) { var _g = 0; while(_g < keys.length) { var key = keys[_g]; ++_g; action.addKey(key,state); } }; Controls.removeKeys = function(action,keys) { var i = action.inputs.length; while(i-- > 0) { var input = action.inputs[i]; if(input.device == flixel_input_actions_FlxInputDevice.KEYBOARD && keys.indexOf(input.inputID) != -1) { action.remove(input); } } }; Controls.addButtons = function(action,buttons,state,id) { var _g = 0; while(_g < buttons.length) { var button = buttons[_g]; ++_g; action.addGamepad(button,state,id); } }; Controls.removeButtons = function(action,gamepadID,buttons) { var i = action.inputs.length; while(i-- > 0) { var input = action.inputs[i]; if(input.device == flixel_input_actions_FlxInputDevice.GAMEPAD && (gamepadID == -1 || input.deviceID == gamepadID) && buttons.indexOf(input.inputID) != -1) { action.remove(input); } } }; Controls.isDevice = function(input,device) { switch(device._hx_index) { case 0: return input.device == flixel_input_actions_FlxInputDevice.KEYBOARD; case 1: var id = device.id; if(input.device == flixel_input_actions_FlxInputDevice.GAMEPAD) { if(id != -1) { return input.deviceID == id; } else { return true; } } else { return false; } break; } }; Controls.isGamepad = function(input,deviceID) { if(input.device == flixel_input_actions_FlxInputDevice.GAMEPAD) { if(deviceID != -1) { return input.deviceID == deviceID; } else { return true; } } else { return false; } }; Controls.__super__ = flixel_input_actions_FlxActionSet; Controls.prototype = $extend(flixel_input_actions_FlxActionSet.prototype,{ _up: null ,_left: null ,_right: null ,_down: null ,_upP: null ,_leftP: null ,_rightP: null ,_downP: null ,_upR: null ,_leftR: null ,_rightR: null ,_downR: null ,_accept: null ,_back: null ,_pause: null ,_reset: null ,_cheat: null ,byName: null ,gamepadsAdded: null ,keyboardScheme: null ,get_UP: function() { return this._up.check(); } ,get_LEFT: function() { return this._left.check(); } ,get_RIGHT: function() { return this._right.check(); } ,get_DOWN: function() { return this._down.check(); } ,get_UP_P: function() { return this._upP.check(); } ,get_LEFT_P: function() { return this._leftP.check(); } ,get_RIGHT_P: function() { return this._rightP.check(); } ,get_DOWN_P: function() { return this._downP.check(); } ,get_UP_R: function() { return this._upR.check(); } ,get_LEFT_R: function() { return this._leftR.check(); } ,get_RIGHT_R: function() { return this._rightR.check(); } ,get_DOWN_R: function() { return this._downR.check(); } ,get_ACCEPT: function() { return this._accept.check(); } ,get_BACK: function() { return this._back.check(); } ,get_PAUSE: function() { return this._pause.check(); } ,get_RESET: function() { return this._reset.check(); } ,get_CHEAT: function() { return this._cheat.check(); } ,update: function() { flixel_input_actions_FlxActionSet.prototype.update.call(this); } ,checkByName: function(name) { var _this = this.byName; return (__map_reserved[name] != null ? _this.getReserved(name) : _this.h[name]).check(); } ,getDialogueName: function(action) { var input = action.inputs[0]; var _g = input.device; switch(_g._hx_index) { case 3: return "[" + flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.toStringMap.h[input.inputID] + "]"; case 4: return "(" + flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.toStringMap.h[input.inputID] + ")"; default: var device = _g; throw new js__$Boot_HaxeError("unhandled device: " + Std.string(device)); } } ,getDialogueNameFromToken: function(token) { return this.getDialogueName(this.getActionFromControl(Type.createEnum(Control,token.toUpperCase(),null))); } ,getActionFromControl: function(control) { switch(control._hx_index) { case 0: return this._up; case 1: return this._left; case 2: return this._right; case 3: return this._down; case 4: return this._reset; case 5: return this._accept; case 6: return this._back; case 7: return this._pause; case 8: return this._cheat; } } ,forEachBound: function(control,func) { switch(control._hx_index) { case 0: func(this._up,1); func(this._upP,2); func(this._upR,-1); break; case 1: func(this._left,1); func(this._leftP,2); func(this._leftR,-1); break; case 2: func(this._right,1); func(this._rightP,2); func(this._rightR,-1); break; case 3: func(this._down,1); func(this._downP,2); func(this._downR,-1); break; case 4: func(this._reset,2); break; case 5: func(this._accept,2); break; case 6: func(this._back,2); break; case 7: func(this._pause,2); break; case 8: func(this._cheat,2); break; } } ,replaceBinding: function(control,device,toAdd,toRemove) { if(toAdd == toRemove) { return; } switch(device._hx_index) { case 0: if(toRemove != null) { this.unbindKeys(control,[toRemove]); } if(toAdd != null) { this.bindKeys(control,[toAdd]); } break; case 1: var id = device.id; if(toRemove != null) { this.unbindButtons(control,id,[toRemove]); } if(toAdd != null) { this.bindButtons(control,id,[toAdd]); } break; } } ,copyFrom: function(controls,device) { var _g = new haxe_iterators_MapKeyValueIterator(controls.byName); while(_g.hasNext()) { var _g1 = _g.next(); var name = _g1.key; var action = _g1.value; var _g2 = 0; var _g3 = action.inputs; while(_g2 < _g3.length) { var input = _g3[_g2]; ++_g2; if(device == null || Controls.isDevice(input,device)) { var _this = this.byName; (__map_reserved[name] != null ? _this.getReserved(name) : _this.h[name]).add(input); } } } if(device == null) { var _g4 = 0; var _g11 = controls.gamepadsAdded; while(_g4 < _g11.length) { var gamepad = _g11[_g4]; ++_g4; this.gamepadsAdded.push(gamepad); } this.mergeKeyboardScheme(controls.keyboardScheme); } else { switch(device._hx_index) { case 0: this.mergeKeyboardScheme(controls.keyboardScheme); break; case 1: var id = device.id; this.gamepadsAdded.push(id); break; } } } ,copyTo: function(controls,device) { controls.copyFrom(this,device); } ,mergeKeyboardScheme: function(scheme) { if(scheme != KeyboardScheme.None) { if(this.keyboardScheme._hx_index == 2) { this.keyboardScheme = scheme; } else { this.keyboardScheme = KeyboardScheme.Custom; } } } ,bindKeys: function(control,keys) { switch(control._hx_index) { case 0: var action = this._up; var state = 1; var _g = 0; while(_g < keys.length) { var key = keys[_g]; ++_g; action.addKey(key,state); } var action1 = this._upP; var state1 = 2; var _g1 = 0; while(_g1 < keys.length) { var key1 = keys[_g1]; ++_g1; action1.addKey(key1,state1); } var action2 = this._upR; var state2 = -1; var _g2 = 0; while(_g2 < keys.length) { var key2 = keys[_g2]; ++_g2; action2.addKey(key2,state2); } break; case 1: var action3 = this._left; var state3 = 1; var _g3 = 0; while(_g3 < keys.length) { var key3 = keys[_g3]; ++_g3; action3.addKey(key3,state3); } var action4 = this._leftP; var state4 = 2; var _g4 = 0; while(_g4 < keys.length) { var key4 = keys[_g4]; ++_g4; action4.addKey(key4,state4); } var action5 = this._leftR; var state5 = -1; var _g5 = 0; while(_g5 < keys.length) { var key5 = keys[_g5]; ++_g5; action5.addKey(key5,state5); } break; case 2: var action6 = this._right; var state6 = 1; var _g6 = 0; while(_g6 < keys.length) { var key6 = keys[_g6]; ++_g6; action6.addKey(key6,state6); } var action7 = this._rightP; var state7 = 2; var _g7 = 0; while(_g7 < keys.length) { var key7 = keys[_g7]; ++_g7; action7.addKey(key7,state7); } var action8 = this._rightR; var state8 = -1; var _g8 = 0; while(_g8 < keys.length) { var key8 = keys[_g8]; ++_g8; action8.addKey(key8,state8); } break; case 3: var action9 = this._down; var state9 = 1; var _g9 = 0; while(_g9 < keys.length) { var key9 = keys[_g9]; ++_g9; action9.addKey(key9,state9); } var action10 = this._downP; var state10 = 2; var _g10 = 0; while(_g10 < keys.length) { var key10 = keys[_g10]; ++_g10; action10.addKey(key10,state10); } var action11 = this._downR; var state11 = -1; var _g11 = 0; while(_g11 < keys.length) { var key11 = keys[_g11]; ++_g11; action11.addKey(key11,state11); } break; case 4: var action12 = this._reset; var state12 = 2; var _g12 = 0; while(_g12 < keys.length) { var key12 = keys[_g12]; ++_g12; action12.addKey(key12,state12); } break; case 5: var action13 = this._accept; var state13 = 2; var _g13 = 0; while(_g13 < keys.length) { var key13 = keys[_g13]; ++_g13; action13.addKey(key13,state13); } break; case 6: var action14 = this._back; var state14 = 2; var _g14 = 0; while(_g14 < keys.length) { var key14 = keys[_g14]; ++_g14; action14.addKey(key14,state14); } break; case 7: var action15 = this._pause; var state15 = 2; var _g15 = 0; while(_g15 < keys.length) { var key15 = keys[_g15]; ++_g15; action15.addKey(key15,state15); } break; case 8: var action16 = this._cheat; var state16 = 2; var _g16 = 0; while(_g16 < keys.length) { var key16 = keys[_g16]; ++_g16; action16.addKey(key16,state16); } break; } } ,unbindKeys: function(control,keys) { switch(control._hx_index) { case 0: Controls.removeKeys(this._up,keys); Controls.removeKeys(this._upP,keys); Controls.removeKeys(this._upR,keys); break; case 1: Controls.removeKeys(this._left,keys); Controls.removeKeys(this._leftP,keys); Controls.removeKeys(this._leftR,keys); break; case 2: Controls.removeKeys(this._right,keys); Controls.removeKeys(this._rightP,keys); Controls.removeKeys(this._rightR,keys); break; case 3: Controls.removeKeys(this._down,keys); Controls.removeKeys(this._downP,keys); Controls.removeKeys(this._downR,keys); break; case 4: Controls.removeKeys(this._reset,keys); break; case 5: Controls.removeKeys(this._accept,keys); break; case 6: Controls.removeKeys(this._back,keys); break; case 7: Controls.removeKeys(this._pause,keys); break; case 8: Controls.removeKeys(this._cheat,keys); break; } } ,setKeyboardScheme: function(scheme,reset) { if(reset == null) { reset = true; } if(reset) { this.removeKeyboard(); } this.keyboardScheme = scheme; switch(scheme._hx_index) { case 0: var keys = [74,38]; switch(Control.UP._hx_index) { case 0: var action = this._up; var state = 1; var _g = 0; while(_g < keys.length) { var key = keys[_g]; ++_g; action.addKey(key,state); } var action1 = this._upP; var state1 = 2; var _g1 = 0; while(_g1 < keys.length) { var key1 = keys[_g1]; ++_g1; action1.addKey(key1,state1); } var action2 = this._upR; var state2 = -1; var _g2 = 0; while(_g2 < keys.length) { var key2 = keys[_g2]; ++_g2; action2.addKey(key2,state2); } break; case 1: var action3 = this._left; var state3 = 1; var _g3 = 0; while(_g3 < keys.length) { var key3 = keys[_g3]; ++_g3; action3.addKey(key3,state3); } var action4 = this._leftP; var state4 = 2; var _g4 = 0; while(_g4 < keys.length) { var key4 = keys[_g4]; ++_g4; action4.addKey(key4,state4); } var action5 = this._leftR; var state5 = -1; var _g5 = 0; while(_g5 < keys.length) { var key5 = keys[_g5]; ++_g5; action5.addKey(key5,state5); } break; case 2: var action6 = this._right; var state6 = 1; var _g6 = 0; while(_g6 < keys.length) { var key6 = keys[_g6]; ++_g6; action6.addKey(key6,state6); } var action7 = this._rightP; var state7 = 2; var _g7 = 0; while(_g7 < keys.length) { var key7 = keys[_g7]; ++_g7; action7.addKey(key7,state7); } var action8 = this._rightR; var state8 = -1; var _g8 = 0; while(_g8 < keys.length) { var key8 = keys[_g8]; ++_g8; action8.addKey(key8,state8); } break; case 3: var action9 = this._down; var state9 = 1; var _g9 = 0; while(_g9 < keys.length) { var key9 = keys[_g9]; ++_g9; action9.addKey(key9,state9); } var action10 = this._downP; var state10 = 2; var _g10 = 0; while(_g10 < keys.length) { var key10 = keys[_g10]; ++_g10; action10.addKey(key10,state10); } var action11 = this._downR; var state11 = -1; var _g11 = 0; while(_g11 < keys.length) { var key11 = keys[_g11]; ++_g11; action11.addKey(key11,state11); } break; case 4: var action12 = this._reset; var state12 = 2; var _g12 = 0; while(_g12 < keys.length) { var key12 = keys[_g12]; ++_g12; action12.addKey(key12,state12); } break; case 5: var action13 = this._accept; var state13 = 2; var _g13 = 0; while(_g13 < keys.length) { var key13 = keys[_g13]; ++_g13; action13.addKey(key13,state13); } break; case 6: var action14 = this._back; var state14 = 2; var _g14 = 0; while(_g14 < keys.length) { var key14 = keys[_g14]; ++_g14; action14.addKey(key14,state14); } break; case 7: var action15 = this._pause; var state15 = 2; var _g15 = 0; while(_g15 < keys.length) { var key15 = keys[_g15]; ++_g15; action15.addKey(key15,state15); } break; case 8: var action16 = this._cheat; var state16 = 2; var _g16 = 0; while(_g16 < keys.length) { var key16 = keys[_g16]; ++_g16; action16.addKey(key16,state16); } break; } var keys1 = [70,40]; switch(Control.DOWN._hx_index) { case 0: var action17 = this._up; var state17 = 1; var _g17 = 0; while(_g17 < keys1.length) { var key17 = keys1[_g17]; ++_g17; action17.addKey(key17,state17); } var action18 = this._upP; var state18 = 2; var _g18 = 0; while(_g18 < keys1.length) { var key18 = keys1[_g18]; ++_g18; action18.addKey(key18,state18); } var action19 = this._upR; var state19 = -1; var _g19 = 0; while(_g19 < keys1.length) { var key19 = keys1[_g19]; ++_g19; action19.addKey(key19,state19); } break; case 1: var action20 = this._left; var state20 = 1; var _g20 = 0; while(_g20 < keys1.length) { var key20 = keys1[_g20]; ++_g20; action20.addKey(key20,state20); } var action21 = this._leftP; var state21 = 2; var _g21 = 0; while(_g21 < keys1.length) { var key21 = keys1[_g21]; ++_g21; action21.addKey(key21,state21); } var action22 = this._leftR; var state22 = -1; var _g22 = 0; while(_g22 < keys1.length) { var key22 = keys1[_g22]; ++_g22; action22.addKey(key22,state22); } break; case 2: var action23 = this._right; var state23 = 1; var _g23 = 0; while(_g23 < keys1.length) { var key23 = keys1[_g23]; ++_g23; action23.addKey(key23,state23); } var action24 = this._rightP; var state24 = 2; var _g24 = 0; while(_g24 < keys1.length) { var key24 = keys1[_g24]; ++_g24; action24.addKey(key24,state24); } var action25 = this._rightR; var state25 = -1; var _g25 = 0; while(_g25 < keys1.length) { var key25 = keys1[_g25]; ++_g25; action25.addKey(key25,state25); } break; case 3: var action26 = this._down; var state26 = 1; var _g26 = 0; while(_g26 < keys1.length) { var key26 = keys1[_g26]; ++_g26; action26.addKey(key26,state26); } var action27 = this._downP; var state27 = 2; var _g27 = 0; while(_g27 < keys1.length) { var key27 = keys1[_g27]; ++_g27; action27.addKey(key27,state27); } var action28 = this._downR; var state28 = -1; var _g28 = 0; while(_g28 < keys1.length) { var key28 = keys1[_g28]; ++_g28; action28.addKey(key28,state28); } break; case 4: var action29 = this._reset; var state29 = 2; var _g29 = 0; while(_g29 < keys1.length) { var key29 = keys1[_g29]; ++_g29; action29.addKey(key29,state29); } break; case 5: var action30 = this._accept; var state30 = 2; var _g30 = 0; while(_g30 < keys1.length) { var key30 = keys1[_g30]; ++_g30; action30.addKey(key30,state30); } break; case 6: var action31 = this._back; var state31 = 2; var _g31 = 0; while(_g31 < keys1.length) { var key31 = keys1[_g31]; ++_g31; action31.addKey(key31,state31); } break; case 7: var action32 = this._pause; var state32 = 2; var _g32 = 0; while(_g32 < keys1.length) { var key32 = keys1[_g32]; ++_g32; action32.addKey(key32,state32); } break; case 8: var action33 = this._cheat; var state33 = 2; var _g33 = 0; while(_g33 < keys1.length) { var key33 = keys1[_g33]; ++_g33; action33.addKey(key33,state33); } break; } var keys2 = [68,37]; switch(Control.LEFT._hx_index) { case 0: var action34 = this._up; var state34 = 1; var _g34 = 0; while(_g34 < keys2.length) { var key34 = keys2[_g34]; ++_g34; action34.addKey(key34,state34); } var action35 = this._upP; var state35 = 2; var _g35 = 0; while(_g35 < keys2.length) { var key35 = keys2[_g35]; ++_g35; action35.addKey(key35,state35); } var action36 = this._upR; var state36 = -1; var _g36 = 0; while(_g36 < keys2.length) { var key36 = keys2[_g36]; ++_g36; action36.addKey(key36,state36); } break; case 1: var action37 = this._left; var state37 = 1; var _g37 = 0; while(_g37 < keys2.length) { var key37 = keys2[_g37]; ++_g37; action37.addKey(key37,state37); } var action38 = this._leftP; var state38 = 2; var _g38 = 0; while(_g38 < keys2.length) { var key38 = keys2[_g38]; ++_g38; action38.addKey(key38,state38); } var action39 = this._leftR; var state39 = -1; var _g39 = 0; while(_g39 < keys2.length) { var key39 = keys2[_g39]; ++_g39; action39.addKey(key39,state39); } break; case 2: var action40 = this._right; var state40 = 1; var _g40 = 0; while(_g40 < keys2.length) { var key40 = keys2[_g40]; ++_g40; action40.addKey(key40,state40); } var action41 = this._rightP; var state41 = 2; var _g41 = 0; while(_g41 < keys2.length) { var key41 = keys2[_g41]; ++_g41; action41.addKey(key41,state41); } var action42 = this._rightR; var state42 = -1; var _g42 = 0; while(_g42 < keys2.length) { var key42 = keys2[_g42]; ++_g42; action42.addKey(key42,state42); } break; case 3: var action43 = this._down; var state43 = 1; var _g43 = 0; while(_g43 < keys2.length) { var key43 = keys2[_g43]; ++_g43; action43.addKey(key43,state43); } var action44 = this._downP; var state44 = 2; var _g44 = 0; while(_g44 < keys2.length) { var key44 = keys2[_g44]; ++_g44; action44.addKey(key44,state44); } var action45 = this._downR; var state45 = -1; var _g45 = 0; while(_g45 < keys2.length) { var key45 = keys2[_g45]; ++_g45; action45.addKey(key45,state45); } break; case 4: var action46 = this._reset; var state46 = 2; var _g46 = 0; while(_g46 < keys2.length) { var key46 = keys2[_g46]; ++_g46; action46.addKey(key46,state46); } break; case 5: var action47 = this._accept; var state47 = 2; var _g47 = 0; while(_g47 < keys2.length) { var key47 = keys2[_g47]; ++_g47; action47.addKey(key47,state47); } break; case 6: var action48 = this._back; var state48 = 2; var _g48 = 0; while(_g48 < keys2.length) { var key48 = keys2[_g48]; ++_g48; action48.addKey(key48,state48); } break; case 7: var action49 = this._pause; var state49 = 2; var _g49 = 0; while(_g49 < keys2.length) { var key49 = keys2[_g49]; ++_g49; action49.addKey(key49,state49); } break; case 8: var action50 = this._cheat; var state50 = 2; var _g50 = 0; while(_g50 < keys2.length) { var key50 = keys2[_g50]; ++_g50; action50.addKey(key50,state50); } break; } var keys3 = [75,39]; switch(Control.RIGHT._hx_index) { case 0: var action51 = this._up; var state51 = 1; var _g51 = 0; while(_g51 < keys3.length) { var key51 = keys3[_g51]; ++_g51; action51.addKey(key51,state51); } var action52 = this._upP; var state52 = 2; var _g52 = 0; while(_g52 < keys3.length) { var key52 = keys3[_g52]; ++_g52; action52.addKey(key52,state52); } var action53 = this._upR; var state53 = -1; var _g53 = 0; while(_g53 < keys3.length) { var key53 = keys3[_g53]; ++_g53; action53.addKey(key53,state53); } break; case 1: var action54 = this._left; var state54 = 1; var _g54 = 0; while(_g54 < keys3.length) { var key54 = keys3[_g54]; ++_g54; action54.addKey(key54,state54); } var action55 = this._leftP; var state55 = 2; var _g55 = 0; while(_g55 < keys3.length) { var key55 = keys3[_g55]; ++_g55; action55.addKey(key55,state55); } var action56 = this._leftR; var state56 = -1; var _g56 = 0; while(_g56 < keys3.length) { var key56 = keys3[_g56]; ++_g56; action56.addKey(key56,state56); } break; case 2: var action57 = this._right; var state57 = 1; var _g57 = 0; while(_g57 < keys3.length) { var key57 = keys3[_g57]; ++_g57; action57.addKey(key57,state57); } var action58 = this._rightP; var state58 = 2; var _g58 = 0; while(_g58 < keys3.length) { var key58 = keys3[_g58]; ++_g58; action58.addKey(key58,state58); } var action59 = this._rightR; var state59 = -1; var _g59 = 0; while(_g59 < keys3.length) { var key59 = keys3[_g59]; ++_g59; action59.addKey(key59,state59); } break; case 3: var action60 = this._down; var state60 = 1; var _g60 = 0; while(_g60 < keys3.length) { var key60 = keys3[_g60]; ++_g60; action60.addKey(key60,state60); } var action61 = this._downP; var state61 = 2; var _g61 = 0; while(_g61 < keys3.length) { var key61 = keys3[_g61]; ++_g61; action61.addKey(key61,state61); } var action62 = this._downR; var state62 = -1; var _g62 = 0; while(_g62 < keys3.length) { var key62 = keys3[_g62]; ++_g62; action62.addKey(key62,state62); } break; case 4: var action63 = this._reset; var state63 = 2; var _g63 = 0; while(_g63 < keys3.length) { var key63 = keys3[_g63]; ++_g63; action63.addKey(key63,state63); } break; case 5: var action64 = this._accept; var state64 = 2; var _g64 = 0; while(_g64 < keys3.length) { var key64 = keys3[_g64]; ++_g64; action64.addKey(key64,state64); } break; case 6: var action65 = this._back; var state65 = 2; var _g65 = 0; while(_g65 < keys3.length) { var key65 = keys3[_g65]; ++_g65; action65.addKey(key65,state65); } break; case 7: var action66 = this._pause; var state66 = 2; var _g66 = 0; while(_g66 < keys3.length) { var key66 = keys3[_g66]; ++_g66; action66.addKey(key66,state66); } break; case 8: var action67 = this._cheat; var state67 = 2; var _g67 = 0; while(_g67 < keys3.length) { var key67 = keys3[_g67]; ++_g67; action67.addKey(key67,state67); } break; } var keys4 = [90,32,13]; switch(Control.ACCEPT._hx_index) { case 0: var action68 = this._up; var state68 = 1; var _g68 = 0; while(_g68 < keys4.length) { var key68 = keys4[_g68]; ++_g68; action68.addKey(key68,state68); } var action69 = this._upP; var state69 = 2; var _g69 = 0; while(_g69 < keys4.length) { var key69 = keys4[_g69]; ++_g69; action69.addKey(key69,state69); } var action70 = this._upR; var state70 = -1; var _g70 = 0; while(_g70 < keys4.length) { var key70 = keys4[_g70]; ++_g70; action70.addKey(key70,state70); } break; case 1: var action71 = this._left; var state71 = 1; var _g71 = 0; while(_g71 < keys4.length) { var key71 = keys4[_g71]; ++_g71; action71.addKey(key71,state71); } var action72 = this._leftP; var state72 = 2; var _g72 = 0; while(_g72 < keys4.length) { var key72 = keys4[_g72]; ++_g72; action72.addKey(key72,state72); } var action73 = this._leftR; var state73 = -1; var _g73 = 0; while(_g73 < keys4.length) { var key73 = keys4[_g73]; ++_g73; action73.addKey(key73,state73); } break; case 2: var action74 = this._right; var state74 = 1; var _g74 = 0; while(_g74 < keys4.length) { var key74 = keys4[_g74]; ++_g74; action74.addKey(key74,state74); } var action75 = this._rightP; var state75 = 2; var _g75 = 0; while(_g75 < keys4.length) { var key75 = keys4[_g75]; ++_g75; action75.addKey(key75,state75); } var action76 = this._rightR; var state76 = -1; var _g76 = 0; while(_g76 < keys4.length) { var key76 = keys4[_g76]; ++_g76; action76.addKey(key76,state76); } break; case 3: var action77 = this._down; var state77 = 1; var _g77 = 0; while(_g77 < keys4.length) { var key77 = keys4[_g77]; ++_g77; action77.addKey(key77,state77); } var action78 = this._downP; var state78 = 2; var _g78 = 0; while(_g78 < keys4.length) { var key78 = keys4[_g78]; ++_g78; action78.addKey(key78,state78); } var action79 = this._downR; var state79 = -1; var _g79 = 0; while(_g79 < keys4.length) { var key79 = keys4[_g79]; ++_g79; action79.addKey(key79,state79); } break; case 4: var action80 = this._reset; var state80 = 2; var _g80 = 0; while(_g80 < keys4.length) { var key80 = keys4[_g80]; ++_g80; action80.addKey(key80,state80); } break; case 5: var action81 = this._accept; var state81 = 2; var _g81 = 0; while(_g81 < keys4.length) { var key81 = keys4[_g81]; ++_g81; action81.addKey(key81,state81); } break; case 6: var action82 = this._back; var state82 = 2; var _g82 = 0; while(_g82 < keys4.length) { var key82 = keys4[_g82]; ++_g82; action82.addKey(key82,state82); } break; case 7: var action83 = this._pause; var state83 = 2; var _g83 = 0; while(_g83 < keys4.length) { var key83 = keys4[_g83]; ++_g83; action83.addKey(key83,state83); } break; case 8: var action84 = this._cheat; var state84 = 2; var _g84 = 0; while(_g84 < keys4.length) { var key84 = keys4[_g84]; ++_g84; action84.addKey(key84,state84); } break; } var keys5 = [8,27]; switch(Control.BACK._hx_index) { case 0: var action85 = this._up; var state85 = 1; var _g85 = 0; while(_g85 < keys5.length) { var key85 = keys5[_g85]; ++_g85; action85.addKey(key85,state85); } var action86 = this._upP; var state86 = 2; var _g86 = 0; while(_g86 < keys5.length) { var key86 = keys5[_g86]; ++_g86; action86.addKey(key86,state86); } var action87 = this._upR; var state87 = -1; var _g87 = 0; while(_g87 < keys5.length) { var key87 = keys5[_g87]; ++_g87; action87.addKey(key87,state87); } break; case 1: var action88 = this._left; var state88 = 1; var _g88 = 0; while(_g88 < keys5.length) { var key88 = keys5[_g88]; ++_g88; action88.addKey(key88,state88); } var action89 = this._leftP; var state89 = 2; var _g89 = 0; while(_g89 < keys5.length) { var key89 = keys5[_g89]; ++_g89; action89.addKey(key89,state89); } var action90 = this._leftR; var state90 = -1; var _g90 = 0; while(_g90 < keys5.length) { var key90 = keys5[_g90]; ++_g90; action90.addKey(key90,state90); } break; case 2: var action91 = this._right; var state91 = 1; var _g91 = 0; while(_g91 < keys5.length) { var key91 = keys5[_g91]; ++_g91; action91.addKey(key91,state91); } var action92 = this._rightP; var state92 = 2; var _g92 = 0; while(_g92 < keys5.length) { var key92 = keys5[_g92]; ++_g92; action92.addKey(key92,state92); } var action93 = this._rightR; var state93 = -1; var _g93 = 0; while(_g93 < keys5.length) { var key93 = keys5[_g93]; ++_g93; action93.addKey(key93,state93); } break; case 3: var action94 = this._down; var state94 = 1; var _g94 = 0; while(_g94 < keys5.length) { var key94 = keys5[_g94]; ++_g94; action94.addKey(key94,state94); } var action95 = this._downP; var state95 = 2; var _g95 = 0; while(_g95 < keys5.length) { var key95 = keys5[_g95]; ++_g95; action95.addKey(key95,state95); } var action96 = this._downR; var state96 = -1; var _g96 = 0; while(_g96 < keys5.length) { var key96 = keys5[_g96]; ++_g96; action96.addKey(key96,state96); } break; case 4: var action97 = this._reset; var state97 = 2; var _g97 = 0; while(_g97 < keys5.length) { var key97 = keys5[_g97]; ++_g97; action97.addKey(key97,state97); } break; case 5: var action98 = this._accept; var state98 = 2; var _g98 = 0; while(_g98 < keys5.length) { var key98 = keys5[_g98]; ++_g98; action98.addKey(key98,state98); } break; case 6: var action99 = this._back; var state99 = 2; var _g99 = 0; while(_g99 < keys5.length) { var key99 = keys5[_g99]; ++_g99; action99.addKey(key99,state99); } break; case 7: var action100 = this._pause; var state100 = 2; var _g100 = 0; while(_g100 < keys5.length) { var key100 = keys5[_g100]; ++_g100; action100.addKey(key100,state100); } break; case 8: var action101 = this._cheat; var state101 = 2; var _g101 = 0; while(_g101 < keys5.length) { var key101 = keys5[_g101]; ++_g101; action101.addKey(key101,state101); } break; } var keys6 = [80,13,27]; switch(Control.PAUSE._hx_index) { case 0: var action102 = this._up; var state102 = 1; var _g102 = 0; while(_g102 < keys6.length) { var key102 = keys6[_g102]; ++_g102; action102.addKey(key102,state102); } var action103 = this._upP; var state103 = 2; var _g103 = 0; while(_g103 < keys6.length) { var key103 = keys6[_g103]; ++_g103; action103.addKey(key103,state103); } var action104 = this._upR; var state104 = -1; var _g104 = 0; while(_g104 < keys6.length) { var key104 = keys6[_g104]; ++_g104; action104.addKey(key104,state104); } break; case 1: var action105 = this._left; var state105 = 1; var _g105 = 0; while(_g105 < keys6.length) { var key105 = keys6[_g105]; ++_g105; action105.addKey(key105,state105); } var action106 = this._leftP; var state106 = 2; var _g106 = 0; while(_g106 < keys6.length) { var key106 = keys6[_g106]; ++_g106; action106.addKey(key106,state106); } var action107 = this._leftR; var state107 = -1; var _g107 = 0; while(_g107 < keys6.length) { var key107 = keys6[_g107]; ++_g107; action107.addKey(key107,state107); } break; case 2: var action108 = this._right; var state108 = 1; var _g108 = 0; while(_g108 < keys6.length) { var key108 = keys6[_g108]; ++_g108; action108.addKey(key108,state108); } var action109 = this._rightP; var state109 = 2; var _g109 = 0; while(_g109 < keys6.length) { var key109 = keys6[_g109]; ++_g109; action109.addKey(key109,state109); } var action110 = this._rightR; var state110 = -1; var _g110 = 0; while(_g110 < keys6.length) { var key110 = keys6[_g110]; ++_g110; action110.addKey(key110,state110); } break; case 3: var action111 = this._down; var state111 = 1; var _g111 = 0; while(_g111 < keys6.length) { var key111 = keys6[_g111]; ++_g111; action111.addKey(key111,state111); } var action112 = this._downP; var state112 = 2; var _g112 = 0; while(_g112 < keys6.length) { var key112 = keys6[_g112]; ++_g112; action112.addKey(key112,state112); } var action113 = this._downR; var state113 = -1; var _g113 = 0; while(_g113 < keys6.length) { var key113 = keys6[_g113]; ++_g113; action113.addKey(key113,state113); } break; case 4: var action114 = this._reset; var state114 = 2; var _g114 = 0; while(_g114 < keys6.length) { var key114 = keys6[_g114]; ++_g114; action114.addKey(key114,state114); } break; case 5: var action115 = this._accept; var state115 = 2; var _g115 = 0; while(_g115 < keys6.length) { var key115 = keys6[_g115]; ++_g115; action115.addKey(key115,state115); } break; case 6: var action116 = this._back; var state116 = 2; var _g116 = 0; while(_g116 < keys6.length) { var key116 = keys6[_g116]; ++_g116; action116.addKey(key116,state116); } break; case 7: var action117 = this._pause; var state117 = 2; var _g117 = 0; while(_g117 < keys6.length) { var key117 = keys6[_g117]; ++_g117; action117.addKey(key117,state117); } break; case 8: var action118 = this._cheat; var state118 = 2; var _g118 = 0; while(_g118 < keys6.length) { var key118 = keys6[_g118]; ++_g118; action118.addKey(key118,state118); } break; } var keys7 = [82]; switch(Control.RESET._hx_index) { case 0: var action119 = this._up; var state119 = 1; var _g119 = 0; while(_g119 < keys7.length) { var key119 = keys7[_g119]; ++_g119; action119.addKey(key119,state119); } var action120 = this._upP; var state120 = 2; var _g120 = 0; while(_g120 < keys7.length) { var key120 = keys7[_g120]; ++_g120; action120.addKey(key120,state120); } var action121 = this._upR; var state121 = -1; var _g121 = 0; while(_g121 < keys7.length) { var key121 = keys7[_g121]; ++_g121; action121.addKey(key121,state121); } break; case 1: var action122 = this._left; var state122 = 1; var _g122 = 0; while(_g122 < keys7.length) { var key122 = keys7[_g122]; ++_g122; action122.addKey(key122,state122); } var action123 = this._leftP; var state123 = 2; var _g123 = 0; while(_g123 < keys7.length) { var key123 = keys7[_g123]; ++_g123; action123.addKey(key123,state123); } var action124 = this._leftR; var state124 = -1; var _g124 = 0; while(_g124 < keys7.length) { var key124 = keys7[_g124]; ++_g124; action124.addKey(key124,state124); } break; case 2: var action125 = this._right; var state125 = 1; var _g125 = 0; while(_g125 < keys7.length) { var key125 = keys7[_g125]; ++_g125; action125.addKey(key125,state125); } var action126 = this._rightP; var state126 = 2; var _g126 = 0; while(_g126 < keys7.length) { var key126 = keys7[_g126]; ++_g126; action126.addKey(key126,state126); } var action127 = this._rightR; var state127 = -1; var _g127 = 0; while(_g127 < keys7.length) { var key127 = keys7[_g127]; ++_g127; action127.addKey(key127,state127); } break; case 3: var action128 = this._down; var state128 = 1; var _g128 = 0; while(_g128 < keys7.length) { var key128 = keys7[_g128]; ++_g128; action128.addKey(key128,state128); } var action129 = this._downP; var state129 = 2; var _g129 = 0; while(_g129 < keys7.length) { var key129 = keys7[_g129]; ++_g129; action129.addKey(key129,state129); } var action130 = this._downR; var state130 = -1; var _g130 = 0; while(_g130 < keys7.length) { var key130 = keys7[_g130]; ++_g130; action130.addKey(key130,state130); } break; case 4: var action131 = this._reset; var state131 = 2; var _g131 = 0; while(_g131 < keys7.length) { var key131 = keys7[_g131]; ++_g131; action131.addKey(key131,state131); } break; case 5: var action132 = this._accept; var state132 = 2; var _g132 = 0; while(_g132 < keys7.length) { var key132 = keys7[_g132]; ++_g132; action132.addKey(key132,state132); } break; case 6: var action133 = this._back; var state133 = 2; var _g133 = 0; while(_g133 < keys7.length) { var key133 = keys7[_g133]; ++_g133; action133.addKey(key133,state133); } break; case 7: var action134 = this._pause; var state134 = 2; var _g134 = 0; while(_g134 < keys7.length) { var key134 = keys7[_g134]; ++_g134; action134.addKey(key134,state134); } break; case 8: var action135 = this._cheat; var state135 = 2; var _g135 = 0; while(_g135 < keys7.length) { var key135 = keys7[_g135]; ++_g135; action135.addKey(key135,state135); } break; } break; case 1: if(scheme.first) { var keys8 = [87,38]; switch(Control.UP._hx_index) { case 0: var action136 = this._up; var state136 = 1; var _g136 = 0; while(_g136 < keys8.length) { var key136 = keys8[_g136]; ++_g136; action136.addKey(key136,state136); } var action137 = this._upP; var state137 = 2; var _g137 = 0; while(_g137 < keys8.length) { var key137 = keys8[_g137]; ++_g137; action137.addKey(key137,state137); } var action138 = this._upR; var state138 = -1; var _g138 = 0; while(_g138 < keys8.length) { var key138 = keys8[_g138]; ++_g138; action138.addKey(key138,state138); } break; case 1: var action139 = this._left; var state139 = 1; var _g139 = 0; while(_g139 < keys8.length) { var key139 = keys8[_g139]; ++_g139; action139.addKey(key139,state139); } var action140 = this._leftP; var state140 = 2; var _g140 = 0; while(_g140 < keys8.length) { var key140 = keys8[_g140]; ++_g140; action140.addKey(key140,state140); } var action141 = this._leftR; var state141 = -1; var _g141 = 0; while(_g141 < keys8.length) { var key141 = keys8[_g141]; ++_g141; action141.addKey(key141,state141); } break; case 2: var action142 = this._right; var state142 = 1; var _g142 = 0; while(_g142 < keys8.length) { var key142 = keys8[_g142]; ++_g142; action142.addKey(key142,state142); } var action143 = this._rightP; var state143 = 2; var _g143 = 0; while(_g143 < keys8.length) { var key143 = keys8[_g143]; ++_g143; action143.addKey(key143,state143); } var action144 = this._rightR; var state144 = -1; var _g144 = 0; while(_g144 < keys8.length) { var key144 = keys8[_g144]; ++_g144; action144.addKey(key144,state144); } break; case 3: var action145 = this._down; var state145 = 1; var _g145 = 0; while(_g145 < keys8.length) { var key145 = keys8[_g145]; ++_g145; action145.addKey(key145,state145); } var action146 = this._downP; var state146 = 2; var _g146 = 0; while(_g146 < keys8.length) { var key146 = keys8[_g146]; ++_g146; action146.addKey(key146,state146); } var action147 = this._downR; var state147 = -1; var _g147 = 0; while(_g147 < keys8.length) { var key147 = keys8[_g147]; ++_g147; action147.addKey(key147,state147); } break; case 4: var action148 = this._reset; var state148 = 2; var _g148 = 0; while(_g148 < keys8.length) { var key148 = keys8[_g148]; ++_g148; action148.addKey(key148,state148); } break; case 5: var action149 = this._accept; var state149 = 2; var _g149 = 0; while(_g149 < keys8.length) { var key149 = keys8[_g149]; ++_g149; action149.addKey(key149,state149); } break; case 6: var action150 = this._back; var state150 = 2; var _g150 = 0; while(_g150 < keys8.length) { var key150 = keys8[_g150]; ++_g150; action150.addKey(key150,state150); } break; case 7: var action151 = this._pause; var state151 = 2; var _g151 = 0; while(_g151 < keys8.length) { var key151 = keys8[_g151]; ++_g151; action151.addKey(key151,state151); } break; case 8: var action152 = this._cheat; var state152 = 2; var _g152 = 0; while(_g152 < keys8.length) { var key152 = keys8[_g152]; ++_g152; action152.addKey(key152,state152); } break; } var keys9 = [83,40]; switch(Control.DOWN._hx_index) { case 0: var action153 = this._up; var state153 = 1; var _g153 = 0; while(_g153 < keys9.length) { var key153 = keys9[_g153]; ++_g153; action153.addKey(key153,state153); } var action154 = this._upP; var state154 = 2; var _g154 = 0; while(_g154 < keys9.length) { var key154 = keys9[_g154]; ++_g154; action154.addKey(key154,state154); } var action155 = this._upR; var state155 = -1; var _g155 = 0; while(_g155 < keys9.length) { var key155 = keys9[_g155]; ++_g155; action155.addKey(key155,state155); } break; case 1: var action156 = this._left; var state156 = 1; var _g156 = 0; while(_g156 < keys9.length) { var key156 = keys9[_g156]; ++_g156; action156.addKey(key156,state156); } var action157 = this._leftP; var state157 = 2; var _g157 = 0; while(_g157 < keys9.length) { var key157 = keys9[_g157]; ++_g157; action157.addKey(key157,state157); } var action158 = this._leftR; var state158 = -1; var _g158 = 0; while(_g158 < keys9.length) { var key158 = keys9[_g158]; ++_g158; action158.addKey(key158,state158); } break; case 2: var action159 = this._right; var state159 = 1; var _g159 = 0; while(_g159 < keys9.length) { var key159 = keys9[_g159]; ++_g159; action159.addKey(key159,state159); } var action160 = this._rightP; var state160 = 2; var _g160 = 0; while(_g160 < keys9.length) { var key160 = keys9[_g160]; ++_g160; action160.addKey(key160,state160); } var action161 = this._rightR; var state161 = -1; var _g161 = 0; while(_g161 < keys9.length) { var key161 = keys9[_g161]; ++_g161; action161.addKey(key161,state161); } break; case 3: var action162 = this._down; var state162 = 1; var _g162 = 0; while(_g162 < keys9.length) { var key162 = keys9[_g162]; ++_g162; action162.addKey(key162,state162); } var action163 = this._downP; var state163 = 2; var _g163 = 0; while(_g163 < keys9.length) { var key163 = keys9[_g163]; ++_g163; action163.addKey(key163,state163); } var action164 = this._downR; var state164 = -1; var _g164 = 0; while(_g164 < keys9.length) { var key164 = keys9[_g164]; ++_g164; action164.addKey(key164,state164); } break; case 4: var action165 = this._reset; var state165 = 2; var _g165 = 0; while(_g165 < keys9.length) { var key165 = keys9[_g165]; ++_g165; action165.addKey(key165,state165); } break; case 5: var action166 = this._accept; var state166 = 2; var _g166 = 0; while(_g166 < keys9.length) { var key166 = keys9[_g166]; ++_g166; action166.addKey(key166,state166); } break; case 6: var action167 = this._back; var state167 = 2; var _g167 = 0; while(_g167 < keys9.length) { var key167 = keys9[_g167]; ++_g167; action167.addKey(key167,state167); } break; case 7: var action168 = this._pause; var state168 = 2; var _g168 = 0; while(_g168 < keys9.length) { var key168 = keys9[_g168]; ++_g168; action168.addKey(key168,state168); } break; case 8: var action169 = this._cheat; var state169 = 2; var _g169 = 0; while(_g169 < keys9.length) { var key169 = keys9[_g169]; ++_g169; action169.addKey(key169,state169); } break; } var keys10 = [65,37]; switch(Control.LEFT._hx_index) { case 0: var action170 = this._up; var state170 = 1; var _g170 = 0; while(_g170 < keys10.length) { var key170 = keys10[_g170]; ++_g170; action170.addKey(key170,state170); } var action171 = this._upP; var state171 = 2; var _g171 = 0; while(_g171 < keys10.length) { var key171 = keys10[_g171]; ++_g171; action171.addKey(key171,state171); } var action172 = this._upR; var state172 = -1; var _g172 = 0; while(_g172 < keys10.length) { var key172 = keys10[_g172]; ++_g172; action172.addKey(key172,state172); } break; case 1: var action173 = this._left; var state173 = 1; var _g173 = 0; while(_g173 < keys10.length) { var key173 = keys10[_g173]; ++_g173; action173.addKey(key173,state173); } var action174 = this._leftP; var state174 = 2; var _g174 = 0; while(_g174 < keys10.length) { var key174 = keys10[_g174]; ++_g174; action174.addKey(key174,state174); } var action175 = this._leftR; var state175 = -1; var _g175 = 0; while(_g175 < keys10.length) { var key175 = keys10[_g175]; ++_g175; action175.addKey(key175,state175); } break; case 2: var action176 = this._right; var state176 = 1; var _g176 = 0; while(_g176 < keys10.length) { var key176 = keys10[_g176]; ++_g176; action176.addKey(key176,state176); } var action177 = this._rightP; var state177 = 2; var _g177 = 0; while(_g177 < keys10.length) { var key177 = keys10[_g177]; ++_g177; action177.addKey(key177,state177); } var action178 = this._rightR; var state178 = -1; var _g178 = 0; while(_g178 < keys10.length) { var key178 = keys10[_g178]; ++_g178; action178.addKey(key178,state178); } break; case 3: var action179 = this._down; var state179 = 1; var _g179 = 0; while(_g179 < keys10.length) { var key179 = keys10[_g179]; ++_g179; action179.addKey(key179,state179); } var action180 = this._downP; var state180 = 2; var _g180 = 0; while(_g180 < keys10.length) { var key180 = keys10[_g180]; ++_g180; action180.addKey(key180,state180); } var action181 = this._downR; var state181 = -1; var _g181 = 0; while(_g181 < keys10.length) { var key181 = keys10[_g181]; ++_g181; action181.addKey(key181,state181); } break; case 4: var action182 = this._reset; var state182 = 2; var _g182 = 0; while(_g182 < keys10.length) { var key182 = keys10[_g182]; ++_g182; action182.addKey(key182,state182); } break; case 5: var action183 = this._accept; var state183 = 2; var _g183 = 0; while(_g183 < keys10.length) { var key183 = keys10[_g183]; ++_g183; action183.addKey(key183,state183); } break; case 6: var action184 = this._back; var state184 = 2; var _g184 = 0; while(_g184 < keys10.length) { var key184 = keys10[_g184]; ++_g184; action184.addKey(key184,state184); } break; case 7: var action185 = this._pause; var state185 = 2; var _g185 = 0; while(_g185 < keys10.length) { var key185 = keys10[_g185]; ++_g185; action185.addKey(key185,state185); } break; case 8: var action186 = this._cheat; var state186 = 2; var _g186 = 0; while(_g186 < keys10.length) { var key186 = keys10[_g186]; ++_g186; action186.addKey(key186,state186); } break; } var keys11 = [68,39]; switch(Control.RIGHT._hx_index) { case 0: var action187 = this._up; var state187 = 1; var _g187 = 0; while(_g187 < keys11.length) { var key187 = keys11[_g187]; ++_g187; action187.addKey(key187,state187); } var action188 = this._upP; var state188 = 2; var _g188 = 0; while(_g188 < keys11.length) { var key188 = keys11[_g188]; ++_g188; action188.addKey(key188,state188); } var action189 = this._upR; var state189 = -1; var _g189 = 0; while(_g189 < keys11.length) { var key189 = keys11[_g189]; ++_g189; action189.addKey(key189,state189); } break; case 1: var action190 = this._left; var state190 = 1; var _g190 = 0; while(_g190 < keys11.length) { var key190 = keys11[_g190]; ++_g190; action190.addKey(key190,state190); } var action191 = this._leftP; var state191 = 2; var _g191 = 0; while(_g191 < keys11.length) { var key191 = keys11[_g191]; ++_g191; action191.addKey(key191,state191); } var action192 = this._leftR; var state192 = -1; var _g192 = 0; while(_g192 < keys11.length) { var key192 = keys11[_g192]; ++_g192; action192.addKey(key192,state192); } break; case 2: var action193 = this._right; var state193 = 1; var _g193 = 0; while(_g193 < keys11.length) { var key193 = keys11[_g193]; ++_g193; action193.addKey(key193,state193); } var action194 = this._rightP; var state194 = 2; var _g194 = 0; while(_g194 < keys11.length) { var key194 = keys11[_g194]; ++_g194; action194.addKey(key194,state194); } var action195 = this._rightR; var state195 = -1; var _g195 = 0; while(_g195 < keys11.length) { var key195 = keys11[_g195]; ++_g195; action195.addKey(key195,state195); } break; case 3: var action196 = this._down; var state196 = 1; var _g196 = 0; while(_g196 < keys11.length) { var key196 = keys11[_g196]; ++_g196; action196.addKey(key196,state196); } var action197 = this._downP; var state197 = 2; var _g197 = 0; while(_g197 < keys11.length) { var key197 = keys11[_g197]; ++_g197; action197.addKey(key197,state197); } var action198 = this._downR; var state198 = -1; var _g198 = 0; while(_g198 < keys11.length) { var key198 = keys11[_g198]; ++_g198; action198.addKey(key198,state198); } break; case 4: var action199 = this._reset; var state199 = 2; var _g199 = 0; while(_g199 < keys11.length) { var key199 = keys11[_g199]; ++_g199; action199.addKey(key199,state199); } break; case 5: var action200 = this._accept; var state200 = 2; var _g200 = 0; while(_g200 < keys11.length) { var key200 = keys11[_g200]; ++_g200; action200.addKey(key200,state200); } break; case 6: var action201 = this._back; var state201 = 2; var _g201 = 0; while(_g201 < keys11.length) { var key201 = keys11[_g201]; ++_g201; action201.addKey(key201,state201); } break; case 7: var action202 = this._pause; var state202 = 2; var _g202 = 0; while(_g202 < keys11.length) { var key202 = keys11[_g202]; ++_g202; action202.addKey(key202,state202); } break; case 8: var action203 = this._cheat; var state203 = 2; var _g203 = 0; while(_g203 < keys11.length) { var key203 = keys11[_g203]; ++_g203; action203.addKey(key203,state203); } break; } var keys12 = [71,90,32,13]; switch(Control.ACCEPT._hx_index) { case 0: var action204 = this._up; var state204 = 1; var _g204 = 0; while(_g204 < keys12.length) { var key204 = keys12[_g204]; ++_g204; action204.addKey(key204,state204); } var action205 = this._upP; var state205 = 2; var _g205 = 0; while(_g205 < keys12.length) { var key205 = keys12[_g205]; ++_g205; action205.addKey(key205,state205); } var action206 = this._upR; var state206 = -1; var _g206 = 0; while(_g206 < keys12.length) { var key206 = keys12[_g206]; ++_g206; action206.addKey(key206,state206); } break; case 1: var action207 = this._left; var state207 = 1; var _g207 = 0; while(_g207 < keys12.length) { var key207 = keys12[_g207]; ++_g207; action207.addKey(key207,state207); } var action208 = this._leftP; var state208 = 2; var _g208 = 0; while(_g208 < keys12.length) { var key208 = keys12[_g208]; ++_g208; action208.addKey(key208,state208); } var action209 = this._leftR; var state209 = -1; var _g209 = 0; while(_g209 < keys12.length) { var key209 = keys12[_g209]; ++_g209; action209.addKey(key209,state209); } break; case 2: var action210 = this._right; var state210 = 1; var _g210 = 0; while(_g210 < keys12.length) { var key210 = keys12[_g210]; ++_g210; action210.addKey(key210,state210); } var action211 = this._rightP; var state211 = 2; var _g211 = 0; while(_g211 < keys12.length) { var key211 = keys12[_g211]; ++_g211; action211.addKey(key211,state211); } var action212 = this._rightR; var state212 = -1; var _g212 = 0; while(_g212 < keys12.length) { var key212 = keys12[_g212]; ++_g212; action212.addKey(key212,state212); } break; case 3: var action213 = this._down; var state213 = 1; var _g213 = 0; while(_g213 < keys12.length) { var key213 = keys12[_g213]; ++_g213; action213.addKey(key213,state213); } var action214 = this._downP; var state214 = 2; var _g214 = 0; while(_g214 < keys12.length) { var key214 = keys12[_g214]; ++_g214; action214.addKey(key214,state214); } var action215 = this._downR; var state215 = -1; var _g215 = 0; while(_g215 < keys12.length) { var key215 = keys12[_g215]; ++_g215; action215.addKey(key215,state215); } break; case 4: var action216 = this._reset; var state216 = 2; var _g216 = 0; while(_g216 < keys12.length) { var key216 = keys12[_g216]; ++_g216; action216.addKey(key216,state216); } break; case 5: var action217 = this._accept; var state217 = 2; var _g217 = 0; while(_g217 < keys12.length) { var key217 = keys12[_g217]; ++_g217; action217.addKey(key217,state217); } break; case 6: var action218 = this._back; var state218 = 2; var _g218 = 0; while(_g218 < keys12.length) { var key218 = keys12[_g218]; ++_g218; action218.addKey(key218,state218); } break; case 7: var action219 = this._pause; var state219 = 2; var _g219 = 0; while(_g219 < keys12.length) { var key219 = keys12[_g219]; ++_g219; action219.addKey(key219,state219); } break; case 8: var action220 = this._cheat; var state220 = 2; var _g220 = 0; while(_g220 < keys12.length) { var key220 = keys12[_g220]; ++_g220; action220.addKey(key220,state220); } break; } var keys13 = [8,27]; switch(Control.BACK._hx_index) { case 0: var action221 = this._up; var state221 = 1; var _g221 = 0; while(_g221 < keys13.length) { var key221 = keys13[_g221]; ++_g221; action221.addKey(key221,state221); } var action222 = this._upP; var state222 = 2; var _g222 = 0; while(_g222 < keys13.length) { var key222 = keys13[_g222]; ++_g222; action222.addKey(key222,state222); } var action223 = this._upR; var state223 = -1; var _g223 = 0; while(_g223 < keys13.length) { var key223 = keys13[_g223]; ++_g223; action223.addKey(key223,state223); } break; case 1: var action224 = this._left; var state224 = 1; var _g224 = 0; while(_g224 < keys13.length) { var key224 = keys13[_g224]; ++_g224; action224.addKey(key224,state224); } var action225 = this._leftP; var state225 = 2; var _g225 = 0; while(_g225 < keys13.length) { var key225 = keys13[_g225]; ++_g225; action225.addKey(key225,state225); } var action226 = this._leftR; var state226 = -1; var _g226 = 0; while(_g226 < keys13.length) { var key226 = keys13[_g226]; ++_g226; action226.addKey(key226,state226); } break; case 2: var action227 = this._right; var state227 = 1; var _g227 = 0; while(_g227 < keys13.length) { var key227 = keys13[_g227]; ++_g227; action227.addKey(key227,state227); } var action228 = this._rightP; var state228 = 2; var _g228 = 0; while(_g228 < keys13.length) { var key228 = keys13[_g228]; ++_g228; action228.addKey(key228,state228); } var action229 = this._rightR; var state229 = -1; var _g229 = 0; while(_g229 < keys13.length) { var key229 = keys13[_g229]; ++_g229; action229.addKey(key229,state229); } break; case 3: var action230 = this._down; var state230 = 1; var _g230 = 0; while(_g230 < keys13.length) { var key230 = keys13[_g230]; ++_g230; action230.addKey(key230,state230); } var action231 = this._downP; var state231 = 2; var _g231 = 0; while(_g231 < keys13.length) { var key231 = keys13[_g231]; ++_g231; action231.addKey(key231,state231); } var action232 = this._downR; var state232 = -1; var _g232 = 0; while(_g232 < keys13.length) { var key232 = keys13[_g232]; ++_g232; action232.addKey(key232,state232); } break; case 4: var action233 = this._reset; var state233 = 2; var _g233 = 0; while(_g233 < keys13.length) { var key233 = keys13[_g233]; ++_g233; action233.addKey(key233,state233); } break; case 5: var action234 = this._accept; var state234 = 2; var _g234 = 0; while(_g234 < keys13.length) { var key234 = keys13[_g234]; ++_g234; action234.addKey(key234,state234); } break; case 6: var action235 = this._back; var state235 = 2; var _g235 = 0; while(_g235 < keys13.length) { var key235 = keys13[_g235]; ++_g235; action235.addKey(key235,state235); } break; case 7: var action236 = this._pause; var state236 = 2; var _g236 = 0; while(_g236 < keys13.length) { var key236 = keys13[_g236]; ++_g236; action236.addKey(key236,state236); } break; case 8: var action237 = this._cheat; var state237 = 2; var _g237 = 0; while(_g237 < keys13.length) { var key237 = keys13[_g237]; ++_g237; action237.addKey(key237,state237); } break; } var keys14 = [82]; switch(Control.RESET._hx_index) { case 0: var action238 = this._up; var state238 = 1; var _g238 = 0; while(_g238 < keys14.length) { var key238 = keys14[_g238]; ++_g238; action238.addKey(key238,state238); } var action239 = this._upP; var state239 = 2; var _g239 = 0; while(_g239 < keys14.length) { var key239 = keys14[_g239]; ++_g239; action239.addKey(key239,state239); } var action240 = this._upR; var state240 = -1; var _g240 = 0; while(_g240 < keys14.length) { var key240 = keys14[_g240]; ++_g240; action240.addKey(key240,state240); } break; case 1: var action241 = this._left; var state241 = 1; var _g241 = 0; while(_g241 < keys14.length) { var key241 = keys14[_g241]; ++_g241; action241.addKey(key241,state241); } var action242 = this._leftP; var state242 = 2; var _g242 = 0; while(_g242 < keys14.length) { var key242 = keys14[_g242]; ++_g242; action242.addKey(key242,state242); } var action243 = this._leftR; var state243 = -1; var _g243 = 0; while(_g243 < keys14.length) { var key243 = keys14[_g243]; ++_g243; action243.addKey(key243,state243); } break; case 2: var action244 = this._right; var state244 = 1; var _g244 = 0; while(_g244 < keys14.length) { var key244 = keys14[_g244]; ++_g244; action244.addKey(key244,state244); } var action245 = this._rightP; var state245 = 2; var _g245 = 0; while(_g245 < keys14.length) { var key245 = keys14[_g245]; ++_g245; action245.addKey(key245,state245); } var action246 = this._rightR; var state246 = -1; var _g246 = 0; while(_g246 < keys14.length) { var key246 = keys14[_g246]; ++_g246; action246.addKey(key246,state246); } break; case 3: var action247 = this._down; var state247 = 1; var _g247 = 0; while(_g247 < keys14.length) { var key247 = keys14[_g247]; ++_g247; action247.addKey(key247,state247); } var action248 = this._downP; var state248 = 2; var _g248 = 0; while(_g248 < keys14.length) { var key248 = keys14[_g248]; ++_g248; action248.addKey(key248,state248); } var action249 = this._downR; var state249 = -1; var _g249 = 0; while(_g249 < keys14.length) { var key249 = keys14[_g249]; ++_g249; action249.addKey(key249,state249); } break; case 4: var action250 = this._reset; var state250 = 2; var _g250 = 0; while(_g250 < keys14.length) { var key250 = keys14[_g250]; ++_g250; action250.addKey(key250,state250); } break; case 5: var action251 = this._accept; var state251 = 2; var _g251 = 0; while(_g251 < keys14.length) { var key251 = keys14[_g251]; ++_g251; action251.addKey(key251,state251); } break; case 6: var action252 = this._back; var state252 = 2; var _g252 = 0; while(_g252 < keys14.length) { var key252 = keys14[_g252]; ++_g252; action252.addKey(key252,state252); } break; case 7: var action253 = this._pause; var state253 = 2; var _g253 = 0; while(_g253 < keys14.length) { var key253 = keys14[_g253]; ++_g253; action253.addKey(key253,state253); } break; case 8: var action254 = this._cheat; var state254 = 2; var _g254 = 0; while(_g254 < keys14.length) { var key254 = keys14[_g254]; ++_g254; action254.addKey(key254,state254); } break; } } else { var keys15 = [38]; switch(Control.UP._hx_index) { case 0: var action255 = this._up; var state255 = 1; var _g255 = 0; while(_g255 < keys15.length) { var key255 = keys15[_g255]; ++_g255; action255.addKey(key255,state255); } var action256 = this._upP; var state256 = 2; var _g256 = 0; while(_g256 < keys15.length) { var key256 = keys15[_g256]; ++_g256; action256.addKey(key256,state256); } var action257 = this._upR; var state257 = -1; var _g257 = 0; while(_g257 < keys15.length) { var key257 = keys15[_g257]; ++_g257; action257.addKey(key257,state257); } break; case 1: var action258 = this._left; var state258 = 1; var _g258 = 0; while(_g258 < keys15.length) { var key258 = keys15[_g258]; ++_g258; action258.addKey(key258,state258); } var action259 = this._leftP; var state259 = 2; var _g259 = 0; while(_g259 < keys15.length) { var key259 = keys15[_g259]; ++_g259; action259.addKey(key259,state259); } var action260 = this._leftR; var state260 = -1; var _g260 = 0; while(_g260 < keys15.length) { var key260 = keys15[_g260]; ++_g260; action260.addKey(key260,state260); } break; case 2: var action261 = this._right; var state261 = 1; var _g261 = 0; while(_g261 < keys15.length) { var key261 = keys15[_g261]; ++_g261; action261.addKey(key261,state261); } var action262 = this._rightP; var state262 = 2; var _g262 = 0; while(_g262 < keys15.length) { var key262 = keys15[_g262]; ++_g262; action262.addKey(key262,state262); } var action263 = this._rightR; var state263 = -1; var _g263 = 0; while(_g263 < keys15.length) { var key263 = keys15[_g263]; ++_g263; action263.addKey(key263,state263); } break; case 3: var action264 = this._down; var state264 = 1; var _g264 = 0; while(_g264 < keys15.length) { var key264 = keys15[_g264]; ++_g264; action264.addKey(key264,state264); } var action265 = this._downP; var state265 = 2; var _g265 = 0; while(_g265 < keys15.length) { var key265 = keys15[_g265]; ++_g265; action265.addKey(key265,state265); } var action266 = this._downR; var state266 = -1; var _g266 = 0; while(_g266 < keys15.length) { var key266 = keys15[_g266]; ++_g266; action266.addKey(key266,state266); } break; case 4: var action267 = this._reset; var state267 = 2; var _g267 = 0; while(_g267 < keys15.length) { var key267 = keys15[_g267]; ++_g267; action267.addKey(key267,state267); } break; case 5: var action268 = this._accept; var state268 = 2; var _g268 = 0; while(_g268 < keys15.length) { var key268 = keys15[_g268]; ++_g268; action268.addKey(key268,state268); } break; case 6: var action269 = this._back; var state269 = 2; var _g269 = 0; while(_g269 < keys15.length) { var key269 = keys15[_g269]; ++_g269; action269.addKey(key269,state269); } break; case 7: var action270 = this._pause; var state270 = 2; var _g270 = 0; while(_g270 < keys15.length) { var key270 = keys15[_g270]; ++_g270; action270.addKey(key270,state270); } break; case 8: var action271 = this._cheat; var state271 = 2; var _g271 = 0; while(_g271 < keys15.length) { var key271 = keys15[_g271]; ++_g271; action271.addKey(key271,state271); } break; } var keys16 = [40]; switch(Control.DOWN._hx_index) { case 0: var action272 = this._up; var state272 = 1; var _g272 = 0; while(_g272 < keys16.length) { var key272 = keys16[_g272]; ++_g272; action272.addKey(key272,state272); } var action273 = this._upP; var state273 = 2; var _g273 = 0; while(_g273 < keys16.length) { var key273 = keys16[_g273]; ++_g273; action273.addKey(key273,state273); } var action274 = this._upR; var state274 = -1; var _g274 = 0; while(_g274 < keys16.length) { var key274 = keys16[_g274]; ++_g274; action274.addKey(key274,state274); } break; case 1: var action275 = this._left; var state275 = 1; var _g275 = 0; while(_g275 < keys16.length) { var key275 = keys16[_g275]; ++_g275; action275.addKey(key275,state275); } var action276 = this._leftP; var state276 = 2; var _g276 = 0; while(_g276 < keys16.length) { var key276 = keys16[_g276]; ++_g276; action276.addKey(key276,state276); } var action277 = this._leftR; var state277 = -1; var _g277 = 0; while(_g277 < keys16.length) { var key277 = keys16[_g277]; ++_g277; action277.addKey(key277,state277); } break; case 2: var action278 = this._right; var state278 = 1; var _g278 = 0; while(_g278 < keys16.length) { var key278 = keys16[_g278]; ++_g278; action278.addKey(key278,state278); } var action279 = this._rightP; var state279 = 2; var _g279 = 0; while(_g279 < keys16.length) { var key279 = keys16[_g279]; ++_g279; action279.addKey(key279,state279); } var action280 = this._rightR; var state280 = -1; var _g280 = 0; while(_g280 < keys16.length) { var key280 = keys16[_g280]; ++_g280; action280.addKey(key280,state280); } break; case 3: var action281 = this._down; var state281 = 1; var _g281 = 0; while(_g281 < keys16.length) { var key281 = keys16[_g281]; ++_g281; action281.addKey(key281,state281); } var action282 = this._downP; var state282 = 2; var _g282 = 0; while(_g282 < keys16.length) { var key282 = keys16[_g282]; ++_g282; action282.addKey(key282,state282); } var action283 = this._downR; var state283 = -1; var _g283 = 0; while(_g283 < keys16.length) { var key283 = keys16[_g283]; ++_g283; action283.addKey(key283,state283); } break; case 4: var action284 = this._reset; var state284 = 2; var _g284 = 0; while(_g284 < keys16.length) { var key284 = keys16[_g284]; ++_g284; action284.addKey(key284,state284); } break; case 5: var action285 = this._accept; var state285 = 2; var _g285 = 0; while(_g285 < keys16.length) { var key285 = keys16[_g285]; ++_g285; action285.addKey(key285,state285); } break; case 6: var action286 = this._back; var state286 = 2; var _g286 = 0; while(_g286 < keys16.length) { var key286 = keys16[_g286]; ++_g286; action286.addKey(key286,state286); } break; case 7: var action287 = this._pause; var state287 = 2; var _g287 = 0; while(_g287 < keys16.length) { var key287 = keys16[_g287]; ++_g287; action287.addKey(key287,state287); } break; case 8: var action288 = this._cheat; var state288 = 2; var _g288 = 0; while(_g288 < keys16.length) { var key288 = keys16[_g288]; ++_g288; action288.addKey(key288,state288); } break; } var keys17 = [37]; switch(Control.LEFT._hx_index) { case 0: var action289 = this._up; var state289 = 1; var _g289 = 0; while(_g289 < keys17.length) { var key289 = keys17[_g289]; ++_g289; action289.addKey(key289,state289); } var action290 = this._upP; var state290 = 2; var _g290 = 0; while(_g290 < keys17.length) { var key290 = keys17[_g290]; ++_g290; action290.addKey(key290,state290); } var action291 = this._upR; var state291 = -1; var _g291 = 0; while(_g291 < keys17.length) { var key291 = keys17[_g291]; ++_g291; action291.addKey(key291,state291); } break; case 1: var action292 = this._left; var state292 = 1; var _g292 = 0; while(_g292 < keys17.length) { var key292 = keys17[_g292]; ++_g292; action292.addKey(key292,state292); } var action293 = this._leftP; var state293 = 2; var _g293 = 0; while(_g293 < keys17.length) { var key293 = keys17[_g293]; ++_g293; action293.addKey(key293,state293); } var action294 = this._leftR; var state294 = -1; var _g294 = 0; while(_g294 < keys17.length) { var key294 = keys17[_g294]; ++_g294; action294.addKey(key294,state294); } break; case 2: var action295 = this._right; var state295 = 1; var _g295 = 0; while(_g295 < keys17.length) { var key295 = keys17[_g295]; ++_g295; action295.addKey(key295,state295); } var action296 = this._rightP; var state296 = 2; var _g296 = 0; while(_g296 < keys17.length) { var key296 = keys17[_g296]; ++_g296; action296.addKey(key296,state296); } var action297 = this._rightR; var state297 = -1; var _g297 = 0; while(_g297 < keys17.length) { var key297 = keys17[_g297]; ++_g297; action297.addKey(key297,state297); } break; case 3: var action298 = this._down; var state298 = 1; var _g298 = 0; while(_g298 < keys17.length) { var key298 = keys17[_g298]; ++_g298; action298.addKey(key298,state298); } var action299 = this._downP; var state299 = 2; var _g299 = 0; while(_g299 < keys17.length) { var key299 = keys17[_g299]; ++_g299; action299.addKey(key299,state299); } var action300 = this._downR; var state300 = -1; var _g300 = 0; while(_g300 < keys17.length) { var key300 = keys17[_g300]; ++_g300; action300.addKey(key300,state300); } break; case 4: var action301 = this._reset; var state301 = 2; var _g301 = 0; while(_g301 < keys17.length) { var key301 = keys17[_g301]; ++_g301; action301.addKey(key301,state301); } break; case 5: var action302 = this._accept; var state302 = 2; var _g302 = 0; while(_g302 < keys17.length) { var key302 = keys17[_g302]; ++_g302; action302.addKey(key302,state302); } break; case 6: var action303 = this._back; var state303 = 2; var _g303 = 0; while(_g303 < keys17.length) { var key303 = keys17[_g303]; ++_g303; action303.addKey(key303,state303); } break; case 7: var action304 = this._pause; var state304 = 2; var _g304 = 0; while(_g304 < keys17.length) { var key304 = keys17[_g304]; ++_g304; action304.addKey(key304,state304); } break; case 8: var action305 = this._cheat; var state305 = 2; var _g305 = 0; while(_g305 < keys17.length) { var key305 = keys17[_g305]; ++_g305; action305.addKey(key305,state305); } break; } var keys18 = [39]; switch(Control.RIGHT._hx_index) { case 0: var action306 = this._up; var state306 = 1; var _g306 = 0; while(_g306 < keys18.length) { var key306 = keys18[_g306]; ++_g306; action306.addKey(key306,state306); } var action307 = this._upP; var state307 = 2; var _g307 = 0; while(_g307 < keys18.length) { var key307 = keys18[_g307]; ++_g307; action307.addKey(key307,state307); } var action308 = this._upR; var state308 = -1; var _g308 = 0; while(_g308 < keys18.length) { var key308 = keys18[_g308]; ++_g308; action308.addKey(key308,state308); } break; case 1: var action309 = this._left; var state309 = 1; var _g309 = 0; while(_g309 < keys18.length) { var key309 = keys18[_g309]; ++_g309; action309.addKey(key309,state309); } var action310 = this._leftP; var state310 = 2; var _g310 = 0; while(_g310 < keys18.length) { var key310 = keys18[_g310]; ++_g310; action310.addKey(key310,state310); } var action311 = this._leftR; var state311 = -1; var _g311 = 0; while(_g311 < keys18.length) { var key311 = keys18[_g311]; ++_g311; action311.addKey(key311,state311); } break; case 2: var action312 = this._right; var state312 = 1; var _g312 = 0; while(_g312 < keys18.length) { var key312 = keys18[_g312]; ++_g312; action312.addKey(key312,state312); } var action313 = this._rightP; var state313 = 2; var _g313 = 0; while(_g313 < keys18.length) { var key313 = keys18[_g313]; ++_g313; action313.addKey(key313,state313); } var action314 = this._rightR; var state314 = -1; var _g314 = 0; while(_g314 < keys18.length) { var key314 = keys18[_g314]; ++_g314; action314.addKey(key314,state314); } break; case 3: var action315 = this._down; var state315 = 1; var _g315 = 0; while(_g315 < keys18.length) { var key315 = keys18[_g315]; ++_g315; action315.addKey(key315,state315); } var action316 = this._downP; var state316 = 2; var _g316 = 0; while(_g316 < keys18.length) { var key316 = keys18[_g316]; ++_g316; action316.addKey(key316,state316); } var action317 = this._downR; var state317 = -1; var _g317 = 0; while(_g317 < keys18.length) { var key317 = keys18[_g317]; ++_g317; action317.addKey(key317,state317); } break; case 4: var action318 = this._reset; var state318 = 2; var _g318 = 0; while(_g318 < keys18.length) { var key318 = keys18[_g318]; ++_g318; action318.addKey(key318,state318); } break; case 5: var action319 = this._accept; var state319 = 2; var _g319 = 0; while(_g319 < keys18.length) { var key319 = keys18[_g319]; ++_g319; action319.addKey(key319,state319); } break; case 6: var action320 = this._back; var state320 = 2; var _g320 = 0; while(_g320 < keys18.length) { var key320 = keys18[_g320]; ++_g320; action320.addKey(key320,state320); } break; case 7: var action321 = this._pause; var state321 = 2; var _g321 = 0; while(_g321 < keys18.length) { var key321 = keys18[_g321]; ++_g321; action321.addKey(key321,state321); } break; case 8: var action322 = this._cheat; var state322 = 2; var _g322 = 0; while(_g322 < keys18.length) { var key322 = keys18[_g322]; ++_g322; action322.addKey(key322,state322); } break; } var keys19 = [79]; switch(Control.ACCEPT._hx_index) { case 0: var action323 = this._up; var state323 = 1; var _g323 = 0; while(_g323 < keys19.length) { var key323 = keys19[_g323]; ++_g323; action323.addKey(key323,state323); } var action324 = this._upP; var state324 = 2; var _g324 = 0; while(_g324 < keys19.length) { var key324 = keys19[_g324]; ++_g324; action324.addKey(key324,state324); } var action325 = this._upR; var state325 = -1; var _g325 = 0; while(_g325 < keys19.length) { var key325 = keys19[_g325]; ++_g325; action325.addKey(key325,state325); } break; case 1: var action326 = this._left; var state326 = 1; var _g326 = 0; while(_g326 < keys19.length) { var key326 = keys19[_g326]; ++_g326; action326.addKey(key326,state326); } var action327 = this._leftP; var state327 = 2; var _g327 = 0; while(_g327 < keys19.length) { var key327 = keys19[_g327]; ++_g327; action327.addKey(key327,state327); } var action328 = this._leftR; var state328 = -1; var _g328 = 0; while(_g328 < keys19.length) { var key328 = keys19[_g328]; ++_g328; action328.addKey(key328,state328); } break; case 2: var action329 = this._right; var state329 = 1; var _g329 = 0; while(_g329 < keys19.length) { var key329 = keys19[_g329]; ++_g329; action329.addKey(key329,state329); } var action330 = this._rightP; var state330 = 2; var _g330 = 0; while(_g330 < keys19.length) { var key330 = keys19[_g330]; ++_g330; action330.addKey(key330,state330); } var action331 = this._rightR; var state331 = -1; var _g331 = 0; while(_g331 < keys19.length) { var key331 = keys19[_g331]; ++_g331; action331.addKey(key331,state331); } break; case 3: var action332 = this._down; var state332 = 1; var _g332 = 0; while(_g332 < keys19.length) { var key332 = keys19[_g332]; ++_g332; action332.addKey(key332,state332); } var action333 = this._downP; var state333 = 2; var _g333 = 0; while(_g333 < keys19.length) { var key333 = keys19[_g333]; ++_g333; action333.addKey(key333,state333); } var action334 = this._downR; var state334 = -1; var _g334 = 0; while(_g334 < keys19.length) { var key334 = keys19[_g334]; ++_g334; action334.addKey(key334,state334); } break; case 4: var action335 = this._reset; var state335 = 2; var _g335 = 0; while(_g335 < keys19.length) { var key335 = keys19[_g335]; ++_g335; action335.addKey(key335,state335); } break; case 5: var action336 = this._accept; var state336 = 2; var _g336 = 0; while(_g336 < keys19.length) { var key336 = keys19[_g336]; ++_g336; action336.addKey(key336,state336); } break; case 6: var action337 = this._back; var state337 = 2; var _g337 = 0; while(_g337 < keys19.length) { var key337 = keys19[_g337]; ++_g337; action337.addKey(key337,state337); } break; case 7: var action338 = this._pause; var state338 = 2; var _g338 = 0; while(_g338 < keys19.length) { var key338 = keys19[_g338]; ++_g338; action338.addKey(key338,state338); } break; case 8: var action339 = this._cheat; var state339 = 2; var _g339 = 0; while(_g339 < keys19.length) { var key339 = keys19[_g339]; ++_g339; action339.addKey(key339,state339); } break; } var keys20 = [80]; switch(Control.BACK._hx_index) { case 0: var action340 = this._up; var state340 = 1; var _g340 = 0; while(_g340 < keys20.length) { var key340 = keys20[_g340]; ++_g340; action340.addKey(key340,state340); } var action341 = this._upP; var state341 = 2; var _g341 = 0; while(_g341 < keys20.length) { var key341 = keys20[_g341]; ++_g341; action341.addKey(key341,state341); } var action342 = this._upR; var state342 = -1; var _g342 = 0; while(_g342 < keys20.length) { var key342 = keys20[_g342]; ++_g342; action342.addKey(key342,state342); } break; case 1: var action343 = this._left; var state343 = 1; var _g343 = 0; while(_g343 < keys20.length) { var key343 = keys20[_g343]; ++_g343; action343.addKey(key343,state343); } var action344 = this._leftP; var state344 = 2; var _g344 = 0; while(_g344 < keys20.length) { var key344 = keys20[_g344]; ++_g344; action344.addKey(key344,state344); } var action345 = this._leftR; var state345 = -1; var _g345 = 0; while(_g345 < keys20.length) { var key345 = keys20[_g345]; ++_g345; action345.addKey(key345,state345); } break; case 2: var action346 = this._right; var state346 = 1; var _g346 = 0; while(_g346 < keys20.length) { var key346 = keys20[_g346]; ++_g346; action346.addKey(key346,state346); } var action347 = this._rightP; var state347 = 2; var _g347 = 0; while(_g347 < keys20.length) { var key347 = keys20[_g347]; ++_g347; action347.addKey(key347,state347); } var action348 = this._rightR; var state348 = -1; var _g348 = 0; while(_g348 < keys20.length) { var key348 = keys20[_g348]; ++_g348; action348.addKey(key348,state348); } break; case 3: var action349 = this._down; var state349 = 1; var _g349 = 0; while(_g349 < keys20.length) { var key349 = keys20[_g349]; ++_g349; action349.addKey(key349,state349); } var action350 = this._downP; var state350 = 2; var _g350 = 0; while(_g350 < keys20.length) { var key350 = keys20[_g350]; ++_g350; action350.addKey(key350,state350); } var action351 = this._downR; var state351 = -1; var _g351 = 0; while(_g351 < keys20.length) { var key351 = keys20[_g351]; ++_g351; action351.addKey(key351,state351); } break; case 4: var action352 = this._reset; var state352 = 2; var _g352 = 0; while(_g352 < keys20.length) { var key352 = keys20[_g352]; ++_g352; action352.addKey(key352,state352); } break; case 5: var action353 = this._accept; var state353 = 2; var _g353 = 0; while(_g353 < keys20.length) { var key353 = keys20[_g353]; ++_g353; action353.addKey(key353,state353); } break; case 6: var action354 = this._back; var state354 = 2; var _g354 = 0; while(_g354 < keys20.length) { var key354 = keys20[_g354]; ++_g354; action354.addKey(key354,state354); } break; case 7: var action355 = this._pause; var state355 = 2; var _g355 = 0; while(_g355 < keys20.length) { var key355 = keys20[_g355]; ++_g355; action355.addKey(key355,state355); } break; case 8: var action356 = this._cheat; var state356 = 2; var _g356 = 0; while(_g356 < keys20.length) { var key356 = keys20[_g356]; ++_g356; action356.addKey(key356,state356); } break; } var keys21 = [13]; switch(Control.PAUSE._hx_index) { case 0: var action357 = this._up; var state357 = 1; var _g357 = 0; while(_g357 < keys21.length) { var key357 = keys21[_g357]; ++_g357; action357.addKey(key357,state357); } var action358 = this._upP; var state358 = 2; var _g358 = 0; while(_g358 < keys21.length) { var key358 = keys21[_g358]; ++_g358; action358.addKey(key358,state358); } var action359 = this._upR; var state359 = -1; var _g359 = 0; while(_g359 < keys21.length) { var key359 = keys21[_g359]; ++_g359; action359.addKey(key359,state359); } break; case 1: var action360 = this._left; var state360 = 1; var _g360 = 0; while(_g360 < keys21.length) { var key360 = keys21[_g360]; ++_g360; action360.addKey(key360,state360); } var action361 = this._leftP; var state361 = 2; var _g361 = 0; while(_g361 < keys21.length) { var key361 = keys21[_g361]; ++_g361; action361.addKey(key361,state361); } var action362 = this._leftR; var state362 = -1; var _g362 = 0; while(_g362 < keys21.length) { var key362 = keys21[_g362]; ++_g362; action362.addKey(key362,state362); } break; case 2: var action363 = this._right; var state363 = 1; var _g363 = 0; while(_g363 < keys21.length) { var key363 = keys21[_g363]; ++_g363; action363.addKey(key363,state363); } var action364 = this._rightP; var state364 = 2; var _g364 = 0; while(_g364 < keys21.length) { var key364 = keys21[_g364]; ++_g364; action364.addKey(key364,state364); } var action365 = this._rightR; var state365 = -1; var _g365 = 0; while(_g365 < keys21.length) { var key365 = keys21[_g365]; ++_g365; action365.addKey(key365,state365); } break; case 3: var action366 = this._down; var state366 = 1; var _g366 = 0; while(_g366 < keys21.length) { var key366 = keys21[_g366]; ++_g366; action366.addKey(key366,state366); } var action367 = this._downP; var state367 = 2; var _g367 = 0; while(_g367 < keys21.length) { var key367 = keys21[_g367]; ++_g367; action367.addKey(key367,state367); } var action368 = this._downR; var state368 = -1; var _g368 = 0; while(_g368 < keys21.length) { var key368 = keys21[_g368]; ++_g368; action368.addKey(key368,state368); } break; case 4: var action369 = this._reset; var state369 = 2; var _g369 = 0; while(_g369 < keys21.length) { var key369 = keys21[_g369]; ++_g369; action369.addKey(key369,state369); } break; case 5: var action370 = this._accept; var state370 = 2; var _g370 = 0; while(_g370 < keys21.length) { var key370 = keys21[_g370]; ++_g370; action370.addKey(key370,state370); } break; case 6: var action371 = this._back; var state371 = 2; var _g371 = 0; while(_g371 < keys21.length) { var key371 = keys21[_g371]; ++_g371; action371.addKey(key371,state371); } break; case 7: var action372 = this._pause; var state372 = 2; var _g372 = 0; while(_g372 < keys21.length) { var key372 = keys21[_g372]; ++_g372; action372.addKey(key372,state372); } break; case 8: var action373 = this._cheat; var state373 = 2; var _g373 = 0; while(_g373 < keys21.length) { var key373 = keys21[_g373]; ++_g373; action373.addKey(key373,state373); } break; } var keys22 = [8]; switch(Control.RESET._hx_index) { case 0: var action374 = this._up; var state374 = 1; var _g374 = 0; while(_g374 < keys22.length) { var key374 = keys22[_g374]; ++_g374; action374.addKey(key374,state374); } var action375 = this._upP; var state375 = 2; var _g375 = 0; while(_g375 < keys22.length) { var key375 = keys22[_g375]; ++_g375; action375.addKey(key375,state375); } var action376 = this._upR; var state376 = -1; var _g376 = 0; while(_g376 < keys22.length) { var key376 = keys22[_g376]; ++_g376; action376.addKey(key376,state376); } break; case 1: var action377 = this._left; var state377 = 1; var _g377 = 0; while(_g377 < keys22.length) { var key377 = keys22[_g377]; ++_g377; action377.addKey(key377,state377); } var action378 = this._leftP; var state378 = 2; var _g378 = 0; while(_g378 < keys22.length) { var key378 = keys22[_g378]; ++_g378; action378.addKey(key378,state378); } var action379 = this._leftR; var state379 = -1; var _g379 = 0; while(_g379 < keys22.length) { var key379 = keys22[_g379]; ++_g379; action379.addKey(key379,state379); } break; case 2: var action380 = this._right; var state380 = 1; var _g380 = 0; while(_g380 < keys22.length) { var key380 = keys22[_g380]; ++_g380; action380.addKey(key380,state380); } var action381 = this._rightP; var state381 = 2; var _g381 = 0; while(_g381 < keys22.length) { var key381 = keys22[_g381]; ++_g381; action381.addKey(key381,state381); } var action382 = this._rightR; var state382 = -1; var _g382 = 0; while(_g382 < keys22.length) { var key382 = keys22[_g382]; ++_g382; action382.addKey(key382,state382); } break; case 3: var action383 = this._down; var state383 = 1; var _g383 = 0; while(_g383 < keys22.length) { var key383 = keys22[_g383]; ++_g383; action383.addKey(key383,state383); } var action384 = this._downP; var state384 = 2; var _g384 = 0; while(_g384 < keys22.length) { var key384 = keys22[_g384]; ++_g384; action384.addKey(key384,state384); } var action385 = this._downR; var state385 = -1; var _g385 = 0; while(_g385 < keys22.length) { var key385 = keys22[_g385]; ++_g385; action385.addKey(key385,state385); } break; case 4: var action386 = this._reset; var state386 = 2; var _g386 = 0; while(_g386 < keys22.length) { var key386 = keys22[_g386]; ++_g386; action386.addKey(key386,state386); } break; case 5: var action387 = this._accept; var state387 = 2; var _g387 = 0; while(_g387 < keys22.length) { var key387 = keys22[_g387]; ++_g387; action387.addKey(key387,state387); } break; case 6: var action388 = this._back; var state388 = 2; var _g388 = 0; while(_g388 < keys22.length) { var key388 = keys22[_g388]; ++_g388; action388.addKey(key388,state388); } break; case 7: var action389 = this._pause; var state389 = 2; var _g389 = 0; while(_g389 < keys22.length) { var key389 = keys22[_g389]; ++_g389; action389.addKey(key389,state389); } break; case 8: var action390 = this._cheat; var state390 = 2; var _g390 = 0; while(_g390 < keys22.length) { var key390 = keys22[_g390]; ++_g390; action390.addKey(key390,state390); } break; } } break; case 2: break; case 3: break; } } ,removeKeyboard: function() { var _g = 0; var _g1 = this.digitalActions; while(_g < _g1.length) { var action = _g1[_g]; ++_g; var i = action.inputs.length; while(i-- > 0) { var input = action.inputs[i]; if(input.device == flixel_input_actions_FlxInputDevice.KEYBOARD) { action.remove(input); } } } } ,addGamepad: function(id,buttonMap) { this.gamepadsAdded.push(id); var _g = new haxe_iterators_MapKeyValueIterator(buttonMap); while(_g.hasNext()) { var _g1 = _g.next(); var control = _g1.key; var buttons = _g1.value; var id1 = id; var buttons1 = buttons; switch(control._hx_index) { case 0: var action = this._up; var state = 1; var _g2 = 0; while(_g2 < buttons1.length) { var button = buttons1[_g2]; ++_g2; action.addGamepad(button,state,id1); } var action1 = this._upP; var state1 = 2; var _g3 = 0; while(_g3 < buttons1.length) { var button1 = buttons1[_g3]; ++_g3; action1.addGamepad(button1,state1,id1); } var action2 = this._upR; var state2 = -1; var _g4 = 0; while(_g4 < buttons1.length) { var button2 = buttons1[_g4]; ++_g4; action2.addGamepad(button2,state2,id1); } break; case 1: var action3 = this._left; var state3 = 1; var _g5 = 0; while(_g5 < buttons1.length) { var button3 = buttons1[_g5]; ++_g5; action3.addGamepad(button3,state3,id1); } var action4 = this._leftP; var state4 = 2; var _g6 = 0; while(_g6 < buttons1.length) { var button4 = buttons1[_g6]; ++_g6; action4.addGamepad(button4,state4,id1); } var action5 = this._leftR; var state5 = -1; var _g7 = 0; while(_g7 < buttons1.length) { var button5 = buttons1[_g7]; ++_g7; action5.addGamepad(button5,state5,id1); } break; case 2: var action6 = this._right; var state6 = 1; var _g8 = 0; while(_g8 < buttons1.length) { var button6 = buttons1[_g8]; ++_g8; action6.addGamepad(button6,state6,id1); } var action7 = this._rightP; var state7 = 2; var _g9 = 0; while(_g9 < buttons1.length) { var button7 = buttons1[_g9]; ++_g9; action7.addGamepad(button7,state7,id1); } var action8 = this._rightR; var state8 = -1; var _g10 = 0; while(_g10 < buttons1.length) { var button8 = buttons1[_g10]; ++_g10; action8.addGamepad(button8,state8,id1); } break; case 3: var action9 = this._down; var state9 = 1; var _g11 = 0; while(_g11 < buttons1.length) { var button9 = buttons1[_g11]; ++_g11; action9.addGamepad(button9,state9,id1); } var action10 = this._downP; var state10 = 2; var _g12 = 0; while(_g12 < buttons1.length) { var button10 = buttons1[_g12]; ++_g12; action10.addGamepad(button10,state10,id1); } var action11 = this._downR; var state11 = -1; var _g13 = 0; while(_g13 < buttons1.length) { var button11 = buttons1[_g13]; ++_g13; action11.addGamepad(button11,state11,id1); } break; case 4: var action12 = this._reset; var state12 = 2; var _g14 = 0; while(_g14 < buttons1.length) { var button12 = buttons1[_g14]; ++_g14; action12.addGamepad(button12,state12,id1); } break; case 5: var action13 = this._accept; var state13 = 2; var _g15 = 0; while(_g15 < buttons1.length) { var button13 = buttons1[_g15]; ++_g15; action13.addGamepad(button13,state13,id1); } break; case 6: var action14 = this._back; var state14 = 2; var _g16 = 0; while(_g16 < buttons1.length) { var button14 = buttons1[_g16]; ++_g16; action14.addGamepad(button14,state14,id1); } break; case 7: var action15 = this._pause; var state15 = 2; var _g17 = 0; while(_g17 < buttons1.length) { var button15 = buttons1[_g17]; ++_g17; action15.addGamepad(button15,state15,id1); } break; case 8: var action16 = this._cheat; var state16 = 2; var _g18 = 0; while(_g18 < buttons1.length) { var button16 = buttons1[_g18]; ++_g18; action16.addGamepad(button16,state16,id1); } break; } } } ,addGamepadLiteral: function(id,buttonMap) { this.gamepadsAdded.push(id); var _g = new haxe_iterators_MapKeyValueIterator(buttonMap); while(_g.hasNext()) { var _g1 = _g.next(); var control = _g1.key; var buttons = _g1.value; var id1 = id; var buttons1 = buttons; switch(control._hx_index) { case 0: var action = this._up; var state = 1; var _g2 = 0; while(_g2 < buttons1.length) { var button = buttons1[_g2]; ++_g2; action.addGamepad(button,state,id1); } var action1 = this._upP; var state1 = 2; var _g3 = 0; while(_g3 < buttons1.length) { var button1 = buttons1[_g3]; ++_g3; action1.addGamepad(button1,state1,id1); } var action2 = this._upR; var state2 = -1; var _g4 = 0; while(_g4 < buttons1.length) { var button2 = buttons1[_g4]; ++_g4; action2.addGamepad(button2,state2,id1); } break; case 1: var action3 = this._left; var state3 = 1; var _g5 = 0; while(_g5 < buttons1.length) { var button3 = buttons1[_g5]; ++_g5; action3.addGamepad(button3,state3,id1); } var action4 = this._leftP; var state4 = 2; var _g6 = 0; while(_g6 < buttons1.length) { var button4 = buttons1[_g6]; ++_g6; action4.addGamepad(button4,state4,id1); } var action5 = this._leftR; var state5 = -1; var _g7 = 0; while(_g7 < buttons1.length) { var button5 = buttons1[_g7]; ++_g7; action5.addGamepad(button5,state5,id1); } break; case 2: var action6 = this._right; var state6 = 1; var _g8 = 0; while(_g8 < buttons1.length) { var button6 = buttons1[_g8]; ++_g8; action6.addGamepad(button6,state6,id1); } var action7 = this._rightP; var state7 = 2; var _g9 = 0; while(_g9 < buttons1.length) { var button7 = buttons1[_g9]; ++_g9; action7.addGamepad(button7,state7,id1); } var action8 = this._rightR; var state8 = -1; var _g10 = 0; while(_g10 < buttons1.length) { var button8 = buttons1[_g10]; ++_g10; action8.addGamepad(button8,state8,id1); } break; case 3: var action9 = this._down; var state9 = 1; var _g11 = 0; while(_g11 < buttons1.length) { var button9 = buttons1[_g11]; ++_g11; action9.addGamepad(button9,state9,id1); } var action10 = this._downP; var state10 = 2; var _g12 = 0; while(_g12 < buttons1.length) { var button10 = buttons1[_g12]; ++_g12; action10.addGamepad(button10,state10,id1); } var action11 = this._downR; var state11 = -1; var _g13 = 0; while(_g13 < buttons1.length) { var button11 = buttons1[_g13]; ++_g13; action11.addGamepad(button11,state11,id1); } break; case 4: var action12 = this._reset; var state12 = 2; var _g14 = 0; while(_g14 < buttons1.length) { var button12 = buttons1[_g14]; ++_g14; action12.addGamepad(button12,state12,id1); } break; case 5: var action13 = this._accept; var state13 = 2; var _g15 = 0; while(_g15 < buttons1.length) { var button13 = buttons1[_g15]; ++_g15; action13.addGamepad(button13,state13,id1); } break; case 6: var action14 = this._back; var state14 = 2; var _g16 = 0; while(_g16 < buttons1.length) { var button14 = buttons1[_g16]; ++_g16; action14.addGamepad(button14,state14,id1); } break; case 7: var action15 = this._pause; var state15 = 2; var _g17 = 0; while(_g17 < buttons1.length) { var button15 = buttons1[_g17]; ++_g17; action15.addGamepad(button15,state15,id1); } break; case 8: var action16 = this._cheat; var state16 = 2; var _g18 = 0; while(_g18 < buttons1.length) { var button16 = buttons1[_g18]; ++_g18; action16.addGamepad(button16,state16,id1); } break; } } } ,removeGamepad: function(deviceID) { if(deviceID == null) { deviceID = -1; } var _g = 0; var _g1 = this.digitalActions; while(_g < _g1.length) { var action = _g1[_g]; ++_g; var i = action.inputs.length; while(i-- > 0) { var input = action.inputs[i]; if(input.device == flixel_input_actions_FlxInputDevice.GAMEPAD && (deviceID == -1 || input.deviceID == deviceID)) { action.remove(input); } } } HxOverrides.remove(this.gamepadsAdded,deviceID); } ,addDefaultGamepad: function(id) { var _g = new haxe_ds_EnumValueMap(); _g.set(Control.ACCEPT,[0]); _g.set(Control.BACK,[1]); _g.set(Control.UP,[11,34]); _g.set(Control.DOWN,[12,36]); _g.set(Control.LEFT,[13,37]); _g.set(Control.RIGHT,[14,35]); _g.set(Control.PAUSE,[7]); _g.set(Control.RESET,[3]); this.gamepadsAdded.push(id); var _g1 = new haxe_iterators_MapKeyValueIterator(_g); while(_g1.hasNext()) { var _g11 = _g1.next(); var control = _g11.key; var buttons = _g11.value; var id1 = id; var buttons1 = buttons; switch(control._hx_index) { case 0: var action = this._up; var state = 1; var _g2 = 0; while(_g2 < buttons1.length) { var button = buttons1[_g2]; ++_g2; action.addGamepad(button,state,id1); } var action1 = this._upP; var state1 = 2; var _g3 = 0; while(_g3 < buttons1.length) { var button1 = buttons1[_g3]; ++_g3; action1.addGamepad(button1,state1,id1); } var action2 = this._upR; var state2 = -1; var _g4 = 0; while(_g4 < buttons1.length) { var button2 = buttons1[_g4]; ++_g4; action2.addGamepad(button2,state2,id1); } break; case 1: var action3 = this._left; var state3 = 1; var _g5 = 0; while(_g5 < buttons1.length) { var button3 = buttons1[_g5]; ++_g5; action3.addGamepad(button3,state3,id1); } var action4 = this._leftP; var state4 = 2; var _g6 = 0; while(_g6 < buttons1.length) { var button4 = buttons1[_g6]; ++_g6; action4.addGamepad(button4,state4,id1); } var action5 = this._leftR; var state5 = -1; var _g7 = 0; while(_g7 < buttons1.length) { var button5 = buttons1[_g7]; ++_g7; action5.addGamepad(button5,state5,id1); } break; case 2: var action6 = this._right; var state6 = 1; var _g8 = 0; while(_g8 < buttons1.length) { var button6 = buttons1[_g8]; ++_g8; action6.addGamepad(button6,state6,id1); } var action7 = this._rightP; var state7 = 2; var _g9 = 0; while(_g9 < buttons1.length) { var button7 = buttons1[_g9]; ++_g9; action7.addGamepad(button7,state7,id1); } var action8 = this._rightR; var state8 = -1; var _g10 = 0; while(_g10 < buttons1.length) { var button8 = buttons1[_g10]; ++_g10; action8.addGamepad(button8,state8,id1); } break; case 3: var action9 = this._down; var state9 = 1; var _g12 = 0; while(_g12 < buttons1.length) { var button9 = buttons1[_g12]; ++_g12; action9.addGamepad(button9,state9,id1); } var action10 = this._downP; var state10 = 2; var _g13 = 0; while(_g13 < buttons1.length) { var button10 = buttons1[_g13]; ++_g13; action10.addGamepad(button10,state10,id1); } var action11 = this._downR; var state11 = -1; var _g14 = 0; while(_g14 < buttons1.length) { var button11 = buttons1[_g14]; ++_g14; action11.addGamepad(button11,state11,id1); } break; case 4: var action12 = this._reset; var state12 = 2; var _g15 = 0; while(_g15 < buttons1.length) { var button12 = buttons1[_g15]; ++_g15; action12.addGamepad(button12,state12,id1); } break; case 5: var action13 = this._accept; var state13 = 2; var _g16 = 0; while(_g16 < buttons1.length) { var button13 = buttons1[_g16]; ++_g16; action13.addGamepad(button13,state13,id1); } break; case 6: var action14 = this._back; var state14 = 2; var _g17 = 0; while(_g17 < buttons1.length) { var button14 = buttons1[_g17]; ++_g17; action14.addGamepad(button14,state14,id1); } break; case 7: var action15 = this._pause; var state15 = 2; var _g18 = 0; while(_g18 < buttons1.length) { var button15 = buttons1[_g18]; ++_g18; action15.addGamepad(button15,state15,id1); } break; case 8: var action16 = this._cheat; var state16 = 2; var _g19 = 0; while(_g19 < buttons1.length) { var button16 = buttons1[_g19]; ++_g19; action16.addGamepad(button16,state16,id1); } break; } } } ,bindButtons: function(control,id,buttons) { switch(control._hx_index) { case 0: var action = this._up; var state = 1; var _g = 0; while(_g < buttons.length) { var button = buttons[_g]; ++_g; action.addGamepad(button,state,id); } var action1 = this._upP; var state1 = 2; var _g1 = 0; while(_g1 < buttons.length) { var button1 = buttons[_g1]; ++_g1; action1.addGamepad(button1,state1,id); } var action2 = this._upR; var state2 = -1; var _g2 = 0; while(_g2 < buttons.length) { var button2 = buttons[_g2]; ++_g2; action2.addGamepad(button2,state2,id); } break; case 1: var action3 = this._left; var state3 = 1; var _g3 = 0; while(_g3 < buttons.length) { var button3 = buttons[_g3]; ++_g3; action3.addGamepad(button3,state3,id); } var action4 = this._leftP; var state4 = 2; var _g4 = 0; while(_g4 < buttons.length) { var button4 = buttons[_g4]; ++_g4; action4.addGamepad(button4,state4,id); } var action5 = this._leftR; var state5 = -1; var _g5 = 0; while(_g5 < buttons.length) { var button5 = buttons[_g5]; ++_g5; action5.addGamepad(button5,state5,id); } break; case 2: var action6 = this._right; var state6 = 1; var _g6 = 0; while(_g6 < buttons.length) { var button6 = buttons[_g6]; ++_g6; action6.addGamepad(button6,state6,id); } var action7 = this._rightP; var state7 = 2; var _g7 = 0; while(_g7 < buttons.length) { var button7 = buttons[_g7]; ++_g7; action7.addGamepad(button7,state7,id); } var action8 = this._rightR; var state8 = -1; var _g8 = 0; while(_g8 < buttons.length) { var button8 = buttons[_g8]; ++_g8; action8.addGamepad(button8,state8,id); } break; case 3: var action9 = this._down; var state9 = 1; var _g9 = 0; while(_g9 < buttons.length) { var button9 = buttons[_g9]; ++_g9; action9.addGamepad(button9,state9,id); } var action10 = this._downP; var state10 = 2; var _g10 = 0; while(_g10 < buttons.length) { var button10 = buttons[_g10]; ++_g10; action10.addGamepad(button10,state10,id); } var action11 = this._downR; var state11 = -1; var _g11 = 0; while(_g11 < buttons.length) { var button11 = buttons[_g11]; ++_g11; action11.addGamepad(button11,state11,id); } break; case 4: var action12 = this._reset; var state12 = 2; var _g12 = 0; while(_g12 < buttons.length) { var button12 = buttons[_g12]; ++_g12; action12.addGamepad(button12,state12,id); } break; case 5: var action13 = this._accept; var state13 = 2; var _g13 = 0; while(_g13 < buttons.length) { var button13 = buttons[_g13]; ++_g13; action13.addGamepad(button13,state13,id); } break; case 6: var action14 = this._back; var state14 = 2; var _g14 = 0; while(_g14 < buttons.length) { var button14 = buttons[_g14]; ++_g14; action14.addGamepad(button14,state14,id); } break; case 7: var action15 = this._pause; var state15 = 2; var _g15 = 0; while(_g15 < buttons.length) { var button15 = buttons[_g15]; ++_g15; action15.addGamepad(button15,state15,id); } break; case 8: var action16 = this._cheat; var state16 = 2; var _g16 = 0; while(_g16 < buttons.length) { var button16 = buttons[_g16]; ++_g16; action16.addGamepad(button16,state16,id); } break; } } ,unbindButtons: function(control,gamepadID,buttons) { switch(control._hx_index) { case 0: Controls.removeButtons(this._up,gamepadID,buttons); Controls.removeButtons(this._upP,gamepadID,buttons); Controls.removeButtons(this._upR,gamepadID,buttons); break; case 1: Controls.removeButtons(this._left,gamepadID,buttons); Controls.removeButtons(this._leftP,gamepadID,buttons); Controls.removeButtons(this._leftR,gamepadID,buttons); break; case 2: Controls.removeButtons(this._right,gamepadID,buttons); Controls.removeButtons(this._rightP,gamepadID,buttons); Controls.removeButtons(this._rightR,gamepadID,buttons); break; case 3: Controls.removeButtons(this._down,gamepadID,buttons); Controls.removeButtons(this._downP,gamepadID,buttons); Controls.removeButtons(this._downR,gamepadID,buttons); break; case 4: Controls.removeButtons(this._reset,gamepadID,buttons); break; case 5: Controls.removeButtons(this._accept,gamepadID,buttons); break; case 6: Controls.removeButtons(this._back,gamepadID,buttons); break; case 7: Controls.removeButtons(this._pause,gamepadID,buttons); break; case 8: Controls.removeButtons(this._cheat,gamepadID,buttons); break; } } ,getInputsFor: function(control,device,list) { if(list == null) { list = []; } switch(device._hx_index) { case 0: var _g = 0; var _g1 = this.getActionFromControl(control).inputs; while(_g < _g1.length) { var input = _g1[_g]; ++_g; if(input.device == flixel_input_actions_FlxInputDevice.KEYBOARD) { list.push(input.inputID); } } break; case 1: var id = device.id; var _g2 = 0; var _g11 = this.getActionFromControl(control).inputs; while(_g2 < _g11.length) { var input1 = _g11[_g2]; ++_g2; if(input1.deviceID == id) { list.push(input1.inputID); } } break; } return list; } ,removeDevice: function(device) { switch(device._hx_index) { case 0: this.setKeyboardScheme(KeyboardScheme.None); break; case 1: var id = device.id; this.removeGamepad(id); break; } } ,__class__: Controls ,__properties__: {get_CHEAT:"get_CHEAT",get_RESET:"get_RESET",get_PAUSE:"get_PAUSE",get_BACK:"get_BACK",get_ACCEPT:"get_ACCEPT",get_DOWN_R:"get_DOWN_R",get_RIGHT_R:"get_RIGHT_R",get_LEFT_R:"get_LEFT_R",get_UP_R:"get_UP_R",get_DOWN_P:"get_DOWN_P",get_RIGHT_P:"get_RIGHT_P",get_LEFT_P:"get_LEFT_P",get_UP_P:"get_UP_P",get_DOWN:"get_DOWN",get_RIGHT:"get_RIGHT",get_LEFT:"get_LEFT",get_UP:"get_UP"} }); var CoolUtil = function() { }; $hxClasses["CoolUtil"] = CoolUtil; CoolUtil.__name__ = "CoolUtil"; CoolUtil.difficultyString = function() { return CoolUtil.difficultyArray[PlayState.storyDifficulty]; }; CoolUtil.coolTextFile = function(path) { var daList = StringTools.trim(lime_utils_Assets.getText(path)).split("\n"); var _g = 0; var _g1 = daList.length; while(_g < _g1) { var i = _g++; daList[i] = StringTools.trim(daList[i]); } return daList; }; CoolUtil.coolStringFile = function(path) { var daList = StringTools.trim(path).split("\n"); var _g = 0; var _g1 = daList.length; while(_g < _g1) { var i = _g++; daList[i] = StringTools.trim(daList[i]); } return daList; }; CoolUtil.numberArray = function(max,min) { if(min == null) { min = 0; } var dumbArray = []; var _g = min; var _g1 = max; while(_g < _g1) { var i = _g++; dumbArray.push(i); } return dumbArray; }; var DialogueBox = function(talkingRight,dialogueList) { if(talkingRight == null) { talkingRight = true; } this.isEnding = false; this.dialogueStarted = false; this.dialogueOpened = false; this.dialogueList = []; this.curCharacter = ""; var _gthis = this; flixel_group_FlxTypedSpriteGroup.call(this); switch(PlayState.SONG.song.toLowerCase()) { case "senpai": flixel_FlxG.sound.playMusic(Paths.getPath("music/" + "Lunchbox" + "." + "mp3","MUSIC",null),0); var _this = flixel_FlxG.sound.music; var Duration = 1; var From = 0; var To = 0.8; if(To == null) { To = 1; } if(From == null) { From = 0; } if(Duration == null) { Duration = 1; } if(_this._channel == null) { _this.play(); } if(_this.fadeTween != null) { _this.fadeTween.cancel(); } _this.fadeTween = flixel_tweens_FlxTween.num(From,To,Duration,{ onComplete : null},$bind(_this,_this.volumeTween)); break; case "thorns": flixel_FlxG.sound.playMusic(Paths.getPath("music/" + "LunchboxScary" + "." + "mp3","MUSIC",null),0); var _this1 = flixel_FlxG.sound.music; var Duration1 = 1; var From1 = 0; var To1 = 0.8; if(To1 == null) { To1 = 1; } if(From1 == null) { From1 = 0; } if(Duration1 == null) { Duration1 = 1; } if(_this1._channel == null) { _this1.play(); } if(_this1.fadeTween != null) { _this1.fadeTween.cancel(); } _this1.fadeTween = flixel_tweens_FlxTween.num(From1,To1,Duration1,{ onComplete : null},$bind(_this1,_this1.volumeTween)); break; } this.bgFade = new flixel_FlxSprite(-200,-200).makeGraphic(flixel_FlxG.width * 1.3 | 0,flixel_FlxG.height * 1.3 | 0,-4988968); this.bgFade.scrollFactor.set(); this.bgFade.set_alpha(0); this.add(this.bgFade); new flixel_util_FlxTimer().start(0.83,function(tmr) { var _g1 = _gthis.bgFade; _g1.set_alpha(_g1.alpha + 0.139999999999999986); if(_gthis.bgFade.alpha > 0.7) { _gthis.bgFade.set_alpha(0.7); } },5); this.box = new flixel_FlxSprite(-20,45); var hasDialog = false; switch(PlayState.SONG.song.toLowerCase()) { case "roses": hasDialog = true; flixel_FlxG.sound.play(Paths.sound("ANGRY_TEXT_BOX")); var library = null; this.box.set_frames(flixel_graphics_frames_FlxAtlasFrames.fromSparrow(Paths.getPath("images/" + "weeb/pixelUI/dialogueBox-senpaiMad" + ".png","IMAGE",library),Paths.getPath("images/" + "weeb/pixelUI/dialogueBox-senpaiMad" + ".xml","TEXT",library))); this.box.animation.addByPrefix("normalOpen","SENPAI ANGRY IMPACT SPEECH",24,false); this.box.animation.addByIndices("normal","SENPAI ANGRY IMPACT SPEECH",[4],"",24); break; case "senpai": hasDialog = true; var library1 = null; this.box.set_frames(flixel_graphics_frames_FlxAtlasFrames.fromSparrow(Paths.getPath("images/" + "weeb/pixelUI/dialogueBox-pixel" + ".png","IMAGE",library1),Paths.getPath("images/" + "weeb/pixelUI/dialogueBox-pixel" + ".xml","TEXT",library1))); this.box.animation.addByPrefix("normalOpen","Text Box Appear",24,false); this.box.animation.addByIndices("normal","Text Box Appear",[4],"",24); break; case "thorns": hasDialog = true; var library2 = null; this.box.set_frames(flixel_graphics_frames_FlxAtlasFrames.fromSparrow(Paths.getPath("images/" + "weeb/pixelUI/dialogueBox-evil" + ".png","IMAGE",library2),Paths.getPath("images/" + "weeb/pixelUI/dialogueBox-evil" + ".xml","TEXT",library2))); this.box.animation.addByPrefix("normalOpen","Spirit Textbox spawn",24,false); this.box.animation.addByIndices("normal","Spirit Textbox spawn",[11],"",24); var face = new flixel_FlxSprite(320,170).loadGraphic(Paths.getPath("images/" + "weeb/spiritFaceForward" + ".png","IMAGE",null)); face.setGraphicSize(face.get_width() * 6 | 0); this.add(face); break; } this.dialogueList = dialogueList; if(!hasDialog) { return; } this.portraitLeft = new flixel_FlxSprite(-20,40); var library3 = null; this.portraitLeft.set_frames(flixel_graphics_frames_FlxAtlasFrames.fromSparrow(Paths.getPath("images/" + "weeb/senpaiPortrait" + ".png","IMAGE",library3),Paths.getPath("images/" + "weeb/senpaiPortrait" + ".xml","TEXT",library3))); this.portraitLeft.animation.addByPrefix("enter","Senpai Portrait Enter",24,false); this.portraitLeft.setGraphicSize(this.portraitLeft.get_width() * PlayState.daPixelZoom * 0.9 | 0); this.portraitLeft.updateHitbox(); this.portraitLeft.scrollFactor.set(); this.add(this.portraitLeft); this.portraitLeft.set_visible(false); this.portraitRight = new flixel_FlxSprite(0,40); var library4 = null; this.portraitRight.set_frames(flixel_graphics_frames_FlxAtlasFrames.fromSparrow(Paths.getPath("images/" + "weeb/bfPortrait" + ".png","IMAGE",library4),Paths.getPath("images/" + "weeb/bfPortrait" + ".xml","TEXT",library4))); this.portraitRight.animation.addByPrefix("enter","Boyfriend portrait enter",24,false); this.portraitRight.setGraphicSize(this.portraitRight.get_width() * PlayState.daPixelZoom * 0.9 | 0); this.portraitRight.updateHitbox(); this.portraitRight.scrollFactor.set(); this.add(this.portraitRight); this.portraitRight.set_visible(false); this.box.animation.play("normalOpen"); this.box.setGraphicSize(this.box.get_width() * PlayState.daPixelZoom * 0.9 | 0); this.box.updateHitbox(); this.add(this.box); this.box.screenCenter(flixel_util_FlxAxes.X); this.portraitLeft.screenCenter(flixel_util_FlxAxes.X); this.handSelect = new flixel_FlxSprite(flixel_FlxG.width * 0.9,flixel_FlxG.height * 0.9).loadGraphic(Paths.getPath("images/" + "weeb/pixelUI/hand_textbox" + ".png","IMAGE",null)); this.add(this.handSelect); var tmp = !talkingRight; this.dropText = new flixel_text_FlxText(242,502,flixel_FlxG.width * 0.6 | 0,"",32); this.dropText.set_font("Pixel Arial 11 Bold"); this.dropText.set_color(-2583404); this.add(this.dropText); this.swagDialogue = new flixel_addons_text_FlxTypeText(240,500,flixel_FlxG.width * 0.6 | 0,"",32); this.swagDialogue.set_font("Pixel Arial 11 Bold"); this.swagDialogue.set_color(-12640223); var tmp1 = flixel_FlxG.sound.load(Paths.sound("pixelText"),0.6); this.swagDialogue.sounds = [tmp1]; this.add(this.swagDialogue); this.dialogue = new Alphabet(0,80,"",false,true); }; $hxClasses["DialogueBox"] = DialogueBox; DialogueBox.__name__ = "DialogueBox"; DialogueBox.__super__ = flixel_group_FlxTypedSpriteGroup; DialogueBox.prototype = $extend(flixel_group_FlxTypedSpriteGroup.prototype,{ box: null ,curCharacter: null ,dialogue: null ,dialogueList: null ,swagDialogue: null ,dropText: null ,finishThing: null ,portraitLeft: null ,portraitRight: null ,handSelect: null ,bgFade: null ,pressedSomething: null ,dialogueOpened: null ,dialogueStarted: null ,update: function(elapsed) { var _gthis = this; if(PlayState.SONG.song.toLowerCase() == "roses") { this.portraitLeft.set_visible(false); } if(PlayState.SONG.song.toLowerCase() == "thorns") { this.portraitLeft.set_color(-16777216); this.swagDialogue.set_color(-1); this.dropText.set_color(-16777216); } this.dropText.set_text(this.swagDialogue.text); if(this.box.animation._curAnim != null) { if(this.box.animation._curAnim.name == "normalOpen" && this.box.animation._curAnim.finished) { this.box.animation.play("normal"); this.dialogueOpened = true; } } if(this.dialogueOpened && !this.dialogueStarted) { this.startDialogue(); this.dialogueStarted = true; } this.pressedSomething = false; var _g = 0; var _g1 = flixel_FlxG.touches.list; while(_g < _g1.length) { var touch = _g1[_g]; ++_g; if(touch.input.current == 2) { this.pressedSomething = true; } } if((flixel_FlxG.keys.justPressed.get_ANY() || this.pressedSomething) && this.dialogueStarted == true) { this.remove(this.dialogue); flixel_FlxG.sound.play(Paths.sound("clickText"),0.8); if(this.dialogueList[1] == null && this.dialogueList[0] != null) { if(!this.isEnding) { this.isEnding = true; if(PlayState.SONG.song.toLowerCase() == "senpai" || PlayState.SONG.song.toLowerCase() == "thorns") { var _this = flixel_FlxG.sound.music; var Duration = 2.2; var To = 0; if(To == null) { To = 0; } if(Duration == null) { Duration = 1; } if(_this.fadeTween != null) { _this.fadeTween.cancel(); } _this.fadeTween = flixel_tweens_FlxTween.num(_this._volume,To,Duration,{ onComplete : null},$bind(_this,_this.volumeTween)); } new flixel_util_FlxTimer().start(0.2,function(tmr) { var _g2 = _gthis.box; _g2.set_alpha(_g2.alpha - 0.2); var _g21 = _gthis.bgFade; _g21.set_alpha(_g21.alpha - 0.139999999999999986); _gthis.portraitLeft.set_visible(false); _gthis.portraitRight.set_visible(false); var _g22 = _gthis.swagDialogue; _g22.set_alpha(_g22.alpha - 0.2); _gthis.dropText.set_alpha(_gthis.swagDialogue.alpha); },5); new flixel_util_FlxTimer().start(1.2,function(tmr1) { _gthis.finishThing(); _gthis.kill(); }); } } else { HxOverrides.remove(this.dialogueList,this.dialogueList[0]); this.startDialogue(); } } flixel_group_FlxTypedSpriteGroup.prototype.update.call(this,elapsed); } ,isEnding: null ,startDialogue: function() { this.cleanDialog(); this.swagDialogue.resetText(this.dialogueList[0]); this.swagDialogue.start(0.04,true); switch(this.curCharacter) { case "bf": this.portraitLeft.set_visible(false); if(!this.portraitRight.visible) { this.portraitRight.set_visible(true); this.portraitRight.animation.play("enter"); } break; case "dad": this.portraitRight.set_visible(false); if(!this.portraitLeft.visible) { this.portraitLeft.set_visible(true); this.portraitLeft.animation.play("enter"); } break; } } ,cleanDialog: function() { var splitName = this.dialogueList[0].split(":"); this.curCharacter = splitName[1]; this.dialogueList[0] = StringTools.trim(HxOverrides.substr(this.dialogueList[0],splitName[1].length + 2,null)); } ,__class__: DialogueBox }); var EReg = function(r,opt) { this.r = new RegExp(r,opt.split("u").join("")); }; $hxClasses["EReg"] = EReg; EReg.__name__ = "EReg"; EReg.prototype = { r: null ,match: function(s) { if(this.r.global) { this.r.lastIndex = 0; } this.r.m = this.r.exec(s); this.r.s = s; return this.r.m != null; } ,matched: function(n) { if(this.r.m != null && n >= 0 && n < this.r.m.length) { return this.r.m[n]; } else { throw new js__$Boot_HaxeError("EReg::matched"); } } ,matchedRight: function() { if(this.r.m == null) { throw new js__$Boot_HaxeError("No string matched"); } var sz = this.r.m.index + this.r.m[0].length; return HxOverrides.substr(this.r.s,sz,this.r.s.length - sz); } ,matchedPos: function() { if(this.r.m == null) { throw new js__$Boot_HaxeError("No string matched"); } return { pos : this.r.m.index, len : this.r.m[0].length}; } ,matchSub: function(s,pos,len) { if(len == null) { len = -1; } if(this.r.global) { this.r.lastIndex = pos; this.r.m = this.r.exec(len < 0 ? s : HxOverrides.substr(s,0,pos + len)); var b = this.r.m != null; if(b) { this.r.s = s; } return b; } else { var b1 = this.match(len < 0 ? HxOverrides.substr(s,pos,null) : HxOverrides.substr(s,pos,len)); if(b1) { this.r.s = s; this.r.m.index += pos; } return b1; } } ,split: function(s) { var d = "#__delim__#"; return s.replace(this.r,d).split(d); } ,map: function(s,f) { var offset = 0; var buf_b = ""; while(true) { if(offset >= s.length) { break; } else if(!this.matchSub(s,offset)) { buf_b += Std.string(HxOverrides.substr(s,offset,null)); break; } var p = this.matchedPos(); buf_b += Std.string(HxOverrides.substr(s,offset,p.pos - offset)); buf_b += Std.string(f(this)); if(p.len == 0) { buf_b += Std.string(HxOverrides.substr(s,p.pos,1)); offset = p.pos + 1; } else { offset = p.pos + p.len; } if(!this.r.global) { break; } } if(!this.r.global && offset > 0 && offset < s.length) { buf_b += Std.string(HxOverrides.substr(s,offset,null)); } return buf_b; } ,__class__: EReg }; var EtternaFunctions = function() { }; $hxClasses["EtternaFunctions"] = EtternaFunctions; EtternaFunctions.__name__ = "EtternaFunctions"; EtternaFunctions.erf = function(x) { var sign = 1; if(x < 0) { sign = -1; } x = Math.abs(x); var t = 1.0 / (1.0 + EtternaFunctions.p * x); var y = 1.0 - ((((EtternaFunctions.a5 * t + EtternaFunctions.a4) * t + EtternaFunctions.a3) * t + EtternaFunctions.a2) * t + EtternaFunctions.a1) * t * Math.exp(-x * x); return sign * y; }; EtternaFunctions.getNotes = function() { var notes = 0; var _g = 0; var _g1 = PlayState.SONG.notes.length; while(_g < _g1) { var i = _g++; var _g2 = 0; var _g11 = PlayState.SONG.notes[i].sectionNotes.length; while(_g2 < _g11) { var ii = _g2++; var n = PlayState.SONG.notes[i].sectionNotes[ii]; if(n[1] <= 0) { ++notes; } } } return notes; }; EtternaFunctions.getHolds = function() { var notes = 0; var _g = 0; var _g1 = PlayState.SONG.notes.length; while(_g < _g1) { var i = _g++; haxe_Log.trace(PlayState.SONG.notes[i],{ fileName : "source/EtternaFunctions.hx", lineNumber : 46, className : "EtternaFunctions", methodName : "getHolds"}); var _g2 = 0; var _g11 = PlayState.SONG.notes[i].sectionNotes.length; while(_g2 < _g11) { var ii = _g2++; var n = PlayState.SONG.notes[i].sectionNotes[ii]; haxe_Log.trace(n,{ fileName : "source/EtternaFunctions.hx", lineNumber : 50, className : "EtternaFunctions", methodName : "getHolds"}); if(n[1] > 0) { ++notes; } } } return notes; }; EtternaFunctions.getMapMaxScore = function() { return EtternaFunctions.getNotes() * 350; }; EtternaFunctions.wife3 = function(maxms,ts) { var max_points = 1.0; var miss_weight = -5.5; var ridic = 5 * ts; var max_boo_weight = 180 * ts; var ts_pow = 0.75; var zero = 65 * Math.pow(ts,ts_pow); var power = 2.5; var dev = 22.7 * Math.pow(ts,ts_pow); if(maxms <= ridic) { return max_points; } else if(maxms <= zero) { return max_points * EtternaFunctions.erf((zero - maxms) / dev); } else if(maxms <= max_boo_weight) { return (maxms - zero) * miss_weight / (max_boo_weight - zero); } else { return miss_weight; } }; var FreeplayState = function(TransIn,TransOut) { this.iconArray = []; this.curPlaying = false; this.intendedScore = 0; this.lerpScore = 0; this.curDifficulty = 1; this.curSelected = 0; this.songs = []; MusicBeatState.call(this,TransIn,TransOut); }; $hxClasses["FreeplayState"] = FreeplayState; FreeplayState.__name__ = "FreeplayState"; FreeplayState.__super__ = MusicBeatState; FreeplayState.prototype = $extend(MusicBeatState.prototype,{ songs: null ,selector: null ,curSelected: null ,curDifficulty: null ,scoreText: null ,diffText: null ,lerpScore: null ,intendedScore: null ,upP: null ,downP: null ,accepted: null ,scrollUp: null ,scrollDown: null ,scrollRight: null ,accept: null ,back: null ,grpSongs: null ,curPlaying: null ,iconArray: null ,create: function() { var initSonglist = CoolUtil.coolTextFile(Paths.getPath("data/" + "freeplaySonglist" + ".txt","TEXT",null)); var _g = 0; var _g1 = initSonglist.length; while(_g < _g1) { var i = _g++; this.songs.push(new SongMetadata(initSonglist[i],1,"gf")); } var isDebug = false; this.addWeek(["Bopeebo","Fresh","Dadbattle"],1,["dad"]); this.addWeek(["Spookeez","South","Monster"],2,["spooky","spooky","monster"]); this.addWeek(["Pico","Philly","Blammed"],3,["pico"]); this.addWeek(["Satin-Panties","High","Milf"],4,["mom"]); this.addWeek(["Cocoa","Eggnog","Winter-Horrorland"],5,["parents-christmas","parents-christmas","monster-christmas"]); this.addWeek(["Senpai","Roses","Thorns"],6,["senpai","senpai","spirit"]); var bg = new flixel_FlxSprite().loadGraphic(Paths.getPath("images/" + "menuBGBlue" + ".png","IMAGE",null)); this.add(bg); this.grpSongs = new flixel_group_FlxTypedGroup(); this.add(this.grpSongs); var _g2 = 0; var _g3 = this.songs.length; while(_g2 < _g3) { var i1 = _g2++; var songText = new Alphabet(0,70 * i1 + 30,this.songs[i1].songName,true,false); songText.isMenuItem = true; songText.targetY = i1; this.grpSongs.add(songText); var icon = new HealthIcon(this.songs[i1].songCharacter); icon.sprTracker = songText; this.iconArray.push(icon); this.add(icon); } this.scoreText = new flixel_text_FlxText(flixel_FlxG.width * 0.7,5,0,"",32); this.scoreText.setFormat("assets/fonts/" + "vcr.ttf",32,-1,"right"); var scoreBG = new flixel_FlxSprite(this.scoreText.x - 6,0).makeGraphic(flixel_FlxG.width * 0.35 | 0,66,-16777216); scoreBG.set_alpha(0.6); this.add(scoreBG); this.diffText = new flixel_text_FlxText(this.scoreText.x,this.scoreText.y + 36,0,"",24); this.diffText.set_font(this.scoreText._font); this.add(this.diffText); this.add(this.scoreText); this.changeSelection(); this.changeDiff(); this.selector = new flixel_text_FlxText(); this.selector.set_size(40); this.selector.set_text(">"); var swag = new Alphabet(1,0,"swag"); MusicBeatState.prototype.create.call(this); } ,addSong: function(songName,weekNum,songCharacter) { this.songs.push(new SongMetadata(songName,weekNum,songCharacter)); } ,addWeek: function(songs,weekNum,songCharacters) { if(songCharacters == null) { songCharacters = ["bf"]; } var num = 0; var _g = 0; while(_g < songs.length) { var song = songs[_g]; ++_g; this.addSong(song,weekNum,songCharacters[num]); if(songCharacters.length != 1) { ++num; } } } ,update: function(elapsed) { MusicBeatState.prototype.update.call(this,elapsed); if(flixel_FlxG.sound.music._volume < 0.7) { var _g = flixel_FlxG.sound.music; _g.set_volume(_g._volume + 0.5 * flixel_FlxG.elapsed); } var a = this.lerpScore; this.lerpScore = Math.floor(a + 0.4 * (this.intendedScore - a)); if(Math.abs(this.lerpScore - this.intendedScore) <= 10) { this.lerpScore = this.intendedScore; } this.scoreText.set_text("PERSONAL BEST:" + this.lerpScore); this.upP = PlayerSettings.player1.controls._upP.check(); this.downP = PlayerSettings.player1.controls._downP.check(); this.accepted = PlayerSettings.player1.controls._accept.check(); this.scrollUp = false; this.scrollDown = false; this.scrollRight = false; this.accept = false; this.back = false; var _g1 = 0; var _g11 = flixel_FlxG.swipes; while(_g1 < _g11.length) { var swipe = _g11[_g1]; ++_g1; var dx = swipe.startPosition.x - swipe.endPosition.x; var dy = swipe.startPosition.y - swipe.endPosition.y; if(Math.sqrt(dx * dx + dy * dy) >= 25) { if(swipe.startPosition.angleBetween(swipe.endPosition) >= -45 && swipe.startPosition.angleBetween(swipe.endPosition) <= 45) { this.scrollDown = true; } if(swipe.startPosition.angleBetween(swipe.endPosition) > -135 && swipe.startPosition.angleBetween(swipe.endPosition) < -45) { this.back = true; } if(swipe.startPosition.angleBetween(swipe.endPosition) > 45 && swipe.startPosition.angleBetween(swipe.endPosition) < 135) { this.scrollRight = true; } if(swipe.startPosition.angleBetween(swipe.endPosition) >= -180 && swipe.startPosition.angleBetween(swipe.endPosition) <= -135 || swipe.startPosition.angleBetween(swipe.endPosition) >= 135 && swipe.startPosition.angleBetween(swipe.endPosition) <= 180) { this.scrollUp = true; } } else { this.accept = true; } } if(this.upP || this.scrollUp) { this.changeSelection(-1); } if(this.downP || this.scrollDown) { this.changeSelection(1); } if(PlayerSettings.player1.controls._leftP.check()) { this.changeDiff(-1); } if(PlayerSettings.player1.controls._rightP.check() || this.scrollRight) { this.changeDiff(1); } if(PlayerSettings.player1.controls._back.check() || this.back) { var nextState = new MainMenuState(); if(flixel_FlxG.game._state.switchTo(nextState)) { flixel_FlxG.game._requestedState = nextState; } } if(this.accepted || this.accept) { var poop = Highscore.formatSong(this.songs[this.curSelected].songName.toLowerCase(),this.curDifficulty); haxe_Log.trace(poop,{ fileName : "source/FreeplayState.hx", lineNumber : 243, className : "FreeplayState", methodName : "update"}); PlayState.SONG = Song.loadFromJson(poop,this.songs[this.curSelected].songName.toLowerCase()); PlayState.isStoryMode = false; PlayState.storyDifficulty = this.curDifficulty; PlayState.storyWeek = this.songs[this.curSelected].week; haxe_Log.trace("CUR WEEK" + PlayState.storyWeek,{ fileName : "source/FreeplayState.hx", lineNumber : 250, className : "FreeplayState", methodName : "update"}); var nextState1 = LoadingState.getNextState(new PlayState(),false); if(flixel_FlxG.game._state.switchTo(nextState1)) { flixel_FlxG.game._requestedState = nextState1; } } } ,changeDiff: function(change) { if(change == null) { change = 0; } this.curDifficulty += change; if(this.curDifficulty < 0) { this.curDifficulty = 2; } if(this.curDifficulty > 2) { this.curDifficulty = 0; } this.intendedScore = Highscore.getScore(this.songs[this.curSelected].songName,this.curDifficulty); switch(this.curDifficulty) { case 0: this.diffText.set_text("EASY"); break; case 1: this.diffText.set_text("NORMAL"); break; case 2: this.diffText.set_text("HARD"); break; } } ,changeSelection: function(change) { if(change == null) { change = 0; } flixel_FlxG.sound.play(Paths.sound("scrollMenu"),0.4); this.curSelected += change; if(this.curSelected < 0) { this.curSelected = this.songs.length - 1; } if(this.curSelected >= this.songs.length) { this.curSelected = 0; } this.intendedScore = Highscore.getScore(this.songs[this.curSelected].songName,this.curDifficulty); var bullShit = 0; var _g = 0; var _g1 = this.iconArray.length; while(_g < _g1) { var i = _g++; this.iconArray[i].set_alpha(0.6); } this.iconArray[this.curSelected].set_alpha(1); var _g2 = 0; var _g3 = this.grpSongs.members; while(_g2 < _g3.length) { var item = _g3[_g2]; ++_g2; item.targetY = bullShit - this.curSelected; ++bullShit; item.set_alpha(0.6); if(item.targetY == 0) { item.set_alpha(1); } } } ,__class__: FreeplayState }); var SongMetadata = function(song,week,songCharacter) { this.songCharacter = ""; this.week = 0; this.songName = ""; this.songName = song; this.week = week; this.songCharacter = songCharacter; }; $hxClasses["SongMetadata"] = SongMetadata; SongMetadata.__name__ = "SongMetadata"; SongMetadata.prototype = { songName: null ,week: null ,songCharacter: null ,__class__: SongMetadata }; var flixel_FlxSubState = function(BGColor) { if(BGColor == null) { BGColor = 0; } this._created = false; flixel_FlxState.call(this); this.closeCallback = null; this.openCallback = null; if(flixel_FlxG.renderTile) { this._bgSprite = new flixel_system_FlxBGSprite(); } this.set_bgColor(BGColor); }; $hxClasses["flixel.FlxSubState"] = flixel_FlxSubState; flixel_FlxSubState.__name__ = "flixel.FlxSubState"; flixel_FlxSubState.__super__ = flixel_FlxState; flixel_FlxSubState.prototype = $extend(flixel_FlxState.prototype,{ openCallback: null ,closeCallback: null ,_bgSprite: null ,_parentState: null ,_bgColor: null ,_created: null ,draw: function() { if(flixel_FlxG.renderBlit) { var _g = 0; var _g1 = this.get_cameras(); while(_g < _g1.length) { var camera = _g1[_g]; ++_g; camera.fill(this._bgColor); } } else { this._bgSprite.draw(); } flixel_FlxState.prototype.draw.call(this); } ,destroy: function() { flixel_FlxState.prototype.destroy.call(this); this.closeCallback = null; this.openCallback = null; this._parentState = null; this._bgSprite = null; } ,close: function() { if(this._parentState != null && this._parentState.subState == this) { this._parentState.closeSubState(); } } ,get_bgColor: function() { return this._bgColor; } ,set_bgColor: function(Value) { if(flixel_FlxG.renderTile && this._bgSprite != null) { this._bgSprite.get_pixels().setPixel32(0,0,Value); } return this._bgColor = Value; } ,__class__: flixel_FlxSubState }); var MusicBeatSubstate = function() { this.curBeat = 0; this.curStep = 0; this.lastStep = 0; this.lastBeat = 0; flixel_FlxSubState.call(this); }; $hxClasses["MusicBeatSubstate"] = MusicBeatSubstate; MusicBeatSubstate.__name__ = "MusicBeatSubstate"; MusicBeatSubstate.__super__ = flixel_FlxSubState; MusicBeatSubstate.prototype = $extend(flixel_FlxSubState.prototype,{ lastBeat: null ,lastStep: null ,curStep: null ,curBeat: null ,get_controls: function() { return PlayerSettings.player1.controls; } ,update: function(elapsed) { var oldStep = this.curStep; this.updateCurStep(); this.curBeat = Math.floor(this.curStep / 4); if(oldStep != this.curStep && this.curStep > 0) { this.stepHit(); } flixel_FlxSubState.prototype.update.call(this,elapsed); } ,updateCurStep: function() { var lastChange = { stepTime : 0, songTime : 0, bpm : 0}; var _g = 0; var _g1 = Conductor.bpmChangeMap.length; while(_g < _g1) { var i = _g++; if(Conductor.songPosition > Conductor.bpmChangeMap[i].songTime) { lastChange = Conductor.bpmChangeMap[i]; } } this.curStep = lastChange.stepTime + Math.floor((Conductor.songPosition - lastChange.songTime) / Conductor.stepCrochet); } ,stepHit: function() { if(this.curStep % 4 == 0) { this.beatHit(); } } ,beatHit: function() { } ,__class__: MusicBeatSubstate ,__properties__: $extend(flixel_FlxSubState.prototype.__properties__,{get_controls:"get_controls"}) }); var GameOverSubstate = function(x,y) { this.isEnding = false; this.resizeFactor = 2; this.stageSuffix = ""; var daStage = PlayState.curStage; var daBf = ""; switch(daStage) { case "school": this.stageSuffix = "-pixel"; daBf = "bf-pixel-dead"; break; case "schoolEvil": this.stageSuffix = "-pixel"; daBf = "bf-pixel-dead"; break; default: daBf = "bf"; } MusicBeatSubstate.call(this); Conductor.songPosition = 0; this.bf = new Boyfriend(x,y,daBf); this.bf.setGraphicSize(this.bf.get_width() * this.resizeFactor | 0); this.add(this.bf); this.camFollow = new flixel_FlxObject(this.bf.getGraphicMidpoint().x,this.bf.getGraphicMidpoint().y,1,1); this.add(this.camFollow); flixel_FlxG.sound.play(Paths.sound("fnf_loss_sfx" + this.stageSuffix)); Conductor.changeBPM(100); flixel_FlxG.camera.scroll.set(); flixel_FlxG.camera.target = null; this.bf.playAnim("firstDeath"); }; $hxClasses["GameOverSubstate"] = GameOverSubstate; GameOverSubstate.__name__ = "GameOverSubstate"; GameOverSubstate.__super__ = MusicBeatSubstate; GameOverSubstate.prototype = $extend(MusicBeatSubstate.prototype,{ bf: null ,camFollow: null ,stageSuffix: null ,accept: null ,back: null ,resizeFactor: null ,update: function(elapsed) { MusicBeatSubstate.prototype.update.call(this,elapsed); this.accept = false; this.back = false; var _g = 0; var _g1 = flixel_FlxG.swipes; while(_g < _g1.length) { var swipe = _g1[_g]; ++_g; var dx = swipe.startPosition.x - swipe.endPosition.x; var dy = swipe.startPosition.y - swipe.endPosition.y; if(Math.sqrt(dx * dx + dy * dy) >= 25) { if(swipe.startPosition.angleBetween(swipe.endPosition) > -135 && swipe.startPosition.angleBetween(swipe.endPosition) < -45) { this.back = true; } } else { this.accept = true; } } if(PlayerSettings.player1.controls._accept.check() || this.accept) { this.endBullshit(); } if(PlayerSettings.player1.controls._back.check() || this.back) { var _this = flixel_FlxG.sound.music; _this.cleanup(_this.autoDestroy,true); if(PlayState.isStoryMode) { var nextState = new StoryMenuState(); if(flixel_FlxG.game._state.switchTo(nextState)) { flixel_FlxG.game._requestedState = nextState; } } else { var nextState1 = new FreeplayState(); if(flixel_FlxG.game._state.switchTo(nextState1)) { flixel_FlxG.game._requestedState = nextState1; } } PlayState.loadRep = false; } if(this.bf.animation._curAnim.name == "firstDeath" && this.bf.animation._curAnim.curFrame == 12) { flixel_FlxG.camera.follow(this.camFollow,flixel_FlxCameraFollowStyle.LOCKON,0.01); } if(this.bf.animation._curAnim.name == "firstDeath" && this.bf.animation._curAnim.finished) { flixel_FlxG.sound.playMusic(Paths.getPath("music/" + ("gameOver" + this.stageSuffix) + "." + "mp3","MUSIC",null)); } if(flixel_FlxG.sound.music._channel != null) { Conductor.songPosition = flixel_FlxG.sound.music._time; } } ,beatHit: function() { MusicBeatSubstate.prototype.beatHit.call(this); } ,isEnding: null ,endBullshit: function() { if(!this.isEnding) { this.isEnding = true; this.bf.playAnim("deathConfirm",true); var _this = flixel_FlxG.sound.music; _this.cleanup(_this.autoDestroy,true); flixel_FlxG.sound.play(Paths.getPath("music/" + ("gameOverEnd" + this.stageSuffix) + "." + "mp3","MUSIC",null)); new flixel_util_FlxTimer().start(0.7,function(tmr) { flixel_FlxG.camera.fade(-16777216,2,false,function() { var nextState = LoadingState.getNextState(new PlayState(),false); if(flixel_FlxG.game._state.switchTo(nextState)) { flixel_FlxG.game._requestedState = nextState; } }); }); } } ,__class__: GameOverSubstate }); var HealthIcon = function(char,isPlayer) { if(isPlayer == null) { isPlayer = false; } if(char == null) { char = "bf"; } flixel_FlxSprite.call(this); this.loadGraphic(Paths.getPath("images/" + "iconGrid" + ".png","IMAGE",null),true,150,150); this.set_antialiasing(true); this.animation.add("bf",[0,1],0,false,isPlayer); this.animation.add("bf-car",[0,1],0,false,isPlayer); this.animation.add("bf-christmas",[0,1],0,false,isPlayer); this.animation.add("bf-pixel",[21,21],0,false,isPlayer); this.animation.add("spooky",[2,3],0,false,isPlayer); this.animation.add("pico",[4,5],0,false,isPlayer); this.animation.add("mom",[6,7],0,false,isPlayer); this.animation.add("mom-car",[6,7],0,false,isPlayer); this.animation.add("tankman",[8,9],0,false,isPlayer); this.animation.add("face",[10,11],0,false,isPlayer); this.animation.add("dad",[12,13],0,false,isPlayer); this.animation.add("senpai",[22,22],0,false,isPlayer); this.animation.add("senpai-angry",[22,22],0,false,isPlayer); this.animation.add("spirit",[23,23],0,false,isPlayer); this.animation.add("bf-old",[14,15],0,false,isPlayer); this.animation.add("gf",[16],0,false,isPlayer); this.animation.add("parents-christmas",[17],0,false,isPlayer); this.animation.add("monster",[19,20],0,false,isPlayer); this.animation.add("monster-christmas",[19,20],0,false,isPlayer); this.animation.play(char); this.scrollFactor.set(); }; $hxClasses["HealthIcon"] = HealthIcon; HealthIcon.__name__ = "HealthIcon"; HealthIcon.__super__ = flixel_FlxSprite; HealthIcon.prototype = $extend(flixel_FlxSprite.prototype,{ sprTracker: null ,update: function(elapsed) { flixel_FlxSprite.prototype.update.call(this,elapsed); if(this.sprTracker != null) { this.setPosition(this.sprTracker.x + this.sprTracker.get_width() + 10,this.sprTracker.y - 30); } } ,__class__: HealthIcon }); var Highscore = function() { }; $hxClasses["Highscore"] = Highscore; Highscore.__name__ = "Highscore"; Highscore.saveScore = function(song,score,diff) { if(diff == null) { diff = 0; } if(score == null) { score = 0; } var daSong = Highscore.formatSong(song,diff); var score1 = score; if(score1 == null) { score1 = 0; } if(NGio.isLoggedIn) { var id = io_newgrounds_NG.core.scoreBoards.keys(); while(id.hasNext()) { var id1 = id.next(); var board = io_newgrounds_NG.core.scoreBoards.h[id1]; if(song == board._data.name) { board.postScore(score1,"Uhh meow?"); } } } var _this = Highscore.songScores; if(__map_reserved[daSong] != null ? _this.existsReserved(daSong) : _this.h.hasOwnProperty(daSong)) { var _this1 = Highscore.songScores; if((__map_reserved[daSong] != null ? _this1.getReserved(daSong) : _this1.h[daSong]) < score) { Highscore.setScore(daSong,score); } } else { Highscore.setScore(daSong,score); } }; Highscore.saveWeekScore = function(week,score,diff) { if(diff == null) { diff = 0; } if(score == null) { score = 0; } if(week == null) { week = 1; } var score1 = score; var song = "Week " + week; if(score1 == null) { score1 = 0; } if(NGio.isLoggedIn) { var id = io_newgrounds_NG.core.scoreBoards.keys(); while(id.hasNext()) { var id1 = id.next(); var board = io_newgrounds_NG.core.scoreBoards.h[id1]; if(song == board._data.name) { board.postScore(score1,"Uhh meow?"); } } } var daWeek = Highscore.formatSong("week" + week,diff); var _this = Highscore.songScores; if(__map_reserved[daWeek] != null ? _this.existsReserved(daWeek) : _this.h.hasOwnProperty(daWeek)) { var _this1 = Highscore.songScores; if((__map_reserved[daWeek] != null ? _this1.getReserved(daWeek) : _this1.h[daWeek]) < score) { Highscore.setScore(daWeek,score); } } else { Highscore.setScore(daWeek,score); } }; Highscore.setScore = function(song,score) { var _this = Highscore.songScores; if(__map_reserved[song] != null) { _this.setReserved(song,score); } else { _this.h[song] = score; } flixel_FlxG.save.data.songScores = Highscore.songScores; flixel_FlxG.save.flush(); }; Highscore.formatSong = function(song,diff) { var daSong = song; if(diff == 0) { daSong += "-easy"; } else if(diff == 2) { daSong += "-hard"; } return daSong; }; Highscore.getScore = function(song,diff) { var this1 = Highscore.songScores; var key = Highscore.formatSong(song,diff); var _this = this1; if(!(__map_reserved[key] != null ? _this.existsReserved(key) : _this.h.hasOwnProperty(key))) { Highscore.setScore(Highscore.formatSong(song,diff),0); } var this2 = Highscore.songScores; var key1 = Highscore.formatSong(song,diff); var _this1 = this2; if(__map_reserved[key1] != null) { return _this1.getReserved(key1); } else { return _this1.h[key1]; } }; Highscore.getWeekScore = function(week,diff) { var this1 = Highscore.songScores; var key = Highscore.formatSong("week" + week,diff); var _this = this1; if(!(__map_reserved[key] != null ? _this.existsReserved(key) : _this.h.hasOwnProperty(key))) { Highscore.setScore(Highscore.formatSong("week" + week,diff),0); } var this2 = Highscore.songScores; var key1 = Highscore.formatSong("week" + week,diff); var _this1 = this2; if(__map_reserved[key1] != null) { return _this1.getReserved(key1); } else { return _this1.h[key1]; } }; Highscore.load = function() { if(flixel_FlxG.save.data.songScores != null) { Highscore.songScores = flixel_FlxG.save.data.songScores; } }; var HxOverrides = function() { }; $hxClasses["HxOverrides"] = HxOverrides; HxOverrides.__name__ = "HxOverrides"; HxOverrides.dateStr = function(date) { var m = date.getMonth() + 1; var d = date.getDate(); var h = date.getHours(); var mi = date.getMinutes(); var s = date.getSeconds(); return date.getFullYear() + "-" + (m < 10 ? "0" + m : "" + m) + "-" + (d < 10 ? "0" + d : "" + d) + " " + (h < 10 ? "0" + h : "" + h) + ":" + (mi < 10 ? "0" + mi : "" + mi) + ":" + (s < 10 ? "0" + s : "" + s); }; HxOverrides.strDate = function(s) { switch(s.length) { case 8: var k = s.split(":"); var d = new Date(); d["setTime"](0); d["setUTCHours"](k[0]); d["setUTCMinutes"](k[1]); d["setUTCSeconds"](k[2]); return d; case 10: var k1 = s.split("-"); return new Date(k1[0],k1[1] - 1,k1[2],0,0,0); case 19: var k2 = s.split(" "); var y = k2[0].split("-"); var t = k2[1].split(":"); return new Date(y[0],y[1] - 1,y[2],t[0],t[1],t[2]); default: throw new js__$Boot_HaxeError("Invalid date format : " + s); } }; HxOverrides.cca = function(s,index) { var x = s.charCodeAt(index); if(x != x) { return undefined; } return x; }; HxOverrides.substr = function(s,pos,len) { if(len == null) { len = s.length; } else if(len < 0) { if(pos == 0) { len = s.length + len; } else { return ""; } } return s.substr(pos,len); }; HxOverrides.remove = function(a,obj) { var i = a.indexOf(obj); if(i == -1) { return false; } a.splice(i,1); return true; }; HxOverrides.iter = function(a) { return { cur : 0, arr : a, hasNext : function() { return this.cur < this.arr.length; }, next : function() { return this.arr[this.cur++]; }}; }; var IntIterator = function(min,max) { this.min = min; this.max = max; }; $hxClasses["IntIterator"] = IntIterator; IntIterator.__name__ = "IntIterator"; IntIterator.prototype = { min: null ,max: null ,hasNext: function() { return this.min < this.max; } ,next: function() { return this.min++; } ,__class__: IntIterator }; var Lambda = function() { }; $hxClasses["Lambda"] = Lambda; Lambda.__name__ = "Lambda"; Lambda.array = function(it) { var a = []; var i = $getIterator(it); while(i.hasNext()) { var i1 = i.next(); a.push(i1); } return a; }; Lambda.exists = function(it,f) { var x = $getIterator(it); while(x.hasNext()) { var x1 = x.next(); if(f(x1)) { return true; } } return false; }; var LoadReplayState = function(TransIn,TransOut) { this.isSettingControl = false; this.actualNames = []; this.controlsStrings = []; this.songs = []; this.curSelected = 0; MusicBeatState.call(this,TransIn,TransOut); }; $hxClasses["LoadReplayState"] = LoadReplayState; LoadReplayState.__name__ = "LoadReplayState"; LoadReplayState.__super__ = MusicBeatState; LoadReplayState.prototype = $extend(MusicBeatState.prototype,{ selector: null ,curSelected: null ,songs: null ,controlsStrings: null ,actualNames: null ,grpControls: null ,versionShit: null ,poggerDetails: null ,scrollUp: null ,scrollDown: null ,scrollRight: null ,accept: null ,back: null ,create: function() { var menuBG = new flixel_FlxSprite().loadGraphic(Paths.getPath("images/" + "menuDesat" + ".png","IMAGE",null)); haxe_Log.trace(this.controlsStrings,{ fileName : "source/LoadReplayState.hx", lineNumber : 44, className : "LoadReplayState", methodName : "create"}); this.controlsStrings.sort(Reflect.compare); this.addWeek(["Bopeebo","Fresh","Dadbattle"],1,["dad"]); this.addWeek(["Spookeez","South","Monster"],2,["spooky"]); this.addWeek(["Pico","Philly","Blammed"],3,["pico"]); this.addWeek(["Satin-Panties","High","Milf"],4,["mom"]); this.addWeek(["Cocoa","Eggnog","Winter-Horrorland"],5,["parents-christmas","parents-christmas","monster-christmas"]); this.addWeek(["Senpai","Roses","Thorns"],6,["senpai","senpai","spirit"]); var _g = 0; var _g1 = this.controlsStrings.length; while(_g < _g1) { var i = _g++; var string = this.controlsStrings[i]; this.actualNames[i] = string; var rep = Replay.LoadReplay(string); this.controlsStrings[i] = string.split("time")[0] + " " + (rep.replay.songDiff == 2 ? "HARD" : rep.replay.songDiff == 1 ? "EASY" : "NORMAL"); } if(this.controlsStrings.length == 0) { this.controlsStrings.push("No Replays..."); } menuBG.set_color(-1412611); menuBG.setGraphicSize(menuBG.get_width() * 1.1 | 0); menuBG.updateHitbox(); menuBG.screenCenter(); menuBG.set_antialiasing(true); this.add(menuBG); this.grpControls = new flixel_group_FlxTypedGroup(); this.add(this.grpControls); var _g2 = 0; var _g3 = this.controlsStrings.length; while(_g2 < _g3) { var i1 = _g2++; var controlLabel = new Alphabet(0,70 * i1 + 30,this.controlsStrings[i1],true,false); controlLabel.isMenuItem = true; controlLabel.targetY = i1; this.grpControls.add(controlLabel); } this.versionShit = new flixel_text_FlxText(5,flixel_FlxG.height - 34,0,"Replay Loader (ESCAPE TO GO BACK)\nNOTICE!!!! Replays are in a beta stage, and they are probably not 100% correct. expect misses and other stuff that isn't there!",12); this.versionShit.scrollFactor.set(); this.versionShit.setFormat("VCR OSD Mono",16,-1,"left",flixel_text_FlxTextBorderStyle.OUTLINE,-16777216); this.add(this.versionShit); this.poggerDetails = new flixel_text_FlxText(5,34,0,"Replay Details - \nnone",12); this.poggerDetails.scrollFactor.set(); this.poggerDetails.setFormat("VCR OSD Mono",16,-1,"left",flixel_text_FlxTextBorderStyle.OUTLINE,-16777216); this.add(this.poggerDetails); this.changeSelection(0); MusicBeatState.prototype.create.call(this); } ,getWeekNumbFromSong: function(songName) { var week = 0; var _g = 0; var _g1 = this.songs.length; while(_g < _g1) { var i = _g++; var pog = this.songs[i]; if(pog.songName.toLowerCase() == songName) { week = pog.week; } } return week; } ,addSong: function(songName,weekNum,songCharacter) { this.songs.push(new SongMetadata(songName,weekNum,songCharacter)); } ,addWeek: function(songs,weekNum,songCharacters) { if(songCharacters == null) { songCharacters = ["bf"]; } var num = 0; var _g = 0; while(_g < songs.length) { var song = songs[_g]; ++_g; this.addSong(song,weekNum,songCharacters[num]); if(songCharacters.length != 1) { ++num; } } } ,update: function(elapsed) { MusicBeatState.prototype.update.call(this,elapsed); this.scrollUp = false; this.scrollDown = false; this.scrollRight = false; this.accept = false; this.back = false; var _g = 0; var _g1 = flixel_FlxG.swipes; while(_g < _g1.length) { var swipe = _g1[_g]; ++_g; var dx = swipe.startPosition.x - swipe.endPosition.x; var dy = swipe.startPosition.y - swipe.endPosition.y; if(Math.sqrt(dx * dx + dy * dy) >= 25) { if(swipe.startPosition.angleBetween(swipe.endPosition) >= -45 && swipe.startPosition.angleBetween(swipe.endPosition) <= 45) { this.scrollDown = true; } if(swipe.startPosition.angleBetween(swipe.endPosition) > -135 && swipe.startPosition.angleBetween(swipe.endPosition) < -45) { this.back = true; } if(swipe.startPosition.angleBetween(swipe.endPosition) > 45 && swipe.startPosition.angleBetween(swipe.endPosition) < 135) { this.scrollRight = true; } if(swipe.startPosition.angleBetween(swipe.endPosition) >= -180 && swipe.startPosition.angleBetween(swipe.endPosition) <= -135 || swipe.startPosition.angleBetween(swipe.endPosition) >= 135 && swipe.startPosition.angleBetween(swipe.endPosition) <= 180) { this.scrollUp = true; } } else { this.accept = true; } } if(PlayerSettings.player1.controls._back.check() || this.back) { var nextState = new OptionsMenu(); if(flixel_FlxG.game._state.switchTo(nextState)) { flixel_FlxG.game._requestedState = nextState; } } if(PlayerSettings.player1.controls._upP.check() || this.scrollUp) { this.changeSelection(-1); } if(PlayerSettings.player1.controls._downP.check() || this.scrollDown) { this.changeSelection(1); } if((PlayerSettings.player1.controls._accept.check() || this.accept) && this.grpControls.members[this.curSelected].text != "No Replays...") { haxe_Log.trace("loading " + this.actualNames[this.curSelected],{ fileName : "source/LoadReplayState.hx", lineNumber : 181, className : "LoadReplayState", methodName : "update"}); PlayState.rep = Replay.LoadReplay(this.actualNames[this.curSelected]); PlayState.loadRep = true; var poop = Highscore.formatSong(PlayState.rep.replay.songName.toLowerCase(),PlayState.rep.replay.songDiff); PlayState.SONG = Song.loadFromJson(poop,PlayState.rep.replay.songName.toLowerCase()); PlayState.isStoryMode = false; PlayState.storyDifficulty = PlayState.rep.replay.songDiff; PlayState.storyWeek = this.getWeekNumbFromSong(PlayState.rep.replay.songName); var nextState1 = LoadingState.getNextState(new PlayState(),false); if(flixel_FlxG.game._state.switchTo(nextState1)) { flixel_FlxG.game._requestedState = nextState1; } } } ,isSettingControl: null ,changeSelection: function(change) { if(change == null) { change = 0; } flixel_FlxG.sound.play(Paths.sound("scrollMenu"),0.4); this.curSelected += change; if(this.curSelected < 0) { this.curSelected = this.grpControls.length - 1; } if(this.curSelected >= this.grpControls.length) { this.curSelected = 0; } var rep = Replay.LoadReplay(this.actualNames[this.curSelected]); this.poggerDetails.set_text("Replay Details - \nDate Created: " + Std.string(rep.replay.timestamp) + "\nSong: " + rep.replay.songName + "\nReplay Version: " + (rep.replay.replayGameVer != Replay.version ? "OUTDATED" : "Latest")); var bullShit = 0; var _g = 0; var _g1 = this.grpControls.members; while(_g < _g1.length) { var item = _g1[_g]; ++_g; item.targetY = bullShit - this.curSelected; ++bullShit; item.set_alpha(0.6); if(item.targetY == 0) { item.set_alpha(1); } } } ,__class__: LoadReplayState }); var LoadingState = function(target,stopMusic) { this.danceLeft = false; this.stopMusic = false; MusicBeatState.call(this); this.target = target; this.stopMusic = stopMusic; }; $hxClasses["LoadingState"] = LoadingState; LoadingState.__name__ = "LoadingState"; LoadingState.getSongPath = function() { return "songs:assets/songs/" + PlayState.SONG.song.toLowerCase() + "/Inst." + "mp3"; }; LoadingState.getVocalPath = function() { return "songs:assets/songs/" + PlayState.SONG.song.toLowerCase() + "/Voices." + "mp3"; }; LoadingState.loadAndSwitchState = function(target,stopMusic) { if(stopMusic == null) { stopMusic = false; } var nextState = LoadingState.getNextState(target,stopMusic); if(flixel_FlxG.game._state.switchTo(nextState)) { flixel_FlxG.game._requestedState = nextState; } }; LoadingState.getNextState = function(target,stopMusic) { if(stopMusic == null) { stopMusic = false; } Paths.setCurrentLevel("week" + PlayState.storyWeek); var loaded = LoadingState.isSoundLoaded(LoadingState.getSongPath()) && (!PlayState.SONG.needsVoices || LoadingState.isSoundLoaded(LoadingState.getVocalPath())) && LoadingState.isLibraryLoaded("shared"); if(!loaded) { return new LoadingState(target,stopMusic); } if(stopMusic && flixel_FlxG.sound.music != null) { var _this = flixel_FlxG.sound.music; _this.cleanup(_this.autoDestroy,true); } return target; }; LoadingState.isSoundLoaded = function(path) { return openfl_utils_Assets.cache.hasSound(path); }; LoadingState.isLibraryLoaded = function(library) { return openfl_utils_Assets.getLibrary(library) != null; }; LoadingState.initSongsManifest = function() { var id = "songs"; var promise = new lime_app_Promise(); var library = lime_utils_Assets.getLibrary(id); if(library != null) { return lime_app_Future.withValue(library); } var path = id; var rootPath = null; var libraryPaths = lime_utils_Assets.libraryPaths; if(__map_reserved[id] != null ? libraryPaths.existsReserved(id) : libraryPaths.h.hasOwnProperty(id)) { path = __map_reserved[id] != null ? libraryPaths.getReserved(id) : libraryPaths.h[id]; rootPath = haxe_io_Path.directory(path); } else { if(StringTools.endsWith(path,".bundle")) { rootPath = path; path += "/library.json"; } else { rootPath = haxe_io_Path.directory(path); } path = lime_utils_Assets.__cacheBreak(path); } lime_utils_AssetManifest.loadFromFile(path,rootPath).onComplete(function(manifest) { if(manifest == null) { promise.error("Cannot parse asset manifest for library \"" + id + "\""); return; } var library1 = lime_utils_AssetLibrary.fromManifest(manifest); if(library1 == null) { promise.error("Cannot open library \"" + id + "\""); } else { var _this = lime_utils_Assets.libraries; if(__map_reserved[id] != null) { _this.setReserved(id,library1); } else { _this.h[id] = library1; } library1.onChange.add(($_=lime_utils_Assets.onChange,$bind($_,$_.dispatch))); var tmp = lime_app_Future.withValue(library1); promise.completeWith(tmp); } }).onError(function(_) { promise.error("There is no asset library with an ID of \"" + id + "\""); }); return promise.future; }; LoadingState.__super__ = MusicBeatState; LoadingState.prototype = $extend(MusicBeatState.prototype,{ target: null ,stopMusic: null ,callbacks: null ,logo: null ,gfDance: null ,danceLeft: null ,create: function() { var _gthis = this; this.logo = new flixel_FlxSprite(-150,-100); var library = null; this.logo.set_frames(flixel_graphics_frames_FlxAtlasFrames.fromSparrow(Paths.getPath("images/" + "logoBumpin" + ".png","IMAGE",library),Paths.getPath("images/" + "logoBumpin" + ".xml","TEXT",library))); this.logo.set_antialiasing(true); this.logo.animation.addByPrefix("bump","logo bumpin",24); this.logo.animation.play("bump"); this.logo.updateHitbox(); this.gfDance = new flixel_FlxSprite(flixel_FlxG.width * 0.4,flixel_FlxG.height * 0.07); var library1 = null; this.gfDance.set_frames(flixel_graphics_frames_FlxAtlasFrames.fromSparrow(Paths.getPath("images/" + "gfDanceTitle" + ".png","IMAGE",library1),Paths.getPath("images/" + "gfDanceTitle" + ".xml","TEXT",library1))); this.gfDance.animation.addByIndices("danceLeft","gfDance",[30,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14],"",24,false); this.gfDance.animation.addByIndices("danceRight","gfDance",[15,16,17,18,19,20,21,22,23,24,25,26,27,28,29],"",24,false); this.gfDance.set_antialiasing(true); this.add(this.gfDance); this.add(this.logo); LoadingState.initSongsManifest().onComplete(function(lib) { _gthis.callbacks = new MultiCallback($bind(_gthis,_gthis.onLoad)); var introComplete = _gthis.callbacks.add("introComplete"); var tmp = LoadingState.getSongPath(); _gthis.checkLoadSong(tmp); if(PlayState.SONG.needsVoices) { var tmp1 = LoadingState.getVocalPath(); _gthis.checkLoadSong(tmp1); } _gthis.checkLibrary("shared"); if(PlayState.storyWeek > 0) { _gthis.checkLibrary("week" + PlayState.storyWeek); } else { _gthis.checkLibrary("tutorial"); } var fadeTime = 0.5; flixel_FlxG.camera.fade(flixel_FlxG.camera.bgColor,fadeTime,true); new flixel_util_FlxTimer().start(fadeTime + 1.0,function(_) { introComplete(); }); }); } ,checkLoadSong: function(path) { if(!openfl_utils_Assets.cache.hasSound(path)) { var library = openfl_utils_Assets.getLibrary("songs"); var symbolPath = path.split(":").pop(); var callback = this.callbacks.add("song:" + path); openfl_utils_Assets.loadSound(path).onComplete(function(_) { callback(); }); } } ,checkLibrary: function(library) { haxe_Log.trace(openfl_utils_Assets.hasLibrary(library),{ fileName : "source/LoadingState.hx", lineNumber : 95, className : "LoadingState", methodName : "checkLibrary"}); if(openfl_utils_Assets.getLibrary(library) == null) { var _this = lime_utils_Assets.libraryPaths; if(!(__map_reserved[library] != null ? _this.existsReserved(library) : _this.h.hasOwnProperty(library))) { throw new js__$Boot_HaxeError("Missing library: " + library); } var callback = this.callbacks.add("library:" + library); openfl_utils_Assets.loadLibrary(library).onComplete(function(_) { callback(); }); } } ,beatHit: function() { MusicBeatState.prototype.beatHit.call(this); this.logo.animation.play("bump"); this.danceLeft = !this.danceLeft; if(this.danceLeft) { this.gfDance.animation.play("danceRight"); } else { this.gfDance.animation.play("danceLeft"); } } ,update: function(elapsed) { MusicBeatState.prototype.update.call(this,elapsed); } ,onLoad: function() { if(this.stopMusic && flixel_FlxG.sound.music != null) { var _this = flixel_FlxG.sound.music; _this.cleanup(_this.autoDestroy,true); } var nextState = this.target; if(flixel_FlxG.game._state.switchTo(nextState)) { flixel_FlxG.game._requestedState = nextState; } } ,destroy: function() { MusicBeatState.prototype.destroy.call(this); this.callbacks = null; } ,__class__: LoadingState }); var MultiCallback = function(callback,logId) { this.fired = []; this.unfired = new haxe_ds_StringMap(); this.numRemaining = 0; this.length = 0; this.logId = null; this.callback = callback; this.logId = logId; }; $hxClasses["MultiCallback"] = MultiCallback; MultiCallback.__name__ = "MultiCallback"; MultiCallback.prototype = { callback: null ,logId: null ,length: null ,numRemaining: null ,unfired: null ,fired: null ,add: function(id) { if(id == null) { id = "untitled"; } var _gthis = this; id = "" + this.length + ":" + id; this.length++; this.numRemaining++; var func = null; func = function() { var _this = _gthis.unfired; if(__map_reserved[id] != null ? _this.existsReserved(id) : _this.h.hasOwnProperty(id)) { _gthis.unfired.remove(id); _gthis.fired.push(id); _gthis.numRemaining--; if(_gthis.logId != null) { if(_gthis.logId != null) { haxe_Log.trace("" + _gthis.logId + ": " + ("fired " + id + ", " + _gthis.numRemaining + " remaining"),{ fileName : "source/LoadingState.hx", lineNumber : 305, className : "MultiCallback", methodName : "log"}); } } if(_gthis.numRemaining == 0) { if(_gthis.logId != null) { if(_gthis.logId != null) { haxe_Log.trace("" + _gthis.logId + ": " + "all callbacks fired",{ fileName : "source/LoadingState.hx", lineNumber : 305, className : "MultiCallback", methodName : "log"}); } } _gthis.callback(); } } else if(_gthis.logId != null) { haxe_Log.trace("" + _gthis.logId + ": " + ("already fired " + id),{ fileName : "source/LoadingState.hx", lineNumber : 305, className : "MultiCallback", methodName : "log"}); } }; var _this1 = this.unfired; if(__map_reserved[id] != null) { _this1.setReserved(id,func); } else { _this1.h[id] = func; } return func; } ,log: function(msg) { if(this.logId != null) { haxe_Log.trace("" + this.logId + ": " + msg,{ fileName : "source/LoadingState.hx", lineNumber : 305, className : "MultiCallback", methodName : "log"}); } } ,getFired: function() { return this.fired.slice(); } ,getUnfired: function() { var _g = []; var id = this.unfired.keys(); while(id.hasNext()) { var id1 = id.next(); _g.push(id1); } return _g; } ,__class__: MultiCallback }; var MainMenuState = function(TransIn,TransOut) { this.selectedSomethin = false; this.newInput = true; this.optionShit = ["story mode","freeplay","donate","opciones"]; this.curSelected = 0; MusicBeatState.call(this,TransIn,TransOut); }; $hxClasses["MainMenuState"] = MainMenuState; MainMenuState.__name__ = "MainMenuState"; MainMenuState.__super__ = MusicBeatState; MainMenuState.prototype = $extend(MusicBeatState.prototype,{ curSelected: null ,menuItems: null ,optionShit: null ,newGaming: null ,newGaming2: null ,newInput: null ,magenta: null ,camFollow: null ,scrollUp: null ,scrollDown: null ,accept: null ,back: null ,create: function() { if(flixel_FlxG.sound.music._channel == null) { flixel_FlxG.sound.playMusic(Paths.getPath("music/" + "freakyMenu" + "." + "mp3","MUSIC",null)); } this.persistentUpdate = this.persistentDraw = true; var bg = new flixel_FlxSprite(-80).loadGraphic(Paths.getPath("images/" + "menuBG" + ".png","IMAGE",null)); bg.scrollFactor.set_x(0); bg.scrollFactor.set_y(0.18); bg.setGraphicSize(bg.get_width() * 1.1 | 0); bg.updateHitbox(); bg.screenCenter(); bg.set_antialiasing(true); this.add(bg); this.camFollow = new flixel_FlxObject(0,0,1,1); this.add(this.camFollow); this.magenta = new flixel_FlxSprite(-80).loadGraphic(Paths.getPath("images/" + "menuDesat" + ".png","IMAGE",null)); this.magenta.scrollFactor.set_x(0); this.magenta.scrollFactor.set_y(0.18); this.magenta.setGraphicSize(this.magenta.get_width() * 1.1 | 0); this.magenta.updateHitbox(); this.magenta.screenCenter(); this.magenta.set_visible(false); this.magenta.set_antialiasing(true); this.magenta.set_color(-167525); this.add(this.magenta); this.menuItems = new flixel_group_FlxTypedGroup(); this.add(this.menuItems); var library = null; var tex = flixel_graphics_frames_FlxAtlasFrames.fromSparrow(Paths.getPath("images/" + "FNF_main_menu_assets" + ".png","IMAGE",library),Paths.getPath("images/" + "FNF_main_menu_assets" + ".xml","TEXT",library)); var _g = 0; var _g1 = this.optionShit.length; while(_g < _g1) { var i = _g++; var menuItem = new flixel_FlxSprite(0,60 + i * 160); menuItem.set_frames(tex); menuItem.animation.addByPrefix("idle",this.optionShit[i] + " basic",24); menuItem.animation.addByPrefix("selected",this.optionShit[i] + " white",24); menuItem.animation.play("idle"); menuItem.ID = i; menuItem.screenCenter(flixel_util_FlxAxes.X); this.menuItems.add(menuItem); menuItem.scrollFactor.set(); menuItem.set_antialiasing(true); } flixel_FlxG.camera.follow(this.camFollow,null,0.06); var versionShit = new flixel_text_FlxText(5,flixel_FlxG.height - 18,0,MainMenuState.gameVer + " FNF - " + MainMenuState.kadeEngineVer + " Kade Engine",12); versionShit.scrollFactor.set(); versionShit.setFormat("VCR OSD Mono",16,-1,"left",flixel_text_FlxTextBorderStyle.OUTLINE,-16777216); this.add(versionShit); if(flixel_FlxG.save.data.dfjk) { PlayerSettings.player1.controls.setKeyboardScheme(KeyboardScheme.Solo,true); } else { PlayerSettings.player1.controls.setKeyboardScheme(KeyboardScheme.Duo(true),true); } this.changeItem(); MusicBeatState.prototype.create.call(this); } ,selectedSomethin: null ,update: function(elapsed) { var _gthis = this; if(flixel_FlxG.sound.music._volume < 0.8) { var _g = flixel_FlxG.sound.music; _g.set_volume(_g._volume + 0.5 * flixel_FlxG.elapsed); } if(!this.selectedSomethin) { this.scrollUp = false; this.scrollDown = false; this.accept = false; this.back = false; var _g1 = 0; var _g11 = flixel_FlxG.swipes; while(_g1 < _g11.length) { var swipe = _g11[_g1]; ++_g1; var dx = swipe.startPosition.x - swipe.endPosition.x; var dy = swipe.startPosition.y - swipe.endPosition.y; if(Math.sqrt(dx * dx + dy * dy) >= 25) { if(swipe.startPosition.angleBetween(swipe.endPosition) >= -45 && swipe.startPosition.angleBetween(swipe.endPosition) <= 45) { this.scrollDown = true; } if(swipe.startPosition.angleBetween(swipe.endPosition) > -135 && swipe.startPosition.angleBetween(swipe.endPosition) < -45) { this.back = true; } if(swipe.startPosition.angleBetween(swipe.endPosition) >= -180 && swipe.startPosition.angleBetween(swipe.endPosition) <= -135 || swipe.startPosition.angleBetween(swipe.endPosition) >= 135 && swipe.startPosition.angleBetween(swipe.endPosition) <= 180) { this.scrollUp = true; } } else { this.accept = true; } } if(PlayerSettings.player1.controls._upP.check() || this.scrollUp) { flixel_FlxG.sound.play(Paths.sound("scrollMenu")); this.changeItem(-1); } if(PlayerSettings.player1.controls._downP.check() || this.scrollDown) { flixel_FlxG.sound.play(Paths.sound("scrollMenu")); this.changeItem(1); } if(PlayerSettings.player1.controls._back.check() || this.back) { var nextState = new TitleState(); if(flixel_FlxG.game._state.switchTo(nextState)) { flixel_FlxG.game._requestedState = nextState; } } if(PlayerSettings.player1.controls._accept.check() || this.accept) { if(this.optionShit[this.curSelected] == "donate") { var prefix = ""; if(!new EReg("^https?://","").match("https://ninja-muffin24.itch.io/funkin")) { prefix = "http://"; } openfl_Lib.getURL(new openfl_net_URLRequest(prefix + "https://ninja-muffin24.itch.io/funkin"),"_blank"); } else { this.selectedSomethin = true; flixel_FlxG.sound.play(Paths.sound("confirmMenu")); flixel_effects_FlxFlicker.flicker(this.magenta,1.1,0.15,false); this.menuItems.forEach(function(spr) { if(_gthis.curSelected != spr.ID) { flixel_tweens_FlxTween.tween(spr,{ alpha : 0},1.3,{ ease : flixel_tweens_FlxEase.quadOut, onComplete : function(twn) { spr.kill(); }}); } else { flixel_effects_FlxFlicker.flicker(spr,1,0.06,false,false,function(flick) { var daChoice = _gthis.optionShit[_gthis.curSelected]; switch(daChoice) { case "freeplay": var nextState1 = new FreeplayState(); if(flixel_FlxG.game._state.switchTo(nextState1)) { flixel_FlxG.game._requestedState = nextState1; } haxe_Log.trace("Freeplay Menu Selected",{ fileName : "source/MainMenuState.hx", lineNumber : 209, className : "MainMenuState", methodName : "update"}); break; case "options": var nextState2 = new OptionsMenu(); if(flixel_FlxG.game._state.switchTo(nextState2)) { flixel_FlxG.game._requestedState = nextState2; } break; case "story mode": var nextState3 = new StoryMenuState(); if(flixel_FlxG.game._state.switchTo(nextState3)) { flixel_FlxG.game._requestedState = nextState3; } haxe_Log.trace("Story Menu Selected",{ fileName : "source/MainMenuState.hx", lineNumber : 205, className : "MainMenuState", methodName : "update"}); break; } }); } }); } } } MusicBeatState.prototype.update.call(this,elapsed); this.menuItems.forEach(function(spr1) { spr1.screenCenter(flixel_util_FlxAxes.X); }); } ,changeItem: function(huh) { if(huh == null) { huh = 0; } var _gthis = this; this.curSelected += huh; if(this.curSelected >= this.menuItems.length) { this.curSelected = 0; } if(this.curSelected < 0) { this.curSelected = this.menuItems.length - 1; } this.menuItems.forEach(function(spr) { spr.animation.play("idle"); if(spr.ID == _gthis.curSelected) { spr.animation.play("selected"); _gthis.camFollow.setPosition(spr.getGraphicMidpoint().x,spr.getGraphicMidpoint().y); } spr.updateHitbox(); }); } ,__class__: MainMenuState }); var ManifestResources = function() { }; $hxClasses["ManifestResources"] = ManifestResources; ManifestResources.__name__ = "ManifestResources"; ManifestResources.preloadLibraries = null; ManifestResources.preloadLibraryNames = null; ManifestResources.rootPath = null; ManifestResources.init = function(config) { ManifestResources.preloadLibraries = []; ManifestResources.preloadLibraryNames = []; ManifestResources.rootPath = null; if(config != null && Object.prototype.hasOwnProperty.call(config,"rootPath")) { ManifestResources.rootPath = Reflect.field(config,"rootPath"); } if(ManifestResources.rootPath == null) { ManifestResources.rootPath = "./"; } openfl_text_Font.registerFont(_$_$ASSET_$_$OPENFL_$_$assets_$fonts_$pixel_$otf); openfl_text_Font.registerFont(_$_$ASSET_$_$OPENFL_$_$assets_$fonts_$vcr_$ttf); openfl_text_Font.registerFont(_$_$ASSET_$_$OPENFL_$_$flixel_$fonts_$nokiafc22_$ttf); openfl_text_Font.registerFont(_$_$ASSET_$_$OPENFL_$_$flixel_$fonts_$monsterrat_$ttf); var bundle; var v = ManifestResources.rootPath + "manifest/songs.json"; var _this = lime_utils_Assets.libraryPaths; if(__map_reserved["songs"] != null) { _this.setReserved("songs",v); } else { _this.h["songs"] = v; } var v1 = ManifestResources.rootPath + "manifest/shared.json"; var _this1 = lime_utils_Assets.libraryPaths; if(__map_reserved["shared"] != null) { _this1.setReserved("shared",v1); } else { _this1.h["shared"] = v1; } var v2 = ManifestResources.rootPath + "manifest/tutorial.json"; var _this2 = lime_utils_Assets.libraryPaths; if(__map_reserved["tutorial"] != null) { _this2.setReserved("tutorial",v2); } else { _this2.h["tutorial"] = v2; } var v3 = ManifestResources.rootPath + "manifest/week1.json"; var _this3 = lime_utils_Assets.libraryPaths; if(__map_reserved["week1"] != null) { _this3.setReserved("week1",v3); } else { _this3.h["week1"] = v3; } var v4 = ManifestResources.rootPath + "manifest/week2.json"; var _this4 = lime_utils_Assets.libraryPaths; if(__map_reserved["week2"] != null) { _this4.setReserved("week2",v4); } else { _this4.h["week2"] = v4; } var v5 = ManifestResources.rootPath + "manifest/week3.json"; var _this5 = lime_utils_Assets.libraryPaths; if(__map_reserved["week3"] != null) { _this5.setReserved("week3",v5); } else { _this5.h["week3"] = v5; } var v6 = ManifestResources.rootPath + "manifest/week4.json"; var _this6 = lime_utils_Assets.libraryPaths; if(__map_reserved["week4"] != null) { _this6.setReserved("week4",v6); } else { _this6.h["week4"] = v6; } var v7 = ManifestResources.rootPath + "manifest/week5.json"; var _this7 = lime_utils_Assets.libraryPaths; if(__map_reserved["week5"] != null) { _this7.setReserved("week5",v7); } else { _this7.h["week5"] = v7; } var v8 = ManifestResources.rootPath + "manifest/week6.json"; var _this8 = lime_utils_Assets.libraryPaths; if(__map_reserved["week6"] != null) { _this8.setReserved("week6",v8); } else { _this8.h["week6"] = v8; } var data = "{\"name\":null,\"assets\":\"aoy4:sizei91950y4:typey5:MUSICy2:idy33:assets%2Fsounds%2FconfirmMenu.mp3y9:pathGroupaR4hy7:preloadtgoR0i17762R1R2R3y32:assets%2Fsounds%2FscrollMenu.mp3R5aR7hR6tgoR0i17762R1R2R3y32:assets%2Fsounds%2FcancelMenu.mp3R5aR8hR6tgoy4:pathy41:assets%2Fdata%2Feggnog%2Feggnog-easy.jsonR0i32768R1y4:TEXTR3R10R6tgoR9y36:assets%2Fdata%2Feggnog%2Feggnog.jsonR0i35674R1R11R3R12R6tgoR9y41:assets%2Fdata%2Feggnog%2Feggnog-hard.jsonR0i141118R1R11R3R13R6tgoR9y37:assets%2Fdata%2Fhigh%2Fhigh-hard.jsonR0i26047R1R11R3R14R6tgoR9y32:assets%2Fdata%2Fhigh%2Fhigh.jsonR0i36383R1R11R3R15R6tgoR9y37:assets%2Fdata%2Fhigh%2Fhigh-easy.jsonR0i34032R1R11R3R16R6tgoR9y45:assets%2Fdata%2Fspookeez%2Fspookeez-easy.jsonR0i28639R1R11R3R17R6tgoR9y40:assets%2Fdata%2Fspookeez%2Fspookeez.jsonR0i30435R1R11R3R18R6tgoR9y45:assets%2Fdata%2Fspookeez%2Fspookeez-hard.jsonR0i32667R1R11R3R19R6tgoR9y29:assets%2Fdata%2Fmain-view.xmlR0i123R1R11R3R20R6tgoR9y41:assets%2Fdata%2Fthorns%2Fthorns-easy.jsonR0i51981R1R11R3R21R6tgoR9y43:assets%2Fdata%2Fthorns%2FthornsDialogue.txtR0i305R1R11R3R22R6tgoR9y36:assets%2Fdata%2Fthorns%2Fthorns.jsonR0i60997R1R11R3R23R6tgoR9y41:assets%2Fdata%2Fthorns%2Fthorns-hard.jsonR0i71799R1R11R3R24R6tgoR9y33:assets%2Fdata%2FcharacterList.txtR0i146R1R11R3R25R6tgoR9y38:assets%2Fdata%2Fblammed%2Fblammed.jsonR0i44638R1R11R3R26R6tgoR9y43:assets%2Fdata%2Fblammed%2Fblammed-hard.jsonR0i53646R1R11R3R27R6tgoR9y43:assets%2Fdata%2Fblammed%2Fblammed-easy.jsonR0i39025R1R11R3R28R6tgoR9y42:assets%2Fdata%2Fdadbattle%2Fdadbattle.jsonR0i30225R1R11R3R29R6tgoR9y47:assets%2Fdata%2Fdadbattle%2Fdadbattle-easy.jsonR0i28153R1R11R3R30R6tgoR9y47:assets%2Fdata%2Fdadbattle%2Fdadbattle-hard.jsonR0i34945R1R11R3R31R6tgoR9y49:assets%2Fdata%2Fdadbattle%2FdadbattleDialogue.txtR0i135R1R11R3R32R6tgoR9y55:assets%2Fdata%2Fsatin-panties%2Fsatin-panties-hard.jsonR0i54488R1R11R3R33R6tgoR9y50:assets%2Fdata%2Fsatin-panties%2Fsatin-panties.jsonR0i47192R1R11R3R34R6tgoR9y55:assets%2Fdata%2Fsatin-panties%2Fsatin-panties-easy.jsonR0i41066R1R11R3R35R6tgoR9y32:assets%2Fdata%2Fpico%2Fpico.jsonR0i27699R1R11R3R36R6tgoR9y37:assets%2Fdata%2Fpico%2Fpico-hard.jsonR0i29577R1R11R3R37R6tgoR9y37:assets%2Fdata%2Fpico%2Fpico-easy.jsonR0i16714R1R11R3R38R6tgoR9y28:assets%2Fdata%2Fcontrols.txtR0i324R1R11R3R39R6tgoR9y34:assets%2Fdata%2Fridge%2Fridge.jsonR0i34473R1R11R3R40R6tgoR9y39:assets%2Fdata%2Ffresh%2Ffresh-hard.jsonR0i19185R1R11R3R41R6tgoR9y34:assets%2Fdata%2Ffresh%2Ffresh.jsonR0i18849R1R11R3R42R6tgoR9y39:assets%2Fdata%2Ffresh%2Ffresh-easy.jsonR0i17647R1R11R3R43R6tgoR9y41:assets%2Fdata%2Ffresh%2FfreshDialogue.txtR0i24R1R11R3R44R6tgoR9y39:assets%2Fdata%2Fsouth%2Fsouth-easy.jsonR0i30048R1R11R3R45R6tgoR9y34:assets%2Fdata%2Fsouth%2Fsouth.jsonR0i22239R1R11R3R46R6tgoR9y39:assets%2Fdata%2Fsouth%2Fsouth-hard.jsonR0i34392R1R11R3R47R6tgoR9y37:assets%2Fdata%2Fmilf%2Fmilf-easy.jsonR0i66246R1R11R3R48R6tgoR9y32:assets%2Fdata%2Fmilf%2Fmilf.jsonR0i70461R1R11R3R49R6tgoR9y37:assets%2Fdata%2Fmilf%2Fmilf-hard.jsonR0i79053R1R11R3R50R6tgoR9y41:assets%2Fdata%2Fsenpai%2Fsenpai-hard.jsonR0i51861R1R11R3R51R6tgoR9y43:assets%2Fdata%2Fsenpai%2FsenpaiDialogue.txtR0i162R1R11R3R52R6tgoR9y41:assets%2Fdata%2Fsenpai%2Fsenpai-easy.jsonR0i45928R1R11R3R53R6tgoR9y36:assets%2Fdata%2Fsenpai%2Fsenpai.jsonR0i49335R1R11R3R54R6tgoR9y63:assets%2Fdata%2Fwinter-horrorland%2Fwinter-horrorland-hard.jsonR0i171649R1R11R3R55R6tgoR9y58:assets%2Fdata%2Fwinter-horrorland%2Fwinter-horrorland.jsonR0i148926R1R11R3R56R6tgoR9y63:assets%2Fdata%2Fwinter-horrorland%2Fwinter-horrorland-easy.jsonR0i133150R1R11R3R57R6tgoR9y34:assets%2Fdata%2Fsmash%2Fsmash.jsonR0i154R1R11R3R58R6tgoR9y29:assets%2Fdata%2FintroText.txtR0i1260R1R11R3R59R6tgoR9y33:assets%2Fdata%2FspecialThanks.txtR0i300R1R11R3R60R6tgoR9y34:assets%2Fdata%2Fdata-goes-here.txtR0zR1R11R3R61R6tgoR9y40:assets%2Fdata%2Ftutorial%2Ftutorial.jsonR0i5739R1R11R3R62R6tgoR9y45:assets%2Fdata%2Ftutorial%2Ftutorial-hard.jsonR0i9504R1R11R3R63R6tgoR9y45:assets%2Fdata%2Ftutorial%2Ftutorial-easy.jsonR0i5739R1R11R3R64R6tgoR9y47:assets%2Fdata%2Ftutorial%2FtutorialDialogue.txtR0i80R1R11R3R65R6tgoR9y45:assets%2Fdata%2Fbopeebo%2FbopeeboDialogue.txtR0i152R1R11R3R66R6tgoR9y38:assets%2Fdata%2Fbopeebo%2Fbopeebo.jsonR0i6561R1R11R3R67R6tgoR9y43:assets%2Fdata%2Fbopeebo%2Fbopeebo-hard.jsonR0i6564R1R11R3R68R6tgoR9y43:assets%2Fdata%2Fbopeebo%2Fbopeebo-easy.jsonR0i6561R1R11R3R69R6tgoR9y36:assets%2Fdata%2Fphilly%2Fphilly.jsonR0i44220R1R11R3R70R6tgoR9y41:assets%2Fdata%2Fphilly%2Fphilly-hard.jsonR0i55578R1R11R3R71R6tgoR9y41:assets%2Fdata%2Fphilly%2Fphilly-easy.jsonR0i37684R1R11R3R72R6tgoR9y38:assets%2Fdata%2Fmonster%2Fmonster.jsonR0i13247R1R11R3R73R6tgoR9y43:assets%2Fdata%2Fmonster%2Fmonster-hard.jsonR0i13965R1R11R3R74R6tgoR9y43:assets%2Fdata%2Fmonster%2Fmonster-easy.jsonR0i11977R1R11R3R75R6tgoR9y41:assets%2Fdata%2Froses%2FrosesDialogue.txtR0i153R1R11R3R76R6tgoR9y39:assets%2Fdata%2Froses%2Froses-easy.jsonR0i27016R1R11R3R77R6tgoR9y39:assets%2Fdata%2Froses%2Froses-hard.jsonR0i34216R1R11R3R78R6tgoR9y34:assets%2Fdata%2Froses%2Froses.jsonR0i31159R1R11R3R79R6tgoR9y36:assets%2Fdata%2FfreeplaySonglist.txtR0i8R1R11R3R80R6tgoR9y39:assets%2Fdata%2Fcocoa%2Fcocoa-easy.jsonR0i27364R1R11R3R81R6tgoR9y34:assets%2Fdata%2Fcocoa%2Fcocoa.jsonR0i30208R1R11R3R82R6tgoR9y39:assets%2Fdata%2Fcocoa%2Fcocoa-hard.jsonR0i22841R1R11R3R83R6tgoR0i2309657R1R2R3y31:assets%2Fmusic%2FfreakyMenu.mp3R5aR84hR6tgoR9y26:assets%2Fimages%2Flogo.pngR0i56806R1y5:IMAGER3R85R6tgoR9y26:assets%2Fimages%2Fnum1.pngR0i2169R1R86R3R87R6tgoR9y42:assets%2Fimages%2FFNF_main_menu_assets.pngR0i136196R1R86R3R88R6tgoR9y30:assets%2Fimages%2Falphabet.pngR0i76931R1R86R3R89R6tgoR9y30:assets%2Fimages%2FiconGrid.pngR0i146010R1R86R3R90R6tgoR9y37:assets%2Fimages%2Fnewgrounds_logo.pngR0i41332R1R86R3R91R6tgoR9y32:assets%2Fimages%2FtitleEnter.pngR0i1183951R1R86R3R92R6tgoR9y42:assets%2Fimages%2FFNF_main_menu_assets.xmlR0i4755R1R11R3R93R6tgoR9y39:assets%2Fimages%2Fstorymenu%2Fweek5.pngR0i3617R1R86R3R94R6tgoR9y39:assets%2Fimages%2Fstorymenu%2Fweek1.pngR0i3418R1R86R3R95R6tgoR9y39:assets%2Fimages%2Fstorymenu%2Fweek4.pngR0i3548R1R86R3R96R6tgoR9y39:assets%2Fimages%2Fstorymenu%2Fweek6.pngR0i3855R1R86R3R97R6tgoR9y39:assets%2Fimages%2Fstorymenu%2Fweek3.pngR0i3848R1R86R3R98R6tgoR9y39:assets%2Fimages%2Fstorymenu%2Fweek2.pngR0i3715R1R86R3R99R6tgoR9y39:assets%2Fimages%2Fstorymenu%2Fweek0.pngR0i4143R1R86R3R100R6tgoR9y30:assets%2Fimages%2Falphabet.xmlR0i39069R1R11R3R101R6tgoR9y26:assets%2Fimages%2Fnum3.pngR0i2456R1R86R3R102R6tgoR9y45:assets%2Fimages%2Fcampaign_menu_UI_assets.pngR0i15402R1R86R3R103R6tgoR9y32:assets%2Fimages%2FlogoBumpin.xmlR0i2177R1R11R3R104R6tgoR9y26:assets%2Fimages%2Fnum8.pngR0i2564R1R86R3R105R6tgoR9y34:assets%2Fimages%2FgfDanceTitle.pngR0i798272R1R86R3R106R6tgoR9y45:assets%2Fimages%2Fcampaign_menu_UI_assets.xmlR0i1893R1R11R3R107R6tgoR9y26:assets%2Fimages%2Fnum5.pngR0i2476R1R86R3R108R6tgoR9y31:assets%2Fimages%2FmenuDesat.pngR0i216581R1R86R3R109R6tgoR9y26:assets%2Fimages%2Fnum6.pngR0i2603R1R86R3R110R6tgoR9y32:assets%2Fimages%2FmenuBGBlue.pngR0i455378R1R86R3R111R6tgoR9y26:assets%2Fimages%2Fnum4.pngR0i2517R1R86R3R112R6tgoR9y35:assets%2Fimages%2FmenuBGMagenta.pngR0i447066R1R86R3R113R6tgoR9y32:assets%2Fimages%2FlogoBumpin.pngR0i560178R1R86R3R114R6tgoR9y49:assets%2Fimages%2Fcampaign_menu_UI_characters.xmlR0i22475R1R11R3R115R6tgoR9y49:assets%2Fimages%2Fcampaign_menu_UI_characters.pngR0i630724R1R86R3R116R6tgoR9y26:assets%2Fimages%2Fnum0.pngR0i2387R1R86R3R117R6tgoR9y26:assets%2Fimages%2Fnum2.pngR0i2459R1R86R3R118R6tgoR9y26:assets%2Fimages%2Fnum7.pngR0i2276R1R86R3R119R6tgoR9y32:assets%2Fimages%2FtitleEnter.xmlR0i4875R1R11R3R120R6tgoR9y26:assets%2Fimages%2Fnum9.pngR0i2389R1R86R3R121R6tgoR9y34:assets%2Fimages%2FgfDanceTitle.xmlR0i4259R1R11R3R122R6tgoR9y28:assets%2Fimages%2FmenuBG.pngR0i474675R1R86R3R123R6tgoR9y18:mods%2FmodList.txtR0i8R1R11R3R124goR9y48:mods%2FintroMod%2F_append%2Fdata%2FintroText.txtR0i20R1R11R3R125goR9y17:mods%2Freadme.txtR0i90R1R11R3R126goR9y21:do%20NOT%20readme.txtR0i4326R1R11R3R127R6tgoR9y13:changelog.txtR0i7730R1R11R3R128R6tgoR0i14656R1y4:FONTy9:classNamey31:__ASSET__assets_fonts_pixel_otfR3y26:assets%2Ffonts%2Fpixel.otfR6tgoR9y34:assets%2Ffonts%2Ffonts-go-here.txtR0zR1R11R3R133R6tgoR0i75864R1R129R130y29:__ASSET__assets_fonts_vcr_ttfR3y24:assets%2Ffonts%2Fvcr.ttfR6tgoR0i2114R1R2R3y26:flixel%2Fsounds%2Fbeep.mp3R5aR136y26:flixel%2Fsounds%2Fbeep.ogghR6tgoR0i39706R1R2R3y28:flixel%2Fsounds%2Fflixel.mp3R5aR138y28:flixel%2Fsounds%2Fflixel.ogghR6tgoR0i33629R1y5:SOUNDR3R139R5aR138R139hgoR0i5794R1R140R3R137R5aR136R137hgoR0i15744R1R129R130y35:__ASSET__flixel_fonts_nokiafc22_ttfR3y30:flixel%2Ffonts%2Fnokiafc22.ttfR6tgoR0i29724R1R129R130y36:__ASSET__flixel_fonts_monsterrat_ttfR3y31:flixel%2Ffonts%2Fmonsterrat.ttfR6tgoR9y33:flixel%2Fimages%2Fui%2Fbutton.pngR0i519R1R86R3R145R6tgoR9y36:flixel%2Fimages%2Flogo%2Fdefault.pngR0i3280R1R86R3R146R6tgoR9y37:flixel%2Fflixel-ui%2Fimg%2Fswatch.pngR0i185R1R86R3R147R6tgoR9y40:flixel%2Fflixel-ui%2Fimg%2Fradio_dot.pngR0i153R1R86R3R148R6tgoR9y44:flixel%2Fflixel-ui%2Fimg%2Ftooltip_arrow.pngR0i18509R1R86R3R149R6tgoR9y43:flixel%2Fflixel-ui%2Fimg%2Fchrome_inset.pngR0i192R1R86R3R150R6tgoR9y41:flixel%2Fflixel-ui%2Fimg%2Fminus_mark.pngR0i136R1R86R3R151R6tgoR9y39:flixel%2Fflixel-ui%2Fimg%2Ftab_back.pngR0i210R1R86R3R152R6tgoR9y40:flixel%2Fflixel-ui%2Fimg%2Fcheck_box.pngR0i922R1R86R3R153R6tgoR9y44:flixel%2Fflixel-ui%2Fimg%2Fdropdown_mark.pngR0i156R1R86R3R154R6tgoR9y37:flixel%2Fflixel-ui%2Fimg%2Fbutton.pngR0i433R1R86R3R155R6tgoR9y44:flixel%2Fflixel-ui%2Fimg%2Fbutton_toggle.pngR0i534R1R86R3R156R6tgoR9y34:flixel%2Fflixel-ui%2Fimg%2Ftab.pngR0i201R1R86R3R157R6tgoR9y48:flixel%2Fflixel-ui%2Fimg%2Fbutton_arrow_left.pngR0i459R1R86R3R158R6tgoR9y42:flixel%2Fflixel-ui%2Fimg%2Fbutton_thin.pngR0i247R1R86R3R159R6tgoR9y41:flixel%2Fflixel-ui%2Fimg%2Fcheck_mark.pngR0i946R1R86R3R160R6tgoR9y42:flixel%2Fflixel-ui%2Fimg%2Fchrome_flat.pngR0i212R1R86R3R161R6tgoR9y40:flixel%2Fflixel-ui%2Fimg%2Fplus_mark.pngR0i147R1R86R3R162R6tgoR9y36:flixel%2Fflixel-ui%2Fimg%2Finvis.pngR0i128R1R86R3R163R6tgoR9y43:flixel%2Fflixel-ui%2Fimg%2Ffinger_small.pngR0i294R1R86R3R164R6tgoR9y46:flixel%2Fflixel-ui%2Fimg%2Fbutton_arrow_up.pngR0i493R1R86R3R165R6tgoR9y41:flixel%2Fflixel-ui%2Fimg%2Ffinger_big.pngR0i1724R1R86R3R166R6tgoR9y43:flixel%2Fflixel-ui%2Fimg%2Fchrome_light.pngR0i214R1R86R3R167R6tgoR9y36:flixel%2Fflixel-ui%2Fimg%2Fradio.pngR0i191R1R86R3R168R6tgoR9y37:flixel%2Fflixel-ui%2Fimg%2Fchrome.pngR0i253R1R86R3R169R6tgoR9y38:flixel%2Fflixel-ui%2Fimg%2Fhilight.pngR0i129R1R86R3R170R6tgoR9y48:flixel%2Fflixel-ui%2Fimg%2Fbutton_arrow_down.pngR0i446R1R86R3R171R6tgoR9y34:flixel%2Fflixel-ui%2Fimg%2Fbox.pngR0i912R1R86R3R172R6tgoR9y49:flixel%2Fflixel-ui%2Fimg%2Fbutton_arrow_right.pngR0i511R1R86R3R173R6tgoR9y53:flixel%2Fflixel-ui%2Fxml%2Fdefault_loading_screen.xmlR0i1953R1R11R3R174R6tgoR9y39:flixel%2Fflixel-ui%2Fxml%2Fdefaults.xmlR0i1263R1R11R3R175R6tgoR9y44:flixel%2Fflixel-ui%2Fxml%2Fdefault_popup.xmlR0i1848R1R11R3R176R6tgh\",\"rootPath\":null,\"version\":2,\"libraryArgs\":[],\"libraryType\":null}"; var manifest = lime_utils_AssetManifest.parse(data,ManifestResources.rootPath); var library = lime_utils_AssetLibrary.fromManifest(manifest); lime_utils_Assets.registerLibrary("default",library); library = lime_utils_Assets.getLibrary("default"); if(library != null) { ManifestResources.preloadLibraries.push(library); } else { ManifestResources.preloadLibraryNames.push("default"); } }; var lime_text_Font = function(name) { if(name != null) { this.name = name; } if(!this.__init) { if(this.ascender == undefined) { this.ascender = 0; } if(this.descender == undefined) { this.descender = 0; } if(this.height == undefined) { this.height = 0; } if(this.numGlyphs == undefined) { this.numGlyphs = 0; } if(this.underlinePosition == undefined) { this.underlinePosition = 0; } if(this.underlineThickness == undefined) { this.underlineThickness = 0; } if(this.unitsPerEM == undefined) { this.unitsPerEM = 0; } if(this.__fontID != null) { if(lime_utils_Assets.isLocal(this.__fontID)) { this.__fromBytes(lime_utils_Assets.getBytes(this.__fontID)); } } else if(this.__fontPath != null) { this.__fromFile(this.__fontPath); } } }; $hxClasses["lime.text.Font"] = lime_text_Font; lime_text_Font.__name__ = "lime.text.Font"; lime_text_Font.fromBytes = function(bytes) { if(bytes == null) { return null; } var font = new lime_text_Font(); font.__fromBytes(bytes); return font; }; lime_text_Font.fromFile = function(path) { if(path == null) { return null; } var font = new lime_text_Font(); font.__fromFile(path); return font; }; lime_text_Font.loadFromBytes = function(bytes) { return lime_app_Future.withValue(lime_text_Font.fromBytes(bytes)); }; lime_text_Font.loadFromFile = function(path) { var request = new lime_net__$HTTPRequest_$lime_$text_$Font(); return request.load(path).then(function(font) { if(font != null) { return lime_app_Future.withValue(font); } else { return lime_app_Future.withError(""); } }); }; lime_text_Font.loadFromName = function(path) { var font = new lime_text_Font(); return font.__loadFromName(path); }; lime_text_Font.__measureFontNode = function(fontFamily) { var node = window.document.createElement("span"); node.setAttribute("aria-hidden","true"); var text = window.document.createTextNode("BESbswy"); node.appendChild(text); var style = node.style; style.display = "block"; style.position = "absolute"; style.top = "-9999px"; style.left = "-9999px"; style.fontSize = "300px"; style.width = "auto"; style.height = "auto"; style.lineHeight = "normal"; style.margin = "0"; style.padding = "0"; style.fontVariant = "normal"; style.whiteSpace = "nowrap"; style.fontFamily = fontFamily; window.document.body.appendChild(node); return node; }; lime_text_Font.prototype = { ascender: null ,descender: null ,height: null ,name: null ,numGlyphs: null ,src: null ,underlinePosition: null ,underlineThickness: null ,unitsPerEM: null ,__fontID: null ,__fontPath: null ,__init: null ,decompose: function() { return null; } ,getGlyph: function(character) { return -1; } ,getGlyphs: function(characters) { if(characters == null) { characters = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^`'\"/\\&*()[]{}<>|:;_-+=?,. "; } return null; } ,getGlyphMetrics: function(glyph) { return null; } ,renderGlyph: function(glyph,fontSize) { return null; } ,renderGlyphs: function(glyphs,fontSize) { return null; } ,__copyFrom: function(other) { if(other != null) { this.ascender = other.ascender; this.descender = other.descender; this.height = other.height; this.name = other.name; this.numGlyphs = other.numGlyphs; this.src = other.src; this.underlinePosition = other.underlinePosition; this.underlineThickness = other.underlineThickness; this.unitsPerEM = other.unitsPerEM; this.__fontID = other.__fontID; this.__fontPath = other.__fontPath; this.__init = true; } } ,__fromBytes: function(bytes) { this.__fontPath = null; } ,__fromFile: function(path) { this.__fontPath = path; } ,__initializeSource: function() { this.__init = true; } ,__loadFromName: function(name) { var _gthis = this; var promise = new lime_app_Promise(); this.name = name; var userAgent = window.navigator.userAgent.toLowerCase(); var isSafari = userAgent.indexOf(" safari/") >= 0 && userAgent.indexOf(" chrome/") < 0; var isUIWebView = new EReg("(iPhone|iPod|iPad).*AppleWebKit(?!.*Version)","i").match(userAgent); if(!isSafari && !isUIWebView && (window.document.fonts && ($_=window.document.fonts,$bind($_,$_.load)))) { window.document.fonts.load("1em '" + name + "'").then(function(_) { promise.complete(_gthis); },function(_1) { lime_utils_Log.warn("Could not load web font \"" + name + "\"",{ fileName : "lime/text/Font.hx", lineNumber : 513, className : "lime.text.Font", methodName : "__loadFromName"}); promise.complete(_gthis); }); } else { var node1 = lime_text_Font.__measureFontNode("'" + name + "', sans-serif"); var node2 = lime_text_Font.__measureFontNode("'" + name + "', serif"); var width1 = node1.offsetWidth; var width2 = node2.offsetWidth; var interval = -1; var timeout = 3000; var intervalLength = 50; var intervalCount = 0; var loaded; var timeExpired; var checkFont = function() { intervalCount += 1; loaded = node1.offsetWidth != width1 || node2.offsetWidth != width2; timeExpired = intervalCount * intervalLength >= timeout; if(loaded || timeExpired) { window.clearInterval(interval); node1.parentNode.removeChild(node1); node2.parentNode.removeChild(node2); node1 = null; node2 = null; if(timeExpired) { lime_utils_Log.warn("Could not load web font \"" + name + "\"",{ fileName : "lime/text/Font.hx", lineNumber : 548, className : "lime.text.Font", methodName : "__loadFromName"}); } promise.complete(_gthis); } }; interval = window.setInterval(checkFont,intervalLength); } return promise.future; } ,__setSize: function(size) { } ,__class__: lime_text_Font }; var _$_$ASSET_$_$assets_$fonts_$pixel_$otf = $hx_exports["__ASSET__assets_fonts_pixel_otf"] = function() { this.ascender = 1125; this.descender = -250; this.height = 1375; this.numGlyphs = 262; this.underlinePosition = -143; this.underlineThickness = 20; this.unitsPerEM = 1000; this.name = "Pixel Arial 11 Bold"; lime_text_Font.call(this); }; $hxClasses["__ASSET__assets_fonts_pixel_otf"] = _$_$ASSET_$_$assets_$fonts_$pixel_$otf; _$_$ASSET_$_$assets_$fonts_$pixel_$otf.__name__ = "__ASSET__assets_fonts_pixel_otf"; _$_$ASSET_$_$assets_$fonts_$pixel_$otf.__super__ = lime_text_Font; _$_$ASSET_$_$assets_$fonts_$pixel_$otf.prototype = $extend(lime_text_Font.prototype,{ __class__: _$_$ASSET_$_$assets_$fonts_$pixel_$otf }); var _$_$ASSET_$_$assets_$fonts_$vcr_$ttf = $hx_exports["__ASSET__assets_fonts_vcr_ttf"] = function() { this.ascender = 1800; this.descender = 0; this.height = 2000; this.numGlyphs = 204; this.underlinePosition = -292; this.underlineThickness = 150; this.unitsPerEM = 2048; this.name = "VCR OSD Mono"; lime_text_Font.call(this); }; $hxClasses["__ASSET__assets_fonts_vcr_ttf"] = _$_$ASSET_$_$assets_$fonts_$vcr_$ttf; _$_$ASSET_$_$assets_$fonts_$vcr_$ttf.__name__ = "__ASSET__assets_fonts_vcr_ttf"; _$_$ASSET_$_$assets_$fonts_$vcr_$ttf.__super__ = lime_text_Font; _$_$ASSET_$_$assets_$fonts_$vcr_$ttf.prototype = $extend(lime_text_Font.prototype,{ __class__: _$_$ASSET_$_$assets_$fonts_$vcr_$ttf }); var _$_$ASSET_$_$flixel_$fonts_$nokiafc22_$ttf = $hx_exports["__ASSET__flixel_fonts_nokiafc22_ttf"] = function() { this.ascender = 2048; this.descender = -512; this.height = 2816; this.numGlyphs = 172; this.underlinePosition = -640; this.underlineThickness = 256; this.unitsPerEM = 2048; this.name = "Nokia Cellphone FC Small"; lime_text_Font.call(this); }; $hxClasses["__ASSET__flixel_fonts_nokiafc22_ttf"] = _$_$ASSET_$_$flixel_$fonts_$nokiafc22_$ttf; _$_$ASSET_$_$flixel_$fonts_$nokiafc22_$ttf.__name__ = "__ASSET__flixel_fonts_nokiafc22_ttf"; _$_$ASSET_$_$flixel_$fonts_$nokiafc22_$ttf.__super__ = lime_text_Font; _$_$ASSET_$_$flixel_$fonts_$nokiafc22_$ttf.prototype = $extend(lime_text_Font.prototype,{ __class__: _$_$ASSET_$_$flixel_$fonts_$nokiafc22_$ttf }); var _$_$ASSET_$_$flixel_$fonts_$monsterrat_$ttf = $hx_exports["__ASSET__flixel_fonts_monsterrat_ttf"] = function() { this.ascender = 968; this.descender = -251; this.height = 1219; this.numGlyphs = 263; this.underlinePosition = -150; this.underlineThickness = 50; this.unitsPerEM = 1000; this.name = "Monsterrat"; lime_text_Font.call(this); }; $hxClasses["__ASSET__flixel_fonts_monsterrat_ttf"] = _$_$ASSET_$_$flixel_$fonts_$monsterrat_$ttf; _$_$ASSET_$_$flixel_$fonts_$monsterrat_$ttf.__name__ = "__ASSET__flixel_fonts_monsterrat_ttf"; _$_$ASSET_$_$flixel_$fonts_$monsterrat_$ttf.__super__ = lime_text_Font; _$_$ASSET_$_$flixel_$fonts_$monsterrat_$ttf.prototype = $extend(lime_text_Font.prototype,{ __class__: _$_$ASSET_$_$flixel_$fonts_$monsterrat_$ttf }); var openfl_text_Font = function(name) { lime_text_Font.call(this,name); }; $hxClasses["openfl.text.Font"] = openfl_text_Font; openfl_text_Font.__name__ = "openfl.text.Font"; openfl_text_Font.enumerateFonts = function(enumerateDeviceFonts) { if(enumerateDeviceFonts == null) { enumerateDeviceFonts = false; } return openfl_text_Font.__registeredFonts; }; openfl_text_Font.fromBytes = function(bytes) { var font = new openfl_text_Font(); font.__fromBytes(openfl_utils__$ByteArray_ByteArray_$Impl_$.toBytes(bytes)); return font; }; openfl_text_Font.fromFile = function(path) { var font = new openfl_text_Font(); font.__fromFile(path); return font; }; openfl_text_Font.loadFromBytes = function(bytes) { return lime_text_Font.loadFromBytes(openfl_utils__$ByteArray_ByteArray_$Impl_$.toBytes(bytes)).then(function(limeFont) { var font = new openfl_text_Font(); font.__fromLimeFont(limeFont); return lime_app_Future.withValue(font); }); }; openfl_text_Font.loadFromFile = function(path) { return lime_text_Font.loadFromFile(path).then(function(limeFont) { var font = new openfl_text_Font(); font.__fromLimeFont(limeFont); return lime_app_Future.withValue(font); }); }; openfl_text_Font.loadFromName = function(path) { return lime_text_Font.loadFromName(path).then(function(limeFont) { var font = new openfl_text_Font(); font.__fromLimeFont(limeFont); return lime_app_Future.withValue(font); }); }; openfl_text_Font.registerFont = function(font) { var instance = null; if(js_Boot.getClass(font) == null) { instance = js_Boot.__cast(Type.createInstance(font,[]) , openfl_text_Font); } else { instance = js_Boot.__cast(font , openfl_text_Font); } if(instance != null) { openfl_text_Font.__registeredFonts.push(instance); var k = instance.name; var _this = openfl_text_Font.__fontByName; if(__map_reserved[k] != null) { _this.setReserved(k,instance); } else { _this.h[k] = instance; } } }; openfl_text_Font.__super__ = lime_text_Font; openfl_text_Font.prototype = $extend(lime_text_Font.prototype,{ fontStyle: null ,fontType: null ,__initialized: null ,__fromLimeFont: function(font) { this.__copyFrom(font); } ,__initialize: function() { return this.__initialized; } ,get_fontName: function() { return this.name; } ,set_fontName: function(value) { return this.name = value; } ,__class__: openfl_text_Font ,__properties__: {set_fontName:"set_fontName",get_fontName:"get_fontName"} }); var _$_$ASSET_$_$OPENFL_$_$assets_$fonts_$pixel_$otf = $hx_exports["__ASSET__OPENFL__assets_fonts_pixel_otf"] = function() { this.__fromLimeFont(new _$_$ASSET_$_$assets_$fonts_$pixel_$otf()); openfl_text_Font.call(this); }; $hxClasses["__ASSET__OPENFL__assets_fonts_pixel_otf"] = _$_$ASSET_$_$OPENFL_$_$assets_$fonts_$pixel_$otf; _$_$ASSET_$_$OPENFL_$_$assets_$fonts_$pixel_$otf.__name__ = "__ASSET__OPENFL__assets_fonts_pixel_otf"; _$_$ASSET_$_$OPENFL_$_$assets_$fonts_$pixel_$otf.__super__ = openfl_text_Font; _$_$ASSET_$_$OPENFL_$_$assets_$fonts_$pixel_$otf.prototype = $extend(openfl_text_Font.prototype,{ __class__: _$_$ASSET_$_$OPENFL_$_$assets_$fonts_$pixel_$otf }); var _$_$ASSET_$_$OPENFL_$_$assets_$fonts_$vcr_$ttf = $hx_exports["__ASSET__OPENFL__assets_fonts_vcr_ttf"] = function() { this.__fromLimeFont(new _$_$ASSET_$_$assets_$fonts_$vcr_$ttf()); openfl_text_Font.call(this); }; $hxClasses["__ASSET__OPENFL__assets_fonts_vcr_ttf"] = _$_$ASSET_$_$OPENFL_$_$assets_$fonts_$vcr_$ttf; _$_$ASSET_$_$OPENFL_$_$assets_$fonts_$vcr_$ttf.__name__ = "__ASSET__OPENFL__assets_fonts_vcr_ttf"; _$_$ASSET_$_$OPENFL_$_$assets_$fonts_$vcr_$ttf.__super__ = openfl_text_Font; _$_$ASSET_$_$OPENFL_$_$assets_$fonts_$vcr_$ttf.prototype = $extend(openfl_text_Font.prototype,{ __class__: _$_$ASSET_$_$OPENFL_$_$assets_$fonts_$vcr_$ttf }); var _$_$ASSET_$_$OPENFL_$_$flixel_$fonts_$nokiafc22_$ttf = $hx_exports["__ASSET__OPENFL__flixel_fonts_nokiafc22_ttf"] = function() { this.__fromLimeFont(new _$_$ASSET_$_$flixel_$fonts_$nokiafc22_$ttf()); openfl_text_Font.call(this); }; $hxClasses["__ASSET__OPENFL__flixel_fonts_nokiafc22_ttf"] = _$_$ASSET_$_$OPENFL_$_$flixel_$fonts_$nokiafc22_$ttf; _$_$ASSET_$_$OPENFL_$_$flixel_$fonts_$nokiafc22_$ttf.__name__ = "__ASSET__OPENFL__flixel_fonts_nokiafc22_ttf"; _$_$ASSET_$_$OPENFL_$_$flixel_$fonts_$nokiafc22_$ttf.__super__ = openfl_text_Font; _$_$ASSET_$_$OPENFL_$_$flixel_$fonts_$nokiafc22_$ttf.prototype = $extend(openfl_text_Font.prototype,{ __class__: _$_$ASSET_$_$OPENFL_$_$flixel_$fonts_$nokiafc22_$ttf }); var _$_$ASSET_$_$OPENFL_$_$flixel_$fonts_$monsterrat_$ttf = $hx_exports["__ASSET__OPENFL__flixel_fonts_monsterrat_ttf"] = function() { this.__fromLimeFont(new _$_$ASSET_$_$flixel_$fonts_$monsterrat_$ttf()); openfl_text_Font.call(this); }; $hxClasses["__ASSET__OPENFL__flixel_fonts_monsterrat_ttf"] = _$_$ASSET_$_$OPENFL_$_$flixel_$fonts_$monsterrat_$ttf; _$_$ASSET_$_$OPENFL_$_$flixel_$fonts_$monsterrat_$ttf.__name__ = "__ASSET__OPENFL__flixel_fonts_monsterrat_ttf"; _$_$ASSET_$_$OPENFL_$_$flixel_$fonts_$monsterrat_$ttf.__super__ = openfl_text_Font; _$_$ASSET_$_$OPENFL_$_$flixel_$fonts_$monsterrat_$ttf.prototype = $extend(openfl_text_Font.prototype,{ __class__: _$_$ASSET_$_$OPENFL_$_$flixel_$fonts_$monsterrat_$ttf }); Math.__name__ = "Math"; var MenuCharacter = function(x,character) { if(character == null) { character = "bf"; } flixel_FlxSprite.call(this,x); this.character = character; var library = null; var tex = flixel_graphics_frames_FlxAtlasFrames.fromSparrow(Paths.getPath("images/" + "campaign_menu_UI_characters" + ".png","IMAGE",library),Paths.getPath("images/" + "campaign_menu_UI_characters" + ".xml","TEXT",library)); this.set_frames(tex); this.animation.addByPrefix("bf","BF idle dance white",24); this.animation.addByPrefix("bfConfirm","BF HEY!!",24,false); this.animation.addByPrefix("gf","GF Dancing Beat WHITE",24); this.animation.addByPrefix("dad","Dad idle dance BLACK LINE",24); this.animation.addByPrefix("spooky","spooky dance idle BLACK LINES",24); this.animation.addByPrefix("pico","Pico Idle Dance",24); this.animation.addByPrefix("mom","Mom Idle BLACK LINES",24); this.animation.addByPrefix("parents-christmas","Parent Christmas Idle",24); this.animation.addByPrefix("senpai","SENPAI idle Black Lines",24); this.animation.play(character); this.updateHitbox(); }; $hxClasses["MenuCharacter"] = MenuCharacter; MenuCharacter.__name__ = "MenuCharacter"; MenuCharacter.__super__ = flixel_FlxSprite; MenuCharacter.prototype = $extend(flixel_FlxSprite.prototype,{ character: null ,__class__: MenuCharacter }); var MenuItem = function(x,y,weekNum) { if(weekNum == null) { weekNum = 0; } this.fakeFramerate = Math.round(1 / flixel_FlxG.elapsed / 10); this.isFlashing = false; this.flashingInt = 0; this.targetY = 0; flixel_group_FlxTypedSpriteGroup.call(this,x,y); this.week = new flixel_FlxSprite().loadGraphic(Paths.getPath("images/" + ("storymenu/week" + weekNum) + ".png","IMAGE",null)); this.add(this.week); }; $hxClasses["MenuItem"] = MenuItem; MenuItem.__name__ = "MenuItem"; MenuItem.__super__ = flixel_group_FlxTypedSpriteGroup; MenuItem.prototype = $extend(flixel_group_FlxTypedSpriteGroup.prototype,{ targetY: null ,week: null ,flashingInt: null ,isFlashing: null ,startFlashing: function() { this.isFlashing = true; } ,fakeFramerate: null ,update: function(elapsed) { flixel_group_FlxTypedSpriteGroup.prototype.update.call(this,elapsed); var a = this.y; this.set_y(a + 0.17 * (this.targetY * 120 + 480 - a)); if(this.isFlashing) { this.flashingInt += 1; } if(this.flashingInt % this.fakeFramerate >= Math.floor(this.fakeFramerate / 2)) { this.week.set_color(-13369345); } else { this.week.set_color(-1); } } ,__class__: MenuItem }); var flixel_util__$FlxSignal_FlxTypedSignal_$Impl_$ = {}; $hxClasses["flixel.util._FlxSignal.FlxTypedSignal_Impl_"] = flixel_util__$FlxSignal_FlxTypedSignal_$Impl_$; flixel_util__$FlxSignal_FlxTypedSignal_$Impl_$.__name__ = "flixel.util._FlxSignal.FlxTypedSignal_Impl_"; flixel_util__$FlxSignal_FlxTypedSignal_$Impl_$.__properties__ = {get_dispatch:"get_dispatch"}; flixel_util__$FlxSignal_FlxTypedSignal_$Impl_$.add = function(this1,listener) { this1.add(listener); }; flixel_util__$FlxSignal_FlxTypedSignal_$Impl_$.addOnce = function(this1,listener) { this1.addOnce(listener); }; flixel_util__$FlxSignal_FlxTypedSignal_$Impl_$.remove = function(this1,listener) { this1.remove(listener); }; flixel_util__$FlxSignal_FlxTypedSignal_$Impl_$.has = function(this1,listener) { return this1.has(listener); }; flixel_util__$FlxSignal_FlxTypedSignal_$Impl_$.removeAll = function(this1) { this1.removeAll(); }; flixel_util__$FlxSignal_FlxTypedSignal_$Impl_$.get_dispatch = function(this1) { return this1.dispatch; }; flixel_util__$FlxSignal_FlxTypedSignal_$Impl_$.toSignal0 = function(signal) { return new flixel_util__$FlxSignal_FlxSignal0(); }; flixel_util__$FlxSignal_FlxTypedSignal_$Impl_$.toSignal1 = function(signal) { return new flixel_util__$FlxSignal_FlxSignal1(); }; flixel_util__$FlxSignal_FlxTypedSignal_$Impl_$.toSignal2 = function(signal) { return new flixel_util__$FlxSignal_FlxSignal2(); }; flixel_util__$FlxSignal_FlxTypedSignal_$Impl_$.toSignal3 = function(signal) { return new flixel_util__$FlxSignal_FlxSignal3(); }; flixel_util__$FlxSignal_FlxTypedSignal_$Impl_$.toSignal4 = function(signal) { return new flixel_util__$FlxSignal_FlxSignal4(); }; var NGio = function(api,encKey,sessionId) { haxe_Log.trace("connecting to newgrounds",{ fileName : "source/NGio.hx", lineNumber : 63, className : "NGio", methodName : "new"}); io_newgrounds_NG.createAndCheckSession(api,null,sessionId); io_newgrounds_NG.core.verbose = true; io_newgrounds_NG.core.initEncryption(encKey); haxe_Log.trace(io_newgrounds_NG.core.attemptingLogin,{ fileName : "source/NGio.hx", lineNumber : 71, className : "NGio", methodName : "new"}); if(io_newgrounds_NG.core.attemptingLogin) { haxe_Log.trace("attempting login",{ fileName : "source/NGio.hx", lineNumber : 78, className : "NGio", methodName : "new"}); io_newgrounds_NG.core.onLogin.add($bind(this,this.onNGLogin)); } else { io_newgrounds_NG.core.requestLogin($bind(this,this.onNGLogin)); } }; $hxClasses["NGio"] = NGio; NGio.__name__ = "NGio"; NGio.noLogin = function(api) { haxe_Log.trace("INIT NOLOGIN",{ fileName : "source/NGio.hx", lineNumber : 38, className : "NGio", methodName : "noLogin"}); var _this = lime_app_Application.current.meta; NGio.GAME_VER = "v" + (__map_reserved["version"] != null ? _this.getReserved("version") : _this.h["version"]); if(api.length != 0) { io_newgrounds_NG.create(api); new flixel_util_FlxTimer().start(2,function(tmr) { var call = io_newgrounds_NG.core.calls.app.getCurrentVersion(NGio.GAME_VER).addDataHandler(function(response) { NGio.GAME_VER = response.result.data.current_version; NGio.GAME_VER_NUMS = StringTools.trim(NGio.GAME_VER.split(" ")[0]); haxe_Log.trace("CURRENT NG VERSION: " + NGio.GAME_VER,{ fileName : "source/NGio.hx", lineNumber : 51, className : "NGio", methodName : "noLogin"}); haxe_Log.trace("CURRENT NG VERSION: " + NGio.GAME_VER_NUMS,{ fileName : "source/NGio.hx", lineNumber : 52, className : "NGio", methodName : "noLogin"}); NGio.gotOnlineVer = true; }); call.send(); }); } }; NGio.postScore = function(score,song) { if(score == null) { score = 0; } if(NGio.isLoggedIn) { var id = io_newgrounds_NG.core.scoreBoards.keys(); while(id.hasNext()) { var id1 = id.next(); var board = io_newgrounds_NG.core.scoreBoards.h[id1]; if(song == board._data.name) { board.postScore(score,"Uhh meow?"); } } } }; NGio.logEvent = function(event) { io_newgrounds_NG.core.calls.event.logEvent(event).send(); haxe_Log.trace("should have logged: " + event,{ fileName : "source/NGio.hx", lineNumber : 188, className : "NGio", methodName : "logEvent"}); }; NGio.unlockMedal = function(id) { if(NGio.isLoggedIn) { var medal = io_newgrounds_NG.core.medals.h[id]; if(!medal._data.unlocked) { medal.sendUnlock(); } } }; NGio.prototype = { onNGLogin: function() { haxe_Log.trace("logged in! user:" + io_newgrounds_NG.core.get_user().name,{ fileName : "source/NGio.hx", lineNumber : 92, className : "NGio", methodName : "onNGLogin"}); NGio.isLoggedIn = true; flixel_FlxG.save.data.sessionId = io_newgrounds_NG.core.sessionId; io_newgrounds_NG.core.requestMedals($bind(this,this.onNGMedalFetch)); io_newgrounds_NG.core.requestScoreBoards($bind(this,this.onNGBoardsFetch)); NGio.ngDataLoaded.dispatch(); } ,onNGMedalFetch: function() { } ,onNGBoardsFetch: function() { haxe_Log.trace("shoulda got score by NOW!",{ fileName : "source/NGio.hx", lineNumber : 143, className : "NGio", methodName : "onNGBoardsFetch"}); } ,onNGScoresFetch: function() { NGio.scoreboardsLoaded = true; NGio.ngScoresLoaded.dispatch(); } ,__class__: NGio }; var Note = function(strumTime,noteData,prevNote,sustainNote) { if(sustainNote == null) { sustainNote = false; } this.noteScore = 1; this.isSustainNote = false; this.sustainLength = 0; this.wasGoodHit = false; this.tooLate = false; this.canBeHit = false; this.noteData = 0; this.mustPress = false; this.strumTime = 0; flixel_FlxSprite.call(this); if(prevNote == null) { prevNote = this; } this.prevNote = prevNote; this.isSustainNote = sustainNote; var _g = this; _g.set_x(_g.x + 50); var _g1 = this; _g1.set_y(_g1.y - 2000); this.strumTime = strumTime; this.noteData = noteData; var daStage = PlayState.curStage; switch(daStage) { case "school":case "schoolEvil": this.loadGraphic(Paths.getPath("images/" + "weeb/pixelUI/arrows-pixels" + ".png","IMAGE",null),true,17,17); this.animation.add("greenScroll",[6]); this.animation.add("redScroll",[7]); this.animation.add("blueScroll",[5]); this.animation.add("purpleScroll",[4]); if(this.isSustainNote) { this.loadGraphic(Paths.getPath("images/" + "weeb/pixelUI/arrowEnds" + ".png","IMAGE",null),true,7,6); this.animation.add("purpleholdend",[4]); this.animation.add("greenholdend",[6]); this.animation.add("redholdend",[7]); this.animation.add("blueholdend",[5]); this.animation.add("purplehold",[0]); this.animation.add("greenhold",[2]); this.animation.add("redhold",[3]); this.animation.add("bluehold",[1]); } this.setGraphicSize(this.get_width() * PlayState.daPixelZoom | 0); this.updateHitbox(); break; default: var library = null; this.set_frames(flixel_graphics_frames_FlxAtlasFrames.fromSparrow(Paths.getPath("images/" + "NOTE_assets" + ".png","IMAGE",library),Paths.getPath("images/" + "NOTE_assets" + ".xml","TEXT",library))); this.animation.addByPrefix("greenScroll","green0"); this.animation.addByPrefix("redScroll","red0"); this.animation.addByPrefix("blueScroll","blue0"); this.animation.addByPrefix("purpleScroll","purple0"); this.animation.addByPrefix("purpleholdend","pruple end hold"); this.animation.addByPrefix("greenholdend","green hold end"); this.animation.addByPrefix("redholdend","red hold end"); this.animation.addByPrefix("blueholdend","blue hold end"); this.animation.addByPrefix("purplehold","purple hold piece"); this.animation.addByPrefix("greenhold","green hold piece"); this.animation.addByPrefix("redhold","red hold piece"); this.animation.addByPrefix("bluehold","blue hold piece"); this.setGraphicSize(this.get_width() * 0.7 | 0); this.updateHitbox(); this.set_antialiasing(true); } switch(noteData) { case 0: var _g2 = this; _g2.set_x(_g2.x + Note.swagWidth * 0); this.animation.play("purpleScroll"); break; case 1: var _g3 = this; _g3.set_x(_g3.x + Note.swagWidth); this.animation.play("blueScroll"); break; case 2: var _g4 = this; _g4.set_x(_g4.x + Note.swagWidth * 2); this.animation.play("greenScroll"); break; case 3: var _g5 = this; _g5.set_x(_g5.x + Note.swagWidth * 3); this.animation.play("redScroll"); break; } if(this.isSustainNote && prevNote != null) { this.set_alpha(0.6); var _g6 = this; _g6.set_x(_g6.x + this.get_width() / 2); switch(noteData) { case 0: this.animation.play("purpleholdend"); break; case 1: this.animation.play("blueholdend"); break; case 2: this.animation.play("greenholdend"); break; case 3: this.animation.play("redholdend"); break; } this.updateHitbox(); var _g7 = this; _g7.set_x(_g7.x - this.get_width() / 2); if(StringTools.startsWith(PlayState.curStage,"school")) { var _g8 = this; _g8.set_x(_g8.x + 30); } if(prevNote.isSustainNote) { switch(prevNote.noteData) { case 0: prevNote.animation.play("purplehold"); break; case 1: prevNote.animation.play("bluehold"); break; case 2: prevNote.animation.play("greenhold"); break; case 3: prevNote.animation.play("redhold"); break; } var _g11 = prevNote.scale; _g11.set_y(_g11.y * (Conductor.stepCrochet / 100 * 1.5 * PlayState.SONG.speed)); prevNote.updateHitbox(); } } }; $hxClasses["Note"] = Note; Note.__name__ = "Note"; Note.__super__ = flixel_FlxSprite; Note.prototype = $extend(flixel_FlxSprite.prototype,{ strumTime: null ,mustPress: null ,noteData: null ,canBeHit: null ,tooLate: null ,wasGoodHit: null ,prevNote: null ,sustainLength: null ,isSustainNote: null ,noteScore: null ,update: function(elapsed) { flixel_FlxSprite.prototype.update.call(this,elapsed); if(this.mustPress) { if(this.strumTime > Conductor.songPosition - Conductor.safeZoneOffset && this.strumTime < Conductor.songPosition + Conductor.safeZoneOffset * 0.5) { this.canBeHit = true; } else { this.canBeHit = false; } if(this.strumTime < Conductor.songPosition - Conductor.safeZoneOffset && !this.wasGoodHit) { this.tooLate = true; } } else { this.canBeHit = false; if(this.strumTime <= Conductor.songPosition) { this.wasGoodHit = true; } } if(this.tooLate) { if(this.alpha > 0.3) { this.set_alpha(0.3); } } } ,__class__: Note }); var Option = function() { this.display = this.updateDisplay(); }; $hxClasses["Option"] = Option; Option.__name__ = "Option"; Option.prototype = { display: null ,getDisplay: function() { return this.display; } ,press: function() { throw new js__$Boot_HaxeError("stub!"); } ,updateDisplay: function() { throw new js__$Boot_HaxeError("stub!"); } ,__class__: Option }; var DFJKOption = function(controls) { Option.call(this); this.controls = controls; }; $hxClasses["DFJKOption"] = DFJKOption; DFJKOption.__name__ = "DFJKOption"; DFJKOption.__super__ = Option; DFJKOption.prototype = $extend(Option.prototype,{ controls: null ,press: function() { flixel_FlxG.save.data.dfjk = !flixel_FlxG.save.data.dfjk; if(flixel_FlxG.save.data.dfjk) { this.controls.setKeyboardScheme(KeyboardScheme.Solo,true); } else { this.controls.setKeyboardScheme(KeyboardScheme.Duo(true),true); } this.display = this.updateDisplay(); return true; } ,updateDisplay: function() { if(flixel_FlxG.save.data.dfjk) { return "DFJK"; } else { return "WASD"; } } ,__class__: DFJKOption }); var NewInputOption = function() { Option.call(this); }; $hxClasses["NewInputOption"] = NewInputOption; NewInputOption.__name__ = "NewInputOption"; NewInputOption.__super__ = Option; NewInputOption.prototype = $extend(Option.prototype,{ press: function() { flixel_FlxG.save.data.newInput = !flixel_FlxG.save.data.newInput; this.display = this.updateDisplay(); return true; } ,updateDisplay: function() { if(flixel_FlxG.save.data.newInput) { return "New input"; } else { return "Old Input"; } } ,__class__: NewInputOption }); var DownscrollOption = function() { Option.call(this); }; $hxClasses["DownscrollOption"] = DownscrollOption; DownscrollOption.__name__ = "DownscrollOption"; DownscrollOption.__super__ = Option; DownscrollOption.prototype = $extend(Option.prototype,{ press: function() { flixel_FlxG.save.data.downscroll = !flixel_FlxG.save.data.downscroll; this.display = this.updateDisplay(); return true; } ,updateDisplay: function() { if(flixel_FlxG.save.data.downscroll) { return "Downscroll"; } else { return "Upscroll"; } } ,__class__: DownscrollOption }); var AccuracyOption = function() { Option.call(this); }; $hxClasses["AccuracyOption"] = AccuracyOption; AccuracyOption.__name__ = "AccuracyOption"; AccuracyOption.__super__ = Option; AccuracyOption.prototype = $extend(Option.prototype,{ press: function() { flixel_FlxG.save.data.accuracyDisplay = !flixel_FlxG.save.data.accuracyDisplay; this.display = this.updateDisplay(); return true; } ,updateDisplay: function() { return "Accuracy " + (!flixel_FlxG.save.data.accuracyDisplay ? "off" : "on"); } ,__class__: AccuracyOption }); var SongPositionOption = function() { Option.call(this); }; $hxClasses["SongPositionOption"] = SongPositionOption; SongPositionOption.__name__ = "SongPositionOption"; SongPositionOption.__super__ = Option; SongPositionOption.prototype = $extend(Option.prototype,{ press: function() { flixel_FlxG.save.data.songPosition = !flixel_FlxG.save.data.songPosition; this.display = this.updateDisplay(); return true; } ,updateDisplay: function() { return "Song Position " + (!flixel_FlxG.save.data.songPosition ? "off" : "on"); } ,__class__: SongPositionOption }); var EtternaModeOption = function() { Option.call(this); }; $hxClasses["EtternaModeOption"] = EtternaModeOption; EtternaModeOption.__name__ = "EtternaModeOption"; EtternaModeOption.__super__ = Option; EtternaModeOption.prototype = $extend(Option.prototype,{ press: function() { flixel_FlxG.save.data.etternaMode = !flixel_FlxG.save.data.etternaMode; this.display = this.updateDisplay(); return true; } ,updateDisplay: function() { return "Etterna Mode " + (!flixel_FlxG.save.data.etternaMode ? "off" : "on"); } ,__class__: EtternaModeOption }); var FPSOption = function() { Option.call(this); }; $hxClasses["FPSOption"] = FPSOption; FPSOption.__name__ = "FPSOption"; FPSOption.__super__ = Option; FPSOption.prototype = $extend(Option.prototype,{ press: function() { flixel_FlxG.save.data.fps = !flixel_FlxG.save.data.fps; (js_Boot.__cast(openfl_Lib.get_current().getChildAt(0) , Main)).toggleFPS(flixel_FlxG.save.data.fps); this.display = this.updateDisplay(); return true; } ,updateDisplay: function() { return "FPS Counter " + (!flixel_FlxG.save.data.fps ? "off" : "on"); } ,__class__: FPSOption }); var ReplayOption = function() { Option.call(this); }; $hxClasses["ReplayOption"] = ReplayOption; ReplayOption.__name__ = "ReplayOption"; ReplayOption.__super__ = Option; ReplayOption.prototype = $extend(Option.prototype,{ press: function() { haxe_Log.trace("switch",{ fileName : "source/Options.hx", lineNumber : 150, className : "ReplayOption", methodName : "press"}); var nextState = new LoadReplayState(); if(flixel_FlxG.game._state.switchTo(nextState)) { flixel_FlxG.game._requestedState = nextState; } return false; } ,updateDisplay: function() { return "Load replays"; } ,__class__: ReplayOption }); var OptionsMenu = function(TransIn,TransOut) { this.isSettingControl = false; this.options = [new DFJKOption(PlayerSettings.player1.controls),new NewInputOption(),new DownscrollOption(),new AccuracyOption(),new SongPositionOption(),new FPSOption(),new EtternaModeOption(),new ReplayOption()]; this.curSelected = 0; MusicBeatState.call(this,TransIn,TransOut); }; $hxClasses["OptionsMenu"] = OptionsMenu; OptionsMenu.__name__ = "OptionsMenu"; OptionsMenu.__super__ = MusicBeatState; OptionsMenu.prototype = $extend(MusicBeatState.prototype,{ selector: null ,curSelected: null ,options: null ,upP: null ,downP: null ,accepted: null ,scrollUp: null ,scrollDown: null ,scrollRight: null ,accept: null ,back: null ,grpControls: null ,versionShit: null ,create: function() { var menuBG = new flixel_FlxSprite().loadGraphic(Paths.getPath("images/" + "menuDesat" + ".png","IMAGE",null)); menuBG.set_color(-1412611); menuBG.setGraphicSize(menuBG.get_width() * 1.1 | 0); menuBG.updateHitbox(); menuBG.screenCenter(); menuBG.set_antialiasing(true); this.add(menuBG); this.grpControls = new flixel_group_FlxTypedGroup(); this.add(this.grpControls); var _g = 0; var _g1 = this.options.length; while(_g < _g1) { var i = _g++; var controlLabel = new Alphabet(0,70 * i + 30,this.options[i].getDisplay(),true,false); controlLabel.isMenuItem = true; controlLabel.targetY = i; this.grpControls.add(controlLabel); } this.versionShit = new flixel_text_FlxText(5,flixel_FlxG.height - 18,0,"Offset (Left, Right): " + Std.string(flixel_FlxG.save.data.offset),12); this.versionShit.scrollFactor.set(); this.versionShit.setFormat("VCR OSD Mono",16,-1,"left",flixel_text_FlxTextBorderStyle.OUTLINE,-16777216); this.add(this.versionShit); MusicBeatState.prototype.create.call(this); } ,update: function(elapsed) { MusicBeatState.prototype.update.call(this,elapsed); this.upP = PlayerSettings.player1.controls._upP.check(); this.downP = PlayerSettings.player1.controls._downP.check(); this.accepted = PlayerSettings.player1.controls._accept.check(); this.scrollUp = false; this.scrollDown = false; this.scrollRight = false; this.accept = false; this.back = false; var _g = 0; var _g1 = flixel_FlxG.swipes; while(_g < _g1.length) { var swipe = _g1[_g]; ++_g; var dx = swipe.startPosition.x - swipe.endPosition.x; var dy = swipe.startPosition.y - swipe.endPosition.y; if(Math.sqrt(dx * dx + dy * dy) >= 25) { if(swipe.startPosition.angleBetween(swipe.endPosition) >= -45 && swipe.startPosition.angleBetween(swipe.endPosition) <= 45) { this.scrollDown = true; } if(swipe.startPosition.angleBetween(swipe.endPosition) > -135 && swipe.startPosition.angleBetween(swipe.endPosition) < -45) { this.back = true; } if(swipe.startPosition.angleBetween(swipe.endPosition) > 45 && swipe.startPosition.angleBetween(swipe.endPosition) < 135) { this.scrollRight = true; } if(swipe.startPosition.angleBetween(swipe.endPosition) >= -180 && swipe.startPosition.angleBetween(swipe.endPosition) <= -135 || swipe.startPosition.angleBetween(swipe.endPosition) >= 135 && swipe.startPosition.angleBetween(swipe.endPosition) <= 180) { this.scrollUp = true; } } else { this.accept = true; } } if(PlayerSettings.player1.controls._back.check() || this.back) { var nextState = new MainMenuState(); if(flixel_FlxG.game._state.switchTo(nextState)) { flixel_FlxG.game._requestedState = nextState; } } if(PlayerSettings.player1.controls._upP.check() || this.scrollUp) { this.changeSelection(-1); } if(PlayerSettings.player1.controls._downP.check() || this.scrollDown) { this.changeSelection(1); } if(PlayerSettings.player1.controls._rightR.check() || this.scrollRight) { flixel_FlxG.save.data.offset++; this.versionShit.set_text("Offset (Left, Right): " + Std.string(flixel_FlxG.save.data.offset)); } if(PlayerSettings.player1.controls._leftR.check()) { flixel_FlxG.save.data.offset--; this.versionShit.set_text("Offset (Left, Right): " + Std.string(flixel_FlxG.save.data.offset)); } if(PlayerSettings.player1.controls._accept.check() || this.accept) { if(this.options[this.curSelected].press()) { this.grpControls.remove(this.grpControls.members[this.curSelected]); var ctrl = new Alphabet(0,70 * this.curSelected + 30,this.options[this.curSelected].getDisplay(),true,false); ctrl.isMenuItem = true; this.grpControls.add(ctrl); } } flixel_FlxG.save.flush(); } ,isSettingControl: null ,changeSelection: function(change) { if(change == null) { change = 0; } flixel_FlxG.sound.play(Paths.sound("scrollMenu"),0.4); this.curSelected += change; if(this.curSelected < 0) { this.curSelected = this.grpControls.length - 1; } if(this.curSelected >= this.grpControls.length) { this.curSelected = 0; } var bullShit = 0; var _g = 0; var _g1 = this.grpControls.members; while(_g < _g1.length) { var item = _g1[_g]; ++_g; item.targetY = bullShit - this.curSelected; ++bullShit; item.set_alpha(0.6); if(item.targetY == 0) { item.set_alpha(1); } } } ,__class__: OptionsMenu }); var Paths = function() { }; $hxClasses["Paths"] = Paths; Paths.__name__ = "Paths"; Paths.currentLevel = null; Paths.setCurrentLevel = function(name) { Paths.currentLevel = name.toLowerCase(); }; Paths.getPath = function(file,type,library) { if(library != null) { return Paths.getLibraryPath(file,library); } if(Paths.currentLevel != null) { var library1 = Paths.currentLevel; var levelPath = "" + library1 + ":assets/" + library1 + "/" + file; if(openfl_utils_Assets.exists(levelPath,type)) { return levelPath; } levelPath = "shared" + ":assets/" + "shared" + "/" + file; if(openfl_utils_Assets.exists(levelPath,type)) { return levelPath; } } return "assets/" + file; }; Paths.getLibraryPath = function(file,library) { if(library == null) { library = "preload"; } if(library == "preload" || library == "default") { return "assets/" + file; } else { return "" + library + ":assets/" + library + "/" + file; } }; Paths.getLibraryPathForce = function(file,library) { return "" + library + ":assets/" + library + "/" + file; }; Paths.getPreloadPath = function(file) { return "assets/" + file; }; Paths.file = function(file,type,library) { if(type == null) { type = "TEXT"; } return Paths.getPath(file,type,library); }; Paths.txt = function(key,library) { return Paths.getPath("data/" + key + ".txt","TEXT",library); }; Paths.xml = function(key,library) { return Paths.getPath("data/" + key + ".xml","TEXT",library); }; Paths.json = function(key,library) { return Paths.getPath("data/" + key + ".json","TEXT",library); }; Paths.sound = function(key,library) { return Paths.getPath("sounds/" + key + "." + "mp3","SOUND",library); }; Paths.soundRandom = function(key,min,max,library) { return Paths.sound(key + flixel_FlxG.random.int(min,max),library); }; Paths.music = function(key,library) { return Paths.getPath("music/" + key + "." + "mp3","MUSIC",library); }; Paths.voices = function(song) { return "songs:assets/songs/" + song.toLowerCase() + "/Voices." + "mp3"; }; Paths.inst = function(song) { return "songs:assets/songs/" + song.toLowerCase() + "/Inst." + "mp3"; }; Paths.image = function(key,library) { return Paths.getPath("images/" + key + ".png","IMAGE",library); }; Paths.font = function(key) { return "assets/fonts/" + key; }; Paths.getSparrowAtlas = function(key,library) { return flixel_graphics_frames_FlxAtlasFrames.fromSparrow(Paths.getPath("images/" + key + ".png","IMAGE",library),Paths.getPath("images/" + key + ".xml","TEXT",library)); }; Paths.getPackerAtlas = function(key,library) { return flixel_graphics_frames_FlxAtlasFrames.fromSpriteSheetPacker(Paths.getPath("images/" + key + ".png","IMAGE",library),Paths.getPath("images/" + key + ".txt","TEXT",library)); }; var PauseSubState = function(x,y) { this.curSelected = 0; this.menuItems = ["Resume","Restart Song","Exit to menu"]; MusicBeatSubstate.call(this); this.pauseMusic = new flixel_system_FlxSound().loadEmbedded(Paths.getPath("music/" + "breakfast" + "." + "mp3","MUSIC",null),true,true); this.pauseMusic.set_volume(0); this.pauseMusic.play(false,flixel_FlxG.random.int(0,this.pauseMusic._length / 2 | 0)); flixel_FlxG.sound.list.add(this.pauseMusic); var bg = new flixel_FlxSprite().makeGraphic(flixel_FlxG.width,flixel_FlxG.height,-16777216); bg.set_alpha(0); bg.scrollFactor.set(); this.add(bg); var levelInfo = new flixel_text_FlxText(20,15,0,"",32); var _g = levelInfo; _g.set_text(_g.text + PlayState.SONG.song); levelInfo.scrollFactor.set(); levelInfo.setFormat("assets/fonts/" + "vcr.ttf",32); levelInfo.updateHitbox(); this.add(levelInfo); var levelDifficulty = new flixel_text_FlxText(20,47,0,"",32); var _g1 = levelDifficulty; _g1.set_text(_g1.text + CoolUtil.difficultyString()); levelDifficulty.scrollFactor.set(); levelDifficulty.setFormat("assets/fonts/" + "vcr.ttf",32); levelDifficulty.updateHitbox(); this.add(levelDifficulty); levelDifficulty.set_alpha(0); levelInfo.set_alpha(0); levelInfo.set_x(flixel_FlxG.width - (levelInfo.get_width() + 20)); levelDifficulty.set_x(flixel_FlxG.width - (levelDifficulty.get_width() + 20)); flixel_tweens_FlxTween.tween(bg,{ alpha : 0.6},0.4,{ ease : flixel_tweens_FlxEase.quartInOut}); flixel_tweens_FlxTween.tween(levelInfo,{ alpha : 1, y : 20},0.4,{ ease : flixel_tweens_FlxEase.quartInOut, startDelay : 0.3}); flixel_tweens_FlxTween.tween(levelDifficulty,{ alpha : 1, y : levelDifficulty.y + 5},0.4,{ ease : flixel_tweens_FlxEase.quartInOut, startDelay : 0.5}); this.grpMenuShit = new flixel_group_FlxTypedGroup(); this.add(this.grpMenuShit); var _g2 = 0; var _g11 = this.menuItems.length; while(_g2 < _g11) { var i = _g2++; var songText = new Alphabet(0,70 * i + 30,this.menuItems[i],true,false); songText.isMenuItem = true; songText.targetY = i; this.grpMenuShit.add(songText); } this.changeSelection(); this.set_cameras([flixel_FlxG.cameras.list[flixel_FlxG.cameras.list.length - 1]]); }; $hxClasses["PauseSubState"] = PauseSubState; PauseSubState.__name__ = "PauseSubState"; PauseSubState.__super__ = MusicBeatSubstate; PauseSubState.prototype = $extend(MusicBeatSubstate.prototype,{ grpMenuShit: null ,menuItems: null ,curSelected: null ,upP: null ,downP: null ,accepted: null ,pauseMusic: null ,scrollUp: null ,scrollDown: null ,scrollRight: null ,accept: null ,back: null ,update: function(elapsed) { if(this.pauseMusic._volume < 0.5) { var _g = this.pauseMusic; _g.set_volume(_g._volume + 0.01 * elapsed); } MusicBeatSubstate.prototype.update.call(this,elapsed); this.upP = PlayerSettings.player1.controls._upP.check(); this.downP = PlayerSettings.player1.controls._downP.check(); this.accepted = PlayerSettings.player1.controls._accept.check(); this.scrollUp = false; this.scrollDown = false; this.scrollRight = false; this.accept = false; this.back = false; var _g1 = 0; var _g11 = flixel_FlxG.swipes; while(_g1 < _g11.length) { var swipe = _g11[_g1]; ++_g1; var dx = swipe.startPosition.x - swipe.endPosition.x; var dy = swipe.startPosition.y - swipe.endPosition.y; if(Math.sqrt(dx * dx + dy * dy) >= 25) { if(swipe.startPosition.angleBetween(swipe.endPosition) >= -45 && swipe.startPosition.angleBetween(swipe.endPosition) <= 45) { this.scrollDown = true; } if(swipe.startPosition.angleBetween(swipe.endPosition) > -135 && swipe.startPosition.angleBetween(swipe.endPosition) < -45) { this.back = true; } if(swipe.startPosition.angleBetween(swipe.endPosition) > 45 && swipe.startPosition.angleBetween(swipe.endPosition) < 135) { this.scrollRight = true; } if(swipe.startPosition.angleBetween(swipe.endPosition) >= -180 && swipe.startPosition.angleBetween(swipe.endPosition) <= -135 || swipe.startPosition.angleBetween(swipe.endPosition) >= 135 && swipe.startPosition.angleBetween(swipe.endPosition) <= 180) { this.scrollUp = true; } } else { this.accept = true; } } if(this.upP || this.scrollUp) { this.changeSelection(-1); } if(this.downP || this.scrollDown) { this.changeSelection(1); } if(this.accepted || this.accept) { var daSelected = this.menuItems[this.curSelected]; switch(daSelected) { case "Exit to menu": PlayState.loadRep = false; var nextState = new MainMenuState(); if(flixel_FlxG.game._state.switchTo(nextState)) { flixel_FlxG.game._requestedState = nextState; } break; case "Restart Song": var nextState1 = Type.createInstance(js_Boot.getClass(flixel_FlxG.game._state),[]); if(flixel_FlxG.game._state.switchTo(nextState1)) { flixel_FlxG.game._requestedState = nextState1; } break; case "Resume": this.close(); break; } } var _this = flixel_FlxG.keys.justPressed; var tmp = _this.keyManager.checkStatus(74,_this.status); } ,destroy: function() { this.pauseMusic.destroy(); MusicBeatSubstate.prototype.destroy.call(this); } ,changeSelection: function(change) { if(change == null) { change = 0; } this.curSelected += change; if(this.curSelected < 0) { this.curSelected = this.menuItems.length - 1; } if(this.curSelected >= this.menuItems.length) { this.curSelected = 0; } var bullShit = 0; var _g = 0; var _g1 = this.grpMenuShit.members; while(_g < _g1.length) { var item = _g1[_g]; ++_g; item.targetY = bullShit - this.curSelected; ++bullShit; item.set_alpha(0.6); if(item.targetY == 0) { item.set_alpha(1); } } } ,__class__: PauseSubState }); var PlayState = function(TransIn,TransOut) { this.curLight = 0; this.lightningOffset = 8; this.lightningStrikeBeat = 0; this.startedMoving = false; this.trainCooldown = 0; this.trainFinishing = false; this.trainCars = 8; this.trainFrameTiming = 0; this.trainMoving = false; this.fastCarCanDrive = true; this.leftHold = false; this.rightHold = false; this.downHold = false; this.upHold = false; this.endingSong = false; this.canPause = true; this.startedCountdown = false; this.paused = false; this.debugNum = 0; this.songTime = 0; this.lastReportedPlayheadPosition = 0; this.previousFrameTime = 0; this.perfectMode = false; this.inCutscene = false; this.defaultCamZoom = 1.05; this.resizeFactor = 2; this.songScore = 0; this.talking = true; this.wiggleShit = new WiggleEffect(); this.fc = true; this.isHalloween = false; this.dialogue = ["blah blah blah","coolswag"]; this.startingSong = false; this.generatedMusic = false; this.ss = false; this.totalPlayed = 0; this.totalNotesHit = 0; this.accuracy = 0.00; this.combo = 0; this.health = 1; this.gfSpeed = 1; this.curSong = ""; this.camZooming = false; this.curSection = 0; this.unspawnNotes = []; this.halloweenLevel = false; this.etternaModeScore = 0; this.songLength = 0; this.songPositionBar = 0; MusicBeatState.call(this,TransIn,TransOut); }; $hxClasses["PlayState"] = PlayState; PlayState.__name__ = "PlayState"; PlayState.SONG = null; PlayState.songPosBG = null; PlayState.songPosBar = null; PlayState.rep = null; PlayState.prevCamFollow = null; PlayState.__super__ = MusicBeatState; PlayState.prototype = $extend(MusicBeatState.prototype,{ songPositionBar: null ,songLength: null ,songName: null ,etternaModeScore: null ,halloweenLevel: null ,vocals: null ,dad: null ,gf: null ,boyfriend: null ,notes: null ,unspawnNotes: null ,strumLine: null ,curSection: null ,camFollow: null ,strumLineNotes: null ,playerStrums: null ,camZooming: null ,curSong: null ,gfSpeed: null ,health: null ,combo: null ,accuracy: null ,totalNotesHit: null ,totalPlayed: null ,ss: null ,healthBarBG: null ,healthBar: null ,generatedMusic: null ,startingSong: null ,iconP1: null ,iconP2: null ,camHUD: null ,camGame: null ,dialogue: null ,halloweenBG: null ,isHalloween: null ,phillyCityLights: null ,phillyTrain: null ,trainSound: null ,limo: null ,grpLimoDancers: null ,fastCar: null ,upperBoppers: null ,bottomBoppers: null ,santa: null ,fc: null ,bgGirls: null ,wiggleShit: null ,talking: null ,songScore: null ,scoreTxt: null ,replayTxt: null ,up: null ,right: null ,down: null ,left: null ,upP: null ,rightP: null ,downP: null ,leftP: null ,upR: null ,rightR: null ,downR: null ,leftR: null ,pauseKey: null ,noteWidth: null ,pauseBorderX: null ,pauseBorderY: null ,arrowStart: null ,leftDownBorder: null ,downUpBorder: null ,upRightBorder: null ,arrowEnd: null ,resizeFactor: null ,defaultCamZoom: null ,funneEffect: null ,inCutscene: null ,create: function() { var _gthis = this; if(flixel_FlxG.save.data.etternaMode) { Conductor.safeFrames = 5; } else { Conductor.safeFrames = 10; } PlayState.theFunne = flixel_FlxG.save.data.newInput; if(flixel_FlxG.sound.music != null) { var _this = flixel_FlxG.sound.music; _this.cleanup(_this.autoDestroy,true); } this.gfSpeed = 1; this.health = 1; this.combo = 0; PlayState.misses = 0; this.ss = false; PlayState.sicks = 0; PlayState.bads = 0; PlayState.shits = 0; PlayState.goods = 0; this.accuracy = 0.00; this.totalNotesHit = 0; this.totalPlayed = 0; PlayState.repPresses = 0; PlayState.repReleases = 0; this.camGame = new flixel_FlxCamera(); this.camHUD = new flixel_FlxCamera(); this.camHUD.bgColor &= 16777215; this.camHUD.bgColor |= 0; flixel_FlxG.cameras.reset(this.camGame); flixel_FlxG.cameras.add(this.camHUD); flixel_FlxCamera._defaultCameras = [this.camGame]; this.persistentUpdate = true; this.persistentDraw = true; if(PlayState.SONG == null) { PlayState.SONG = Song.loadFromJson("tutorial"); } Conductor.mapBPMChanges(PlayState.SONG); Conductor.changeBPM(PlayState.SONG.bpm); switch(PlayState.SONG.song.toLowerCase()) { case "bopeebo": this.dialogue = CoolUtil.coolTextFile(Paths.getPath("data/" + "bopeebo/bopeeboDialogue" + ".txt","TEXT",null)); break; case "dadbattle": this.dialogue = CoolUtil.coolTextFile(Paths.getPath("data/" + "dadbattle/dadbattleDialogue" + ".txt","TEXT",null)); break; case "fresh": this.dialogue = CoolUtil.coolTextFile(Paths.getPath("data/" + "fresh/freshDialogue" + ".txt","TEXT",null)); break; case "roses": this.dialogue = CoolUtil.coolTextFile(Paths.getPath("data/" + "roses/rosesDialogue" + ".txt","TEXT",null)); break; case "senpai": this.dialogue = CoolUtil.coolTextFile(Paths.getPath("data/" + "senpai/senpaiDialogue" + ".txt","TEXT",null)); break; case "thorns": this.dialogue = CoolUtil.coolTextFile(Paths.getPath("data/" + "thorns/thornsDialogue" + ".txt","TEXT",null)); break; case "tutorial": this.dialogue = CoolUtil.coolTextFile(Paths.getPath("data/" + "tutorial/tutorialDialogue" + ".txt","TEXT",null)); break; } if(PlayState.SONG.song.toLowerCase() == "spookeez" || PlayState.SONG.song.toLowerCase() == "monster" || PlayState.SONG.song.toLowerCase() == "south") { PlayState.curStage = "spooky"; this.halloweenLevel = true; var library = null; var hallowTex = flixel_graphics_frames_FlxAtlasFrames.fromSparrow(Paths.getPath("images/" + "halloween_bg" + ".png","IMAGE",library),Paths.getPath("images/" + "halloween_bg" + ".xml","TEXT",library)); this.halloweenBG = new flixel_FlxSprite(0,0); this.halloweenBG.set_frames(hallowTex); this.halloweenBG.animation.addByPrefix("idle","halloweem bg0"); this.halloweenBG.animation.addByPrefix("lightning","halloweem bg lightning strike",24,false); this.halloweenBG.animation.play("idle"); this.halloweenBG.set_antialiasing(true); this.halloweenBG.setGraphicSize(this.halloweenBG.get_width() * this.resizeFactor | 0); var _g1 = this.halloweenBG; _g1.set_x(_g1.x + this.resizeFactor * 140); var _g11 = this.halloweenBG; _g11.set_y(_g11.y + this.resizeFactor * 90); this.add(this.halloweenBG); this.isHalloween = true; } else if(PlayState.SONG.song.toLowerCase() == "pico" || PlayState.SONG.song.toLowerCase() == "blammed" || PlayState.SONG.song.toLowerCase() == "philly") { PlayState.curStage = "philly"; var bg = new flixel_FlxSprite(-100).loadGraphic(Paths.getPath("images/" + "philly/sky" + ".png","IMAGE",null)); bg.scrollFactor.set(0.1,0.1); this.add(bg); var city = new flixel_FlxSprite(-10).loadGraphic(Paths.getPath("images/" + "philly/city" + ".png","IMAGE",null)); city.scrollFactor.set(0.3,0.3); city.setGraphicSize(city.get_width() * 0.85 | 0); city.updateHitbox(); this.add(city); this.phillyCityLights = new flixel_group_FlxTypedGroup(); this.add(this.phillyCityLights); var light = new flixel_FlxSprite(city.x).loadGraphic(Paths.getPath("images/" + ("philly/win" + 0) + ".png","IMAGE",null)); light.scrollFactor.set(0.3,0.3); light.set_visible(false); light.setGraphicSize(light.get_width() * 0.85 | 0); light.updateHitbox(); light.set_antialiasing(true); this.phillyCityLights.add(light); var light1 = new flixel_FlxSprite(city.x).loadGraphic(Paths.getPath("images/" + ("philly/win" + 1) + ".png","IMAGE",null)); light1.scrollFactor.set(0.3,0.3); light1.set_visible(false); light1.setGraphicSize(light1.get_width() * 0.85 | 0); light1.updateHitbox(); light1.set_antialiasing(true); this.phillyCityLights.add(light1); var light2 = new flixel_FlxSprite(city.x).loadGraphic(Paths.getPath("images/" + ("philly/win" + 2) + ".png","IMAGE",null)); light2.scrollFactor.set(0.3,0.3); light2.set_visible(false); light2.setGraphicSize(light2.get_width() * 0.85 | 0); light2.updateHitbox(); light2.set_antialiasing(true); this.phillyCityLights.add(light2); var light3 = new flixel_FlxSprite(city.x).loadGraphic(Paths.getPath("images/" + ("philly/win" + 3) + ".png","IMAGE",null)); light3.scrollFactor.set(0.3,0.3); light3.set_visible(false); light3.setGraphicSize(light3.get_width() * 0.85 | 0); light3.updateHitbox(); light3.set_antialiasing(true); this.phillyCityLights.add(light3); var light4 = new flixel_FlxSprite(city.x).loadGraphic(Paths.getPath("images/" + ("philly/win" + 4) + ".png","IMAGE",null)); light4.scrollFactor.set(0.3,0.3); light4.set_visible(false); light4.setGraphicSize(light4.get_width() * 0.85 | 0); light4.updateHitbox(); light4.set_antialiasing(true); this.phillyCityLights.add(light4); var streetBehind = new flixel_FlxSprite(-40,50).loadGraphic(Paths.getPath("images/" + "philly/behindTrain" + ".png","IMAGE",null)); this.add(streetBehind); this.phillyTrain = new flixel_FlxSprite(2000,360).loadGraphic(Paths.getPath("images/" + "philly/train" + ".png","IMAGE",null)); this.add(this.phillyTrain); this.trainSound = new flixel_system_FlxSound().loadEmbedded(Paths.sound("train_passes")); flixel_FlxG.sound.list.add(this.trainSound); var street = new flixel_FlxSprite(-40,streetBehind.y).loadGraphic(Paths.getPath("images/" + "philly/street" + ".png","IMAGE",null)); this.add(street); } else if(PlayState.SONG.song.toLowerCase() == "milf" || PlayState.SONG.song.toLowerCase() == "satin-panties" || PlayState.SONG.song.toLowerCase() == "high") { PlayState.curStage = "limo"; this.defaultCamZoom = 0.90; var skyBG = new flixel_FlxSprite(-120,-50).loadGraphic(Paths.getPath("images/" + "limo/limoSunset" + ".png","IMAGE",null)); skyBG.scrollFactor.set(0.1,0.1); this.add(skyBG); var bgLimo = new flixel_FlxSprite(-200,480); var library1 = null; bgLimo.set_frames(flixel_graphics_frames_FlxAtlasFrames.fromSparrow(Paths.getPath("images/" + "limo/bgLimo" + ".png","IMAGE",library1),Paths.getPath("images/" + "limo/bgLimo" + ".xml","TEXT",library1))); bgLimo.animation.addByPrefix("drive","background limo pink",24); bgLimo.animation.play("drive"); bgLimo.scrollFactor.set(0.4,0.4); this.add(bgLimo); this.grpLimoDancers = new flixel_group_FlxTypedGroup(); this.add(this.grpLimoDancers); var dancer = new BackgroundDancer(130,bgLimo.y - 400); dancer.scrollFactor.set(0.4,0.4); this.grpLimoDancers.add(dancer); var dancer1 = new BackgroundDancer(500,bgLimo.y - 400); dancer1.scrollFactor.set(0.4,0.4); this.grpLimoDancers.add(dancer1); var dancer2 = new BackgroundDancer(870,bgLimo.y - 400); dancer2.scrollFactor.set(0.4,0.4); this.grpLimoDancers.add(dancer2); var dancer3 = new BackgroundDancer(1240,bgLimo.y - 400); dancer3.scrollFactor.set(0.4,0.4); this.grpLimoDancers.add(dancer3); var dancer4 = new BackgroundDancer(1610,bgLimo.y - 400); dancer4.scrollFactor.set(0.4,0.4); this.grpLimoDancers.add(dancer4); var overlayShit = new flixel_FlxSprite(-500,-600).loadGraphic(Paths.getPath("images/" + "limo/limoOverlay" + ".png","IMAGE",null)); overlayShit.set_alpha(0.5); var library2 = null; var limoTex = flixel_graphics_frames_FlxAtlasFrames.fromSparrow(Paths.getPath("images/" + "limo/limoDrive" + ".png","IMAGE",library2),Paths.getPath("images/" + "limo/limoDrive" + ".xml","TEXT",library2)); this.limo = new flixel_FlxSprite(-120,550); this.limo.set_frames(limoTex); this.limo.animation.addByPrefix("drive","Limo stage",24); this.limo.animation.play("drive"); this.limo.set_antialiasing(true); this.fastCar = new flixel_FlxSprite(-300,160).loadGraphic(Paths.getPath("images/" + "limo/fastCarLol" + ".png","IMAGE",null)); } else if(PlayState.SONG.song.toLowerCase() == "cocoa" || PlayState.SONG.song.toLowerCase() == "eggnog") { PlayState.curStage = "mall"; this.defaultCamZoom = 0.80; var bg1 = new flixel_FlxSprite(-1000,-500).loadGraphic(Paths.getPath("images/" + "christmas/bgWalls" + ".png","IMAGE",null)); bg1.set_antialiasing(true); bg1.scrollFactor.set(0.2,0.2); bg1.set_active(false); bg1.setGraphicSize(bg1.get_width() * 0.8 | 0); bg1.updateHitbox(); this.add(bg1); this.upperBoppers = new flixel_FlxSprite(-240,-90); var library3 = null; this.upperBoppers.set_frames(flixel_graphics_frames_FlxAtlasFrames.fromSparrow(Paths.getPath("images/" + "christmas/upperBop" + ".png","IMAGE",library3),Paths.getPath("images/" + "christmas/upperBop" + ".xml","TEXT",library3))); this.upperBoppers.animation.addByPrefix("bop","Upper Crowd Bob",24,false); this.upperBoppers.set_antialiasing(true); this.upperBoppers.scrollFactor.set(0.33,0.33); this.upperBoppers.setGraphicSize(this.upperBoppers.get_width() * 0.85 | 0); this.upperBoppers.updateHitbox(); this.add(this.upperBoppers); var bgEscalator = new flixel_FlxSprite(-1100,-600).loadGraphic(Paths.getPath("images/" + "christmas/bgEscalator" + ".png","IMAGE",null)); bgEscalator.set_antialiasing(true); bgEscalator.scrollFactor.set(0.3,0.3); bgEscalator.set_active(false); bgEscalator.setGraphicSize(bgEscalator.get_width() * 0.9 | 0); bgEscalator.updateHitbox(); this.add(bgEscalator); var tree = new flixel_FlxSprite(370,-250).loadGraphic(Paths.getPath("images/" + "christmas/christmasTree" + ".png","IMAGE",null)); tree.set_antialiasing(true); tree.scrollFactor.set(0.40,0.40); this.add(tree); this.bottomBoppers = new flixel_FlxSprite(-300,140); var library4 = null; this.bottomBoppers.set_frames(flixel_graphics_frames_FlxAtlasFrames.fromSparrow(Paths.getPath("images/" + "christmas/bottomBop" + ".png","IMAGE",library4),Paths.getPath("images/" + "christmas/bottomBop" + ".xml","TEXT",library4))); this.bottomBoppers.animation.addByPrefix("bop","Bottom Level Boppers",24,false); this.bottomBoppers.set_antialiasing(true); this.bottomBoppers.scrollFactor.set(0.9,0.9); this.bottomBoppers.setGraphicSize(this.bottomBoppers.get_width() | 0); this.bottomBoppers.updateHitbox(); this.add(this.bottomBoppers); var fgSnow = new flixel_FlxSprite(-600,700).loadGraphic(Paths.getPath("images/" + "christmas/fgSnow" + ".png","IMAGE",null)); fgSnow.set_active(false); fgSnow.set_antialiasing(true); this.add(fgSnow); this.santa = new flixel_FlxSprite(-840,150); var library5 = null; this.santa.set_frames(flixel_graphics_frames_FlxAtlasFrames.fromSparrow(Paths.getPath("images/" + "christmas/santa" + ".png","IMAGE",library5),Paths.getPath("images/" + "christmas/santa" + ".xml","TEXT",library5))); this.santa.animation.addByPrefix("idle","santa idle in fear",24,false); this.santa.set_antialiasing(true); this.add(this.santa); } else if(PlayState.SONG.song.toLowerCase() == "winter-horrorland") { PlayState.curStage = "mallEvil"; var bg2 = new flixel_FlxSprite(-400,-500).loadGraphic(Paths.getPath("images/" + "christmas/evilBG" + ".png","IMAGE",null)); bg2.set_antialiasing(true); bg2.scrollFactor.set(0.2,0.2); bg2.set_active(false); bg2.setGraphicSize(bg2.get_width() * 0.8 | 0); bg2.updateHitbox(); this.add(bg2); var evilTree = new flixel_FlxSprite(300,-300).loadGraphic(Paths.getPath("images/" + "christmas/evilTree" + ".png","IMAGE",null)); evilTree.set_antialiasing(true); evilTree.scrollFactor.set(0.2,0.2); this.add(evilTree); var evilSnow = new flixel_FlxSprite(-200,700).loadGraphic(Paths.getPath("images/" + "christmas/evilSnow" + ".png","IMAGE",null)); evilSnow.set_antialiasing(true); this.add(evilSnow); } else if(PlayState.SONG.song.toLowerCase() == "senpai" || PlayState.SONG.song.toLowerCase() == "roses") { PlayState.curStage = "school"; var bgSky = new flixel_FlxSprite().loadGraphic(Paths.getPath("images/" + "weeb/weebSky" + ".png","IMAGE",null)); bgSky.scrollFactor.set(0.1,0.1); this.add(bgSky); var repositionShit = -200; var bgSchool = new flixel_FlxSprite(repositionShit,0).loadGraphic(Paths.getPath("images/" + "weeb/weebSchool" + ".png","IMAGE",null)); bgSchool.scrollFactor.set(0.6,0.90); this.add(bgSchool); var bgStreet = new flixel_FlxSprite(repositionShit).loadGraphic(Paths.getPath("images/" + "weeb/weebStreet" + ".png","IMAGE",null)); bgStreet.scrollFactor.set(0.95,0.95); this.add(bgStreet); var fgTrees = new flixel_FlxSprite(repositionShit + 170,130).loadGraphic(Paths.getPath("images/" + "weeb/weebTreesBack" + ".png","IMAGE",null)); fgTrees.scrollFactor.set(0.9,0.9); this.add(fgTrees); var bgTrees = new flixel_FlxSprite(repositionShit - 380,-800); var library6 = null; var treetex = flixel_graphics_frames_FlxAtlasFrames.fromSpriteSheetPacker(Paths.getPath("images/" + "weeb/weebTrees" + ".png","IMAGE",library6),Paths.getPath("images/" + "weeb/weebTrees" + ".txt","TEXT",library6)); bgTrees.set_frames(treetex); bgTrees.animation.add("treeLoop",[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18],12); bgTrees.animation.play("treeLoop"); bgTrees.scrollFactor.set(0.85,0.85); this.add(bgTrees); var treeLeaves = new flixel_FlxSprite(repositionShit,-40); var library7 = null; treeLeaves.set_frames(flixel_graphics_frames_FlxAtlasFrames.fromSparrow(Paths.getPath("images/" + "weeb/petals" + ".png","IMAGE",library7),Paths.getPath("images/" + "weeb/petals" + ".xml","TEXT",library7))); treeLeaves.animation.addByPrefix("leaves","PETALS ALL",24,true); treeLeaves.animation.play("leaves"); treeLeaves.scrollFactor.set(0.85,0.85); this.add(treeLeaves); var widShit = bgSky.get_width() * 6 | 0; bgSky.setGraphicSize(widShit); bgSchool.setGraphicSize(widShit); bgStreet.setGraphicSize(widShit); bgTrees.setGraphicSize(widShit * 1.4 | 0); fgTrees.setGraphicSize(widShit * 0.8 | 0); treeLeaves.setGraphicSize(widShit); fgTrees.updateHitbox(); bgSky.updateHitbox(); bgSchool.updateHitbox(); bgStreet.updateHitbox(); bgTrees.updateHitbox(); treeLeaves.updateHitbox(); this.bgGirls = new BackgroundGirls(-100,190); this.bgGirls.scrollFactor.set(0.9,0.9); if(PlayState.SONG.song.toLowerCase() == "roses") { this.bgGirls.getScared(); } this.bgGirls.setGraphicSize(this.bgGirls.get_width() * PlayState.daPixelZoom | 0); this.bgGirls.updateHitbox(); this.add(this.bgGirls); } else if(PlayState.SONG.song.toLowerCase() == "thorns") { PlayState.curStage = "schoolEvil"; var waveEffectBG = new flixel_addons_effects_chainable_FlxWaveEffect(flixel_addons_effects_chainable_FlxWaveMode.ALL,2,-1,3,2); var waveEffectFG = new flixel_addons_effects_chainable_FlxWaveEffect(flixel_addons_effects_chainable_FlxWaveMode.ALL,2,-1,5,2); var posX = 400; var posY = 200; var bg3 = new flixel_FlxSprite(posX,posY); var library8 = null; bg3.set_frames(flixel_graphics_frames_FlxAtlasFrames.fromSparrow(Paths.getPath("images/" + "weeb/animatedEvilSchool" + ".png","IMAGE",library8),Paths.getPath("images/" + "weeb/animatedEvilSchool" + ".xml","TEXT",library8))); bg3.animation.addByPrefix("idle","background 2",24); bg3.animation.play("idle"); bg3.scrollFactor.set(0.8,0.9); bg3.scale.set(6,6); this.add(bg3); } else { this.defaultCamZoom = 0.9; PlayState.curStage = "stage"; var bg4 = new flixel_FlxSprite(-600,-200).loadGraphic(Paths.getPath("images/" + "stageback" + ".png","IMAGE",null)); bg4.set_antialiasing(true); bg4.scrollFactor.set(0.9,0.9); bg4.set_active(false); this.add(bg4); var stageFront = new flixel_FlxSprite(-650,600).loadGraphic(Paths.getPath("images/" + "stagefront" + ".png","IMAGE",null)); stageFront.setGraphicSize(stageFront.get_width() * 1.1 | 0); stageFront.updateHitbox(); stageFront.set_antialiasing(true); stageFront.scrollFactor.set(0.9,0.9); stageFront.set_active(false); this.add(stageFront); var stageCurtains = new flixel_FlxSprite(-500,-300).loadGraphic(Paths.getPath("images/" + "stagecurtains" + ".png","IMAGE",null)); stageCurtains.setGraphicSize(stageCurtains.get_width() * 0.9 | 0); stageCurtains.updateHitbox(); stageCurtains.set_antialiasing(true); stageCurtains.scrollFactor.set(1.3,1.3); stageCurtains.set_active(false); this.add(stageCurtains); } var gfVersion = "gf"; switch(PlayState.curStage) { case "limo": gfVersion = "gf-car"; break; case "mall":case "mallEvil": gfVersion = "gf-christmas"; break; case "school": gfVersion = "gf-pixel"; break; case "schoolEvil": gfVersion = "gf-pixel"; break; } if(PlayState.curStage == "limo") { gfVersion = "gf-car"; } this.gf = new Character(0,0,gfVersion); this.gf.scrollFactor.set(0.95,0.95); this.gf.setGraphicSize(this.gf.get_width() * this.resizeFactor * 0.9 | 0); var _g2 = this.gf; _g2.set_x(_g2.x + this.resizeFactor * 270); var _g21 = this.gf; _g21.set_y(_g21.y + this.resizeFactor * 155); this.boyfriend = new Boyfriend(0,0,PlayState.SONG.player1); this.boyfriend.setGraphicSize(this.boyfriend.get_width() * this.resizeFactor * 0.9 | 0); var _g22 = this.boyfriend; _g22.set_x(_g22.x + this.resizeFactor * 410); var _g23 = this.boyfriend; _g23.set_y(_g23.y + this.resizeFactor * 280); this.dad = new Character(0,0,PlayState.SONG.player2); var camPos = new flixel_math_FlxPoint(this.dad.getGraphicMidpoint().x,this.dad.getGraphicMidpoint().y); switch(PlayState.SONG.player2) { case "dad": var _g24 = camPos; _g24.set_x(_g24.x + 400); var _g25 = this.dad; _g25.set_x(_g25.x + this.resizeFactor * 50); var _g26 = this.dad; _g26.set_y(_g26.y + this.resizeFactor * 50); break; case "gf": this.dad.setGraphicSize(this.gf.get_width() * this.resizeFactor * 0.9 | 0); var _g27 = this.dad; _g27.set_x(_g27.x + this.resizeFactor * 270); var _g28 = this.dad; _g28.set_y(_g28.y + this.resizeFactor * 155); this.gf.set_visible(false); var _g29 = camPos; _g29.set_x(_g29.x + 600); this.tweenCamIn(); break; case "mom-car": this.dad.setGraphicSize(this.dad.get_width() * this.resizeFactor | 0); var _g210 = this.dad; _g210.set_x(_g210.x + this.resizeFactor * 125); var _g211 = this.dad; _g211.set_y(_g211.y + this.resizeFactor * 125); break; case "monster": var _g212 = this.dad; _g212.set_x(_g212.x + this.resizeFactor * 50); var _g213 = this.dad; _g213.set_y(_g213.y + this.resizeFactor * 100); break; case "monster-christmas": this.dad.setGraphicSize(this.dad.get_width() * this.resizeFactor * 1.2 | 0); var _g214 = this.dad; _g214.set_x(_g214.x + this.resizeFactor * 125); var _g215 = this.dad; _g215.set_y(_g215.y + this.resizeFactor * 185); break; case "parents-christmas": this.dad.setGraphicSize(this.dad.get_width() * this.resizeFactor | 0); var _g216 = this.dad; _g216.set_x(_g216.x - this.resizeFactor * 50); var _g217 = this.dad; _g217.set_y(_g217.y + this.resizeFactor * 120); break; case "pico": var _g218 = camPos; _g218.set_x(_g218.x + 600); var _g219 = this.dad; _g219.set_x(_g219.x + this.resizeFactor * 50); var _g220 = this.dad; _g220.set_y(_g220.y + this.resizeFactor * 200); break; case "senpai": var _g221 = this.dad; _g221.set_x(_g221.x + this.resizeFactor * 150); var _g222 = this.dad; _g222.set_y(_g222.y + this.resizeFactor * 225); camPos.set(this.dad.getGraphicMidpoint().x + 300,this.dad.getGraphicMidpoint().y); break; case "senpai-angry": var _g223 = this.dad; _g223.set_x(_g223.x + this.resizeFactor * 150); var _g224 = this.dad; _g224.set_y(_g224.y + this.resizeFactor * 225); camPos.set(this.dad.getGraphicMidpoint().x + 300,this.dad.getGraphicMidpoint().y); break; case "spirit": var _g225 = this.dad; _g225.set_x(_g225.x - this.resizeFactor * 25); var _g226 = this.dad; _g226.set_y(_g226.y + this.resizeFactor * 50); camPos.set(this.dad.getGraphicMidpoint().x + 300,this.dad.getGraphicMidpoint().y); break; case "spooky": var _g227 = this.dad; _g227.set_x(_g227.x + this.resizeFactor * 50); var _g228 = this.dad; _g228.set_y(_g228.y + this.resizeFactor * 150); break; } switch(PlayState.curStage) { case "limo": var _g3 = camPos; _g3.set_x(_g3.x + 100); this.gf.setGraphicSize(this.gf.get_width() | 0); var _g31 = this.gf; _g31.set_x(_g31.x - this.resizeFactor * 75); var _g32 = this.gf; _g32.set_y(_g32.y - this.resizeFactor * 100); this.boyfriend.setGraphicSize(this.boyfriend.get_width() | 0); var _g33 = this.boyfriend; _g33.set_x(_g33.x + this.resizeFactor * 110); var _g34 = this.boyfriend; _g34.set_y(_g34.y - this.resizeFactor * 180); this.resetFastCar(); this.add(this.fastCar); break; case "mall": var _g35 = this.gf; _g35.set_x(_g35.x + this.resizeFactor * 40); var _g36 = this.gf; _g36.set_y(_g36.y + this.resizeFactor * 25); this.boyfriend.setGraphicSize(this.boyfriend.get_width() | 0); var _g37 = this.boyfriend; _g37.set_x(_g37.x + this.resizeFactor * 80); var _g38 = this.boyfriend; _g38.set_y(_g38.y - this.resizeFactor * 45); break; case "mallEvil": this.boyfriend.setGraphicSize(this.boyfriend.get_width() | 0); var _g39 = this.boyfriend; _g39.set_x(_g39.x + this.resizeFactor * 125); var _g310 = this.boyfriend; _g310.set_y(_g310.y - this.resizeFactor * 50); break; case "school": this.boyfriend.setGraphicSize(this.boyfriend.get_width() * 1.2 | 0); this.gf.setGraphicSize(this.gf.get_width() | 0); var _g311 = this.boyfriend; _g311.set_x(_g311.x + this.resizeFactor * 75); var _g312 = this.boyfriend; _g312.set_y(_g312.y + this.resizeFactor * 50); var _g313 = this.gf; _g313.set_x(_g313.x + this.resizeFactor * 50); var _g314 = this.gf; _g314.set_y(_g314.y + this.resizeFactor * 50); break; case "schoolEvil": var evilTrail = new flixel_addons_effects_FlxTrail(this.dad,null,4,24,0.3,0.069); this.add(evilTrail); this.boyfriend.setGraphicSize(this.boyfriend.get_width() * 1.2 | 0); this.gf.setGraphicSize(this.gf.get_width() | 0); var _g315 = this.boyfriend; _g315.set_x(_g315.x + this.resizeFactor * 50); var _g316 = this.boyfriend; _g316.set_y(_g316.y + this.resizeFactor * 50); var _g317 = this.gf; _g317.set_x(_g317.x + this.resizeFactor * 25); var _g318 = this.gf; _g318.set_y(_g318.y + this.resizeFactor * 50); break; } this.add(this.gf); if(PlayState.curStage == "limo") { this.add(this.limo); } this.add(this.dad); this.add(this.boyfriend); var doof = new DialogueBox(false,this.dialogue); doof.scrollFactor.set(); doof.finishThing = $bind(this,this.startCountdown); Conductor.songPosition = -5000; this.strumLine = new flixel_FlxSprite(0,50).makeGraphic(flixel_FlxG.width,10); this.strumLine.scrollFactor.set(); if(flixel_FlxG.save.data.downscroll) { this.strumLine.set_y(flixel_FlxG.height - 165); } this.strumLineNotes = new flixel_group_FlxTypedGroup(); this.add(this.strumLineNotes); this.playerStrums = new flixel_group_FlxTypedGroup(); this.generateSong(PlayState.SONG.song); this.camFollow = new flixel_FlxObject(0,0,1,1); this.camFollow.setPosition(camPos.x,camPos.y); if(PlayState.prevCamFollow != null) { this.camFollow = PlayState.prevCamFollow; PlayState.prevCamFollow = null; } this.add(this.camFollow); flixel_FlxG.camera.follow(this.camFollow,flixel_FlxCameraFollowStyle.LOCKON,0.01); flixel_FlxG.camera.set_zoom(this.defaultCamZoom); var _this1 = flixel_FlxG.camera; var point = this.camFollow.getPosition(); _this1.scroll.set(point.x - _this1.width * 0.5,point.y - _this1.height * 0.5); if(point._weak) { point.put(); } var _this2 = flixel_FlxG.worldBounds; var X = 0; var Y = 0; var Width = flixel_FlxG.width; var Height = flixel_FlxG.height; if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } _this2.x = X; _this2.y = Y; _this2.width = Width; _this2.height = Height; flixel_FlxG.fixedTimestep = false; if(flixel_FlxG.save.data.songPosition) { PlayState.songPosBG = new flixel_FlxSprite(0,10).loadGraphic(Paths.getPath("images/" + "healthBar" + ".png","IMAGE",null)); if(flixel_FlxG.save.data.downscroll) { PlayState.songPosBG.set_y(flixel_FlxG.height * 0.9 + 45); } PlayState.songPosBG.screenCenter(flixel_util_FlxAxes.X); PlayState.songPosBG.scrollFactor.set(); this.add(PlayState.songPosBG); PlayState.songPosBar = new flixel_ui_FlxBar(PlayState.songPosBG.x + 4,PlayState.songPosBG.y + 4,flixel_ui_FlxBarFillDirection.LEFT_TO_RIGHT,PlayState.songPosBG.get_width() - 8 | 0,PlayState.songPosBG.get_height() - 8 | 0,this,"songPositionBar",0,90000); PlayState.songPosBar.scrollFactor.set(); PlayState.songPosBar.createFilledBar(-8355712,-16711936); this.add(PlayState.songPosBar); var songName = new flixel_text_FlxText(PlayState.songPosBG.x + PlayState.songPosBG.get_width() / 2 - 20,PlayState.songPosBG.y,0,PlayState.SONG.song,16); if(flixel_FlxG.save.data.downscroll) { var _g4 = songName; _g4.set_y(_g4.y - 3); } songName.setFormat("assets/fonts/" + "vcr.ttf",16,-1,"right",flixel_text_FlxTextBorderStyle.OUTLINE,-16777216); songName.scrollFactor.set(); this.add(songName); songName.set_cameras([this.camHUD]); } this.healthBarBG = new flixel_FlxSprite(0,flixel_FlxG.height * 0.9).loadGraphic(Paths.getPath("images/" + "healthBar" + ".png","IMAGE",null)); if(flixel_FlxG.save.data.downscroll) { this.healthBarBG.set_y(50); } this.healthBarBG.screenCenter(flixel_util_FlxAxes.X); this.healthBarBG.scrollFactor.set(); this.add(this.healthBarBG); this.healthBar = new flixel_ui_FlxBar(this.healthBarBG.x + 4,this.healthBarBG.y + 4,flixel_ui_FlxBarFillDirection.RIGHT_TO_LEFT,this.healthBarBG.get_width() - 8 | 0,this.healthBarBG.get_height() - 8 | 0,this,"health",0,2); this.healthBar.scrollFactor.set(); this.healthBar.createFilledBar(-65536,-10027213); this.add(this.healthBar); var kadeEngineWatermark = new flixel_text_FlxText(4,flixel_FlxG.height - 4,0,PlayState.SONG.song + " " + (PlayState.storyDifficulty == 2 ? "Hard" : PlayState.storyDifficulty == 1 ? "Normal" : "Easy") + " - KE " + MainMenuState.kadeEngineVer,16); kadeEngineWatermark.setFormat("assets/fonts/" + "vcr.ttf",16,-1,"right",flixel_text_FlxTextBorderStyle.OUTLINE,-16777216); kadeEngineWatermark.scrollFactor.set(); this.add(kadeEngineWatermark); this.scoreTxt = new flixel_text_FlxText(flixel_FlxG.width / 2 - 235,this.healthBarBG.y + 50,0,"",20); if(!flixel_FlxG.save.data.accuracyDisplay) { this.scoreTxt = new flixel_text_FlxText(this.healthBarBG.x + this.healthBarBG.get_width() / 2 - 150,this.healthBarBG.y + 50,0,"",20); } this.scoreTxt.setFormat("assets/fonts/" + "vcr.ttf",16,-1,"right",flixel_text_FlxTextBorderStyle.OUTLINE,-16777216); this.scoreTxt.scrollFactor.set(); this.add(this.scoreTxt); this.replayTxt = new flixel_text_FlxText(this.healthBarBG.x + this.healthBarBG.get_width() / 2 - 75,this.healthBarBG.y + (flixel_FlxG.save.data.downscroll ? 100 : -100),0,"REPLAY",20); this.replayTxt.setFormat("assets/fonts/" + "vcr.ttf",42,-1,"right",flixel_text_FlxTextBorderStyle.OUTLINE,-16777216); this.replayTxt.scrollFactor.set(); if(PlayState.loadRep) { this.add(this.replayTxt); } this.iconP1 = new HealthIcon(PlayState.SONG.player1,true); this.iconP1.set_y(this.healthBar.y - this.iconP1.get_height() / 2); this.add(this.iconP1); this.iconP2 = new HealthIcon(PlayState.SONG.player2,false); this.iconP2.set_y(this.healthBar.y - this.iconP2.get_height() / 2); this.add(this.iconP2); this.strumLineNotes.set_cameras([this.camHUD]); this.notes.set_cameras([this.camHUD]); this.healthBar.set_cameras([this.camHUD]); this.healthBarBG.set_cameras([this.camHUD]); this.iconP1.set_cameras([this.camHUD]); this.iconP2.set_cameras([this.camHUD]); this.scoreTxt.set_cameras([this.camHUD]); doof.set_cameras([this.camHUD]); if(flixel_FlxG.save.data.songPosition) { PlayState.songPosBG.set_cameras([this.camHUD]); PlayState.songPosBar.set_cameras([this.camHUD]); } kadeEngineWatermark.set_cameras([this.camHUD]); if(PlayState.loadRep) { this.replayTxt.set_cameras([this.camHUD]); } this.startingSong = true; if(PlayState.isStoryMode) { switch(this.curSong.toLowerCase()) { case "roses": flixel_FlxG.sound.play(Paths.sound("ANGRY")); this.schoolIntro(doof); break; case "senpai": this.schoolIntro(doof); break; case "thorns": this.schoolIntro(doof); break; case "winter-horrorland": var blackScreen = new flixel_FlxSprite(0,0).makeGraphic(flixel_FlxG.width * 2 | 0,flixel_FlxG.height * 2 | 0,-16777216); this.add(blackScreen); blackScreen.scrollFactor.set(); this.camHUD.set_visible(false); new flixel_util_FlxTimer().start(0.1,function(tmr) { _gthis.remove(blackScreen); flixel_FlxG.sound.play(Paths.sound("Lights_Turn_On")); _gthis.camFollow.set_y(-2050); var _g41 = _gthis.camFollow; _g41.set_x(_g41.x + 200); var _this3 = flixel_FlxG.camera; var point1 = _gthis.camFollow.getPosition(); _this3.scroll.set(point1.x - _this3.width * 0.5,point1.y - _this3.height * 0.5); if(point1._weak) { point1.put(); } flixel_FlxG.camera.set_zoom(1.5); new flixel_util_FlxTimer().start(0.8,function(tmr1) { _gthis.camHUD.set_visible(true); _gthis.remove(blackScreen); flixel_tweens_FlxTween.tween(flixel_FlxG.camera,{ zoom : _gthis.defaultCamZoom},2.5,{ ease : flixel_tweens_FlxEase.quadInOut, onComplete : function(twn) { _gthis.startCountdown(); }}); }); }); break; default: this.startCountdown(); } } else { var _g42 = this.curSong.toLowerCase(); this.startCountdown(); } if(!PlayState.loadRep) { PlayState.rep = new Replay("na"); } MusicBeatState.prototype.create.call(this); } ,schoolIntro: function(dialogueBox) { var _gthis = this; var black = new flixel_FlxSprite(-100,-100).makeGraphic(flixel_FlxG.width * 2,flixel_FlxG.height * 2,-16777216); black.scrollFactor.set(); this.add(black); var red = new flixel_FlxSprite(-100,-100).makeGraphic(flixel_FlxG.width * 2,flixel_FlxG.height * 2,-58575); red.scrollFactor.set(); var senpaiEvil = new flixel_FlxSprite(); var library = null; var tmp = flixel_graphics_frames_FlxAtlasFrames.fromSparrow(Paths.getPath("images/" + "weeb/senpaiCrazy" + ".png","IMAGE",library),Paths.getPath("images/" + "weeb/senpaiCrazy" + ".xml","TEXT",library)); senpaiEvil.set_frames(tmp); senpaiEvil.animation.addByPrefix("idle","Senpai Pre Explosion",24,false); var tmp1 = senpaiEvil.get_width() * 6 | 0; senpaiEvil.setGraphicSize(tmp1); senpaiEvil.scrollFactor.set(); senpaiEvil.updateHitbox(); senpaiEvil.screenCenter(); if(PlayState.SONG.song.toLowerCase() == "roses" || PlayState.SONG.song.toLowerCase() == "thorns") { this.remove(black); if(PlayState.SONG.song.toLowerCase() == "thorns") { this.add(red); } } new flixel_util_FlxTimer().start(0.3,function(tmr) { var _g = black; _g.set_alpha(_g.alpha - 0.15); if(black.alpha > 0) { tmr.reset(0.3); } else { if(dialogueBox != null) { _gthis.inCutscene = true; if(PlayState.SONG.song.toLowerCase() == "thorns") { _gthis.add(senpaiEvil); senpaiEvil.set_alpha(0); new flixel_util_FlxTimer().start(0.3,function(swagTimer) { var _g1 = senpaiEvil; _g1.set_alpha(_g1.alpha + 0.15); if(senpaiEvil.alpha < 1) { swagTimer.reset(); } else { senpaiEvil.animation.play("idle"); flixel_FlxG.sound.play(Paths.sound("Senpai_Dies"),1,false,null,true,function() { _gthis.remove(senpaiEvil); _gthis.remove(red); flixel_FlxG.camera.fade(-1,0.01,true,function() { _gthis.add(dialogueBox); },true); }); new flixel_util_FlxTimer().start(3.2,function(deadTime) { flixel_FlxG.camera.fade(-1,1.6,false); }); } }); } else { _gthis.add(dialogueBox); } } else { _gthis.startCountdown(); } _gthis.remove(black); } }); } ,startTimer: null ,perfectMode: null ,startCountdown: function() { var _gthis = this; this.inCutscene = false; this.generateStaticArrows(0); this.generateStaticArrows(1); this.talking = false; this.startedCountdown = true; Conductor.songPosition = 0; Conductor.songPosition -= Conductor.crochet * 5; var swagCounter = 0; this.startTimer = new flixel_util_FlxTimer().start(Conductor.crochet / 1000,function(tmr) { _gthis.dad.dance(); _gthis.gf.dance(); _gthis.boyfriend.playAnim("idle"); var introAssets = new haxe_ds_StringMap(); var value = ["ready","set","go"]; if(__map_reserved["default"] != null) { introAssets.setReserved("default",value); } else { introAssets.h["default"] = value; } var value1 = ["weeb/pixelUI/ready-pixel","weeb/pixelUI/set-pixel","weeb/pixelUI/date-pixel"]; if(__map_reserved["school"] != null) { introAssets.setReserved("school",value1); } else { introAssets.h["school"] = value1; } var value2 = ["weeb/pixelUI/ready-pixel","weeb/pixelUI/set-pixel","weeb/pixelUI/date-pixel"]; if(__map_reserved["schoolEvil"] != null) { introAssets.setReserved("schoolEvil",value2); } else { introAssets.h["schoolEvil"] = value2; } var introAlts = __map_reserved["default"] != null ? introAssets.getReserved("default") : introAssets.h["default"]; var altSuffix = ""; var value3 = introAssets.keys(); while(value3.hasNext()) { var value4 = value3.next(); if(value4 == PlayState.curStage) { introAlts = __map_reserved[value4] != null ? introAssets.getReserved(value4) : introAssets.h[value4]; altSuffix = "-pixel"; } } switch(swagCounter) { case 0: flixel_FlxG.sound.play(Paths.sound("intro3"),0.6); break; case 1: var ready = new flixel_FlxSprite().loadGraphic(Paths.getPath("images/" + introAlts[0] + ".png","IMAGE",null)); ready.scrollFactor.set(); ready.updateHitbox(); if(StringTools.startsWith(PlayState.curStage,"school")) { var tmp = ready.get_width() * PlayState.daPixelZoom | 0; ready.setGraphicSize(tmp); } ready.screenCenter(); _gthis.add(ready); var _g = ready; var tmp1 = { y : _g.set_y(_g.y + 100), alpha : 0}; flixel_tweens_FlxTween.tween(ready,tmp1,Conductor.crochet / 1000,{ ease : flixel_tweens_FlxEase.cubeInOut, onComplete : function(twn) { ready.destroy(); }}); flixel_FlxG.sound.play(Paths.sound("intro2"),0.6); break; case 2: var set = new flixel_FlxSprite().loadGraphic(Paths.getPath("images/" + introAlts[1] + ".png","IMAGE",null)); set.scrollFactor.set(); if(StringTools.startsWith(PlayState.curStage,"school")) { var tmp2 = set.get_width() * PlayState.daPixelZoom | 0; set.setGraphicSize(tmp2); } set.screenCenter(); _gthis.add(set); var _g1 = set; var tmp3 = { y : _g1.set_y(_g1.y + 100), alpha : 0}; flixel_tweens_FlxTween.tween(set,tmp3,Conductor.crochet / 1000,{ ease : flixel_tweens_FlxEase.cubeInOut, onComplete : function(twn1) { set.destroy(); }}); flixel_FlxG.sound.play(Paths.sound("intro1"),0.6); break; case 3: var go = new flixel_FlxSprite().loadGraphic(Paths.getPath("images/" + introAlts[2] + ".png","IMAGE",null)); go.scrollFactor.set(); if(StringTools.startsWith(PlayState.curStage,"school")) { var tmp4 = go.get_width() * PlayState.daPixelZoom | 0; go.setGraphicSize(tmp4); } go.updateHitbox(); go.screenCenter(); _gthis.add(go); var _g2 = go; var tmp5 = { y : _g2.set_y(_g2.y + 100), alpha : 0}; flixel_tweens_FlxTween.tween(go,tmp5,Conductor.crochet / 1000,{ ease : flixel_tweens_FlxEase.cubeInOut, onComplete : function(twn2) { go.destroy(); }}); flixel_FlxG.sound.play(Paths.sound("introGo"),0.6); break; case 4: break; } swagCounter += 1; },5); } ,previousFrameTime: null ,lastReportedPlayheadPosition: null ,songTime: null ,startSong: function() { this.startingSong = false; this.previousFrameTime = flixel_FlxG.game.ticks; this.lastReportedPlayheadPosition = 0; if(!this.paused) { flixel_FlxG.sound.playMusic("songs:assets/songs/" + PlayState.SONG.song.toLowerCase() + "/Inst." + "mp3",1,false); } flixel_FlxG.sound.music.onComplete = $bind(this,this.endSong); this.vocals.play(); this.songLength = flixel_FlxG.sound.music._length; if(flixel_FlxG.save.data.songPosition) { this.remove(PlayState.songPosBG); this.remove(PlayState.songPosBar); this.remove(this.songName); PlayState.songPosBG = new flixel_FlxSprite(0,10).loadGraphic(Paths.getPath("images/" + "healthBar" + ".png","IMAGE",null)); if(flixel_FlxG.save.data.downscroll) { PlayState.songPosBG.set_y(flixel_FlxG.height * 0.9 + 45); } PlayState.songPosBG.screenCenter(flixel_util_FlxAxes.X); PlayState.songPosBG.scrollFactor.set(); this.add(PlayState.songPosBG); PlayState.songPosBar = new flixel_ui_FlxBar(PlayState.songPosBG.x + 4,PlayState.songPosBG.y + 4,flixel_ui_FlxBarFillDirection.LEFT_TO_RIGHT,PlayState.songPosBG.get_width() - 8 | 0,PlayState.songPosBG.get_height() - 8 | 0,this,"songPositionBar",0,this.songLength - 1000); PlayState.songPosBar.set_numDivisions(1000); PlayState.songPosBar.scrollFactor.set(); PlayState.songPosBar.createFilledBar(-8355712,-16711936); this.add(PlayState.songPosBar); var songName = new flixel_text_FlxText(PlayState.songPosBG.x + PlayState.songPosBG.get_width() / 2 - 20,PlayState.songPosBG.y,0,PlayState.SONG.song,16); if(flixel_FlxG.save.data.downscroll) { var _g = songName; _g.set_y(_g.y - 3); } songName.setFormat("assets/fonts/" + "vcr.ttf",16,-1,"right",flixel_text_FlxTextBorderStyle.OUTLINE,-16777216); songName.scrollFactor.set(); this.add(songName); PlayState.songPosBG.set_cameras([this.camHUD]); PlayState.songPosBar.set_cameras([this.camHUD]); songName.set_cameras([this.camHUD]); } } ,debugNum: null ,generateSong: function(dataPath) { var songData = PlayState.SONG; Conductor.changeBPM(songData.bpm); this.curSong = songData.song; if(PlayState.SONG.needsVoices) { var tmp = "songs:assets/songs/" + PlayState.SONG.song.toLowerCase() + "/Voices." + "mp3"; this.vocals = new flixel_system_FlxSound().loadEmbedded(tmp); } else { this.vocals = new flixel_system_FlxSound(); } flixel_FlxG.sound.list.add(this.vocals); this.notes = new flixel_group_FlxTypedGroup(); this.add(this.notes); var noteData = songData.notes; var playerCounter = 0; var daBeats = 0; var _g = 0; while(_g < noteData.length) { var section = noteData[_g]; ++_g; var coolSection = section.lengthInSteps / 4 | 0; var _g1 = 0; var _g11 = section.sectionNotes; while(_g1 < _g11.length) { var songNotes = _g11[_g1]; ++_g1; var daStrumTime = songNotes[0]; var daNoteData = songNotes[1] % 4 | 0; var gottaHitNote = section.mustHitSection; if(songNotes[1] > 3) { gottaHitNote = !section.mustHitSection; } var oldNote; if(this.unspawnNotes.length > 0) { oldNote = this.unspawnNotes[this.unspawnNotes.length - 1 | 0]; } else { oldNote = null; } var swagNote = new Note(daStrumTime,daNoteData,oldNote); swagNote.sustainLength = songNotes[2]; swagNote.scrollFactor.set(0,0); var susLength = swagNote.sustainLength; susLength /= Conductor.stepCrochet; this.unspawnNotes.push(swagNote); var _g2 = 0; var _g12 = Math.floor(susLength); while(_g2 < _g12) { var susNote = _g2++; oldNote = this.unspawnNotes[this.unspawnNotes.length - 1 | 0]; var sustainNote = new Note(daStrumTime + Conductor.stepCrochet * susNote + Conductor.stepCrochet,daNoteData,oldNote,true); sustainNote.scrollFactor.set(); this.unspawnNotes.push(sustainNote); sustainNote.mustPress = gottaHitNote; if(sustainNote.mustPress) { var _g3 = sustainNote; _g3.set_x(_g3.x + flixel_FlxG.width / 2); } } swagNote.mustPress = gottaHitNote; if(swagNote.mustPress) { var _g21 = swagNote; _g21.set_x(_g21.x + flixel_FlxG.width / 2); } } ++daBeats; } this.unspawnNotes.sort($bind(this,this.sortByShit)); this.generatedMusic = true; } ,sortByShit: function(Obj1,Obj2) { var Value1 = Obj1.strumTime; var Value2 = Obj2.strumTime; var result = 0; if(Value1 < Value2) { result = -1; } else if(Value1 > Value2) { result = 1; } return result; } ,generateStaticArrows: function(player) { var _g = 0; while(_g < 4) { var i = _g++; var babyArrow = new flixel_FlxSprite(0,this.strumLine.y); switch(PlayState.curStage) { case "school":case "schoolEvil": babyArrow.loadGraphic(Paths.getPath("images/" + "weeb/pixelUI/arrows-pixels" + ".png","IMAGE",null),true,17,17); babyArrow.animation.add("green",[6]); babyArrow.animation.add("red",[7]); babyArrow.animation.add("blue",[5]); babyArrow.animation.add("purplel",[4]); babyArrow.setGraphicSize(babyArrow.get_width() * PlayState.daPixelZoom | 0); babyArrow.updateHitbox(); babyArrow.set_antialiasing(false); switch(Math.abs(i)) { case 0: var _g1 = babyArrow; _g1.set_x(_g1.x + Note.swagWidth * 0); babyArrow.animation.add("static",[0]); babyArrow.animation.add("pressed",[4,8],12,false); babyArrow.animation.add("confirm",[12,16],24,false); break; case 1: var _g2 = babyArrow; _g2.set_x(_g2.x + Note.swagWidth); babyArrow.animation.add("static",[1]); babyArrow.animation.add("pressed",[5,9],12,false); babyArrow.animation.add("confirm",[13,17],24,false); break; case 2: var _g3 = babyArrow; _g3.set_x(_g3.x + Note.swagWidth * 2); babyArrow.animation.add("static",[2]); babyArrow.animation.add("pressed",[6,10],12,false); babyArrow.animation.add("confirm",[14,18],12,false); break; case 3: var _g4 = babyArrow; _g4.set_x(_g4.x + Note.swagWidth * 3); babyArrow.animation.add("static",[3]); babyArrow.animation.add("pressed",[7,11],12,false); babyArrow.animation.add("confirm",[15,19],24,false); break; } break; default: var library = null; babyArrow.set_frames(flixel_graphics_frames_FlxAtlasFrames.fromSparrow(Paths.getPath("images/" + "NOTE_assets" + ".png","IMAGE",library),Paths.getPath("images/" + "NOTE_assets" + ".xml","TEXT",library))); babyArrow.animation.addByPrefix("green","arrowUP"); babyArrow.animation.addByPrefix("blue","arrowDOWN"); babyArrow.animation.addByPrefix("purple","arrowLEFT"); babyArrow.animation.addByPrefix("red","arrowRIGHT"); babyArrow.set_antialiasing(true); babyArrow.setGraphicSize(babyArrow.get_width() * 0.7 | 0); switch(Math.abs(i)) { case 0: var _g5 = babyArrow; _g5.set_x(_g5.x + Note.swagWidth * 0); babyArrow.animation.addByPrefix("static","arrowLEFT"); babyArrow.animation.addByPrefix("pressed","left press",24,false); babyArrow.animation.addByPrefix("confirm","left confirm",24,false); break; case 1: var _g6 = babyArrow; _g6.set_x(_g6.x + Note.swagWidth); babyArrow.animation.addByPrefix("static","arrowDOWN"); babyArrow.animation.addByPrefix("pressed","down press",24,false); babyArrow.animation.addByPrefix("confirm","down confirm",24,false); break; case 2: var _g7 = babyArrow; _g7.set_x(_g7.x + Note.swagWidth * 2); babyArrow.animation.addByPrefix("static","arrowUP"); babyArrow.animation.addByPrefix("pressed","up press",24,false); babyArrow.animation.addByPrefix("confirm","up confirm",24,false); break; case 3: var _g8 = babyArrow; _g8.set_x(_g8.x + Note.swagWidth * 3); babyArrow.animation.addByPrefix("static","arrowRIGHT"); babyArrow.animation.addByPrefix("pressed","right press",24,false); babyArrow.animation.addByPrefix("confirm","right confirm",24,false); break; } } babyArrow.updateHitbox(); babyArrow.scrollFactor.set(); if(!PlayState.isStoryMode) { var _g11 = babyArrow; _g11.set_y(_g11.y - 10); babyArrow.set_alpha(0); flixel_tweens_FlxTween.tween(babyArrow,{ y : babyArrow.y + 10, alpha : 1},1,{ ease : flixel_tweens_FlxEase.circOut, startDelay : 0.5 + 0.2 * i}); } babyArrow.ID = i; if(player == 1) { this.playerStrums.add(babyArrow); } babyArrow.animation.play("static"); var _g12 = babyArrow; _g12.set_x(_g12.x + 50); var _g13 = babyArrow; _g13.set_x(_g13.x + flixel_FlxG.width / 2 * player); this.strumLineNotes.add(babyArrow); } } ,tweenCamIn: function() { flixel_tweens_FlxTween.tween(flixel_FlxG.camera,{ zoom : 1.3},Conductor.stepCrochet * 4 / 1000,{ ease : flixel_tweens_FlxEase.elasticInOut}); } ,openSubState: function(SubState) { if(this.paused) { if(flixel_FlxG.sound.music != null) { flixel_FlxG.sound.music.pause(); this.vocals.pause(); } if(!this.startTimer.finished) { this.startTimer.active = false; } } MusicBeatState.prototype.openSubState.call(this,SubState); } ,closeSubState: function() { if(this.paused) { if(flixel_FlxG.sound.music != null && !this.startingSong) { this.resyncVocals(); } if(!this.startTimer.finished) { this.startTimer.active = true; } this.paused = false; } MusicBeatState.prototype.closeSubState.call(this); } ,resyncVocals: function() { this.vocals.pause(); flixel_FlxG.sound.music.play(); Conductor.songPosition = flixel_FlxG.sound.music._time; this.vocals.set_time(Conductor.songPosition); this.vocals.play(); } ,paused: null ,startedCountdown: null ,canPause: null ,generateRanking: function() { var ranking = "N/A"; if(PlayState.misses == 0 && PlayState.bads == 0 && PlayState.shits == 0 && PlayState.goods == 0) { ranking = "(MFC)"; } else if(PlayState.misses == 0 && PlayState.bads == 0 && PlayState.shits == 0 && PlayState.goods >= 1) { ranking = "(GFC)"; } else if((PlayState.shits < 10 && PlayState.shits != 0 || PlayState.bads < 10 && PlayState.bads != 0) && PlayState.misses == 0) { ranking = "(SDCB)"; } else if(PlayState.misses == 0 && (PlayState.shits >= 10 || PlayState.bads >= 10)) { ranking = "(FC)"; } else if(PlayState.misses >= 10 || (PlayState.shits >= 10 || PlayState.bads >= 10)) { ranking = "(CB)"; } else { ranking = ""; } var wifeConditions = [this.accuracy >= 99.9935,this.accuracy >= 99.980,this.accuracy >= 99.970,this.accuracy >= 99.955,this.accuracy >= 99.90,this.accuracy >= 99.80,this.accuracy >= 99.70,this.accuracy >= 99,this.accuracy >= 96.50,this.accuracy >= 93,this.accuracy >= 90,this.accuracy >= 85,this.accuracy >= 80,this.accuracy >= 70,this.accuracy >= 60,this.accuracy < 60]; var _g = 0; var _g1 = wifeConditions.length; while(_g < _g1) { var i = _g++; var b = wifeConditions[i]; if(b) { switch(i) { case 0: ranking += " AAAAA"; break; case 1: ranking += " AAAA:"; break; case 2: ranking += " AAAA."; break; case 3: ranking += " AAAA"; break; case 4: ranking += " AAA:"; break; case 5: ranking += " AAA."; break; case 6: ranking += " AAA"; break; case 7: ranking += " AA:"; break; case 8: ranking += " AA."; break; case 9: ranking += " AA"; break; case 10: ranking += " A:"; break; case 11: ranking += " A."; break; case 12: ranking += " A"; break; case 13: ranking += " B"; break; case 14: ranking += " C"; break; case 15: ranking += " D"; break; } break; } } if(this.accuracy == 0) { ranking = "N/A"; } return ranking; } ,truncateFloat: function(number,precision) { var num = number; num *= Math.pow(10,precision); num = Math.round(num) / Math.pow(10,precision); return num; } ,update: function(elapsed) { var _gthis = this; this.perfectMode = false; var _this = flixel_FlxG.keys.justPressed; if(_this.keyManager.checkStatus(57,_this.status)) { if(this.iconP1.animation._curAnim.name == "bf-old") { this.iconP1.animation.play(PlayState.SONG.player1); } else { this.iconP1.animation.play("bf-old"); } } if(PlayState.curStage == "philly") { if(this.trainMoving) { this.trainFrameTiming += elapsed; if(this.trainFrameTiming >= 0.0416666666666666644) { this.updateTrainPos(); this.trainFrameTiming = 0; } } } MusicBeatState.prototype.update.call(this,elapsed); if(flixel_FlxG.save.data.accuracyDisplay) { this.scoreTxt.set_text("Score:" + (flixel_FlxG.save.data.etternaMode ? Math.max(0,this.etternaModeScore) + " (" + this.songScore + ")" : "" + this.songScore) + " | Combo Breaks:" + PlayState.misses + " | Accuracy:" + this.truncateFloat(this.accuracy,2) + "% | " + this.generateRanking()); } else { this.scoreTxt.set_text("Score:" + this.songScore); } this.scoreTxt.set_text("Score:" + this.songScore + " | Misses:" + PlayState.misses + " | Accuracy:" + this.truncateFloat(this.accuracy,2) + "% " + (this.fc ? "| FC" : PlayState.misses == 0 ? "| A" : this.accuracy <= 75 ? "| BAD" : "")); var _this1 = flixel_FlxG.keys.justPressed; if(_this1.keyManager.checkStatus(55,_this1.status)) { var nextState = new ChartingState(); if(flixel_FlxG.game._state.switchTo(nextState)) { flixel_FlxG.game._requestedState = nextState; } } this.iconP1.setGraphicSize(150 + 0.50 * (this.iconP1.get_width() - 150) | 0); this.iconP2.setGraphicSize(150 + 0.50 * (this.iconP2.get_width() - 150) | 0); this.iconP1.updateHitbox(); this.iconP2.updateHitbox(); var iconOffset = 26; this.iconP1.set_x(this.healthBar.x + (this.healthBar.get_width() * (flixel_math_FlxMath.remapToRange(this.healthBar.get_percent(),0,100,100,0) * 0.01) - iconOffset)); this.iconP2.set_x(this.healthBar.x + this.healthBar.get_width() * (flixel_math_FlxMath.remapToRange(this.healthBar.get_percent(),0,100,100,0) * 0.01) - (this.iconP2.get_width() - iconOffset)); if(this.health > 2) { this.health = 2; } if(this.healthBar.get_percent() < 20) { this.iconP1.animation._curAnim.set_curFrame(1); } else { this.iconP1.animation._curAnim.set_curFrame(0); } if(this.healthBar.get_percent() > 80) { this.iconP2.animation._curAnim.set_curFrame(1); } else { this.iconP2.animation._curAnim.set_curFrame(0); } if(this.startingSong) { if(this.startedCountdown) { Conductor.songPosition += flixel_FlxG.elapsed * 1000; if(Conductor.songPosition >= 0) { this.startSong(); } } } else { Conductor.songPosition += flixel_FlxG.elapsed * 1000; if(!this.paused) { this.songTime += flixel_FlxG.game.ticks - this.previousFrameTime; this.previousFrameTime = flixel_FlxG.game.ticks; if(Conductor.lastSongPos != Conductor.songPosition) { this.songTime = (this.songTime + Conductor.songPosition) / 2; Conductor.lastSongPos = Conductor.songPosition; } } } if(this.generatedMusic && PlayState.SONG.notes[this.curStep / 16 | 0] != null) { var tmp = this.curBeat % 4 == 0; if(this.camFollow.x != this.dad.getMidpoint().x + 150 && !PlayState.SONG.notes[this.curStep / 16 | 0].mustHitSection) { this.camFollow.setPosition(this.dad.getMidpoint().x + 150,this.dad.getMidpoint().y - 100); switch(this.dad.curCharacter) { case "mom": this.camFollow.set_y(this.dad.getMidpoint().y); break; case "senpai": this.camFollow.set_y(this.dad.getMidpoint().y - 430); this.camFollow.set_x(this.dad.getMidpoint().x - 100); break; case "senpai-angry": this.camFollow.set_y(this.dad.getMidpoint().y - 430); this.camFollow.set_x(this.dad.getMidpoint().x - 100); break; } if(this.dad.curCharacter == "mom") { this.vocals.set_volume(1); } if(PlayState.SONG.song.toLowerCase() == "tutorial") { this.tweenCamIn(); } } if(PlayState.SONG.notes[this.curStep / 16 | 0].mustHitSection && this.camFollow.x != this.boyfriend.getMidpoint().x - 100) { this.camFollow.setPosition(this.boyfriend.getMidpoint().x - 100,this.boyfriend.getMidpoint().y - 100); switch(PlayState.curStage) { case "limo": this.camFollow.set_x(this.boyfriend.getMidpoint().x - 300); break; case "mall": this.camFollow.set_y(this.boyfriend.getMidpoint().y - 200); break; case "school": this.camFollow.set_x(this.boyfriend.getMidpoint().x - 200); this.camFollow.set_y(this.boyfriend.getMidpoint().y - 200); break; case "schoolEvil": this.camFollow.set_x(this.boyfriend.getMidpoint().x - 200); this.camFollow.set_y(this.boyfriend.getMidpoint().y - 200); break; } if(PlayState.SONG.song.toLowerCase() == "tutorial") { flixel_tweens_FlxTween.tween(flixel_FlxG.camera,{ zoom : 1},Conductor.stepCrochet * 4 / 1000,{ ease : flixel_tweens_FlxEase.elasticInOut}); } } } if(this.camZooming) { var a = this.defaultCamZoom; flixel_FlxG.camera.set_zoom(a + 0.95 * (flixel_FlxG.camera.zoom - a)); this.camHUD.set_zoom(1 + 0.95 * (this.camHUD.zoom - 1)); } var tmp1 = PlayState.loadRep; if(this.curSong == "Fresh") { switch(this.curBeat) { case 16: this.camZooming = true; this.gfSpeed = 2; break; case 48: this.gfSpeed = 1; break; case 80: this.gfSpeed = 2; break; case 112: this.gfSpeed = 1; break; case 163: break; } } if(this.curSong == "Bopeebo") { switch(this.curBeat) { case 128:case 129:case 130: this.vocals.set_volume(0); break; } } if(PlayerSettings.player1.controls._reset.check()) { this.health = 0; haxe_Log.trace("RESET = True",{ fileName : "source/PlayState.hx", lineNumber : 1749, className : "PlayState", methodName : "update"}); } if(PlayerSettings.player1.controls._cheat.check()) { this.health += 1; haxe_Log.trace("User is cheating!",{ fileName : "source/PlayState.hx", lineNumber : 1756, className : "PlayState", methodName : "update"}); } if(this.health <= 0) { this.boyfriend.stunned = true; this.persistentUpdate = false; this.persistentDraw = false; this.paused = true; var _this2 = this.vocals; _this2.cleanup(_this2.autoDestroy,true); var _this3 = flixel_FlxG.sound.music; _this3.cleanup(_this3.autoDestroy,true); this.openSubState(new GameOverSubstate(this.boyfriend.getScreenPosition().x,this.boyfriend.getScreenPosition().y)); } if(this.unspawnNotes[0] != null) { if(this.unspawnNotes[0].strumTime - Conductor.songPosition < 1500) { var dunceNote = this.unspawnNotes[0]; this.notes.add(dunceNote); var index = this.unspawnNotes.indexOf(dunceNote); this.unspawnNotes.splice(index,1); } } if(this.generatedMusic) { this.notes.forEachAlive(function(daNote) { if(daNote.y > flixel_FlxG.height) { daNote.set_active(false); daNote.set_visible(false); } else { daNote.set_visible(true); daNote.set_active(true); } if(!daNote.mustPress && daNote.wasGoodHit) { if(PlayState.SONG.song != "Tutorial") { _gthis.camZooming = true; } var altAnim = ""; if(PlayState.SONG.notes[Math.floor(_gthis.curStep / 16)] != null) { if(PlayState.SONG.notes[Math.floor(_gthis.curStep / 16)].altAnim) { altAnim = "-alt"; } } switch(Math.abs(daNote.noteData)) { case 0: _gthis.dad.playAnim("singLEFT" + altAnim,true); break; case 1: _gthis.dad.playAnim("singDOWN" + altAnim,true); break; case 2: _gthis.dad.playAnim("singUP" + altAnim,true); break; case 3: _gthis.dad.playAnim("singRIGHT" + altAnim,true); break; } _gthis.dad.holdTimer = 0; if(PlayState.SONG.needsVoices) { _gthis.vocals.set_volume(1); } daNote.kill(); _gthis.notes.remove(daNote,true); daNote.destroy(); } if(flixel_FlxG.save.data.downscroll) { daNote.set_y(_gthis.strumLine.y - (Conductor.songPosition - daNote.strumTime) * (-0.45 * flixel_math_FlxMath.roundDecimal(PlayState.SONG.speed,2))); } else { daNote.set_y(_gthis.strumLine.y - (Conductor.songPosition - daNote.strumTime) * (0.45 * flixel_math_FlxMath.roundDecimal(PlayState.SONG.speed,2))); } if(daNote.y < -daNote.get_height() && !flixel_FlxG.save.data.downscroll || daNote.y >= _gthis.strumLine.y + 106 && flixel_FlxG.save.data.downscroll) { if(daNote.isSustainNote && daNote.wasGoodHit) { daNote.kill(); _gthis.notes.remove(daNote,true); daNote.destroy(); } else { _gthis.health -= 0.0475; _gthis.vocals.set_volume(0); if(PlayState.theFunne) { _gthis.noteMiss(daNote.noteData); } } daNote.set_active(false); daNote.set_visible(false); daNote.kill(); _gthis.notes.remove(daNote,true); daNote.destroy(); } }); } if(!this.inCutscene) { this.keyShit(); } } ,endSong: function() { if(!PlayState.loadRep) { PlayState.rep.SaveReplay(); } this.canPause = false; flixel_FlxG.sound.music.set_volume(0); this.vocals.set_volume(0); if(PlayState.SONG.validScore) { Highscore.saveScore(PlayState.SONG.song,this.songScore,PlayState.storyDifficulty); } if(PlayState.isStoryMode) { PlayState.campaignScore += this.songScore; HxOverrides.remove(PlayState.storyPlaylist,PlayState.storyPlaylist[0]); if(PlayState.storyPlaylist.length <= 0) { flixel_FlxG.sound.playMusic(Paths.getPath("music/" + "freakyMenu" + "." + "mp3","MUSIC",null)); this.transIn = flixel_addons_transition_FlxTransitionableState.defaultTransIn; this.transOut = flixel_addons_transition_FlxTransitionableState.defaultTransOut; var nextState = new StoryMenuState(); if(flixel_FlxG.game._state.switchTo(nextState)) { flixel_FlxG.game._requestedState = nextState; } StoryMenuState.weekUnlocked[Math.min(PlayState.storyWeek + 1,StoryMenuState.weekUnlocked.length - 1) | 0] = true; if(PlayState.SONG.validScore) { if(NGio.isLoggedIn) { var medal = io_newgrounds_NG.core.medals.h[60961]; if(!medal._data.unlocked) { medal.sendUnlock(); } } Highscore.saveWeekScore(PlayState.storyWeek,PlayState.campaignScore,PlayState.storyDifficulty); } flixel_FlxG.save.data.weekUnlocked = StoryMenuState.weekUnlocked; flixel_FlxG.save.flush(); } else { var difficulty = ""; if(PlayState.storyDifficulty == 0) { difficulty = "-easy"; } if(PlayState.storyDifficulty == 2) { difficulty = "-hard"; } haxe_Log.trace("LOADING NEXT SONG",{ fileName : "source/PlayState.hx", lineNumber : 1933, className : "PlayState", methodName : "endSong"}); haxe_Log.trace(PlayState.storyPlaylist[0].toLowerCase() + difficulty,{ fileName : "source/PlayState.hx", lineNumber : 1934, className : "PlayState", methodName : "endSong"}); if(PlayState.SONG.song.toLowerCase() == "eggnog") { var blackShit = new flixel_FlxSprite(-flixel_FlxG.width * flixel_FlxG.camera.zoom,-flixel_FlxG.height * flixel_FlxG.camera.zoom).makeGraphic(flixel_FlxG.width * 3,flixel_FlxG.height * 3,-16777216); blackShit.scrollFactor.set(); this.add(blackShit); this.camHUD.set_visible(false); flixel_FlxG.sound.play(Paths.sound("Lights_Shut_off")); } flixel_addons_transition_FlxTransitionableState.skipNextTransIn = true; flixel_addons_transition_FlxTransitionableState.skipNextTransOut = true; PlayState.prevCamFollow = this.camFollow; PlayState.SONG = Song.loadFromJson(PlayState.storyPlaylist[0].toLowerCase() + difficulty,PlayState.storyPlaylist[0]); var _this = flixel_FlxG.sound.music; _this.cleanup(_this.autoDestroy,true); var nextState1 = LoadingState.getNextState(new PlayState(),false); if(flixel_FlxG.game._state.switchTo(nextState1)) { flixel_FlxG.game._requestedState = nextState1; } } } else { haxe_Log.trace("WENT BACK TO FREEPLAY??",{ fileName : "source/PlayState.hx", lineNumber : 1959, className : "PlayState", methodName : "endSong"}); var nextState2 = new FreeplayState(); if(flixel_FlxG.game._state.switchTo(nextState2)) { flixel_FlxG.game._requestedState = nextState2; } } } ,endingSong: null ,popUpScore: function(strumtime) { var noteDiff = Math.abs(strumtime - Conductor.songPosition); var wife = EtternaFunctions.wife3(noteDiff,flixel_FlxG.save.data.etternaMode ? 1 : 1.7); this.vocals.set_volume(1); var placement = Std.string(this.combo); var coolText = new flixel_text_FlxText(0,0,0,placement,32); coolText.screenCenter(); coolText.set_x(flixel_FlxG.width * 0.55); var rating = new flixel_FlxSprite(); var score = 350; var daRating = "sick"; if(noteDiff > Conductor.safeZoneOffset * 0.9) { daRating = "shit"; score = 50; this.totalNotesHit -= 1; } else if(noteDiff > Conductor.safeZoneOffset * 0.75) { daRating = "bad"; score = 100; this.totalNotesHit -= 1; } else if(noteDiff > Conductor.safeZoneOffset * 0.2) { daRating = "good"; score = 200; } this.songScore += score; if(flixel_FlxG.save.data.etternaMode) { this.etternaModeScore += Math.round(score / wife); } var pixelShitPart1 = ""; var pixelShitPart2 = ""; if(StringTools.startsWith(PlayState.curStage,"school")) { pixelShitPart1 = "weeb/pixelUI/"; pixelShitPart2 = "-pixel"; } var tmp = Paths.getPath("images/" + (pixelShitPart1 + daRating + pixelShitPart2) + ".png","IMAGE",null); rating.loadGraphic(tmp); rating.screenCenter(); rating.set_x(coolText.x - 40); var _g = rating; _g.set_y(_g.y - 60); rating.acceleration.set_y(550); var _g1 = rating.velocity; _g1.set_y(_g1.y - flixel_FlxG.random.int(140,175)); var _g2 = rating.velocity; _g2.set_x(_g2.x - flixel_FlxG.random.int(0,10)); var comboSpr = new flixel_FlxSprite().loadGraphic(Paths.getPath("images/" + (pixelShitPart1 + "combo" + pixelShitPart2) + ".png","IMAGE",null)); comboSpr.screenCenter(); comboSpr.set_x(coolText.x); comboSpr.acceleration.set_y(600); var _g3 = comboSpr.velocity; _g3.set_y(_g3.y - 150); var _g4 = comboSpr.velocity; _g4.set_x(_g4.x + flixel_FlxG.random.int(1,10)); this.add(rating); if(!StringTools.startsWith(PlayState.curStage,"school")) { var tmp1 = rating.get_width() * 0.7 | 0; rating.setGraphicSize(tmp1); rating.set_antialiasing(true); var tmp2 = comboSpr.get_width() * 0.7 | 0; comboSpr.setGraphicSize(tmp2); comboSpr.set_antialiasing(true); } else { var tmp3 = rating.get_width() * PlayState.daPixelZoom * 0.7 | 0; rating.setGraphicSize(tmp3); var tmp4 = comboSpr.get_width() * PlayState.daPixelZoom * 0.7 | 0; comboSpr.setGraphicSize(tmp4); } comboSpr.updateHitbox(); rating.updateHitbox(); var seperatedScore = []; var comboString = this.combo + ""; if(comboString.length == 2) { seperatedScore.push(0); } var _g5 = 0; var _g11 = comboString.length; while(_g5 < _g11) { var i = _g5++; seperatedScore.push(Std.parseInt(comboString.charAt(i))); } var daLoop = 0; var _g21 = 0; while(_g21 < seperatedScore.length) { var i1 = seperatedScore[_g21]; ++_g21; var numScore = [new flixel_FlxSprite().loadGraphic(Paths.getPath("images/" + (pixelShitPart1 + "num" + (i1 | 0) + pixelShitPart2) + ".png","IMAGE",null))]; numScore[0].screenCenter(); numScore[0].set_x(coolText.x + 43 * daLoop - 90); var _g22 = numScore[0]; _g22.set_y(_g22.y + 80); if(!StringTools.startsWith(PlayState.curStage,"school")) { numScore[0].set_antialiasing(true); var tmp5 = numScore[0].get_width() * 0.5 | 0; numScore[0].setGraphicSize(tmp5); } else { var tmp6 = numScore[0].get_width() * PlayState.daPixelZoom | 0; numScore[0].setGraphicSize(tmp6); } numScore[0].updateHitbox(); numScore[0].acceleration.set_y(flixel_FlxG.random.int(200,300)); var _g23 = numScore[0].velocity; _g23.set_y(_g23.y - flixel_FlxG.random.int(140,160)); numScore[0].velocity.set_x(flixel_FlxG.random.float(-5,5)); if(this.combo >= 10 || this.combo == 0) { this.add(numScore[0]); } flixel_tweens_FlxTween.tween(numScore[0],{ alpha : 0},0.2,{ onComplete : (function(numScore1) { return function(tween) { numScore1[0].destroy(); }; })(numScore), startDelay : Conductor.crochet * 0.002}); ++daLoop; } coolText.set_text(Std.string(seperatedScore)); flixel_tweens_FlxTween.tween(rating,{ alpha : 0},0.2,{ startDelay : Conductor.crochet * 0.001}); flixel_tweens_FlxTween.tween(comboSpr,{ alpha : 0},0.2,{ onComplete : function(tween1) { coolText.destroy(); comboSpr.destroy(); rating.destroy(); }, startDelay : Conductor.crochet * 0.001}); this.curSection += 1; } ,NearlyEquals: function(value1,value2,unimportantDifference) { if(unimportantDifference == null) { unimportantDifference = 10; } return Math.abs(flixel_math_FlxMath.roundDecimal(value1,1) - flixel_math_FlxMath.roundDecimal(value2,1)) < unimportantDifference; } ,upHold: null ,downHold: null ,rightHold: null ,leftHold: null ,keyShit: function() { var _gthis = this; this.up = PlayerSettings.player1.controls._up.check(); this.right = PlayerSettings.player1.controls._right.check(); this.down = PlayerSettings.player1.controls._down.check(); this.left = PlayerSettings.player1.controls._left.check(); this.upP = PlayerSettings.player1.controls._upP.check(); this.rightP = PlayerSettings.player1.controls._rightP.check(); this.downP = PlayerSettings.player1.controls._downP.check(); this.leftP = PlayerSettings.player1.controls._leftP.check(); this.upR = PlayerSettings.player1.controls._upR.check(); this.rightR = PlayerSettings.player1.controls._rightR.check(); this.downR = PlayerSettings.player1.controls._downR.check(); this.leftR = PlayerSettings.player1.controls._leftR.check(); this.pauseKey = false; this.noteWidth = Note.swagWidth; this.pauseBorderX = flixel_FlxG.width / 4; this.pauseBorderY = flixel_FlxG.height / 4; this.arrowStart = flixel_FlxG.width / 2 + 50; this.leftDownBorder = this.arrowStart + this.noteWidth; this.downUpBorder = this.leftDownBorder + this.noteWidth; this.upRightBorder = this.downUpBorder + this.noteWidth; this.arrowEnd = this.upRightBorder + this.noteWidth; var _g = 0; var _g1 = flixel_FlxG.touches.list; while(_g < _g1.length) { var touch = _g1[_g]; ++_g; var _this = touch.input; if(_this.current == 1 || _this.current == 2) { if(touch.screenX >= this.arrowStart && touch.screenX < this.leftDownBorder) { this.left = true; } if(touch.screenX >= this.leftDownBorder && touch.screenX < this.downUpBorder) { this.down = true; } if(touch.screenX >= this.downUpBorder && touch.screenX < this.upRightBorder) { this.up = true; } if(touch.screenX >= this.upRightBorder && touch.screenX <= this.arrowEnd) { this.right = true; } } if(touch.input.current == 2) { if(touch.screenX <= this.pauseBorderX && touch.screenY <= this.pauseBorderY) { this.pauseKey = true; } if(touch.screenX >= this.arrowStart && touch.screenX < this.leftDownBorder) { this.leftP = true; } if(touch.screenX >= this.leftDownBorder && touch.screenX < this.downUpBorder) { this.downP = true; } if(touch.screenX >= this.downUpBorder && touch.screenX < this.upRightBorder) { this.upP = true; } if(touch.screenX >= this.upRightBorder && touch.screenX <= this.arrowEnd) { this.rightP = true; } } if(touch.input.current == -1) { if(touch.screenX >= this.arrowStart && touch.screenX < this.leftDownBorder) { this.leftR = true; } if(touch.screenX >= this.leftDownBorder && touch.screenX < this.downUpBorder) { this.downR = true; } if(touch.screenX >= this.downUpBorder && touch.screenX < this.upRightBorder) { this.upR = true; } if(touch.screenX >= this.upRightBorder && touch.screenX <= this.arrowEnd) { this.rightR = true; } } } var _this1 = flixel_FlxG.keys.justPressed; if((_this1.keyManager.checkStatus(13,_this1.status) || this.pauseKey) && this.startedCountdown && this.canPause) { this.persistentUpdate = false; this.persistentDraw = true; this.paused = true; this.openSubState(new PauseSubState(this.boyfriend.getScreenPosition().x,this.boyfriend.getScreenPosition().y)); } if(PlayState.loadRep) { this.up = false; this.down = false; this.right = false; this.left = false; if(PlayState.repPresses < PlayState.rep.replay.keyPresses.length && PlayState.repReleases < PlayState.rep.replay.keyReleases.length) { this.upP = this.NearlyEquals(PlayState.rep.replay.keyPresses[PlayState.repPresses].time,Conductor.songPosition) && PlayState.rep.replay.keyPresses[PlayState.repPresses].key == "up"; this.rightP = this.NearlyEquals(PlayState.rep.replay.keyPresses[PlayState.repPresses].time,Conductor.songPosition) && PlayState.rep.replay.keyPresses[PlayState.repPresses].key == "right"; this.downP = this.NearlyEquals(PlayState.rep.replay.keyPresses[PlayState.repPresses].time,Conductor.songPosition) && PlayState.rep.replay.keyPresses[PlayState.repPresses].key == "down"; this.leftP = this.NearlyEquals(PlayState.rep.replay.keyPresses[PlayState.repPresses].time,Conductor.songPosition) && PlayState.rep.replay.keyPresses[PlayState.repPresses].key == "left"; this.upR = this.NearlyEquals(PlayState.rep.replay.keyReleases[PlayState.repReleases].time,Conductor.songPosition) && PlayState.rep.replay.keyReleases[PlayState.repReleases].key == "up"; this.rightR = this.NearlyEquals(PlayState.rep.replay.keyReleases[PlayState.repReleases].time,Conductor.songPosition) && PlayState.rep.replay.keyReleases[PlayState.repReleases].key == "right"; this.downR = this.NearlyEquals(PlayState.rep.replay.keyReleases[PlayState.repReleases].time,Conductor.songPosition) && PlayState.rep.replay.keyReleases[PlayState.repReleases].key == "down"; this.leftR = this.NearlyEquals(PlayState.rep.replay.keyReleases[PlayState.repReleases].time,Conductor.songPosition) && PlayState.rep.replay.keyReleases[PlayState.repReleases].key == "left"; this.upHold = this.upP ? true : this.upR ? false : true; this.rightHold = this.rightP ? true : this.rightR ? false : true; this.downHold = this.downP ? true : this.downR ? false : true; this.leftHold = this.leftP ? true : this.leftR ? false : true; } } else if(!PlayState.loadRep) { if(this.upP) { PlayState.rep.replay.keyPresses.push({ time : Conductor.songPosition, key : "up"}); } if(this.rightP) { PlayState.rep.replay.keyPresses.push({ time : Conductor.songPosition, key : "right"}); } if(this.downP) { PlayState.rep.replay.keyPresses.push({ time : Conductor.songPosition, key : "down"}); } if(this.leftP) { PlayState.rep.replay.keyPresses.push({ time : Conductor.songPosition, key : "left"}); } if(this.upR) { PlayState.rep.replay.keyReleases.push({ time : Conductor.songPosition, key : "up"}); } if(this.rightR) { PlayState.rep.replay.keyReleases.push({ time : Conductor.songPosition, key : "right"}); } if(this.downR) { PlayState.rep.replay.keyReleases.push({ time : Conductor.songPosition, key : "down"}); } if(this.leftR) { PlayState.rep.replay.keyReleases.push({ time : Conductor.songPosition, key : "left"}); } } var controlArray = [this.leftP,this.downP,this.upP,this.rightP]; if((this.upP || this.rightP || this.downP || this.leftP) && !this.boyfriend.stunned && this.generatedMusic) { PlayState.repPresses++; this.boyfriend.holdTimer = 0; var possibleNotes = []; var ignoreList = []; this.notes.forEachAlive(function(daNote) { if(daNote.canBeHit && daNote.mustPress && !daNote.tooLate) { possibleNotes.push(daNote); possibleNotes.sort(function(a,b) { return a.strumTime - b.strumTime | 0; }); ignoreList.push(daNote.noteData); } }); if(possibleNotes.length > 0) { var daNote1 = possibleNotes[0]; if(this.perfectMode) { this.noteCheck(true,daNote1); } if(possibleNotes.length >= 2) { if(possibleNotes[0].strumTime == possibleNotes[1].strumTime) { var _g2 = 0; while(_g2 < possibleNotes.length) { var coolNote = possibleNotes[_g2]; ++_g2; if(controlArray[coolNote.noteData]) { this.goodNoteHit(coolNote); } else { var inIgnoreList = false; var _g21 = 0; var _g3 = ignoreList.length; while(_g21 < _g3) { var shit = _g21++; if(controlArray[ignoreList[shit]]) { inIgnoreList = true; } } if(!inIgnoreList && !PlayState.theFunne) { this.badNoteCheck(); } } } } else if(possibleNotes[0].noteData == possibleNotes[1].noteData) { if(PlayState.loadRep) { if(this.NearlyEquals(daNote1.strumTime,PlayState.rep.replay.keyPresses[PlayState.repPresses].time,30)) { this.goodNoteHit(daNote1); haxe_Log.trace("force note hit",{ fileName : "source/PlayState.hx", lineNumber : 2332, className : "PlayState", methodName : "keyShit"}); } else { this.noteCheck(controlArray[daNote1.noteData],daNote1); } } else { this.noteCheck(controlArray[daNote1.noteData],daNote1); } } else { var _g22 = 0; while(_g22 < possibleNotes.length) { var coolNote1 = possibleNotes[_g22]; ++_g22; if(PlayState.loadRep) { if(this.NearlyEquals(coolNote1.strumTime,PlayState.rep.replay.keyPresses[PlayState.repPresses].time,30)) { this.goodNoteHit(coolNote1); haxe_Log.trace("force note hit",{ fileName : "source/PlayState.hx", lineNumber : 2349, className : "PlayState", methodName : "keyShit"}); } else { this.noteCheck(controlArray[daNote1.noteData],daNote1); } } else { this.noteCheck(controlArray[coolNote1.noteData],coolNote1); } } } } else if(PlayState.loadRep) { if(this.NearlyEquals(daNote1.strumTime,PlayState.rep.replay.keyPresses[PlayState.repPresses].time,30)) { this.goodNoteHit(daNote1); haxe_Log.trace("force note hit",{ fileName : "source/PlayState.hx", lineNumber : 2366, className : "PlayState", methodName : "keyShit"}); } else { this.noteCheck(controlArray[daNote1.noteData],daNote1); } } else { this.noteCheck(controlArray[daNote1.noteData],daNote1); } if(daNote1.wasGoodHit) { daNote1.kill(); this.notes.remove(daNote1,true); daNote1.destroy(); } } else if(!PlayState.theFunne) { this.badNoteCheck(); } } if((this.up || this.right || this.down || this.left) && this.generatedMusic || (this.upHold || this.downHold || this.leftHold || this.rightHold) && PlayState.loadRep && this.generatedMusic) { this.notes.forEachAlive(function(daNote2) { if(daNote2.canBeHit && daNote2.mustPress && daNote2.isSustainNote) { switch(daNote2.noteData) { case 0: if(_gthis.left || _gthis.leftHold) { _gthis.goodNoteHit(daNote2); } break; case 1: if(_gthis.down || _gthis.downHold) { _gthis.goodNoteHit(daNote2); } break; case 2: if(_gthis.up || _gthis.upHold) { _gthis.goodNoteHit(daNote2); } break; case 3: if(_gthis.right || _gthis.rightHold) { _gthis.goodNoteHit(daNote2); } break; } } }); } if(this.boyfriend.holdTimer > Conductor.stepCrochet * 4 * 0.001 && !this.up && !this.down && !this.right && !this.left) { if(StringTools.startsWith(this.boyfriend.animation._curAnim.name,"sing") && !StringTools.endsWith(this.boyfriend.animation._curAnim.name,"miss")) { this.boyfriend.playAnim("idle"); } } this.playerStrums.forEach(function(spr) { switch(spr.ID) { case 0: if(_gthis.leftP && spr.animation._curAnim.name != "confirm") { spr.animation.play("pressed"); } if(_gthis.leftR) { spr.animation.play("static"); PlayState.repReleases++; } break; case 1: if(_gthis.downP && spr.animation._curAnim.name != "confirm") { spr.animation.play("pressed"); } if(_gthis.downR) { spr.animation.play("static"); PlayState.repReleases++; } break; case 2: if(_gthis.upP && spr.animation._curAnim.name != "confirm") { spr.animation.play("pressed"); haxe_Log.trace("play",{ fileName : "source/PlayState.hx", lineNumber : 2451, className : "PlayState", methodName : "keyShit"}); } if(_gthis.upR) { spr.animation.play("static"); PlayState.repReleases++; } break; case 3: if(_gthis.rightP && spr.animation._curAnim.name != "confirm") { spr.animation.play("pressed"); } if(_gthis.rightR) { spr.animation.play("static"); PlayState.repReleases++; } break; } if(spr.animation._curAnim.name == "confirm" && !StringTools.startsWith(PlayState.curStage,"school")) { spr.centerOffsets(); var _g31 = spr.offset; _g31.set_x(_g31.x - 13); var _g32 = spr.offset; _g32.set_y(_g32.y - 13); } else { spr.centerOffsets(); } }); } ,noteMiss: function(direction) { if(direction == null) { direction = 1; } if(!this.boyfriend.stunned) { this.health -= 0.04; var tmp; if(this.combo > 5) { var _this = this.gf.animOffsets; tmp = __map_reserved["sad"] != null ? _this.existsReserved("sad") : _this.h.hasOwnProperty("sad"); } else { tmp = false; } if(tmp) { this.gf.playAnim("sad"); } this.combo = 0; PlayState.misses++; this.songScore -= 10; flixel_FlxG.sound.play(Paths.sound("missnote" + flixel_FlxG.random.int(1,3),null),flixel_FlxG.random.float(0.1,0.2)); switch(direction) { case 0: this.boyfriend.playAnim("singLEFTmiss",true); break; case 1: this.boyfriend.playAnim("singDOWNmiss",true); break; case 2: this.boyfriend.playAnim("singUPmiss",true); break; case 3: this.boyfriend.playAnim("singRIGHTmiss",true); break; } this.updateAccuracy(); } } ,badNoteCheck: function() { if(this.leftP) { this.noteMiss(0); } if(this.upP) { this.noteMiss(2); } if(this.rightP) { this.noteMiss(3); } if(this.downP) { this.noteMiss(1); } } ,updateAccuracy: function() { if(PlayState.misses > 0 || this.accuracy < 96) { this.fc = false; } else { this.fc = true; } this.totalPlayed += 1; this.accuracy = Math.max(0,this.totalNotesHit / this.totalPlayed * 100); } ,noteCheck: function(keyP,note) { if(PlayState.loadRep) { if(keyP) { this.goodNoteHit(note); } else if(!PlayState.theFunne) { this.badNoteCheck(); } else if(PlayState.rep.replay.keyPresses.length > PlayState.repPresses && !keyP) { if(this.NearlyEquals(note.strumTime,PlayState.rep.replay.keyPresses[PlayState.repPresses].time,4)) { this.goodNoteHit(note); } else if(!PlayState.theFunne) { this.badNoteCheck(); } } } else if(keyP) { this.goodNoteHit(note); } else if(!PlayState.theFunne) { this.badNoteCheck(); } } ,goodNoteHit: function(note) { if(!note.wasGoodHit) { if(!note.isSustainNote) { this.popUpScore(note.strumTime); this.combo += 1; } if(note.noteData >= 0) { this.health += 0.023; } else { this.health += 0.004; } switch(note.noteData) { case 0: this.boyfriend.playAnim("singLEFT",true); break; case 1: this.boyfriend.playAnim("singDOWN",true); break; case 2: this.boyfriend.playAnim("singUP",true); break; case 3: this.boyfriend.playAnim("singRIGHT",true); break; } this.playerStrums.forEach(function(spr) { if(Math.abs(note.noteData) == spr.ID) { spr.animation.play("confirm",true); } }); note.wasGoodHit = true; this.vocals.set_volume(1); note.kill(); this.notes.remove(note,true); note.destroy(); this.totalNotesHit += 1; this.updateAccuracy(); } } ,fastCarCanDrive: null ,resetFastCar: function() { this.fastCar.set_x(-12600); this.fastCar.set_y(flixel_FlxG.random.int(140,250)); this.fastCar.velocity.set_x(0); this.fastCarCanDrive = true; } ,fastCarDrive: function() { var _gthis = this; flixel_FlxG.sound.play(Paths.sound("carPass" + flixel_FlxG.random.int(0,1),null),0.7); this.fastCar.velocity.set_x(flixel_FlxG.random.int(170,220) / flixel_FlxG.elapsed * 3); this.fastCarCanDrive = false; new flixel_util_FlxTimer().start(2,function(tmr) { _gthis.resetFastCar(); }); } ,trainMoving: null ,trainFrameTiming: null ,trainCars: null ,trainFinishing: null ,trainCooldown: null ,trainStart: function() { this.trainMoving = true; if(this.trainSound._channel == null) { this.trainSound.play(true); } } ,startedMoving: null ,updateTrainPos: function() { if(this.trainSound._time >= 4700) { this.startedMoving = true; this.gf.playAnim("hairBlow"); } if(this.startedMoving) { var _g = this.phillyTrain; _g.set_x(_g.x - 400); if(this.phillyTrain.x < -2000 && !this.trainFinishing) { this.phillyTrain.set_x(-1150); this.trainCars -= 1; if(this.trainCars <= 0) { this.trainFinishing = true; } } if(this.phillyTrain.x < -4000 && this.trainFinishing) { this.trainReset(); } } } ,trainReset: function() { this.gf.playAnim("hairFall"); this.phillyTrain.set_x(flixel_FlxG.width + 200); this.trainMoving = false; this.trainCars = 8; this.trainFinishing = false; this.startedMoving = false; } ,lightningStrikeShit: function() { flixel_FlxG.sound.play(Paths.sound("thunder_" + flixel_FlxG.random.int(1,2),null)); this.halloweenBG.animation.play("lightning"); this.lightningStrikeBeat = this.curBeat; this.lightningOffset = flixel_FlxG.random.int(8,24); this.boyfriend.playAnim("scared",true); this.gf.playAnim("scared",true); } ,stepHit: function() { MusicBeatState.prototype.stepHit.call(this); if(flixel_FlxG.sound.music._time > Conductor.songPosition + 20 || flixel_FlxG.sound.music._time < Conductor.songPosition - 20) { this.resyncVocals(); } var tmp = this.dad.curCharacter == "spooky" && this.curStep % 4 == 2; } ,lightningStrikeBeat: null ,lightningOffset: null ,beatHit: function() { MusicBeatState.prototype.beatHit.call(this); if(this.generatedMusic) { var Order = 1; if(Order == null) { Order = -1; } var a1 = Order; this.notes.members.sort(function(a2,a3) { var Value1 = a2.y; var Value2 = a3.y; var result = 0; if(Value1 < Value2) { result = a1; } else if(Value1 > Value2) { result = -a1; } return result; }); } if(PlayState.SONG.notes[Math.floor(this.curStep / 16)] != null) { if(PlayState.SONG.notes[Math.floor(this.curStep / 16)].changeBPM) { Conductor.changeBPM(PlayState.SONG.notes[Math.floor(this.curStep / 16)].bpm); } if(PlayState.SONG.notes[Math.floor(this.curStep / 16)].mustHitSection) { this.dad.dance(); } } this.wiggleShit.update(Conductor.crochet); if(this.curSong.toLowerCase() == "milf" && this.curBeat >= 168 && this.curBeat < 200 && this.camZooming && flixel_FlxG.camera.zoom < 1.35) { var _g = flixel_FlxG.camera; _g.set_zoom(_g.zoom + 0.015); var _g1 = this.camHUD; _g1.set_zoom(_g1.zoom + 0.03); } if(this.camZooming && flixel_FlxG.camera.zoom < 1.35 && this.curBeat % 4 == 0) { var _g2 = flixel_FlxG.camera; _g2.set_zoom(_g2.zoom + 0.015); var _g3 = this.camHUD; _g3.set_zoom(_g3.zoom + 0.03); } this.iconP1.setGraphicSize(this.iconP1.get_width() + 30 | 0); this.iconP2.setGraphicSize(this.iconP2.get_width() + 30 | 0); this.iconP1.updateHitbox(); this.iconP2.updateHitbox(); if(this.curBeat % this.gfSpeed == 0) { this.gf.dance(); } if(!StringTools.startsWith(this.boyfriend.animation._curAnim.name,"sing")) { this.boyfriend.playAnim("idle"); } if(this.curBeat % 8 == 7 && this.curSong == "Bopeebo") { this.boyfriend.playAnim("hey",true); if(PlayState.SONG.song == "Tutorial" && this.dad.curCharacter == "gf") { this.dad.playAnim("cheer",true); } } switch(PlayState.curStage) { case "limo": this.grpLimoDancers.forEach(function(dancer) { dancer.dance(); }); var Chance = 10; if(Chance == null) { Chance = 50; } if(flixel_FlxG.random.float(0,100) < Chance && this.fastCarCanDrive) { this.fastCarDrive(); } break; case "mall": this.upperBoppers.animation.play("bop",true); this.bottomBoppers.animation.play("bop",true); this.santa.animation.play("idle",true); break; case "philly": if(!this.trainMoving) { this.trainCooldown += 1; } if(this.curBeat % 4 == 0) { this.phillyCityLights.forEach(function(light) { light.set_visible(false); }); this.curLight = flixel_FlxG.random.int(0,this.phillyCityLights.length - 1); this.phillyCityLights.members[this.curLight].set_visible(true); } var tmp; if(this.curBeat % 8 == 4) { var Chance1 = 30; if(Chance1 == null) { Chance1 = 50; } tmp = flixel_FlxG.random.float(0,100) < Chance1; } else { tmp = false; } if(tmp && !this.trainMoving && this.trainCooldown > 8) { this.trainCooldown = flixel_FlxG.random.int(-4,0); this.trainStart(); } break; case "school": this.bgGirls.dance(); break; } var tmp1; if(this.isHalloween) { var Chance2 = 10; if(Chance2 == null) { Chance2 = 50; } tmp1 = flixel_FlxG.random.float(0,100) < Chance2; } else { tmp1 = false; } if(tmp1 && this.curBeat > this.lightningStrikeBeat + this.lightningOffset) { this.lightningStrikeShit(); } } ,curLight: null ,__class__: PlayState }); var PlayerSettings = function(id,scheme) { this.id = id; this.controls = new Controls("player" + id,scheme); }; $hxClasses["PlayerSettings"] = PlayerSettings; PlayerSettings.__name__ = "PlayerSettings"; PlayerSettings.player1 = null; PlayerSettings.player2 = null; PlayerSettings.init = function() { if(PlayerSettings.player1 == null) { PlayerSettings.player1 = new PlayerSettings(0,KeyboardScheme.Solo); ++PlayerSettings.numPlayers; } var numGamepads = flixel_FlxG.gamepads.get_numActiveGamepads(); if(numGamepads > 0) { var gamepad = flixel_FlxG.gamepads._activeGamepads[0]; if(gamepad == null) { throw new js__$Boot_HaxeError("Unexpected null gamepad. id:0"); } PlayerSettings.player1.controls.addDefaultGamepad(0); } if(numGamepads > 1) { if(PlayerSettings.player2 == null) { PlayerSettings.player2 = new PlayerSettings(1,KeyboardScheme.None); ++PlayerSettings.numPlayers; } var gamepad1 = flixel_FlxG.gamepads._activeGamepads[1]; if(gamepad1 == null) { throw new js__$Boot_HaxeError("Unexpected null gamepad. id:0"); } PlayerSettings.player2.controls.addDefaultGamepad(1); } }; PlayerSettings.reset = function() { PlayerSettings.player1 = null; PlayerSettings.player2 = null; PlayerSettings.numPlayers = 0; }; PlayerSettings.prototype = { id: null ,controls: null ,setKeyboardScheme: function(scheme) { this.controls.setKeyboardScheme(scheme); } ,__class__: PlayerSettings }; var Reflect = function() { }; $hxClasses["Reflect"] = Reflect; Reflect.__name__ = "Reflect"; Reflect.field = function(o,field) { try { return o[field]; } catch( e ) { haxe_CallStack.lastException = e; var e1 = ((e) instanceof js__$Boot_HaxeError) ? e.val : e; return null; } }; Reflect.getProperty = function(o,field) { var tmp; if(o == null) { return null; } else { var tmp1; if(o.__properties__) { tmp = o.__properties__["get_" + field]; tmp1 = tmp; } else { tmp1 = false; } if(tmp1) { return o[tmp](); } else { return o[field]; } } }; Reflect.setProperty = function(o,field,value) { var tmp; var tmp1; if(o.__properties__) { tmp = o.__properties__["set_" + field]; tmp1 = tmp; } else { tmp1 = false; } if(tmp1) { o[tmp](value); } else { o[field] = value; } }; Reflect.fields = function(o) { var a = []; if(o != null) { var hasOwnProperty = Object.prototype.hasOwnProperty; for( var f in o ) { if(f != "__id__" && f != "hx__closures__" && hasOwnProperty.call(o,f)) { a.push(f); } } } return a; }; Reflect.isFunction = function(f) { if(typeof(f) == "function") { return !(f.__name__ || f.__ename__); } else { return false; } }; Reflect.compare = function(a,b) { if(a == b) { return 0; } else if(a > b) { return 1; } else { return -1; } }; Reflect.compareMethods = function(f1,f2) { if(f1 == f2) { return true; } if(!Reflect.isFunction(f1) || !Reflect.isFunction(f2)) { return false; } if(f1.scope == f2.scope && f1.method == f2.method) { return f1.method != null; } else { return false; } }; Reflect.isObject = function(v) { if(v == null) { return false; } var t = typeof(v); if(!(t == "string" || t == "object" && v.__enum__ == null)) { if(t == "function") { return (v.__name__ || v.__ename__) != null; } else { return false; } } else { return true; } }; Reflect.isEnumValue = function(v) { if(v != null) { return v.__enum__ != null; } else { return false; } }; Reflect.deleteField = function(o,field) { if(!Object.prototype.hasOwnProperty.call(o,field)) { return false; } delete(o[field]); return true; }; Reflect.makeVarArgs = function(f) { return function() { var a = Array.prototype.slice.call(arguments); return f(a); }; }; var Replay = function(path) { this.path = ""; this.path = path; this.replay = { songName : "Tutorial", songDiff : 1, keyPresses : [], keyReleases : [], replayGameVer : Replay.version, timestamp : new Date()}; }; $hxClasses["Replay"] = Replay; Replay.__name__ = "Replay"; Replay.LoadReplay = function(path) { var rep = new Replay(path); rep.LoadFromJSON(); haxe_Log.trace("basic replay data:\nSong Name: " + rep.replay.songName + "\nSong Diff: " + rep.replay.songDiff + "\nKeys Length: " + rep.replay.keyPresses.length,{ fileName : "source/Replay.hx", lineNumber : 61, className : "Replay", methodName : "LoadReplay"}); return rep; }; Replay.prototype = { path: null ,replay: null ,SaveReplay: function() { var json = { "songName" : PlayState.SONG.song.toLowerCase(), "songDiff" : PlayState.storyDifficulty, "keyPresses" : this.replay.keyPresses, "keyReleases" : this.replay.keyReleases, "timestamp" : new Date(), "replayGameVer" : Replay.version}; var data = JSON.stringify(json); } ,LoadFromJSON: function() { } ,__class__: Replay }; var Section = function(lengthInSteps) { if(lengthInSteps == null) { lengthInSteps = 16; } this.mustHitSection = true; this.typeOfSection = 0; this.lengthInSteps = 16; this.sectionNotes = []; this.lengthInSteps = lengthInSteps; }; $hxClasses["Section"] = Section; Section.__name__ = "Section"; Section.prototype = { sectionNotes: null ,lengthInSteps: null ,typeOfSection: null ,mustHitSection: null ,__class__: Section }; var Song = function(song,notes,bpm) { this.player2 = "dad"; this.player1 = "bf"; this.speed = 1; this.needsVoices = true; this.song = song; this.notes = notes; this.bpm = bpm; }; $hxClasses["Song"] = Song; Song.__name__ = "Song"; Song.loadFromJson = function(jsonInput,folder) { var rawJson = StringTools.trim(lime_utils_Assets.getText(Paths.getPath("data/" + (folder.toLowerCase() + "/" + jsonInput.toLowerCase()) + ".json","TEXT",null))); while(!StringTools.endsWith(rawJson,"}")) rawJson = HxOverrides.substr(rawJson,0,rawJson.length - 1); return Song.parseJSONshit(rawJson); }; Song.parseJSONshit = function(rawJson) { var swagShit = JSON.parse(rawJson).song; swagShit.validScore = true; return swagShit; }; Song.prototype = { song: null ,notes: null ,bpm: null ,needsVoices: null ,speed: null ,player1: null ,player2: null ,__class__: Song }; var Std = function() { }; $hxClasses["Std"] = Std; Std.__name__ = "Std"; Std.string = function(s) { return js_Boot.__string_rec(s,""); }; Std.parseInt = function(x) { if(x != null) { var _g = 0; var _g1 = x.length; while(_g < _g1) { var i = _g++; var c = x.charCodeAt(i); if(c <= 8 || c >= 14 && c != 32 && c != 45) { var v = parseInt(x, (x[(i + 1)]=="x" || x[(i + 1)]=="X") ? 16 : 10); if(isNaN(v)) { return null; } else { return v; } } } } return null; }; var StoryMenuState = function(TransIn,TransOut) { this.intendedScore = 0; this.lerpScore = 0; this.stopspamming = false; this.selectedWeek = false; this.movedBack = false; this.resizeFactor = 1; this.curWeek = 0; this.weekNames = ["","Daddy Dearest","Spooky Month","PICO","MOMMY MUST MURDER","RED SNOW","hating simulator ft. moawling"]; this.weekCharacters = [["bfConfirm","gf","bf"],["dad","gf","bf"],["spooky","gf","bf"],["pico","gf","bf"],["mom","gf","bf"],["parents-christmas","gf","bf"],["senpai","gf","bf"]]; this.curDifficulty = 1; this.weekData = [["Tutorial"],["Bopeebo","Fresh","Dadbattle"],["Spookeez","South","Monster"],["Pico","Philly","Blammed"],["Satin-Panties","High","Milf"],["Cocoa","Eggnog","Winter-Horrorland"],["Senpai","Roses","Thorns"]]; MusicBeatState.call(this,TransIn,TransOut); }; $hxClasses["StoryMenuState"] = StoryMenuState; StoryMenuState.__name__ = "StoryMenuState"; StoryMenuState.__super__ = MusicBeatState; StoryMenuState.prototype = $extend(MusicBeatState.prototype,{ scoreText: null ,weekData: null ,curDifficulty: null ,weekCharacters: null ,weekNames: null ,txtWeekTitle: null ,curWeek: null ,txtTracklist: null ,weekCharacterThing: null ,grpWeekText: null ,grpWeekCharacters: null ,grpLocks: null ,difficultySelectors: null ,sprDifficulty: null ,leftArrow: null ,rightArrow: null ,resizeFactor: null ,scrollUp: null ,scrollDown: null ,scrollRight: null ,accept: null ,back: null ,create: function() { this.transIn = flixel_addons_transition_FlxTransitionableState.defaultTransIn; this.transOut = flixel_addons_transition_FlxTransitionableState.defaultTransOut; if(flixel_FlxG.sound.music != null) { if(flixel_FlxG.sound.music._channel == null) { flixel_FlxG.sound.playMusic(Paths.getPath("music/" + "freakyMenu" + "." + "mp3","MUSIC",null)); } } this.persistentUpdate = this.persistentDraw = true; this.scoreText = new flixel_text_FlxText(10,10,0,"SCORE: 49324858",36); this.scoreText.setFormat("VCR OSD Mono",32); this.txtWeekTitle = new flixel_text_FlxText(flixel_FlxG.width * 0.7,10,0,"",32); this.txtWeekTitle.setFormat("VCR OSD Mono",32,-1,"right"); this.txtWeekTitle.set_alpha(0.7); var rankText = new flixel_text_FlxText(0,10); rankText.set_text("RANK: GREAT"); rankText.setFormat("assets/fonts/" + "vcr.ttf",32); rankText.set_size(this.scoreText._defaultFormat.size | 0); rankText.screenCenter(flixel_util_FlxAxes.X); var library = null; var ui_tex = flixel_graphics_frames_FlxAtlasFrames.fromSparrow(Paths.getPath("images/" + "campaign_menu_UI_assets" + ".png","IMAGE",library),Paths.getPath("images/" + "campaign_menu_UI_assets" + ".xml","TEXT",library)); var yellowBG = new flixel_FlxSprite(0,56).makeGraphic(flixel_FlxG.width,400,-405679); this.grpWeekText = new flixel_group_FlxTypedGroup(); this.add(this.grpWeekText); var blackBarThingie = new flixel_FlxSprite().makeGraphic(flixel_FlxG.width,56,-16777216); this.add(blackBarThingie); this.grpWeekCharacters = new flixel_group_FlxTypedGroup(); this.grpLocks = new flixel_group_FlxTypedGroup(); this.add(this.grpLocks); haxe_Log.trace("Line 70",{ fileName : "source/StoryMenuState.hx", lineNumber : 119, className : "StoryMenuState", methodName : "create"}); var _g = 0; var _g1 = this.weekData.length; while(_g < _g1) { var i = _g++; var weekThing = new MenuItem(0,yellowBG.y + yellowBG.get_height() + 10,i); var _g2 = weekThing; _g2.set_y(_g2.y + (weekThing.get_height() + 20) * i); weekThing.targetY = i; this.grpWeekText.add(weekThing); weekThing.screenCenter(flixel_util_FlxAxes.X); weekThing.set_antialiasing(true); if(!StoryMenuState.weekUnlocked[i]) { var lock = new flixel_FlxSprite(weekThing.get_width() + 10 + weekThing.x); lock.set_frames(ui_tex); lock.animation.addByPrefix("lock","lock"); lock.animation.play("lock"); lock.ID = i; lock.set_antialiasing(true); this.grpLocks.add(lock); } } haxe_Log.trace("Line 96",{ fileName : "source/StoryMenuState.hx", lineNumber : 145, className : "StoryMenuState", methodName : "create"}); this.weekCharacterThing = new MenuCharacter(flixel_FlxG.width * 0 / 4,this.weekCharacters[0][0]); this.weekCharacterThing.set_antialiasing(true); this.weekCharacterThing.setGraphicSize(this.weekCharacterThing.get_width() * this.resizeFactor | 0); this.weekCharacterThing.updateHitbox(); this.grpWeekCharacters.add(this.weekCharacterThing); this.weekCharacterThing = new MenuCharacter(flixel_FlxG.width / 4,this.weekCharacters[0][1]); this.weekCharacterThing.set_antialiasing(true); this.weekCharacterThing.setGraphicSize(this.weekCharacterThing.get_width() * this.resizeFactor | 0); this.weekCharacterThing.updateHitbox(); this.grpWeekCharacters.add(this.weekCharacterThing); this.weekCharacterThing = new MenuCharacter(flixel_FlxG.width * 2 / 4,this.weekCharacters[0][2]); this.weekCharacterThing.set_antialiasing(true); this.weekCharacterThing.setGraphicSize(this.weekCharacterThing.get_width() * this.resizeFactor | 0); this.weekCharacterThing.updateHitbox(); this.grpWeekCharacters.add(this.weekCharacterThing); this.grpWeekCharacters.members[0].set_visible(false); this.grpWeekCharacters.members[0].offset.set(-100,-75); this.grpWeekCharacters.members[1].offset.set(-150,-100); this.grpWeekCharacters.members[2].offset.set(-300,-200); this.difficultySelectors = new flixel_group_FlxTypedGroup(); this.add(this.difficultySelectors); haxe_Log.trace("Line 124",{ fileName : "source/StoryMenuState.hx", lineNumber : 168, className : "StoryMenuState", methodName : "create"}); this.leftArrow = new flixel_FlxSprite(this.grpWeekText.members[0].x + this.grpWeekText.members[0].get_width() + 10,this.grpWeekText.members[0].y + 10); this.leftArrow.set_frames(ui_tex); this.leftArrow.animation.addByPrefix("idle","arrow left"); this.leftArrow.animation.addByPrefix("press","arrow push left"); this.leftArrow.animation.play("idle"); this.difficultySelectors.add(this.leftArrow); this.sprDifficulty = new flixel_FlxSprite(this.leftArrow.x + 130,this.leftArrow.y); this.sprDifficulty.set_frames(ui_tex); this.sprDifficulty.animation.addByPrefix("easy","EASY"); this.sprDifficulty.animation.addByPrefix("normal","NORMAL"); this.sprDifficulty.animation.addByPrefix("hard","HARD"); this.sprDifficulty.animation.play("easy"); this.changeDifficulty(); this.difficultySelectors.add(this.sprDifficulty); this.rightArrow = new flixel_FlxSprite(this.sprDifficulty.x + this.sprDifficulty.get_width() + 50,this.leftArrow.y); this.rightArrow.set_frames(ui_tex); this.rightArrow.animation.addByPrefix("idle","arrow right"); this.rightArrow.animation.addByPrefix("press","arrow push right",24,false); this.rightArrow.animation.play("idle"); this.difficultySelectors.add(this.rightArrow); haxe_Log.trace("Line 150",{ fileName : "source/StoryMenuState.hx", lineNumber : 194, className : "StoryMenuState", methodName : "create"}); this.add(yellowBG); this.add(this.grpWeekCharacters); this.txtTracklist = new flixel_text_FlxText(flixel_FlxG.width * 0.05,yellowBG.x + yellowBG.get_height() + 100,0,"Tracks",32); this.txtTracklist.set_alignment("center"); this.txtTracklist.set_font(rankText._font); this.txtTracklist.set_color(-1747081); this.add(this.txtTracklist); this.add(this.scoreText); this.add(this.txtWeekTitle); this.updateText(); haxe_Log.trace("Line 165",{ fileName : "source/StoryMenuState.hx", lineNumber : 210, className : "StoryMenuState", methodName : "create"}); MusicBeatState.prototype.create.call(this); } ,update: function(elapsed) { var _gthis = this; var a = this.lerpScore; this.lerpScore = Math.floor(a + 0.5 * (this.intendedScore - a)); this.scoreText.set_text("WEEK SCORE:" + this.lerpScore); this.txtWeekTitle.set_text(this.weekNames[this.curWeek].toUpperCase()); this.txtWeekTitle.set_x(flixel_FlxG.width - (this.txtWeekTitle.get_width() + 10)); this.difficultySelectors.set_visible(StoryMenuState.weekUnlocked[this.curWeek]); this.grpLocks.forEach(function(lock) { lock.set_y(_gthis.grpWeekText.members[lock.ID].y); }); if(!this.movedBack) { if(!this.selectedWeek) { this.scrollUp = false; this.scrollDown = false; this.scrollRight = false; this.accept = false; this.back = false; var _g = 0; var _g1 = flixel_FlxG.swipes; while(_g < _g1.length) { var swipe = _g1[_g]; ++_g; var dx = swipe.startPosition.x - swipe.endPosition.x; var dy = swipe.startPosition.y - swipe.endPosition.y; if(Math.sqrt(dx * dx + dy * dy) >= 25) { if(swipe.startPosition.angleBetween(swipe.endPosition) >= -45 && swipe.startPosition.angleBetween(swipe.endPosition) <= 45) { this.scrollDown = true; } if(swipe.startPosition.angleBetween(swipe.endPosition) > -135 && swipe.startPosition.angleBetween(swipe.endPosition) < -45) { this.back = true; } if(swipe.startPosition.angleBetween(swipe.endPosition) > 45 && swipe.startPosition.angleBetween(swipe.endPosition) < 135) { this.scrollRight = true; } if(swipe.startPosition.angleBetween(swipe.endPosition) >= -180 && swipe.startPosition.angleBetween(swipe.endPosition) <= -135 || swipe.startPosition.angleBetween(swipe.endPosition) >= 135 && swipe.startPosition.angleBetween(swipe.endPosition) <= 180) { this.scrollUp = true; } } else { this.accept = true; } } if(PlayerSettings.player1.controls._upP.check() || this.scrollUp) { this.changeWeek(-1); } if(PlayerSettings.player1.controls._downP.check() || this.scrollDown) { this.changeWeek(1); } if(PlayerSettings.player1.controls._right.check()) { this.rightArrow.animation.play("press"); } else { this.rightArrow.animation.play("idle"); } if(PlayerSettings.player1.controls._left.check()) { this.leftArrow.animation.play("press"); } else { this.leftArrow.animation.play("idle"); } if(PlayerSettings.player1.controls._rightP.check() || this.scrollRight) { this.changeDifficulty(1); } if(PlayerSettings.player1.controls._leftP.check()) { this.changeDifficulty(-1); } } if(PlayerSettings.player1.controls._accept.check() || this.accept) { this.selectWeek(); } } if((PlayerSettings.player1.controls._back.check() || this.back) && !this.movedBack && !this.selectedWeek) { flixel_FlxG.sound.play(Paths.sound("cancelMenu")); this.movedBack = true; var nextState = new MainMenuState(); if(flixel_FlxG.game._state.switchTo(nextState)) { flixel_FlxG.game._requestedState = nextState; } } MusicBeatState.prototype.update.call(this,elapsed); } ,movedBack: null ,selectedWeek: null ,stopspamming: null ,selectWeek: function() { if(StoryMenuState.weekUnlocked[this.curWeek]) { if(this.stopspamming == false) { flixel_FlxG.sound.play(Paths.sound("confirmMenu")); this.grpWeekText.members[this.curWeek].startFlashing(); this.grpWeekCharacters.members[2].animation.play("bfConfirm"); this.stopspamming = true; } PlayState.storyPlaylist = this.weekData[this.curWeek]; PlayState.isStoryMode = true; this.selectedWeek = true; var diffic = ""; switch(this.curDifficulty) { case 0: diffic = "-easy"; break; case 2: diffic = "-hard"; break; } PlayState.storyDifficulty = this.curDifficulty; PlayState.SONG = Song.loadFromJson(PlayState.storyPlaylist[0].toLowerCase() + diffic,PlayState.storyPlaylist[0].toLowerCase()); PlayState.storyWeek = this.curWeek; PlayState.campaignScore = 0; new flixel_util_FlxTimer().start(1,function(tmr) { var target = new PlayState(); var stopMusic = true; if(stopMusic == null) { stopMusic = false; } var nextState = LoadingState.getNextState(target,stopMusic); if(flixel_FlxG.game._state.switchTo(nextState)) { flixel_FlxG.game._requestedState = nextState; } }); } } ,changeDifficulty: function(change) { if(change == null) { change = 0; } this.curDifficulty += change; if(this.curDifficulty < 0) { this.curDifficulty = 2; } if(this.curDifficulty > 2) { this.curDifficulty = 0; } this.sprDifficulty.offset.set_x(0); switch(this.curDifficulty) { case 0: this.sprDifficulty.animation.play("easy"); this.sprDifficulty.offset.set_x(20); break; case 1: this.sprDifficulty.animation.play("normal"); this.sprDifficulty.offset.set_x(70); break; case 2: this.sprDifficulty.animation.play("hard"); this.sprDifficulty.offset.set_x(20); break; } this.sprDifficulty.set_alpha(0); this.sprDifficulty.set_y(this.leftArrow.y - 15); this.intendedScore = Highscore.getWeekScore(this.curWeek,this.curDifficulty); this.intendedScore = Highscore.getWeekScore(this.curWeek,this.curDifficulty); flixel_tweens_FlxTween.tween(this.sprDifficulty,{ y : this.leftArrow.y + 15, alpha : 1},0.07); } ,lerpScore: null ,intendedScore: null ,changeWeek: function(change) { if(change == null) { change = 0; } this.curWeek += change; if(this.curWeek >= this.weekData.length) { this.curWeek = 0; } if(this.curWeek < 0) { this.curWeek = this.weekData.length - 1; } var bullShit = 0; var _g = 0; var _g1 = this.grpWeekText.members; while(_g < _g1.length) { var item = _g1[_g]; ++_g; item.targetY = bullShit - this.curWeek; if(item.targetY == 0 && StoryMenuState.weekUnlocked[this.curWeek]) { item.set_alpha(1); } else { item.set_alpha(0.6); } ++bullShit; } flixel_FlxG.sound.play(Paths.sound("scrollMenu")); this.updateText(); } ,updateText: function() { this.grpWeekCharacters.members[0].set_flipX(false); this.grpWeekCharacters.members[0].set_visible(true); this.grpWeekCharacters.members[0].animation.play(this.weekCharacters[this.curWeek][0]); this.grpWeekCharacters.members[1].animation.play(this.weekCharacters[this.curWeek][1]); this.grpWeekCharacters.members[2].animation.play(this.weekCharacters[this.curWeek][2]); this.txtTracklist.set_text("Tracks\n"); switch(this.grpWeekCharacters.members[0].animation._curAnim.name) { case "bfConfirm": this.grpWeekCharacters.members[0].set_visible(false); this.grpWeekCharacters.members[0].setGraphicSize(this.grpWeekCharacters.members[0].get_width() * this.resizeFactor | 0); break; case "dad": this.grpWeekCharacters.members[0].offset.set(-100,-75); this.grpWeekCharacters.members[0].setGraphicSize(this.grpWeekCharacters.members[0].get_width() * 0.95 * this.resizeFactor | 0); break; case "mom": this.grpWeekCharacters.members[0].offset.set(-100,-50); this.grpWeekCharacters.members[0].setGraphicSize(this.grpWeekCharacters.members[0].get_width() * 0.8 * this.resizeFactor | 0); break; case "parents-christmas": this.grpWeekCharacters.members[0].offset.set(0,-50); this.grpWeekCharacters.members[0].setGraphicSize(this.grpWeekCharacters.members[0].get_width() * 1.5 * this.resizeFactor | 0); break; case "pico": this.grpWeekCharacters.members[0].offset.set(-100,-175); this.grpWeekCharacters.members[0].setGraphicSize(this.grpWeekCharacters.members[0].get_width() * this.resizeFactor | 0); this.grpWeekCharacters.members[0].set_flipX(true); break; case "senpai": this.grpWeekCharacters.members[0].offset.set(-150,-250); this.grpWeekCharacters.members[0].setGraphicSize(this.grpWeekCharacters.members[0].get_width() * 1.25 * this.resizeFactor | 0); break; case "spooky": this.grpWeekCharacters.members[0].offset.set(-75,-100); this.grpWeekCharacters.members[0].setGraphicSize(this.grpWeekCharacters.members[0].get_width() * this.resizeFactor | 0); break; default: this.grpWeekCharacters.members[0].offset.set(0,0); this.grpWeekCharacters.members[0].setGraphicSize(this.grpWeekCharacters.members[0].get_width() * this.resizeFactor | 0); } var stringThing = this.weekData[this.curWeek]; var _g1 = 0; while(_g1 < stringThing.length) { var i = stringThing[_g1]; ++_g1; var _g11 = this.txtTracklist; _g11.set_text(_g11.text + ("\n" + i)); } this.txtTracklist.set_text(this.txtTracklist.text.toUpperCase()); this.txtTracklist.screenCenter(flixel_util_FlxAxes.X); var _g2 = this.txtTracklist; _g2.set_x(_g2.x - flixel_FlxG.width * 0.35); this.intendedScore = Highscore.getWeekScore(this.curWeek,this.curDifficulty); } ,__class__: StoryMenuState }); var _$String_String_$Impl_$ = function() { }; $hxClasses["_String.String_Impl_"] = _$String_String_$Impl_$; _$String_String_$Impl_$.__name__ = "_String.String_Impl_"; _$String_String_$Impl_$.fromCharCode = function(code) { return String.fromCodePoint(code); }; var StringBuf = function() { this.b = ""; }; $hxClasses["StringBuf"] = StringBuf; StringBuf.__name__ = "StringBuf"; StringBuf.prototype = { b: null ,__class__: StringBuf }; var StringTools = function() { }; $hxClasses["StringTools"] = StringTools; StringTools.__name__ = "StringTools"; StringTools.htmlEscape = function(s,quotes) { var buf_b = ""; var _g_offset = 0; var _g_s = s; while(_g_offset < _g_s.length) { var s1 = _g_s; var index = _g_offset++; var c = s1.charCodeAt(index); if(c >= 55296 && c <= 56319) { c = c - 55232 << 10 | s1.charCodeAt(index + 1) & 1023; } var c1 = c; if(c1 >= 65536) { ++_g_offset; } var code = c1; switch(code) { case 34: if(quotes) { buf_b += """; } else { buf_b += String.fromCodePoint(code); } break; case 38: buf_b += "&"; break; case 39: if(quotes) { buf_b += "'"; } else { buf_b += String.fromCodePoint(code); } break; case 60: buf_b += "<"; break; case 62: buf_b += ">"; break; default: buf_b += String.fromCodePoint(code); } } return buf_b; }; StringTools.htmlUnescape = function(s) { return s.split(">").join(">").split("<").join("<").split(""").join("\"").split("'").join("'").split("&").join("&"); }; StringTools.startsWith = function(s,start) { if(s.length >= start.length) { return s.lastIndexOf(start,0) == 0; } else { return false; } }; StringTools.endsWith = function(s,end) { var elen = end.length; var slen = s.length; if(slen >= elen) { return s.indexOf(end,slen - elen) == slen - elen; } else { return false; } }; StringTools.isSpace = function(s,pos) { var c = HxOverrides.cca(s,pos); if(!(c > 8 && c < 14)) { return c == 32; } else { return true; } }; StringTools.ltrim = function(s) { var l = s.length; var r = 0; while(r < l && StringTools.isSpace(s,r)) ++r; if(r > 0) { return HxOverrides.substr(s,r,l - r); } else { return s; } }; StringTools.rtrim = function(s) { var l = s.length; var r = 0; while(r < l && StringTools.isSpace(s,l - r - 1)) ++r; if(r > 0) { return HxOverrides.substr(s,0,l - r); } else { return s; } }; StringTools.trim = function(s) { return StringTools.ltrim(StringTools.rtrim(s)); }; StringTools.replace = function(s,sub,by) { return s.split(sub).join(by); }; StringTools.hex = function(n,digits) { var s = ""; var hexChars = "0123456789ABCDEF"; while(true) { s = hexChars.charAt(n & 15) + s; n >>>= 4; if(!(n > 0)) { break; } } if(digits != null) { while(s.length < digits) s = "0" + s; } return s; }; var TitleState = function(TransIn,TransOut) { this.skippedIntro = false; this.transitioning = false; this.danceLeft = false; this.curWacky = []; MusicBeatState.call(this,TransIn,TransOut); }; $hxClasses["TitleState"] = TitleState; TitleState.__name__ = "TitleState"; TitleState.__super__ = MusicBeatState; TitleState.prototype = $extend(MusicBeatState.prototype,{ blackScreen: null ,credGroup: null ,credTextShit: null ,textGroup: null ,ngSpr: null ,curWacky: null ,wackyImage: null ,create: function() { polymod_Polymod.init({ modRoot : "mods", dirs : ["introMod"]}); PlayerSettings.init(); this.curWacky = flixel_FlxG.random.getObject_Array_String(this.getIntroTextShit()); MusicBeatState.prototype.create.call(this); flixel_FlxG.save.bind("funkin","ninjamuffin99"); Highscore.load(); if(flixel_FlxG.save.data.weekUnlocked != null) { if(StoryMenuState.weekUnlocked.length < 4) { StoryMenuState.weekUnlocked.splice(0,0,true); } if(!StoryMenuState.weekUnlocked[0]) { StoryMenuState.weekUnlocked[0] = true; } } this.startIntro(); } ,logoBl: null ,gfDance: null ,danceLeft: null ,titleText: null ,startIntro: function() { if(!TitleState.initialized) { var diamond = flixel_graphics_FlxGraphic.fromClass(flixel_addons_transition_GraphicTransTileDiamond); diamond.persist = true; diamond.set_destroyOnNoUse(false); flixel_addons_transition_FlxTransitionableState.defaultTransIn = new flixel_addons_transition_TransitionData("fade",-16777216,1,new flixel_math_FlxPoint(0,-1),{ asset : diamond, width : 32, height : 32},new flixel_math_FlxRect(-200,-200,flixel_FlxG.width * 1.4,flixel_FlxG.height * 1.4)); flixel_addons_transition_FlxTransitionableState.defaultTransOut = new flixel_addons_transition_TransitionData("fade",-16777216,0.7,new flixel_math_FlxPoint(0,1),{ asset : diamond, width : 32, height : 32},new flixel_math_FlxRect(-200,-200,flixel_FlxG.width * 1.4,flixel_FlxG.height * 1.4)); this.transIn = flixel_addons_transition_FlxTransitionableState.defaultTransIn; this.transOut = flixel_addons_transition_FlxTransitionableState.defaultTransOut; flixel_FlxG.sound.playMusic(Paths.getPath("music/" + "freakyMenu" + "." + "mp3","MUSIC",null),0); var _this = flixel_FlxG.sound.music; var Duration = 4; var From = 0; var To = 0.7; if(To == null) { To = 1; } if(From == null) { From = 0; } if(Duration == null) { Duration = 1; } if(_this._channel == null) { _this.play(); } if(_this.fadeTween != null) { _this.fadeTween.cancel(); } _this.fadeTween = flixel_tweens_FlxTween.num(From,To,Duration,{ onComplete : null},$bind(_this,_this.volumeTween)); } Conductor.changeBPM(102); this.persistentUpdate = true; var bg = new flixel_FlxSprite().makeGraphic(flixel_FlxG.width,flixel_FlxG.height,-16777216); this.add(bg); this.logoBl = new flixel_FlxSprite(-150,-100); var library = null; this.logoBl.set_frames(flixel_graphics_frames_FlxAtlasFrames.fromSparrow(Paths.getPath("images/" + "logoBumpin" + ".png","IMAGE",library),Paths.getPath("images/" + "logoBumpin" + ".xml","TEXT",library))); this.logoBl.set_antialiasing(true); this.logoBl.animation.addByPrefix("bump","logo bumpin",24); this.logoBl.animation.play("bump"); this.logoBl.updateHitbox(); this.gfDance = new flixel_FlxSprite(flixel_FlxG.width * 0.4,flixel_FlxG.height * 0.07); var library1 = null; this.gfDance.set_frames(flixel_graphics_frames_FlxAtlasFrames.fromSparrow(Paths.getPath("images/" + "gfDanceTitle" + ".png","IMAGE",library1),Paths.getPath("images/" + "gfDanceTitle" + ".xml","TEXT",library1))); this.gfDance.animation.addByIndices("danceLeft","gfDance",[30,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14],"",24,false); this.gfDance.animation.addByIndices("danceRight","gfDance",[15,16,17,18,19,20,21,22,23,24,25,26,27,28,29],"",24,false); this.gfDance.set_antialiasing(true); this.add(this.gfDance); this.add(this.logoBl); this.titleText = new flixel_FlxSprite(100,flixel_FlxG.height * 0.8); var library2 = null; this.titleText.set_frames(flixel_graphics_frames_FlxAtlasFrames.fromSparrow(Paths.getPath("images/" + "titleEnter" + ".png","IMAGE",library2),Paths.getPath("images/" + "titleEnter" + ".xml","TEXT",library2))); this.titleText.animation.addByPrefix("idle","Press Enter to Begin",24); this.titleText.animation.addByPrefix("press","ENTER PRESSED",24); this.titleText.set_antialiasing(true); this.titleText.animation.play("idle"); this.titleText.updateHitbox(); this.add(this.titleText); var logo = new flixel_FlxSprite().loadGraphic(Paths.getPath("images/" + "logo" + ".png","IMAGE",null)); logo.screenCenter(); logo.set_antialiasing(true); this.credGroup = new flixel_group_FlxTypedGroup(); this.add(this.credGroup); this.textGroup = new flixel_group_FlxTypedGroup(); this.blackScreen = new flixel_FlxSprite().makeGraphic(flixel_FlxG.width,flixel_FlxG.height,-16777216); this.credGroup.add(this.blackScreen); this.credTextShit = new Alphabet(0,0,"ninjamuffin99\nPhantomArcade\nkawaisprite\nevilsk8er",true); this.credTextShit.screenCenter(); this.credTextShit.set_visible(false); this.ngSpr = new flixel_FlxSprite(0,flixel_FlxG.height * 0.52).loadGraphic(Paths.getPath("images/" + "newgrounds_logo" + ".png","IMAGE",null)); this.add(this.ngSpr); this.ngSpr.set_visible(false); this.ngSpr.setGraphicSize(this.ngSpr.get_width() * 0.8 | 0); this.ngSpr.updateHitbox(); this.ngSpr.screenCenter(flixel_util_FlxAxes.X); this.ngSpr.set_antialiasing(true); flixel_tweens_FlxTween.tween(this.credTextShit,{ y : this.credTextShit.y + 20},2.9,{ ease : flixel_tweens_FlxEase.quadInOut, type : 4}); flixel_FlxG.mouse.set_visible(false); if(TitleState.initialized) { this.skipIntro(); } else { TitleState.initialized = true; } } ,getIntroTextShit: function() { var fullText = openfl_utils_Assets.getText(Paths.getPath("data/" + "introText" + ".txt","TEXT",null)); var firstArray = fullText.split("\n"); var swagGoodArray = []; var _g = 0; while(_g < firstArray.length) { var i = firstArray[_g]; ++_g; swagGoodArray.push(i.split("--")); } return swagGoodArray; } ,transitioning: null ,update: function(elapsed) { if(flixel_FlxG.sound.music != null) { Conductor.songPosition = flixel_FlxG.sound.music._time; } var _this = flixel_FlxG.keys.justPressed; if(_this.keyManager.checkStatus(70,_this.status)) { flixel_FlxG.set_fullscreen(!flixel_FlxG.get_fullscreen()); } var _this1 = flixel_FlxG.keys.justPressed; var pressedEnter = _this1.keyManager.checkStatus(13,_this1.status); var gamepad = flixel_FlxG.gamepads.lastActive; if(gamepad != null) { var _this2 = gamepad.justPressed; var id = 7; var _this3 = _this2.gamepad; var Status = _this2.status; var tmp; switch(id) { case -2: tmp = _this3.anyButton(Status); break; case -1: tmp = !_this3.anyButton(Status); break; default: var RawID = _this3.mapping.getRawID(id); var button = _this3.buttons[RawID]; tmp = button != null && button.hasState(Status); } if(tmp) { pressedEnter = true; } } var _g = 0; var _g1 = flixel_FlxG.touches.list; while(_g < _g1.length) { var touch = _g1[_g]; ++_g; if(touch.input.current == 2) { pressedEnter = true; } } if(pressedEnter && !this.transitioning && this.skippedIntro) { if(NGio.isLoggedIn) { var medal = io_newgrounds_NG.core.medals.h[60960]; if(!medal._data.unlocked) { medal.sendUnlock(); } } if(new Date().getDay() == 5) { if(NGio.isLoggedIn) { var medal1 = io_newgrounds_NG.core.medals.h[61034]; if(!medal1._data.unlocked) { medal1.sendUnlock(); } } } this.titleText.animation.play("press"); flixel_FlxG.camera.flash(-1,1); flixel_FlxG.sound.play(Paths.sound("confirmMenu"),0.7); this.transitioning = true; var nextState = new MainMenuState(); if(flixel_FlxG.game._state.switchTo(nextState)) { flixel_FlxG.game._requestedState = nextState; } } if(pressedEnter && !this.skippedIntro) { this.skipIntro(); } MusicBeatState.prototype.update.call(this,elapsed); } ,createCoolText: function(textArray) { var _g = 0; var _g1 = textArray.length; while(_g < _g1) { var i = _g++; var money = new Alphabet(0,0,textArray[i],true,false); money.screenCenter(flixel_util_FlxAxes.X); var _g2 = money; _g2.set_y(_g2.y + (i * 60 + 200)); this.credGroup.add(money); this.textGroup.add(money); } } ,addMoreText: function(text) { var coolText = new Alphabet(0,0,text,true,false); coolText.screenCenter(flixel_util_FlxAxes.X); var _g = coolText; _g.set_y(_g.y + (this.textGroup.length * 60 + 200)); this.credGroup.add(coolText); this.textGroup.add(coolText); } ,deleteCoolText: function() { while(this.textGroup.members.length > 0) { this.credGroup.remove(this.textGroup.members[0],true); this.textGroup.remove(this.textGroup.members[0],true); } } ,beatHit: function() { MusicBeatState.prototype.beatHit.call(this); this.logoBl.animation.play("bump"); this.danceLeft = !this.danceLeft; if(this.danceLeft) { this.gfDance.animation.play("danceRight"); } else { this.gfDance.animation.play("danceLeft"); } switch(this.curBeat) { case 1: this.createCoolText(["ninjamuffin99","phantomArcade","kawaisprite","evilsk8er"]); break; case 3: this.addMoreText("present"); break; case 4: this.deleteCoolText(); break; case 5: this.createCoolText(["Kade Engine","by"]); break; case 7: this.addMoreText("KadeDeveloper"); break; case 8: this.deleteCoolText(); this.ngSpr.set_visible(false); break; case 9: this.createCoolText([this.curWacky[0]]); break; case 11: this.addMoreText(this.curWacky[1]); break; case 12: this.deleteCoolText(); break; case 13: this.addMoreText("Friday"); break; case 14: this.addMoreText("Night"); break; case 15: this.addMoreText("Funkin"); break; case 16: this.skipIntro(); break; } } ,skippedIntro: null ,skipIntro: function() { if(!this.skippedIntro) { this.remove(this.ngSpr); flixel_FlxG.camera.flash(-1,4); this.remove(this.credGroup); this.skippedIntro = true; } } ,__class__: TitleState }); var ValueType = $hxEnums["ValueType"] = { __ename__ : "ValueType", __constructs__ : ["TNull","TInt","TFloat","TBool","TObject","TFunction","TClass","TEnum","TUnknown"] ,TNull: {_hx_index:0,__enum__:"ValueType",toString:$estr} ,TInt: {_hx_index:1,__enum__:"ValueType",toString:$estr} ,TFloat: {_hx_index:2,__enum__:"ValueType",toString:$estr} ,TBool: {_hx_index:3,__enum__:"ValueType",toString:$estr} ,TObject: {_hx_index:4,__enum__:"ValueType",toString:$estr} ,TFunction: {_hx_index:5,__enum__:"ValueType",toString:$estr} ,TClass: ($_=function(c) { return {_hx_index:6,c:c,__enum__:"ValueType",toString:$estr}; },$_.__params__ = ["c"],$_) ,TEnum: ($_=function(e) { return {_hx_index:7,e:e,__enum__:"ValueType",toString:$estr}; },$_.__params__ = ["e"],$_) ,TUnknown: {_hx_index:8,__enum__:"ValueType",toString:$estr} }; var Type = function() { }; $hxClasses["Type"] = Type; Type.__name__ = "Type"; Type.getEnum = function(o) { if(o == null) { return null; } return $hxEnums[o.__enum__]; }; Type.resolveEnum = function(name) { return $hxEnums[name]; }; Type.createInstance = function(cl,args) { return new (Function.prototype.bind.apply(cl,[null].concat(args))); }; Type.createEnum = function(e,constr,params) { var f = Reflect.field(e,constr); if(f == null) { throw new js__$Boot_HaxeError("No such constructor " + constr); } if(Reflect.isFunction(f)) { if(params == null) { throw new js__$Boot_HaxeError("Constructor " + constr + " need parameters"); } return f.apply(e,params); } if(params != null && params.length != 0) { throw new js__$Boot_HaxeError("Constructor " + constr + " does not need parameters"); } return f; }; Type.getInstanceFields = function(c) { var a = []; for(var i in c.prototype) a.push(i); HxOverrides.remove(a,"__class__"); HxOverrides.remove(a,"__properties__"); return a; }; Type.getClassFields = function(c) { var a = Reflect.fields(c); HxOverrides.remove(a,"__name__"); HxOverrides.remove(a,"__interfaces__"); HxOverrides.remove(a,"__properties__"); HxOverrides.remove(a,"__super__"); HxOverrides.remove(a,"__meta__"); HxOverrides.remove(a,"prototype"); return a; }; Type.typeof = function(v) { switch(typeof(v)) { case "boolean": return ValueType.TBool; case "function": if(v.__name__ || v.__ename__) { return ValueType.TObject; } return ValueType.TFunction; case "number": if(Math.ceil(v) == v % 2147483648.0) { return ValueType.TInt; } return ValueType.TFloat; case "object": if(v == null) { return ValueType.TNull; } var e = v.__enum__; if(e != null) { return ValueType.TEnum($hxEnums[e]); } var c = js_Boot.getClass(v); if(c != null) { return ValueType.TClass(c); } return ValueType.TObject; case "string": return ValueType.TClass(String); case "undefined": return ValueType.TNull; default: return ValueType.TUnknown; } }; Type.enumEq = function(a,b) { if(a == b) { return true; } try { var e = a.__enum__; if(e == null || e != b.__enum__) { return false; } if(a._hx_index != b._hx_index) { return false; } var enm = $hxEnums[e]; var ctorName = enm.__constructs__[a._hx_index]; var params = enm[ctorName].__params__; var _g = 0; while(_g < params.length) { var f = params[_g]; ++_g; if(!Type.enumEq(a[f],b[f])) { return false; } } } catch( e1 ) { haxe_CallStack.lastException = e1; var e2 = ((e1) instanceof js__$Boot_HaxeError) ? e1.val : e1; return false; } return true; }; Type.enumParameters = function(e) { var enm = $hxEnums[e.__enum__]; var ctorName = enm.__constructs__[e._hx_index]; var params = enm[ctorName].__params__; if(params != null) { var _g = []; var _g1 = 0; while(_g1 < params.length) { var p = params[_g1]; ++_g1; _g.push(e[p]); } return _g; } else { return []; } }; var _$UInt_UInt_$Impl_$ = {}; $hxClasses["_UInt.UInt_Impl_"] = _$UInt_UInt_$Impl_$; _$UInt_UInt_$Impl_$.__name__ = "_UInt.UInt_Impl_"; _$UInt_UInt_$Impl_$.gt = function(a,b) { var aNeg = a < 0; var bNeg = b < 0; if(aNeg != bNeg) { return aNeg; } else { return a > b; } }; _$UInt_UInt_$Impl_$.toFloat = function(this1) { var int = this1; if(int < 0) { return 4294967296.0 + int; } else { return int + 0.0; } }; var _$UnicodeString_UnicodeString_$Impl_$ = {}; $hxClasses["_UnicodeString.UnicodeString_Impl_"] = _$UnicodeString_UnicodeString_$Impl_$; _$UnicodeString_UnicodeString_$Impl_$.__name__ = "_UnicodeString.UnicodeString_Impl_"; _$UnicodeString_UnicodeString_$Impl_$.__properties__ = {get_length:"get_length"}; _$UnicodeString_UnicodeString_$Impl_$.charCodeAt = function(this1,index) { if(index < 0) { return null; } var unicodeOffset = 0; var nativeOffset = 0; while(nativeOffset < this1.length) { var index1 = nativeOffset++; var c = this1.charCodeAt(index1); if(c >= 55296 && c <= 56319) { c = c - 55232 << 10 | this1.charCodeAt(index1 + 1) & 1023; } var c1 = c; if(unicodeOffset == index) { return c1; } if(c1 >= 65536) { ++nativeOffset; } ++unicodeOffset; } return null; }; _$UnicodeString_UnicodeString_$Impl_$.substr = function(this1,pos,len) { if(pos < 0) { pos = _$UnicodeString_UnicodeString_$Impl_$.get_length(this1) + pos; if(pos < 0) { pos = 0; } } if(len != null) { if(len < 0) { len = _$UnicodeString_UnicodeString_$Impl_$.get_length(this1) + len; } if(len <= 0) { return ""; } } var unicodeOffset = 0; var nativeOffset = 0; var fromOffset = -1; var subLength = 0; while(nativeOffset < this1.length) { var c = this1.charCodeAt(nativeOffset); if(c >= 55296 && c <= 56319) { c = c - 55232 << 10 | this1.charCodeAt(nativeOffset + 1) & 1023; } var c1 = c; if(unicodeOffset >= pos) { if(fromOffset < 0) { if(len == null) { return HxOverrides.substr(this1,nativeOffset,null); } fromOffset = nativeOffset; } ++subLength; if(subLength >= len) { var lastOffset = c1 < 65536 ? nativeOffset : nativeOffset + 1; return HxOverrides.substr(this1,fromOffset,lastOffset - fromOffset + 1); } } nativeOffset += c1 >= 65536 ? 2 : 1; ++unicodeOffset; } if(fromOffset < 0) { return ""; } else { return HxOverrides.substr(this1,fromOffset,null); } }; _$UnicodeString_UnicodeString_$Impl_$.get_length = function(this1) { var l = 0; var _g_offset = 0; var _g_s = this1; while(_g_offset < _g_s.length) { var s = _g_s; var index = _g_offset++; var c = s.charCodeAt(index); if(c >= 55296 && c <= 56319) { c = c - 55232 << 10 | s.charCodeAt(index + 1) & 1023; } var c1 = c; if(c1 >= 65536) { ++_g_offset; } var c2 = c1; ++l; } return l; }; var WiggleEffectType = $hxEnums["WiggleEffectType"] = { __ename__ : "WiggleEffectType", __constructs__ : ["DREAMY","WAVY","HEAT_WAVE_HORIZONTAL","HEAT_WAVE_VERTICAL","FLAG"] ,DREAMY: {_hx_index:0,__enum__:"WiggleEffectType",toString:$estr} ,WAVY: {_hx_index:1,__enum__:"WiggleEffectType",toString:$estr} ,HEAT_WAVE_HORIZONTAL: {_hx_index:2,__enum__:"WiggleEffectType",toString:$estr} ,HEAT_WAVE_VERTICAL: {_hx_index:3,__enum__:"WiggleEffectType",toString:$estr} ,FLAG: {_hx_index:4,__enum__:"WiggleEffectType",toString:$estr} }; var WiggleEffect = function() { this.waveAmplitude = 0; this.waveFrequency = 0; this.waveSpeed = 0; this.effectType = WiggleEffectType.DREAMY; this.shader = new WiggleShader(); this.shader.uTime.value = [0]; }; $hxClasses["WiggleEffect"] = WiggleEffect; WiggleEffect.__name__ = "WiggleEffect"; WiggleEffect.prototype = { shader: null ,effectType: null ,waveSpeed: null ,waveFrequency: null ,waveAmplitude: null ,update: function(elapsed) { this.shader.uTime.value[0] += elapsed; } ,set_effectType: function(v) { this.effectType = v; var tmp = WiggleEffectType.__constructs__.slice(); this.shader.effectType.value = [tmp.indexOf(Std.string(v))]; return v; } ,set_waveSpeed: function(v) { this.waveSpeed = v; this.shader.uSpeed.value = [this.waveSpeed]; return v; } ,set_waveFrequency: function(v) { this.waveFrequency = v; this.shader.uFrequency.value = [this.waveFrequency]; return v; } ,set_waveAmplitude: function(v) { this.waveAmplitude = v; this.shader.uWaveAmplitude.value = [this.waveAmplitude]; return v; } ,__class__: WiggleEffect ,__properties__: {set_waveAmplitude:"set_waveAmplitude",set_waveFrequency:"set_waveFrequency",set_waveSpeed:"set_waveSpeed",set_effectType:"set_effectType"} }; var openfl_display_Shader = function(code) { this.byteCode = code; this.precisionHint = 1; this.__glSourceDirty = true; this.__numPasses = 1; this.__data = openfl_display__$ShaderData_ShaderData_$Impl_$._new(code); }; $hxClasses["openfl.display.Shader"] = openfl_display_Shader; openfl_display_Shader.__name__ = "openfl.display.Shader"; openfl_display_Shader.prototype = { byteCode: null ,glProgram: null ,precisionHint: null ,program: null ,__alpha: null ,__bitmap: null ,__colorMultiplier: null ,__colorOffset: null ,__context: null ,__data: null ,__glFragmentSource: null ,__glSourceDirty: null ,__glVertexSource: null ,__hasColorTransform: null ,__inputBitmapData: null ,__isGenerated: null ,__matrix: null ,__numPasses: null ,__paramBool: null ,__paramFloat: null ,__paramInt: null ,__position: null ,__textureCoord: null ,__texture: null ,__textureSize: null ,__clearUseArray: function() { var _g = 0; var _g1 = this.__paramBool; while(_g < _g1.length) { var parameter = _g1[_g]; ++_g; parameter.__useArray = false; } var _g2 = 0; var _g3 = this.__paramFloat; while(_g2 < _g3.length) { var parameter1 = _g3[_g2]; ++_g2; parameter1.__useArray = false; } var _g4 = 0; var _g5 = this.__paramInt; while(_g4 < _g5.length) { var parameter2 = _g5[_g4]; ++_g4; parameter2.__useArray = false; } } ,__createGLShader: function(source,type) { var gl = this.__context.gl; var shader = gl.createShader(type); gl.shaderSource(shader,source); gl.compileShader(shader); if(gl.getShaderParameter(shader,gl.COMPILE_STATUS) == 0) { var message = type == gl.VERTEX_SHADER ? "Error compiling vertex shader" : "Error compiling fragment shader"; message += "\n" + gl.getShaderInfoLog(shader); message += "\n" + source; lime_utils_Log.error(message,{ fileName : "openfl/display/Shader.hx", lineNumber : 331, className : "openfl.display.Shader", methodName : "__createGLShader"}); } return shader; } ,__createGLProgram: function(vertexSource,fragmentSource) { var gl = this.__context.gl; var vertexShader = this.__createGLShader(vertexSource,gl.VERTEX_SHADER); var fragmentShader = this.__createGLShader(fragmentSource,gl.FRAGMENT_SHADER); var program = gl.createProgram(); var _g = 0; var _g1 = this.__paramFloat; while(_g < _g1.length) { var param = _g1[_g]; ++_g; if(param.name.indexOf("Position") > -1 && StringTools.startsWith(param.name,"openfl_")) { gl.bindAttribLocation(program,0,param.name); break; } } gl.attachShader(program,vertexShader); gl.attachShader(program,fragmentShader); gl.linkProgram(program); if(gl.getProgramParameter(program,gl.LINK_STATUS) == 0) { var message = "Unable to initialize the shader program"; message += "\n" + gl.getProgramInfoLog(program); lime_utils_Log.error(message,{ fileName : "openfl/display/Shader.hx", lineNumber : 364, className : "openfl.display.Shader", methodName : "__createGLProgram"}); } return program; } ,__disable: function() { if(this.program != null) { this.__disableGL(); } } ,__disableGL: function() { var gl = this.__context.gl; var textureCount = 0; var _g = 0; var _g1 = this.__inputBitmapData; while(_g < _g1.length) { var input = _g1[_g]; ++_g; input.__disableGL(this.__context,textureCount); ++textureCount; } var _g2 = 0; var _g3 = this.__paramBool; while(_g2 < _g3.length) { var parameter = _g3[_g2]; ++_g2; parameter.__disableGL(this.__context); } var _g4 = 0; var _g5 = this.__paramFloat; while(_g4 < _g5.length) { var parameter1 = _g5[_g4]; ++_g4; parameter1.__disableGL(this.__context); } var _g6 = 0; var _g7 = this.__paramInt; while(_g6 < _g7.length) { var parameter2 = _g7[_g6]; ++_g6; parameter2.__disableGL(this.__context); } this.__context.__bindGLArrayBuffer(null); if(this.__context.__context.type == "opengl") { gl.disable(gl.TEXTURE_2D); } } ,__enable: function() { this.__init(); if(this.program != null) { this.__enableGL(); } } ,__enableGL: function() { var textureCount = 0; var gl = this.__context.gl; var _g = 0; var _g1 = this.__inputBitmapData; while(_g < _g1.length) { var input = _g1[_g]; ++_g; gl.uniform1i(input.index,textureCount); ++textureCount; } if(this.__context.__context.type == "opengl" && textureCount > 0) { gl.enable(gl.TEXTURE_2D); } } ,__init: function() { if(this.__data == null) { this.__data = openfl_display__$ShaderData_ShaderData_$Impl_$._new(null); } if(this.__glFragmentSource != null && this.__glVertexSource != null && (this.program == null || this.__glSourceDirty)) { this.__initGL(); } } ,__initGL: function() { if(this.__glSourceDirty || this.__paramBool == null) { this.__glSourceDirty = false; this.program = null; this.__inputBitmapData = []; this.__paramBool = []; this.__paramFloat = []; this.__paramInt = []; this.__processGLData(this.get_glVertexSource(),"attribute"); this.__processGLData(this.get_glVertexSource(),"uniform"); this.__processGLData(this.get_glFragmentSource(),"uniform"); } if(this.__context != null && this.program == null) { var gl = this.__context.gl; var prefix = "#ifdef GL_ES\n\t\t\t\t" + (this.precisionHint == 1 ? "#ifdef GL_FRAGMENT_PRECISION_HIGH\n\t\t\t\tprecision highp float;\n\t\t\t\t#else\n\t\t\t\tprecision mediump float;\n\t\t\t\t#endif" : "precision lowp float;") + "\n\t\t\t\t#endif\n\t\t\t\t"; var vertex = prefix + this.get_glVertexSource(); var fragment = prefix + this.get_glFragmentSource(); var id = vertex + fragment; var _this = this.__context.__programs; if(__map_reserved[id] != null ? _this.existsReserved(id) : _this.h.hasOwnProperty(id)) { var _this1 = this.__context.__programs; this.program = __map_reserved[id] != null ? _this1.getReserved(id) : _this1.h[id]; } else { this.program = this.__context.createProgram(1); this.program.__glProgram = this.__createGLProgram(vertex,fragment); var value = this.program; var _this2 = this.__context.__programs; if(__map_reserved[id] != null) { _this2.setReserved(id,value); } else { _this2.h[id] = value; } } if(this.program != null) { this.glProgram = this.program.__glProgram; var _g = 0; var _g1 = this.__inputBitmapData; while(_g < _g1.length) { var input = _g1[_g]; ++_g; if(input.__isUniform) { input.index = gl.getUniformLocation(this.glProgram,input.name); } else { input.index = gl.getAttribLocation(this.glProgram,input.name); } } var _g2 = 0; var _g3 = this.__paramBool; while(_g2 < _g3.length) { var parameter = _g3[_g2]; ++_g2; if(parameter.__isUniform) { parameter.index = gl.getUniformLocation(this.glProgram,parameter.name); } else { parameter.index = gl.getAttribLocation(this.glProgram,parameter.name); } } var _g4 = 0; var _g5 = this.__paramFloat; while(_g4 < _g5.length) { var parameter1 = _g5[_g4]; ++_g4; if(parameter1.__isUniform) { parameter1.index = gl.getUniformLocation(this.glProgram,parameter1.name); } else { parameter1.index = gl.getAttribLocation(this.glProgram,parameter1.name); } } var _g6 = 0; var _g7 = this.__paramInt; while(_g6 < _g7.length) { var parameter2 = _g7[_g6]; ++_g6; if(parameter2.__isUniform) { parameter2.index = gl.getUniformLocation(this.glProgram,parameter2.name); } else { parameter2.index = gl.getAttribLocation(this.glProgram,parameter2.name); } } } } } ,__processGLData: function(source,storageType) { var lastMatch = 0; var position; var regex; var name; var type; if(storageType == "uniform") { regex = new EReg("uniform ([A-Za-z0-9]+) ([A-Za-z0-9_]+)",""); } else { regex = new EReg("attribute ([A-Za-z0-9]+) ([A-Za-z0-9_]+)",""); } while(regex.matchSub(source,lastMatch)) { type = regex.matched(1); name = regex.matched(2); if(StringTools.startsWith(name,"gl_")) { continue; } var isUniform = storageType == "uniform"; if(StringTools.startsWith(type,"sampler")) { var input = new openfl_display_ShaderInput(); input.name = name; input.__isUniform = isUniform; this.__inputBitmapData.push(input); switch(name) { case "bitmap": this.__bitmap = input; break; case "openfl_Texture": this.__texture = input; break; default: } this.__data[name] = input; if(this.__isGenerated) { this[name] = input; } } else if(!Object.prototype.hasOwnProperty.call(this.__data,name) || Reflect.field(this.__data,name) == null) { var parameterType; switch(type) { case "bool": parameterType = 0; break; case "bvec2": parameterType = 1; break; case "bvec3": parameterType = 2; break; case "bvec4": parameterType = 3; break; case "dvec2":case "vec2": parameterType = 5; break; case "dvec3":case "vec3": parameterType = 6; break; case "double":case "float": parameterType = 4; break; case "ivec3":case "uvec3": parameterType = 10; break; case "ivec4":case "uvec4": parameterType = 11; break; case "mat2":case "mat2x2": parameterType = 12; break; case "mat2x3": parameterType = 13; break; case "mat2x4": parameterType = 14; break; case "mat3x2": parameterType = 15; break; case "mat3":case "mat3x3": parameterType = 16; break; case "mat3x4": parameterType = 17; break; case "mat4":case "mat4x4": parameterType = 20; break; case "mat4x2": parameterType = 18; break; case "mat4x3": parameterType = 19; break; case "int":case "uint": parameterType = 8; break; case "ivec2":case "uvec2": parameterType = 9; break; case "dvec4":case "vec4": parameterType = 7; break; default: parameterType = null; } var length; switch(parameterType) { case 1:case 5:case 9: length = 2; break; case 3:case 7:case 11:case 12: length = 4; break; case 2:case 6:case 10: length = 3; break; case 16: length = 9; break; case 20: length = 16; break; default: length = 1; } var arrayLength; switch(parameterType) { case 12: arrayLength = 2; break; case 16: arrayLength = 3; break; case 20: arrayLength = 4; break; default: arrayLength = 1; } switch(parameterType) { case 0:case 1:case 2:case 3: var parameter = new openfl_display_ShaderParameter(); parameter.set_name(name); parameter.type = parameterType; parameter.__arrayLength = arrayLength; parameter.__isBool = true; parameter.__isUniform = isUniform; parameter.__length = length; this.__paramBool.push(parameter); if(name == "openfl_HasColorTransform") { this.__hasColorTransform = parameter; } this.__data[name] = parameter; if(this.__isGenerated) { this[name] = parameter; } break; case 8:case 9:case 10:case 11: var parameter1 = new openfl_display_ShaderParameter(); parameter1.set_name(name); parameter1.type = parameterType; parameter1.__arrayLength = arrayLength; parameter1.__isInt = true; parameter1.__isUniform = isUniform; parameter1.__length = length; this.__paramInt.push(parameter1); this.__data[name] = parameter1; if(this.__isGenerated) { this[name] = parameter1; } break; default: var parameter2 = new openfl_display_ShaderParameter(); parameter2.set_name(name); parameter2.type = parameterType; parameter2.__arrayLength = arrayLength; if(arrayLength > 0) { var elements = arrayLength * arrayLength; var array = null; var vector = null; var view = null; var buffer = null; var len = null; var this1; if(elements != null) { this1 = new Float32Array(elements); } else if(array != null) { this1 = new Float32Array(array); } else if(vector != null) { this1 = new Float32Array(vector.__array); } else if(view != null) { this1 = new Float32Array(view); } else if(buffer != null) { if(len == null) { this1 = new Float32Array(buffer,0); } else { this1 = new Float32Array(buffer,0,len); } } else { this1 = null; } parameter2.__uniformMatrix = this1; } parameter2.__isFloat = true; parameter2.__isUniform = isUniform; parameter2.__length = length; this.__paramFloat.push(parameter2); if(StringTools.startsWith(name,"openfl_")) { switch(name) { case "openfl_Alpha": this.__alpha = parameter2; break; case "openfl_ColorMultiplier": this.__colorMultiplier = parameter2; break; case "openfl_ColorOffset": this.__colorOffset = parameter2; break; case "openfl_Matrix": this.__matrix = parameter2; break; case "openfl_Position": this.__position = parameter2; break; case "openfl_TextureCoord": this.__textureCoord = parameter2; break; case "openfl_TextureSize": this.__textureSize = parameter2; break; default: } } this.__data[name] = parameter2; if(this.__isGenerated) { this[name] = parameter2; } } } position = regex.matchedPos(); lastMatch = position.pos + position.len; } } ,__update: function() { if(this.program != null) { this.__updateGL(); } } ,__updateFromBuffer: function(shaderBuffer,bufferOffset) { if(this.program != null) { this.__updateGLFromBuffer(shaderBuffer,bufferOffset); } } ,__updateGL: function() { var textureCount = 0; var _g = 0; var _g1 = this.__inputBitmapData; while(_g < _g1.length) { var input = _g1[_g]; ++_g; input.__updateGL(this.__context,textureCount); ++textureCount; } var _g2 = 0; var _g3 = this.__paramBool; while(_g2 < _g3.length) { var parameter = _g3[_g2]; ++_g2; parameter.__updateGL(this.__context); } var _g4 = 0; var _g5 = this.__paramFloat; while(_g4 < _g5.length) { var parameter1 = _g5[_g4]; ++_g4; parameter1.__updateGL(this.__context); } var _g6 = 0; var _g7 = this.__paramInt; while(_g6 < _g7.length) { var parameter2 = _g7[_g6]; ++_g6; parameter2.__updateGL(this.__context); } } ,__updateGLFromBuffer: function(shaderBuffer,bufferOffset) { var textureCount = 0; var input; var inputData; var inputFilter; var inputMipFilter; var inputWrap; var _g = 0; var _g1 = shaderBuffer.inputCount; while(_g < _g1) { var i = _g++; input = shaderBuffer.inputRefs[i]; inputData = shaderBuffer.inputs[i]; inputFilter = shaderBuffer.inputFilter[i]; inputMipFilter = shaderBuffer.inputMipFilter[i]; inputWrap = shaderBuffer.inputWrap[i]; if(inputData != null) { input.__updateGL(this.__context,textureCount,inputData,inputFilter,inputMipFilter,inputWrap); ++textureCount; } } var gl = this.__context.gl; if(shaderBuffer.paramDataLength > 0) { if(shaderBuffer.paramDataBuffer == null) { shaderBuffer.paramDataBuffer = gl.createBuffer(); } this.__context.__bindGLArrayBuffer(shaderBuffer.paramDataBuffer); lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.bufferData(gl,gl.ARRAY_BUFFER,shaderBuffer.paramData,gl.DYNAMIC_DRAW); } else { this.__context.__bindGLArrayBuffer(null); } var boolIndex = 0; var floatIndex = 0; var intIndex = 0; var boolCount = shaderBuffer.paramBoolCount; var floatCount = shaderBuffer.paramFloatCount; var paramData = shaderBuffer.paramData; var boolRef; var floatRef; var intRef; var hasOverride; var overrideBoolValue = null; var overrideFloatValue = null; var overrideIntValue = null; var _g2 = 0; var _g3 = shaderBuffer.paramCount; while(_g2 < _g3) { var i1 = _g2++; hasOverride = false; if(i1 < boolCount) { boolRef = shaderBuffer.paramRefs_Bool[boolIndex]; var _g21 = 0; var _g31 = shaderBuffer.overrideBoolCount; while(_g21 < _g31) { var j = _g21++; if(boolRef.name == shaderBuffer.overrideBoolNames[j]) { overrideBoolValue = shaderBuffer.overrideBoolValues[j]; hasOverride = true; break; } } if(hasOverride) { boolRef.__updateGL(this.__context,overrideBoolValue); } else { boolRef.__updateGLFromBuffer(this.__context,paramData,shaderBuffer.paramPositions[i1],shaderBuffer.paramLengths[i1],bufferOffset); } ++boolIndex; } else if(i1 < boolCount + floatCount) { floatRef = shaderBuffer.paramRefs_Float[floatIndex]; var _g22 = 0; var _g32 = shaderBuffer.overrideFloatCount; while(_g22 < _g32) { var j1 = _g22++; if(floatRef.name == shaderBuffer.overrideFloatNames[j1]) { overrideFloatValue = shaderBuffer.overrideFloatValues[j1]; hasOverride = true; break; } } if(hasOverride) { floatRef.__updateGL(this.__context,overrideFloatValue); } else { floatRef.__updateGLFromBuffer(this.__context,paramData,shaderBuffer.paramPositions[i1],shaderBuffer.paramLengths[i1],bufferOffset); } ++floatIndex; } else { intRef = shaderBuffer.paramRefs_Int[intIndex]; var _g23 = 0; var _g33 = shaderBuffer.overrideIntCount; while(_g23 < _g33) { var j2 = _g23++; if(intRef.name == shaderBuffer.overrideIntNames[j2]) { overrideIntValue = shaderBuffer.overrideIntValues[j2]; hasOverride = true; break; } } if(hasOverride) { intRef.__updateGL(this.__context,overrideIntValue); } else { intRef.__updateGLFromBuffer(this.__context,paramData,shaderBuffer.paramPositions[i1],shaderBuffer.paramLengths[i1],bufferOffset); } ++intIndex; } } } ,get_data: function() { if(this.__glSourceDirty || this.__data == null) { this.__init(); } return this.__data; } ,set_data: function(value) { return this.__data = value; } ,get_glFragmentSource: function() { return this.__glFragmentSource; } ,set_glFragmentSource: function(value) { if(value != this.__glFragmentSource) { this.__glSourceDirty = true; } return this.__glFragmentSource = value; } ,get_glVertexSource: function() { return this.__glVertexSource; } ,set_glVertexSource: function(value) { if(value != this.__glVertexSource) { this.__glSourceDirty = true; } return this.__glVertexSource = value; } ,__class__: openfl_display_Shader ,__properties__: {set_glVertexSource:"set_glVertexSource",get_glVertexSource:"get_glVertexSource",set_glFragmentSource:"set_glFragmentSource",get_glFragmentSource:"get_glFragmentSource",set_data:"set_data",get_data:"get_data"} }; var openfl_display_GraphicsShader = function(code) { if(this.__glFragmentSource == null) { this.__glFragmentSource = "varying float openfl_Alphav;\n\t\tvarying vec4 openfl_ColorMultiplierv;\n\t\tvarying vec4 openfl_ColorOffsetv;\n\t\tvarying vec2 openfl_TextureCoordv;\n\n\t\tuniform bool openfl_HasColorTransform;\n\t\tuniform vec2 openfl_TextureSize;\n\t\tuniform sampler2D bitmap;\n\n\t\tvoid main(void) {\n\n\t\t\tvec4 color = texture2D (bitmap, openfl_TextureCoordv);\n\n\t\tif (color.a == 0.0) {\n\n\t\t\tgl_FragColor = vec4 (0.0, 0.0, 0.0, 0.0);\n\n\t\t} else if (openfl_HasColorTransform) {\n\n\t\t\tcolor = vec4 (color.rgb / color.a, color.a);\n\n\t\t\tmat4 colorMultiplier = mat4 (0);\n\t\t\tcolorMultiplier[0][0] = openfl_ColorMultiplierv.x;\n\t\t\tcolorMultiplier[1][1] = openfl_ColorMultiplierv.y;\n\t\t\tcolorMultiplier[2][2] = openfl_ColorMultiplierv.z;\n\t\t\tcolorMultiplier[3][3] = 1.0; // openfl_ColorMultiplierv.w;\n\n\t\t\tcolor = clamp (openfl_ColorOffsetv + (color * colorMultiplier), 0.0, 1.0);\n\n\t\t\tif (color.a > 0.0) {\n\n\t\t\t\tgl_FragColor = vec4 (color.rgb * color.a * openfl_Alphav, color.a * openfl_Alphav);\n\n\t\t\t} else {\n\n\t\t\t\tgl_FragColor = vec4 (0.0, 0.0, 0.0, 0.0);\n\n\t\t\t}\n\n\t\t} else {\n\n\t\t\tgl_FragColor = color * openfl_Alphav;\n\n\t\t}\n\n\t\t}"; } if(this.__glVertexSource == null) { this.__glVertexSource = "attribute float openfl_Alpha;\n\t\tattribute vec4 openfl_ColorMultiplier;\n\t\tattribute vec4 openfl_ColorOffset;\n\t\tattribute vec4 openfl_Position;\n\t\tattribute vec2 openfl_TextureCoord;\n\n\t\tvarying float openfl_Alphav;\n\t\tvarying vec4 openfl_ColorMultiplierv;\n\t\tvarying vec4 openfl_ColorOffsetv;\n\t\tvarying vec2 openfl_TextureCoordv;\n\n\t\tuniform mat4 openfl_Matrix;\n\t\tuniform bool openfl_HasColorTransform;\n\t\tuniform vec2 openfl_TextureSize;\n\n\t\tvoid main(void) {\n\n\t\t\topenfl_Alphav = openfl_Alpha;\n\t\topenfl_TextureCoordv = openfl_TextureCoord;\n\n\t\tif (openfl_HasColorTransform) {\n\n\t\t\topenfl_ColorMultiplierv = openfl_ColorMultiplier;\n\t\t\topenfl_ColorOffsetv = openfl_ColorOffset / 255.0;\n\n\t\t}\n\n\t\tgl_Position = openfl_Matrix * openfl_Position;\n\n\t\t}"; } openfl_display_Shader.call(this,code); this.__isGenerated = true; this.__initGL(); }; $hxClasses["openfl.display.GraphicsShader"] = openfl_display_GraphicsShader; openfl_display_GraphicsShader.__name__ = "openfl.display.GraphicsShader"; openfl_display_GraphicsShader.__super__ = openfl_display_Shader; openfl_display_GraphicsShader.prototype = $extend(openfl_display_Shader.prototype,{ openfl_Alpha: null ,openfl_ColorMultiplier: null ,openfl_ColorOffset: null ,openfl_Position: null ,openfl_TextureCoord: null ,openfl_Matrix: null ,openfl_HasColorTransform: null ,openfl_TextureSize: null ,bitmap: null ,__class__: openfl_display_GraphicsShader }); var flixel_graphics_tile_FlxGraphicsShader = function() { if(this.__glFragmentSource == null) { this.__glFragmentSource = "\n\t\tvarying float openfl_Alphav;\n\t\tvarying vec4 openfl_ColorMultiplierv;\n\t\tvarying vec4 openfl_ColorOffsetv;\n\t\tvarying vec2 openfl_TextureCoordv;\n\n\t\tuniform bool openfl_HasColorTransform;\n\t\tuniform vec2 openfl_TextureSize;\n\t\tuniform sampler2D bitmap;\n\n\t\tuniform bool hasTransform;\n\t\tuniform bool hasColorTransform;\n\n\t\tvec4 flixel_texture2D(sampler2D bitmap, vec2 coord)\n\t\t{\n\t\t\tvec4 color = texture2D(bitmap, coord);\n\t\t\tif (!hasTransform)\n\t\t\t{\n\t\t\t\treturn color;\n\t\t\t}\n\n\t\t\tif (color.a == 0.0)\n\t\t\t{\n\t\t\t\treturn vec4(0.0, 0.0, 0.0, 0.0);\n\t\t\t}\n\n\t\t\tif (!hasColorTransform)\n\t\t\t{\n\t\t\t\treturn color * openfl_Alphav;\n\t\t\t}\n\n\t\t\tcolor = vec4(color.rgb / color.a, color.a);\n\n\t\t\tmat4 colorMultiplier = mat4(0);\n\t\t\tcolorMultiplier[0][0] = openfl_ColorMultiplierv.x;\n\t\t\tcolorMultiplier[1][1] = openfl_ColorMultiplierv.y;\n\t\t\tcolorMultiplier[2][2] = openfl_ColorMultiplierv.z;\n\t\t\tcolorMultiplier[3][3] = openfl_ColorMultiplierv.w;\n\n\t\t\tcolor = clamp(openfl_ColorOffsetv + (color * colorMultiplier), 0.0, 1.0);\n\n\t\t\tif (color.a > 0.0)\n\t\t\t{\n\t\t\t\treturn vec4(color.rgb * color.a * openfl_Alphav, color.a * openfl_Alphav);\n\t\t\t}\n\t\t\treturn vec4(0.0, 0.0, 0.0, 0.0);\n\t\t}\n\t\n\t\t\n\t\tvoid main(void)\n\t\t{\n\t\t\tgl_FragColor = flixel_texture2D(bitmap, openfl_TextureCoordv);\n\t\t}"; } if(this.__glVertexSource == null) { this.__glVertexSource = "\n\t\tattribute float openfl_Alpha;\n\t\tattribute vec4 openfl_ColorMultiplier;\n\t\tattribute vec4 openfl_ColorOffset;\n\t\tattribute vec4 openfl_Position;\n\t\tattribute vec2 openfl_TextureCoord;\n\n\t\tvarying float openfl_Alphav;\n\t\tvarying vec4 openfl_ColorMultiplierv;\n\t\tvarying vec4 openfl_ColorOffsetv;\n\t\tvarying vec2 openfl_TextureCoordv;\n\n\t\tuniform mat4 openfl_Matrix;\n\t\tuniform bool openfl_HasColorTransform;\n\t\tuniform vec2 openfl_TextureSize;\n\n\t\t\n\t\tattribute float alpha;\n\t\tattribute vec4 colorMultiplier;\n\t\tattribute vec4 colorOffset;\n\t\tuniform bool hasColorTransform;\n\t\t\n\t\tvoid main(void)\n\t\t{\n\t\t\topenfl_Alphav = openfl_Alpha;\n\t\topenfl_TextureCoordv = openfl_TextureCoord;\n\n\t\tif (openfl_HasColorTransform) {\n\n\t\t\topenfl_ColorMultiplierv = openfl_ColorMultiplier;\n\t\t\topenfl_ColorOffsetv = openfl_ColorOffset / 255.0;\n\n\t\t}\n\n\t\tgl_Position = openfl_Matrix * openfl_Position;\n\n\t\t\t\n\t\t\topenfl_Alphav = openfl_Alpha * alpha;\n\t\t\t\n\t\t\tif (hasColorTransform)\n\t\t\t{\n\t\t\t\topenfl_ColorOffsetv = colorOffset / 255.0;\n\t\t\t\topenfl_ColorMultiplierv = colorMultiplier;\n\t\t\t}\n\t\t}"; } openfl_display_GraphicsShader.call(this); this.__isGenerated = true; this.__initGL(); }; $hxClasses["flixel.graphics.tile.FlxGraphicsShader"] = flixel_graphics_tile_FlxGraphicsShader; flixel_graphics_tile_FlxGraphicsShader.__name__ = "flixel.graphics.tile.FlxGraphicsShader"; flixel_graphics_tile_FlxGraphicsShader.__super__ = openfl_display_GraphicsShader; flixel_graphics_tile_FlxGraphicsShader.prototype = $extend(openfl_display_GraphicsShader.prototype,{ alpha: null ,colorMultiplier: null ,colorOffset: null ,hasColorTransform: null ,hasTransform: null ,__class__: flixel_graphics_tile_FlxGraphicsShader }); var WiggleShader = function() { if(this.__glFragmentSource == null) { this.__glFragmentSource = "\n\t\tvarying float openfl_Alphav;\n\t\tvarying vec4 openfl_ColorMultiplierv;\n\t\tvarying vec4 openfl_ColorOffsetv;\n\t\tvarying vec2 openfl_TextureCoordv;\n\n\t\tuniform bool openfl_HasColorTransform;\n\t\tuniform vec2 openfl_TextureSize;\n\t\tuniform sampler2D bitmap;\n\n\t\tuniform bool hasTransform;\n\t\tuniform bool hasColorTransform;\n\n\t\tvec4 flixel_texture2D(sampler2D bitmap, vec2 coord)\n\t\t{\n\t\t\tvec4 color = texture2D(bitmap, coord);\n\t\t\tif (!hasTransform)\n\t\t\t{\n\t\t\t\treturn color;\n\t\t\t}\n\n\t\t\tif (color.a == 0.0)\n\t\t\t{\n\t\t\t\treturn vec4(0.0, 0.0, 0.0, 0.0);\n\t\t\t}\n\n\t\t\tif (!hasColorTransform)\n\t\t\t{\n\t\t\t\treturn color * openfl_Alphav;\n\t\t\t}\n\n\t\t\tcolor = vec4(color.rgb / color.a, color.a);\n\n\t\t\tmat4 colorMultiplier = mat4(0);\n\t\t\tcolorMultiplier[0][0] = openfl_ColorMultiplierv.x;\n\t\t\tcolorMultiplier[1][1] = openfl_ColorMultiplierv.y;\n\t\t\tcolorMultiplier[2][2] = openfl_ColorMultiplierv.z;\n\t\t\tcolorMultiplier[3][3] = openfl_ColorMultiplierv.w;\n\n\t\t\tcolor = clamp(openfl_ColorOffsetv + (color * colorMultiplier), 0.0, 1.0);\n\n\t\t\tif (color.a > 0.0)\n\t\t\t{\n\t\t\t\treturn vec4(color.rgb * color.a * openfl_Alphav, color.a * openfl_Alphav);\n\t\t\t}\n\t\t\treturn vec4(0.0, 0.0, 0.0, 0.0);\n\t\t}\n\t\n\n\t\t//uniform float tx, ty; // x,y waves phase\n\t\tuniform float uTime;\n\t\t\n\t\tconst int EFFECT_TYPE_DREAMY = 0;\n\t\tconst int EFFECT_TYPE_WAVY = 1;\n\t\tconst int EFFECT_TYPE_HEAT_WAVE_HORIZONTAL = 2;\n\t\tconst int EFFECT_TYPE_HEAT_WAVE_VERTICAL = 3;\n\t\tconst int EFFECT_TYPE_FLAG = 4;\n\t\t\n\t\tuniform int effectType;\n\t\t\n\t\t/**\n\t\t * How fast the waves move over time\n\t\t */\n\t\tuniform float uSpeed;\n\t\t\n\t\t/**\n\t\t * Number of waves over time\n\t\t */\n\t\tuniform float uFrequency;\n\t\t\n\t\t/**\n\t\t * How much the pixels are going to stretch over the waves\n\t\t */\n\t\tuniform float uWaveAmplitude;\n\n\t\tvec2 sineWave(vec2 pt)\n\t\t{\n\t\t\tfloat x = 0.0;\n\t\t\tfloat y = 0.0;\n\t\t\t\n\t\t\tif (effectType == EFFECT_TYPE_DREAMY) \n\t\t\t{\n\t\t\t\tfloat offsetX = sin(pt.y * uFrequency + uTime * uSpeed) * uWaveAmplitude;\n pt.x += offsetX; // * (pt.y - 1.0); // <- Uncomment to stop bottom part of the screen from moving\n\t\t\t}\n\t\t\telse if (effectType == EFFECT_TYPE_WAVY) \n\t\t\t{\n\t\t\t\tfloat offsetY = sin(pt.x * uFrequency + uTime * uSpeed) * uWaveAmplitude;\n\t\t\t\tpt.y += offsetY; // * (pt.y - 1.0); // <- Uncomment to stop bottom part of the screen from moving\n\t\t\t}\n\t\t\telse if (effectType == EFFECT_TYPE_HEAT_WAVE_HORIZONTAL)\n\t\t\t{\n\t\t\t\tx = sin(pt.x * uFrequency + uTime * uSpeed) * uWaveAmplitude;\n\t\t\t}\n\t\t\telse if (effectType == EFFECT_TYPE_HEAT_WAVE_VERTICAL)\n\t\t\t{\n\t\t\t\ty = sin(pt.y * uFrequency + uTime * uSpeed) * uWaveAmplitude;\n\t\t\t}\n\t\t\telse if (effectType == EFFECT_TYPE_FLAG)\n\t\t\t{\n\t\t\t\ty = sin(pt.y * uFrequency + 10.0 * pt.x + uTime * uSpeed) * uWaveAmplitude;\n\t\t\t\tx = sin(pt.x * uFrequency + 5.0 * pt.y + uTime * uSpeed) * uWaveAmplitude;\n\t\t\t}\n\t\t\t\n\t\t\treturn vec2(pt.x + x, pt.y + y);\n\t\t}\n\n\t\tvoid main()\n\t\t{\n\t\t\tvec2 uv = sineWave(openfl_TextureCoordv);\n\t\t\tgl_FragColor = texture2D(bitmap, uv);\n\t\t}"; } if(this.__glVertexSource == null) { this.__glVertexSource = "\n\t\tattribute float openfl_Alpha;\n\t\tattribute vec4 openfl_ColorMultiplier;\n\t\tattribute vec4 openfl_ColorOffset;\n\t\tattribute vec4 openfl_Position;\n\t\tattribute vec2 openfl_TextureCoord;\n\n\t\tvarying float openfl_Alphav;\n\t\tvarying vec4 openfl_ColorMultiplierv;\n\t\tvarying vec4 openfl_ColorOffsetv;\n\t\tvarying vec2 openfl_TextureCoordv;\n\n\t\tuniform mat4 openfl_Matrix;\n\t\tuniform bool openfl_HasColorTransform;\n\t\tuniform vec2 openfl_TextureSize;\n\n\t\t\n\t\tattribute float alpha;\n\t\tattribute vec4 colorMultiplier;\n\t\tattribute vec4 colorOffset;\n\t\tuniform bool hasColorTransform;\n\t\t\n\t\tvoid main(void)\n\t\t{\n\t\t\topenfl_Alphav = openfl_Alpha;\n\t\topenfl_TextureCoordv = openfl_TextureCoord;\n\n\t\tif (openfl_HasColorTransform) {\n\n\t\t\topenfl_ColorMultiplierv = openfl_ColorMultiplier;\n\t\t\topenfl_ColorOffsetv = openfl_ColorOffset / 255.0;\n\n\t\t}\n\n\t\tgl_Position = openfl_Matrix * openfl_Position;\n\n\t\t\t\n\t\t\topenfl_Alphav = openfl_Alpha * alpha;\n\t\t\t\n\t\t\tif (hasColorTransform)\n\t\t\t{\n\t\t\t\topenfl_ColorOffsetv = colorOffset / 255.0;\n\t\t\t\topenfl_ColorMultiplierv = colorMultiplier;\n\t\t\t}\n\t\t}"; } flixel_graphics_tile_FlxGraphicsShader.call(this); this.__isGenerated = true; this.__initGL(); }; $hxClasses["WiggleShader"] = WiggleShader; WiggleShader.__name__ = "WiggleShader"; WiggleShader.__super__ = flixel_graphics_tile_FlxGraphicsShader; WiggleShader.prototype = $extend(flixel_graphics_tile_FlxGraphicsShader.prototype,{ tx: null ,uTime: null ,effectType: null ,uSpeed: null ,uFrequency: null ,uWaveAmplitude: null ,__class__: WiggleShader }); var _$Xml_XmlType_$Impl_$ = {}; $hxClasses["_Xml.XmlType_Impl_"] = _$Xml_XmlType_$Impl_$; _$Xml_XmlType_$Impl_$.__name__ = "_Xml.XmlType_Impl_"; _$Xml_XmlType_$Impl_$.toString = function(this1) { switch(this1) { case 0: return "Element"; case 1: return "PCData"; case 2: return "CData"; case 3: return "Comment"; case 4: return "DocType"; case 5: return "ProcessingInstruction"; case 6: return "Document"; } }; var Xml = function(nodeType) { this.nodeType = nodeType; this.children = []; this.attributeMap = new haxe_ds_StringMap(); }; $hxClasses["Xml"] = Xml; Xml.__name__ = "Xml"; Xml.parse = function(str) { return haxe_xml_Parser.parse(str); }; Xml.createElement = function(name) { var xml = new Xml(Xml.Element); if(xml.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element but found " + _$Xml_XmlType_$Impl_$.toString(xml.nodeType)); } xml.nodeName = name; return xml; }; Xml.createPCData = function(data) { var xml = new Xml(Xml.PCData); if(xml.nodeType == Xml.Document || xml.nodeType == Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, unexpected " + _$Xml_XmlType_$Impl_$.toString(xml.nodeType)); } xml.nodeValue = data; return xml; }; Xml.createCData = function(data) { var xml = new Xml(Xml.CData); if(xml.nodeType == Xml.Document || xml.nodeType == Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, unexpected " + _$Xml_XmlType_$Impl_$.toString(xml.nodeType)); } xml.nodeValue = data; return xml; }; Xml.createComment = function(data) { var xml = new Xml(Xml.Comment); if(xml.nodeType == Xml.Document || xml.nodeType == Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, unexpected " + _$Xml_XmlType_$Impl_$.toString(xml.nodeType)); } xml.nodeValue = data; return xml; }; Xml.createDocType = function(data) { var xml = new Xml(Xml.DocType); if(xml.nodeType == Xml.Document || xml.nodeType == Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, unexpected " + _$Xml_XmlType_$Impl_$.toString(xml.nodeType)); } xml.nodeValue = data; return xml; }; Xml.createProcessingInstruction = function(data) { var xml = new Xml(Xml.ProcessingInstruction); if(xml.nodeType == Xml.Document || xml.nodeType == Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, unexpected " + _$Xml_XmlType_$Impl_$.toString(xml.nodeType)); } xml.nodeValue = data; return xml; }; Xml.createDocument = function() { return new Xml(Xml.Document); }; Xml.prototype = { nodeType: null ,nodeName: null ,nodeValue: null ,parent: null ,children: null ,attributeMap: null ,get: function(att) { if(this.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element but found " + _$Xml_XmlType_$Impl_$.toString(this.nodeType)); } var _this = this.attributeMap; if(__map_reserved[att] != null) { return _this.getReserved(att); } else { return _this.h[att]; } } ,set: function(att,value) { if(this.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element but found " + _$Xml_XmlType_$Impl_$.toString(this.nodeType)); } var _this = this.attributeMap; if(__map_reserved[att] != null) { _this.setReserved(att,value); } else { _this.h[att] = value; } } ,exists: function(att) { if(this.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element but found " + _$Xml_XmlType_$Impl_$.toString(this.nodeType)); } var _this = this.attributeMap; if(__map_reserved[att] != null) { return _this.existsReserved(att); } else { return _this.h.hasOwnProperty(att); } } ,attributes: function() { if(this.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element but found " + _$Xml_XmlType_$Impl_$.toString(this.nodeType)); } return this.attributeMap.keys(); } ,elements: function() { if(this.nodeType != Xml.Document && this.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element or Document but found " + _$Xml_XmlType_$Impl_$.toString(this.nodeType)); } var _g = []; var _g1 = 0; var _g2 = this.children; while(_g1 < _g2.length) { var child = _g2[_g1]; ++_g1; if(child.nodeType == Xml.Element) { _g.push(child); } } var ret = _g; return HxOverrides.iter(ret); } ,elementsNamed: function(name) { if(this.nodeType != Xml.Document && this.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element or Document but found " + _$Xml_XmlType_$Impl_$.toString(this.nodeType)); } var _g = []; var _g1 = 0; var _g2 = this.children; while(_g1 < _g2.length) { var child = _g2[_g1]; ++_g1; var tmp; if(child.nodeType == Xml.Element) { if(child.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element but found " + _$Xml_XmlType_$Impl_$.toString(child.nodeType)); } tmp = child.nodeName == name; } else { tmp = false; } if(tmp) { _g.push(child); } } var ret = _g; return HxOverrides.iter(ret); } ,firstElement: function() { if(this.nodeType != Xml.Document && this.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element or Document but found " + _$Xml_XmlType_$Impl_$.toString(this.nodeType)); } var _g = 0; var _g1 = this.children; while(_g < _g1.length) { var child = _g1[_g]; ++_g; if(child.nodeType == Xml.Element) { return child; } } return null; } ,addChild: function(x) { if(this.nodeType != Xml.Document && this.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element or Document but found " + _$Xml_XmlType_$Impl_$.toString(this.nodeType)); } if(x.parent != null) { x.parent.removeChild(x); } this.children.push(x); x.parent = this; } ,removeChild: function(x) { if(this.nodeType != Xml.Document && this.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element or Document but found " + _$Xml_XmlType_$Impl_$.toString(this.nodeType)); } if(HxOverrides.remove(this.children,x)) { x.parent = null; return true; } return false; } ,insertChild: function(x,pos) { if(this.nodeType != Xml.Document && this.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element or Document but found " + _$Xml_XmlType_$Impl_$.toString(this.nodeType)); } if(x.parent != null) { HxOverrides.remove(x.parent.children,x); } this.children.splice(pos,0,x); x.parent = this; } ,toString: function() { return haxe_xml_Printer.print(this); } ,__class__: Xml }; var flixel_IFlxBasic = function() { }; $hxClasses["flixel.IFlxBasic"] = flixel_IFlxBasic; flixel_IFlxBasic.__name__ = "flixel.IFlxBasic"; flixel_IFlxBasic.__isInterface__ = true; flixel_IFlxBasic.prototype = { set_active: null ,set_visible: null ,set_alive: null ,set_exists: null ,ID: null ,active: null ,visible: null ,alive: null ,exists: null ,draw: null ,update: null ,destroy: null ,kill: null ,revive: null ,toString: null ,__class__: flixel_IFlxBasic ,__properties__: {set_exists:"set_exists",set_alive:"set_alive",set_visible:"set_visible",set_active:"set_active"} }; var flixel_util_FlxPool_$flixel_$math_$FlxPoint = function(classObj) { this._count = 0; this._pool = []; this._class = classObj; }; $hxClasses["flixel.util.FlxPool_flixel_math_FlxPoint"] = flixel_util_FlxPool_$flixel_$math_$FlxPoint; flixel_util_FlxPool_$flixel_$math_$FlxPoint.__name__ = "flixel.util.FlxPool_flixel_math_FlxPoint"; flixel_util_FlxPool_$flixel_$math_$FlxPoint.__interfaces__ = [flixel_util_IFlxPool]; flixel_util_FlxPool_$flixel_$math_$FlxPoint.prototype = { _pool: null ,_class: null ,_count: null ,get: function() { if(this._count == 0) { return Type.createInstance(this._class,[]); } return this._pool[--this._count]; } ,put: function(obj) { if(obj != null) { var i = this._pool.indexOf(obj); if(i == -1 || i >= this._count) { obj.destroy(); this._pool[this._count++] = obj; } } } ,putUnsafe: function(obj) { if(obj != null) { obj.destroy(); this._pool[this._count++] = obj; } } ,preAllocate: function(numObjects) { while(numObjects-- > 0) this._pool[this._count++] = Type.createInstance(this._class,[]); } ,clear: function() { this._count = 0; var oldPool = this._pool; this._pool = []; return oldPool; } ,get_length: function() { return this._count; } ,__class__: flixel_util_FlxPool_$flixel_$math_$FlxPoint ,__properties__: {get_length:"get_length"} }; var flixel_math_FlxPoint = function(X,Y) { if(Y == null) { Y = 0; } if(X == null) { X = 0; } this._inPool = false; this._weak = false; this.y = 0; this.x = 0; this.set(X,Y); }; $hxClasses["flixel.math.FlxPoint"] = flixel_math_FlxPoint; flixel_math_FlxPoint.__name__ = "flixel.math.FlxPoint"; flixel_math_FlxPoint.__interfaces__ = [flixel_util_IFlxPooled]; flixel_math_FlxPoint.__properties__ = {get_pool:"get_pool"}; flixel_math_FlxPoint.get = function(X,Y) { if(Y == null) { Y = 0; } if(X == null) { X = 0; } var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; return point; }; flixel_math_FlxPoint.weak = function(X,Y) { if(Y == null) { Y = 0; } if(X == null) { X = 0; } var X1 = X; var Y1 = Y; if(Y1 == null) { Y1 = 0; } if(X1 == null) { X1 = 0; } var point = flixel_math_FlxPoint._pool.get().set(X1,Y1); point._inPool = false; var point1 = point; point1._weak = true; return point1; }; flixel_math_FlxPoint.get_pool = function() { return flixel_math_FlxPoint._pool; }; flixel_math_FlxPoint.prototype = { x: null ,y: null ,_weak: null ,_inPool: null ,put: function() { if(!this._inPool) { this._inPool = true; this._weak = false; flixel_math_FlxPoint._pool.putUnsafe(this); } } ,putWeak: function() { if(this._weak) { this.put(); } } ,set: function(X,Y) { if(Y == null) { Y = 0; } if(X == null) { X = 0; } this.set_x(X); this.set_y(Y); return this; } ,add: function(X,Y) { if(Y == null) { Y = 0; } if(X == null) { X = 0; } var _g = this; _g.set_x(_g.x + X); var _g1 = this; _g1.set_y(_g1.y + Y); return this; } ,addPoint: function(point) { var _g = this; _g.set_x(_g.x + point.x); var _g1 = this; _g1.set_y(_g1.y + point.y); if(point._weak) { point.put(); } return this; } ,addPointWeak: function(point) { var _g = this; _g.set_x(_g.x + point.x); var _g1 = this; _g1.set_y(_g1.y + point.y); return this; } ,subtract: function(X,Y) { if(Y == null) { Y = 0; } if(X == null) { X = 0; } var _g = this; _g.set_x(_g.x - X); var _g1 = this; _g1.set_y(_g1.y - Y); return this; } ,subtractPoint: function(point) { var _g = this; _g.set_x(_g.x - point.x); var _g1 = this; _g1.set_y(_g1.y - point.y); if(point._weak) { point.put(); } return this; } ,subtractPointWeak: function(point) { var _g = this; _g.set_x(_g.x - point.x); var _g1 = this; _g1.set_y(_g1.y - point.y); return this; } ,scale: function(k) { var _g = this; _g.set_x(_g.x * k); var _g1 = this; _g1.set_y(_g1.y * k); return this; } ,copyFrom: function(point) { this.set_x(point.x); this.set_y(point.y); if(point._weak) { point.put(); } return this; } ,copyTo: function(point) { if(point == null) { var point1 = flixel_math_FlxPoint._pool.get().set(0,0); point1._inPool = false; point = point1; } point.set_x(this.x); point.set_y(this.y); return point; } ,copyFromFlash: function(FlashPoint) { this.set_x(FlashPoint.x); this.set_y(FlashPoint.y); return this; } ,copyToFlash: function(FlashPoint) { if(FlashPoint == null) { FlashPoint = new openfl_geom_Point(); } FlashPoint.x = this.x; FlashPoint.y = this.y; return FlashPoint; } ,addToFlash: function(FlashPoint) { FlashPoint.x += this.x; FlashPoint.y += this.y; return FlashPoint; } ,subtractFromFlash: function(FlashPoint) { FlashPoint.x -= this.x; FlashPoint.y -= this.y; return FlashPoint; } ,inCoords: function(RectX,RectY,RectWidth,RectHeight) { return flixel_math_FlxMath.pointInCoordinates(this.x,this.y,RectX,RectY,RectWidth,RectHeight); } ,inRect: function(Rect) { return flixel_math_FlxMath.pointInFlxRect(this.x,this.y,Rect); } ,distanceTo: function(point) { var dx = this.x - point.x; var dy = this.y - point.y; if(point._weak) { point.put(); } return Math.sqrt(dx * dx + dy * dy); } ,floor: function() { this.set_x(Math.floor(this.x)); this.set_y(Math.floor(this.y)); return this; } ,ceil: function() { this.set_x(Math.ceil(this.x)); this.set_y(Math.ceil(this.y)); return this; } ,round: function() { this.set_x(Math.round(this.x)); this.set_y(Math.round(this.y)); return this; } ,rotate: function(Pivot,Angle) { var radians = Angle * (Math.PI / 180); var n = radians; n *= 0.3183098862; if(n > 1) { n -= Math.ceil(n) >> 1 << 1; } else if(n < -1) { n += Math.ceil(-n) >> 1 << 1; } var sin = n > 0 ? n * (3.1 + n * (0.5 + n * (-7.2 + n * 3.6))) : n * (3.1 - n * (0.5 + n * (7.2 + n * 3.6))); var n1 = radians + 1.570796327; n1 *= 0.3183098862; if(n1 > 1) { n1 -= Math.ceil(n1) >> 1 << 1; } else if(n1 < -1) { n1 += Math.ceil(-n1) >> 1 << 1; } var cos = n1 > 0 ? n1 * (3.1 + n1 * (0.5 + n1 * (-7.2 + n1 * 3.6))) : n1 * (3.1 - n1 * (0.5 + n1 * (7.2 + n1 * 3.6))); var dx = this.x - Pivot.x; var dy = this.y - Pivot.y; this.set_x(cos * dx - sin * dy + Pivot.x); this.set_y(sin * dx + cos * dy + Pivot.y); if(Pivot._weak) { Pivot.put(); } return this; } ,angleBetween: function(point) { var x = point.x - this.x; var y = point.y - this.y; var angle = 0; if(x != 0 || y != 0) { var c1 = Math.PI * 0.25; var c2 = 3 * c1; var ay = y < 0 ? -y : y; if(x >= 0) { angle = c1 - c1 * ((x - ay) / (x + ay)); } else { angle = c2 - c1 * ((x + ay) / (ay - x)); } angle = (y < 0 ? -angle : angle) * (180 / Math.PI); if(angle > 90) { angle -= 270; } else { angle += 90; } } if(point._weak) { point.put(); } return angle; } ,toVector: function() { var x = this.x; var y = this.y; if(y == null) { y = 0; } if(x == null) { x = 0; } var X = x; var Y = y; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; return point; } ,equals: function(point) { var result = Math.abs(this.x - point.x) <= 0.0000001 && Math.abs(this.y - point.y) <= 0.0000001; if(point._weak) { point.put(); } return result; } ,destroy: function() { } ,transform: function(matrix) { var x1 = this.x * matrix.a + this.y * matrix.c + matrix.tx; var y1 = this.x * matrix.b + this.y * matrix.d + matrix.ty; return this.set(x1,y1); } ,toString: function() { var value = this.x; var _this = flixel_util_LabelValuePair._pool.get(); _this.label = "x"; _this.value = value; var value1 = this.y; var _this1 = flixel_util_LabelValuePair._pool.get(); _this1.label = "y"; _this1.value = value1; return flixel_util_FlxStringUtil.getDebugString([_this,_this1]); } ,set_x: function(Value) { return this.x = Value; } ,set_y: function(Value) { return this.y = Value; } ,__class__: flixel_math_FlxPoint ,__properties__: {set_y:"set_y",set_x:"set_x"} }; var lime_math_Matrix3 = function(a,b,c,d,tx,ty) { if(ty == null) { ty = 0; } if(tx == null) { tx = 0; } if(d == null) { d = 1; } if(c == null) { c = 0; } if(b == null) { b = 0; } if(a == null) { a = 1; } this.a = a; this.b = b; this.c = c; this.d = d; this.tx = tx; this.ty = ty; }; $hxClasses["lime.math.Matrix3"] = lime_math_Matrix3; lime_math_Matrix3.__name__ = "lime.math.Matrix3"; lime_math_Matrix3.prototype = { a: null ,b: null ,c: null ,d: null ,tx: null ,ty: null ,clone: function() { return new lime_math_Matrix3(this.a,this.b,this.c,this.d,this.tx,this.ty); } ,concat: function(m) { var a1 = this.a * m.a + this.b * m.c; this.b = this.a * m.b + this.b * m.d; this.a = a1; var c1 = this.c * m.a + this.d * m.c; this.d = this.c * m.b + this.d * m.d; this.c = c1; var tx1 = this.tx * m.a + this.ty * m.c + m.tx; this.ty = this.tx * m.b + this.ty * m.d + m.ty; this.tx = tx1; } ,copyColumnFrom: function(column,vector4) { if(column > 2) { throw new js__$Boot_HaxeError("Column " + column + " out of bounds (2)"); } else if(column == 0) { this.a = vector4.x; this.b = vector4.y; } else if(column == 1) { this.c = vector4.x; this.d = vector4.y; } else { this.tx = vector4.x; this.ty = vector4.y; } } ,copyColumnTo: function(column,vector4) { if(column > 2) { throw new js__$Boot_HaxeError("Column " + column + " out of bounds (2)"); } else if(column == 0) { vector4.x = this.a; vector4.y = this.b; vector4.z = 0; } else if(column == 1) { vector4.x = this.c; vector4.y = this.d; vector4.z = 0; } else { vector4.x = this.tx; vector4.y = this.ty; vector4.z = 1; } } ,copyFrom: function(sourceMatrix3) { this.a = sourceMatrix3.a; this.b = sourceMatrix3.b; this.c = sourceMatrix3.c; this.d = sourceMatrix3.d; this.tx = sourceMatrix3.tx; this.ty = sourceMatrix3.ty; } ,copyRowFrom: function(row,vector4) { if(row > 2) { throw new js__$Boot_HaxeError("Row " + row + " out of bounds (2)"); } else if(row == 0) { this.a = vector4.x; this.c = vector4.y; this.tx = vector4.z; } else if(row == 1) { this.b = vector4.x; this.d = vector4.y; this.ty = vector4.z; } } ,copyRowTo: function(row,vector4) { if(row > 2) { throw new js__$Boot_HaxeError("Row " + row + " out of bounds (2)"); } else if(row == 0) { vector4.x = this.a; vector4.y = this.c; vector4.z = this.tx; } else if(row == 1) { vector4.x = this.b; vector4.y = this.d; vector4.z = this.ty; } else { vector4.x = 0; vector4.y = 0; vector4.z = 1; } } ,createBox: function(scaleX,scaleY,rotation,tx,ty) { if(ty == null) { ty = 0; } if(tx == null) { tx = 0; } if(rotation == null) { rotation = 0; } if(rotation != 0) { var cos = Math.cos(rotation); var sin = Math.sin(rotation); this.a = cos * scaleX; this.b = sin * scaleY; this.c = -sin * scaleX; this.d = cos * scaleY; } else { this.a = scaleX; this.b = 0; this.c = 0; this.d = scaleY; } this.tx = tx; this.ty = ty; } ,createGradientBox: function(width,height,rotation,tx,ty) { if(ty == null) { ty = 0; } if(tx == null) { tx = 0; } if(rotation == null) { rotation = 0; } this.a = width / 1638.4; this.d = height / 1638.4; if(rotation != 0) { var cos = Math.cos(rotation); var sin = Math.sin(rotation); this.b = sin * this.d; this.c = -sin * this.a; this.a *= cos; this.d *= cos; } else { this.b = 0; this.c = 0; } this.tx = tx + width / 2; this.ty = ty + height / 2; } ,equals: function(matrix3) { if(matrix3 != null && this.tx == matrix3.tx && this.ty == matrix3.ty && this.a == matrix3.a && this.b == matrix3.b && this.c == matrix3.c) { return this.d == matrix3.d; } else { return false; } } ,deltaTransformVector: function(Vector2,result) { if(result == null) { result = new lime_math_Vector2(); } result.x = Vector2.x * this.a + Vector2.y * this.c; result.y = Vector2.x * this.b + Vector2.y * this.d; return result; } ,identity: function() { this.a = 1; this.b = 0; this.c = 0; this.d = 1; this.tx = 0; this.ty = 0; } ,invert: function() { var norm = this.a * this.d - this.b * this.c; if(norm == 0) { this.a = this.b = this.c = this.d = 0; this.tx = -this.tx; this.ty = -this.ty; } else { norm = 1.0 / norm; var a1 = this.d * norm; this.d = this.a * norm; this.a = a1; this.b *= -norm; this.c *= -norm; var tx1 = -this.a * this.tx - this.c * this.ty; this.ty = -this.b * this.tx - this.d * this.ty; this.tx = tx1; } return this; } ,rotate: function(theta) { var cos = Math.cos(theta); var sin = Math.sin(theta); var a1 = this.a * cos - this.b * sin; this.b = this.a * sin + this.b * cos; this.a = a1; var c1 = this.c * cos - this.d * sin; this.d = this.c * sin + this.d * cos; this.c = c1; var tx1 = this.tx * cos - this.ty * sin; this.ty = this.tx * sin + this.ty * cos; this.tx = tx1; } ,scale: function(sx,sy) { this.a *= sx; this.b *= sy; this.c *= sx; this.d *= sy; this.tx *= sx; this.ty *= sy; } ,setRotation: function(theta,scale) { if(scale == null) { scale = 1; } this.a = Math.cos(theta) * scale; this.c = Math.sin(theta) * scale; this.b = -this.c; this.d = this.a; } ,setTo: function(a,b,c,d,tx,ty) { this.a = a; this.b = b; this.c = c; this.d = d; this.tx = tx; this.ty = ty; } ,to3DString: function(roundPixels) { if(roundPixels == null) { roundPixels = false; } if(roundPixels) { return "matrix3d(" + this.a + ", " + this.b + ", " + "0, 0, " + this.c + ", " + this.d + ", " + "0, 0, 0, 0, 1, 0, " + (this.tx | 0) + ", " + (this.ty | 0) + ", 0, 1)"; } else { return "matrix3d(" + this.a + ", " + this.b + ", " + "0, 0, " + this.c + ", " + this.d + ", " + "0, 0, 0, 0, 1, 0, " + this.tx + ", " + this.ty + ", 0, 1)"; } } ,toString: function() { return "matrix(" + this.a + ", " + this.b + ", " + this.c + ", " + this.d + ", " + this.tx + ", " + this.ty + ")"; } ,transformRect: function(rect,result) { if(result == null) { result = new lime_math_Rectangle(); } var tx0 = this.a * rect.x + this.c * rect.y; var tx1 = tx0; var ty0 = this.b * rect.x + this.d * rect.y; var ty1 = ty0; var tx = this.a * (rect.x + rect.width) + this.c * rect.y; var ty = this.b * (rect.x + rect.width) + this.d * rect.y; if(tx < tx0) { tx0 = tx; } if(ty < ty0) { ty0 = ty; } if(tx > tx1) { tx1 = tx; } if(ty > ty1) { ty1 = ty; } tx = this.a * (rect.x + rect.width) + this.c * (rect.y + rect.height); ty = this.b * (rect.x + rect.width) + this.d * (rect.y + rect.height); if(tx < tx0) { tx0 = tx; } if(ty < ty0) { ty0 = ty; } if(tx > tx1) { tx1 = tx; } if(ty > ty1) { ty1 = ty; } tx = this.a * rect.x + this.c * (rect.y + rect.height); ty = this.b * rect.x + this.d * (rect.y + rect.height); if(tx < tx0) { tx0 = tx; } if(ty < ty0) { ty0 = ty; } if(tx > tx1) { tx1 = tx; } if(ty > ty1) { ty1 = ty; } result.setTo(tx0 + tx,ty0 + ty,tx1 - tx0,ty1 - ty0); return result; } ,transformVector: function(pos,result) { if(result == null) { result = new lime_math_Vector2(); } result.x = pos.x * this.a + pos.y * this.c + this.tx; result.y = pos.x * this.b + pos.y * this.d + this.ty; return result; } ,translate: function(dx,dy) { this.tx += dx; this.ty += dy; } ,__class__: lime_math_Matrix3 }; var openfl_geom_Matrix = function(a,b,c,d,tx,ty) { if(ty == null) { ty = 0; } if(tx == null) { tx = 0; } if(d == null) { d = 1; } if(c == null) { c = 0; } if(b == null) { b = 0; } if(a == null) { a = 1; } this.a = a; this.b = b; this.c = c; this.d = d; this.tx = tx; this.ty = ty; }; $hxClasses["openfl.geom.Matrix"] = openfl_geom_Matrix; openfl_geom_Matrix.__name__ = "openfl.geom.Matrix"; openfl_geom_Matrix.prototype = { a: null ,b: null ,c: null ,d: null ,tx: null ,ty: null ,__array: null ,clone: function() { return new openfl_geom_Matrix(this.a,this.b,this.c,this.d,this.tx,this.ty); } ,concat: function(m) { var a1 = this.a * m.a + this.b * m.c; this.b = this.a * m.b + this.b * m.d; this.a = a1; var c1 = this.c * m.a + this.d * m.c; this.d = this.c * m.b + this.d * m.d; this.c = c1; var tx1 = this.tx * m.a + this.ty * m.c + m.tx; this.ty = this.tx * m.b + this.ty * m.d + m.ty; this.tx = tx1; } ,copyColumnFrom: function(column,vector3D) { if(column > 2) { throw new js__$Boot_HaxeError("Column " + column + " out of bounds (2)"); } else if(column == 0) { this.a = vector3D.x; this.b = vector3D.y; } else if(column == 1) { this.c = vector3D.x; this.d = vector3D.y; } else { this.tx = vector3D.x; this.ty = vector3D.y; } } ,copyColumnTo: function(column,vector3D) { if(column > 2) { throw new js__$Boot_HaxeError("Column " + column + " out of bounds (2)"); } else if(column == 0) { vector3D.x = this.a; vector3D.y = this.b; vector3D.z = 0; } else if(column == 1) { vector3D.x = this.c; vector3D.y = this.d; vector3D.z = 0; } else { vector3D.x = this.tx; vector3D.y = this.ty; vector3D.z = 1; } } ,copyFrom: function(sourceMatrix) { this.a = sourceMatrix.a; this.b = sourceMatrix.b; this.c = sourceMatrix.c; this.d = sourceMatrix.d; this.tx = sourceMatrix.tx; this.ty = sourceMatrix.ty; } ,copyRowFrom: function(row,vector3D) { if(row > 2) { throw new js__$Boot_HaxeError("Row " + row + " out of bounds (2)"); } else if(row == 0) { this.a = vector3D.x; this.c = vector3D.y; this.tx = vector3D.z; } else if(row == 1) { this.b = vector3D.x; this.d = vector3D.y; this.ty = vector3D.z; } } ,copyRowTo: function(row,vector3D) { if(row > 2) { throw new js__$Boot_HaxeError("Row " + row + " out of bounds (2)"); } else if(row == 0) { vector3D.x = this.a; vector3D.y = this.c; vector3D.z = this.tx; } else if(row == 1) { vector3D.x = this.b; vector3D.y = this.d; vector3D.z = this.ty; } else { vector3D.setTo(0,0,1); } } ,createBox: function(scaleX,scaleY,rotation,tx,ty) { if(ty == null) { ty = 0; } if(tx == null) { tx = 0; } if(rotation == null) { rotation = 0; } if(rotation != 0) { var cos = Math.cos(rotation); var sin = Math.sin(rotation); this.a = cos * scaleX; this.b = sin * scaleY; this.c = -sin * scaleX; this.d = cos * scaleY; } else { this.a = scaleX; this.b = 0; this.c = 0; this.d = scaleY; } this.tx = tx; this.ty = ty; } ,createGradientBox: function(width,height,rotation,tx,ty) { if(ty == null) { ty = 0; } if(tx == null) { tx = 0; } if(rotation == null) { rotation = 0; } this.a = width / 1638.4; this.d = height / 1638.4; if(rotation != 0) { var cos = Math.cos(rotation); var sin = Math.sin(rotation); this.b = sin * this.d; this.c = -sin * this.a; this.a *= cos; this.d *= cos; } else { this.b = 0; this.c = 0; } this.tx = tx + width / 2; this.ty = ty + height / 2; } ,deltaTransformPoint: function(point) { return new openfl_geom_Point(point.x * this.a + point.y * this.c,point.x * this.b + point.y * this.d); } ,equals: function(matrix) { if(matrix != null && this.tx == matrix.tx && this.ty == matrix.ty && this.a == matrix.a && this.b == matrix.b && this.c == matrix.c) { return this.d == matrix.d; } else { return false; } } ,identity: function() { this.a = 1; this.b = 0; this.c = 0; this.d = 1; this.tx = 0; this.ty = 0; } ,invert: function() { var norm = this.a * this.d - this.b * this.c; if(norm == 0) { this.a = this.b = this.c = this.d = 0; this.tx = -this.tx; this.ty = -this.ty; } else { norm = 1.0 / norm; var a1 = this.d * norm; this.d = this.a * norm; this.a = a1; this.b *= -norm; this.c *= -norm; var tx1 = -this.a * this.tx - this.c * this.ty; this.ty = -this.b * this.tx - this.d * this.ty; this.tx = tx1; } return this; } ,rotate: function(theta) { var cos = Math.cos(theta); var sin = Math.sin(theta); var a1 = this.a * cos - this.b * sin; this.b = this.a * sin + this.b * cos; this.a = a1; var c1 = this.c * cos - this.d * sin; this.d = this.c * sin + this.d * cos; this.c = c1; var tx1 = this.tx * cos - this.ty * sin; this.ty = this.tx * sin + this.ty * cos; this.tx = tx1; } ,scale: function(sx,sy) { this.a *= sx; this.b *= sy; this.c *= sx; this.d *= sy; this.tx *= sx; this.ty *= sy; } ,setRotation: function(theta,scale) { if(scale == null) { scale = 1; } this.a = Math.cos(theta) * scale; this.c = Math.sin(theta) * scale; this.b = -this.c; this.d = this.a; } ,setTo: function(a,b,c,d,tx,ty) { this.a = a; this.b = b; this.c = c; this.d = d; this.tx = tx; this.ty = ty; } ,to3DString: function(roundPixels) { if(roundPixels == null) { roundPixels = false; } if(roundPixels) { return "matrix3d(" + this.a + ", " + this.b + ", 0, 0, " + this.c + ", " + this.d + ", 0, 0, 0, 0, 1, 0, " + (this.tx | 0) + ", " + (this.ty | 0) + ", 0, 1)"; } else { return "matrix3d(" + this.a + ", " + this.b + ", 0, 0, " + this.c + ", " + this.d + ", 0, 0, 0, 0, 1, 0, " + this.tx + ", " + this.ty + ", 0, 1)"; } } ,toMozString: function() { return "matrix(" + this.a + ", " + this.b + ", " + this.c + ", " + this.d + ", " + this.tx + "px, " + this.ty + "px)"; } ,toString: function() { return "matrix(" + this.a + ", " + this.b + ", " + this.c + ", " + this.d + ", " + this.tx + ", " + this.ty + ")"; } ,transformPoint: function(pos) { return new openfl_geom_Point(pos.x * this.a + pos.y * this.c + this.tx,pos.x * this.b + pos.y * this.d + this.ty); } ,translate: function(dx,dy) { this.tx += dx; this.ty += dy; } ,toArray: function(transpose) { if(transpose == null) { transpose = false; } if(this.__array == null) { var array = null; var vector = null; var view = null; var buffer = null; var len = null; var this1 = new Float32Array(9); this.__array = this1; } if(transpose) { this.__array[0] = this.a; this.__array[1] = this.b; this.__array[2] = 0; this.__array[3] = this.c; this.__array[4] = this.d; this.__array[5] = 0; this.__array[6] = this.tx; this.__array[7] = this.ty; this.__array[8] = 1; } else { this.__array[0] = this.a; this.__array[1] = this.c; this.__array[2] = this.tx; this.__array[3] = this.b; this.__array[4] = this.d; this.__array[5] = this.ty; this.__array[6] = 0; this.__array[7] = 0; this.__array[8] = 1; } return this.__array; } ,__cleanValues: function() { this.a = Math.round(this.a * 1000) / 1000; this.b = Math.round(this.b * 1000) / 1000; this.c = Math.round(this.c * 1000) / 1000; this.d = Math.round(this.d * 1000) / 1000; this.tx = Math.round(this.tx * 10) / 10; this.ty = Math.round(this.ty * 10) / 10; } ,__toMatrix3: function() { openfl_geom_Matrix.__matrix3.setTo(this.a,this.b,this.c,this.d,this.tx,this.ty); return openfl_geom_Matrix.__matrix3; } ,__transformInversePoint: function(point) { var norm = this.a * this.d - this.b * this.c; if(norm == 0) { point.x = -this.tx; point.y = -this.ty; } else { var px = 1.0 / norm * (this.c * (this.ty - point.y) + this.d * (point.x - this.tx)); point.y = 1.0 / norm * (this.a * (point.y - this.ty) + this.b * (this.tx - point.x)); point.x = px; } } ,__transformInverseX: function(px,py) { var norm = this.a * this.d - this.b * this.c; if(norm == 0) { return -this.tx; } else { return 1.0 / norm * (this.c * (this.ty - py) + this.d * (px - this.tx)); } } ,__transformInverseY: function(px,py) { var norm = this.a * this.d - this.b * this.c; if(norm == 0) { return -this.ty; } else { return 1.0 / norm * (this.a * (py - this.ty) + this.b * (this.tx - px)); } } ,__transformPoint: function(point) { var px = point.x; var py = point.y; point.x = px * this.a + py * this.c + this.tx; point.y = px * this.b + py * this.d + this.ty; } ,__transformX: function(px,py) { return px * this.a + py * this.c + this.tx; } ,__transformY: function(px,py) { return px * this.b + py * this.d + this.ty; } ,__translateTransformed: function(px,py) { this.tx = px * this.a + py * this.c + this.tx; this.ty = px * this.b + py * this.d + this.ty; } ,__class__: openfl_geom_Matrix }; var openfl_geom_ColorTransform = function(redMultiplier,greenMultiplier,blueMultiplier,alphaMultiplier,redOffset,greenOffset,blueOffset,alphaOffset) { if(alphaOffset == null) { alphaOffset = 0; } if(blueOffset == null) { blueOffset = 0; } if(greenOffset == null) { greenOffset = 0; } if(redOffset == null) { redOffset = 0; } if(alphaMultiplier == null) { alphaMultiplier = 1; } if(blueMultiplier == null) { blueMultiplier = 1; } if(greenMultiplier == null) { greenMultiplier = 1; } if(redMultiplier == null) { redMultiplier = 1; } this.redMultiplier = redMultiplier; this.greenMultiplier = greenMultiplier; this.blueMultiplier = blueMultiplier; this.alphaMultiplier = alphaMultiplier; this.redOffset = redOffset; this.greenOffset = greenOffset; this.blueOffset = blueOffset; this.alphaOffset = alphaOffset; }; $hxClasses["openfl.geom.ColorTransform"] = openfl_geom_ColorTransform; openfl_geom_ColorTransform.__name__ = "openfl.geom.ColorTransform"; openfl_geom_ColorTransform.__limeColorMatrix = null; openfl_geom_ColorTransform.prototype = { alphaMultiplier: null ,alphaOffset: null ,blueMultiplier: null ,blueOffset: null ,greenMultiplier: null ,greenOffset: null ,redMultiplier: null ,redOffset: null ,concat: function(second) { this.redOffset = second.redOffset * this.redMultiplier + this.redOffset; this.greenOffset = second.greenOffset * this.greenMultiplier + this.greenOffset; this.blueOffset = second.blueOffset * this.blueMultiplier + this.blueOffset; this.alphaOffset = second.alphaOffset * this.alphaMultiplier + this.alphaOffset; this.redMultiplier *= second.redMultiplier; this.greenMultiplier *= second.greenMultiplier; this.blueMultiplier *= second.blueMultiplier; this.alphaMultiplier *= second.alphaMultiplier; } ,toString: function() { return "(redMultiplier=" + this.redMultiplier + ", greenMultiplier=" + this.greenMultiplier + ", blueMultiplier=" + this.blueMultiplier + ", alphaMultiplier=" + this.alphaMultiplier + ", redOffset=" + this.redOffset + ", greenOffset=" + this.greenOffset + ", blueOffset=" + this.blueOffset + ", alphaOffset=" + this.alphaOffset + ")"; } ,__clone: function() { return new openfl_geom_ColorTransform(this.redMultiplier,this.greenMultiplier,this.blueMultiplier,this.alphaMultiplier,this.redOffset,this.greenOffset,this.blueOffset,this.alphaOffset); } ,__copyFrom: function(ct) { this.redMultiplier = ct.redMultiplier; this.greenMultiplier = ct.greenMultiplier; this.blueMultiplier = ct.blueMultiplier; this.alphaMultiplier = ct.alphaMultiplier; this.redOffset = ct.redOffset; this.greenOffset = ct.greenOffset; this.blueOffset = ct.blueOffset; this.alphaOffset = ct.alphaOffset; } ,__combine: function(ct) { this.redMultiplier *= ct.redMultiplier; this.greenMultiplier *= ct.greenMultiplier; this.blueMultiplier *= ct.blueMultiplier; this.alphaMultiplier *= ct.alphaMultiplier; this.redOffset += ct.redOffset; this.greenOffset += ct.greenOffset; this.blueOffset += ct.blueOffset; this.alphaOffset += ct.alphaOffset; } ,__identity: function() { this.redMultiplier = 1; this.greenMultiplier = 1; this.blueMultiplier = 1; this.alphaMultiplier = 1; this.redOffset = 0; this.greenOffset = 0; this.blueOffset = 0; this.alphaOffset = 0; } ,__invert: function() { this.redMultiplier = this.redMultiplier != 0 ? 1 / this.redMultiplier : 1; this.greenMultiplier = this.greenMultiplier != 0 ? 1 / this.greenMultiplier : 1; this.blueMultiplier = this.blueMultiplier != 0 ? 1 / this.blueMultiplier : 1; this.alphaMultiplier = this.alphaMultiplier != 0 ? 1 / this.alphaMultiplier : 1; this.redOffset = -this.redOffset; this.greenOffset = -this.greenOffset; this.blueOffset = -this.blueOffset; this.alphaOffset = -this.alphaOffset; } ,__equals: function(ct,ignoreAlphaMultiplier) { if(ct != null && this.redMultiplier == ct.redMultiplier && this.greenMultiplier == ct.greenMultiplier && this.blueMultiplier == ct.blueMultiplier && (ignoreAlphaMultiplier || this.alphaMultiplier == ct.alphaMultiplier) && this.redOffset == ct.redOffset && this.greenOffset == ct.greenOffset && this.blueOffset == ct.blueOffset) { return this.alphaOffset == ct.alphaOffset; } else { return false; } } ,__isDefault: function(ignoreAlphaMultiplier) { if(ignoreAlphaMultiplier) { if(this.redMultiplier == 1 && this.greenMultiplier == 1 && this.blueMultiplier == 1 && this.redOffset == 0 && this.greenOffset == 0 && this.blueOffset == 0) { return this.alphaOffset == 0; } else { return false; } } else if(this.redMultiplier == 1 && this.greenMultiplier == 1 && this.blueMultiplier == 1 && this.alphaMultiplier == 1 && this.redOffset == 0 && this.greenOffset == 0 && this.blueOffset == 0) { return this.alphaOffset == 0; } else { return false; } } ,__setArrays: function(colorMultipliers,colorOffsets) { colorMultipliers[0] = this.redMultiplier; colorMultipliers[1] = this.greenMultiplier; colorMultipliers[2] = this.blueMultiplier; colorMultipliers[3] = this.alphaMultiplier; colorOffsets[0] = this.redOffset; colorOffsets[1] = this.greenOffset; colorOffsets[2] = this.blueOffset; colorOffsets[3] = this.alphaOffset; } ,get_color: function() { return (this.redOffset | 0) << 16 | (this.greenOffset | 0) << 8 | (this.blueOffset | 0); } ,set_color: function(value) { this.redOffset = value >> 16 & 255; this.greenOffset = value >> 8 & 255; this.blueOffset = value & 255; this.redMultiplier = 0; this.greenMultiplier = 0; this.blueMultiplier = 0; return this.get_color(); } ,__toLimeColorMatrix: function() { if(openfl_geom_ColorTransform.__limeColorMatrix == null) { var array = null; var vector = null; var view = null; var buffer = null; var len = null; var this1 = new Float32Array(20); openfl_geom_ColorTransform.__limeColorMatrix = this1; } openfl_geom_ColorTransform.__limeColorMatrix[0] = this.redMultiplier; openfl_geom_ColorTransform.__limeColorMatrix[4] = this.redOffset / 255; openfl_geom_ColorTransform.__limeColorMatrix[6] = this.greenMultiplier; openfl_geom_ColorTransform.__limeColorMatrix[9] = this.greenOffset / 255; openfl_geom_ColorTransform.__limeColorMatrix[12] = this.blueMultiplier; openfl_geom_ColorTransform.__limeColorMatrix[14] = this.blueOffset / 255; openfl_geom_ColorTransform.__limeColorMatrix[18] = this.alphaMultiplier; openfl_geom_ColorTransform.__limeColorMatrix[19] = this.alphaOffset / 255; return openfl_geom_ColorTransform.__limeColorMatrix; } ,__class__: openfl_geom_ColorTransform ,__properties__: {set_color:"set_color",get_color:"get_color"} }; var flixel_FlxCamera = function(X,Y,Width,Height,Zoom) { if(Zoom == null) { Zoom = 0; } if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } this._helperPoint = new openfl_geom_Point(); this._helperMatrix = new flixel_math_FlxMatrix(); var _this = flixel_math_FlxRect._pool.get(); _this.x = 0; _this.y = 0; _this.width = 0; _this.height = 0; _this._inPool = false; this._bounds = _this; this._scrollRect = new openfl_display_Sprite(); this.initialZoom = 1; var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; this._point = point; this._fxShakeAxes = flixel_util_FlxAxes.XY; this._fxShakeDuration = 0; this._fxShakeIntensity = 0; this._fxFadeAlpha = 0; this._fxFadeCompleted = true; this._fxFadeComplete = null; this._fxFadeIn = false; this._fxFadeDuration = 0; var point1 = flixel_math_FlxPoint._pool.get().set(0,0); point1._inPool = false; this._scrollTarget = point1; this._fxFadeColor = 0; this._fxFlashAlpha = 0; this._fxFlashComplete = null; this._fxFlashDuration = 0; this._fxFlashColor = 0; var point2 = flixel_math_FlxPoint._pool.get().set(0,0); point2._inPool = false; this._flashOffset = point2; this._flashPoint = new openfl_geom_Point(); this.filtersEnabled = true; var point3 = flixel_math_FlxPoint._pool.get().set(0,0); point3._inPool = false; this.followLead = point3; this.antialiasing = false; this.color = -1; this.angle = 0; this.alpha = 1; this._useBlitMatrix = false; this._blitMatrix = new flixel_math_FlxMatrix(); this.viewHeight = 0; this.viewWidth = 0; this.viewOffsetHeight = 0; this.viewOffsetWidth = 0; this.viewOffsetY = 0; this.viewOffsetX = 0; this.height = 0; this.width = 0; this.flashSprite = new openfl_display_Sprite(); this.useBgAlphaBlending = false; var point4 = flixel_math_FlxPoint._pool.get().set(0,0); point4._inPool = false; this.scroll = point4; this.followLerp = 60 / flixel_FlxG.updateFramerate; var point5 = flixel_math_FlxPoint._pool.get().set(0,0); point5._inPool = false; this.targetOffset = point5; this.scaleY = 0; this.scaleX = 0; this.y = 0; this.x = 0; flixel_FlxBasic.call(this); this.set_x(X); this.set_y(Y); this.set_width(Width <= 0 ? flixel_FlxG.width : Width); this.set_height(Height <= 0 ? flixel_FlxG.height : Height); this._flashRect = new openfl_geom_Rectangle(0,0,this.width,this.height); this.flashSprite.addChild(this._scrollRect); this._scrollRect.set_scrollRect(new openfl_geom_Rectangle()); this.pixelPerfectRender = flixel_FlxG.renderBlit; if(flixel_FlxG.renderBlit) { this.screen = new flixel_FlxSprite(); this.buffer = new openfl_display_BitmapData(this.width,this.height,true,0); this.screen.set_pixels(this.buffer); this.screen.origin.set(); this._flashBitmap = new openfl_display_Bitmap(this.buffer); this._scrollRect.addChild(this._flashBitmap); this._fill = new openfl_display_BitmapData(this.width,this.height,true,0); } else { this.canvas = new openfl_display_Sprite(); this._scrollRect.addChild(this.canvas); } this.set_color(-1); this.initialZoom = Zoom == 0 ? flixel_FlxCamera.defaultZoom : Zoom; this.set_zoom(Zoom); this.updateScrollRect(); this.updateFlashOffset(); this.updateFlashSpritePosition(); this.updateInternalSpritePositions(); this.bgColor = flixel_FlxG.cameras.get_bgColor(); }; $hxClasses["flixel.FlxCamera"] = flixel_FlxCamera; flixel_FlxCamera.__name__ = "flixel.FlxCamera"; flixel_FlxCamera.__properties__ = {set_defaultCameras:"set_defaultCameras",get_defaultCameras:"get_defaultCameras"}; flixel_FlxCamera.defaultZoom = null; flixel_FlxCamera._defaultCameras = null; flixel_FlxCamera._storageTilesHead = null; flixel_FlxCamera._storageTrianglesHead = null; flixel_FlxCamera.get_defaultCameras = function() { return flixel_FlxCamera._defaultCameras; }; flixel_FlxCamera.set_defaultCameras = function(value) { return flixel_FlxCamera._defaultCameras = value; }; flixel_FlxCamera.__super__ = flixel_FlxBasic; flixel_FlxCamera.prototype = $extend(flixel_FlxBasic.prototype,{ x: null ,y: null ,scaleX: null ,scaleY: null ,totalScaleX: null ,totalScaleY: null ,style: null ,target: null ,targetOffset: null ,followLerp: null ,deadzone: null ,minScrollX: null ,maxScrollX: null ,minScrollY: null ,maxScrollY: null ,scroll: null ,buffer: null ,bgColor: null ,screen: null ,useBgAlphaBlending: null ,flashSprite: null ,pixelPerfectRender: null ,width: null ,height: null ,zoom: null ,viewOffsetX: null ,viewOffsetY: null ,viewOffsetWidth: null ,viewOffsetHeight: null ,viewWidth: null ,viewHeight: null ,_blitMatrix: null ,_useBlitMatrix: null ,alpha: null ,angle: null ,color: null ,antialiasing: null ,followLead: null ,filtersEnabled: null ,_flashRect: null ,_flashPoint: null ,_flashOffset: null ,_fxFlashColor: null ,_fxFlashDuration: null ,_fxFlashComplete: null ,_fxFlashAlpha: null ,_fxFadeColor: null ,_lastTargetPosition: null ,_scrollTarget: null ,_fxFadeDuration: null ,_fxFadeIn: null ,_fxFadeComplete: null ,_fxFadeCompleted: null ,_fxFadeAlpha: null ,_fxShakeIntensity: null ,_fxShakeDuration: null ,_fxShakeComplete: null ,_fxShakeAxes: null ,_point: null ,_filters: null ,initialZoom: null ,_fill: null ,_flashBitmap: null ,_scrollRect: null ,_bounds: null ,canvas: null ,_helperMatrix: null ,_helperPoint: null ,_currentDrawItem: null ,_headOfDrawStack: null ,_headTiles: null ,_headTriangles: null ,startQuadBatch: function(graphic,colored,hasColorOffsets,blend,smooth,shader) { if(smooth == null) { smooth = false; } if(hasColorOffsets == null) { hasColorOffsets = false; } var itemToReturn = null; var blendInt = flixel_graphics_tile_FlxDrawBaseItem.blendToInt(blend); if(this._currentDrawItem != null && this._currentDrawItem.type == flixel_graphics_tile_FlxDrawItemType.TILES && this._headTiles.graphics == graphic && this._headTiles.colored == colored && this._headTiles.hasColorOffsets == hasColorOffsets && this._headTiles.blending == blendInt && this._headTiles.blend == blend && this._headTiles.antialiasing == smooth && this._headTiles.shader == shader) { return this._headTiles; } if(flixel_FlxCamera._storageTilesHead != null) { itemToReturn = flixel_FlxCamera._storageTilesHead; var newHead = flixel_FlxCamera._storageTilesHead.nextTyped; itemToReturn.reset(); flixel_FlxCamera._storageTilesHead = newHead; } else { itemToReturn = new flixel_graphics_tile_FlxDrawQuadsItem(); } itemToReturn.graphics = graphic; itemToReturn.antialiasing = smooth; itemToReturn.colored = colored; itemToReturn.hasColorOffsets = hasColorOffsets; itemToReturn.blending = blendInt; itemToReturn.blend = blend; itemToReturn.shader = shader; itemToReturn.nextTyped = this._headTiles; this._headTiles = itemToReturn; if(this._headOfDrawStack == null) { this._headOfDrawStack = itemToReturn; } if(this._currentDrawItem != null) { this._currentDrawItem.next = itemToReturn; } this._currentDrawItem = itemToReturn; return itemToReturn; } ,startTrianglesBatch: function(graphic,smoothing,isColored,blend) { if(isColored == null) { isColored = false; } if(smoothing == null) { smoothing = false; } var blendInt = flixel_graphics_tile_FlxDrawBaseItem.blendToInt(blend); if(this._currentDrawItem != null && this._currentDrawItem.type == flixel_graphics_tile_FlxDrawItemType.TRIANGLES && this._headTriangles.graphics == graphic && this._headTriangles.antialiasing == smoothing && this._headTriangles.colored == isColored && this._headTriangles.blending == blendInt) { return this._headTriangles; } return this.getNewDrawTrianglesItem(graphic,smoothing,isColored,blend); } ,getNewDrawTrianglesItem: function(graphic,smoothing,isColored,blend) { if(isColored == null) { isColored = false; } if(smoothing == null) { smoothing = false; } var itemToReturn = null; var blendInt = flixel_graphics_tile_FlxDrawBaseItem.blendToInt(blend); if(flixel_FlxCamera._storageTrianglesHead != null) { itemToReturn = flixel_FlxCamera._storageTrianglesHead; var newHead = flixel_FlxCamera._storageTrianglesHead.nextTyped; itemToReturn.reset(); flixel_FlxCamera._storageTrianglesHead = newHead; } else { itemToReturn = new flixel_graphics_tile_FlxDrawTrianglesItem(); } itemToReturn.graphics = graphic; itemToReturn.antialiasing = smoothing; itemToReturn.colored = isColored; itemToReturn.blending = blendInt; itemToReturn.nextTyped = this._headTriangles; this._headTriangles = itemToReturn; if(this._headOfDrawStack == null) { this._headOfDrawStack = itemToReturn; } if(this._currentDrawItem != null) { this._currentDrawItem.next = itemToReturn; } this._currentDrawItem = itemToReturn; return itemToReturn; } ,clearDrawStack: function() { var currTiles = this._headTiles; var newTilesHead; while(currTiles != null) { newTilesHead = currTiles.nextTyped; currTiles.reset(); currTiles.nextTyped = flixel_FlxCamera._storageTilesHead; flixel_FlxCamera._storageTilesHead = currTiles; currTiles = newTilesHead; } var currTriangles = this._headTriangles; var newTrianglesHead; while(currTriangles != null) { newTrianglesHead = currTriangles.nextTyped; currTriangles.reset(); currTriangles.nextTyped = flixel_FlxCamera._storageTrianglesHead; flixel_FlxCamera._storageTrianglesHead = currTriangles; currTriangles = newTrianglesHead; } this._currentDrawItem = null; this._headOfDrawStack = null; this._headTiles = null; this._headTriangles = null; } ,render: function() { var currItem = this._headOfDrawStack; while(currItem != null) { currItem.render(this); currItem = currItem.next; } } ,drawPixels: function(frame,pixels,matrix,transform,blend,smoothing,shader) { if(smoothing == null) { smoothing = false; } if(flixel_FlxG.renderBlit) { this._helperMatrix.copyFrom(matrix); if(this._useBlitMatrix) { this._helperMatrix.concat(this._blitMatrix); this.buffer.draw(pixels,this._helperMatrix,null,null,null,smoothing || this.antialiasing); } else { this._helperMatrix.translate(-this.viewOffsetX,-this.viewOffsetY); this.buffer.draw(pixels,this._helperMatrix,null,blend,null,smoothing || this.antialiasing); } } else { var isColored = transform != null && flixel_util_FlxColorTransformUtil.hasRGBMultipliers(transform); var hasColorOffsets = transform != null && flixel_util_FlxColorTransformUtil.hasRGBAOffsets(transform); var drawItem = this.startQuadBatch(frame.parent,isColored,hasColorOffsets,blend,smoothing,shader); drawItem.addQuad(frame,matrix,transform); } } ,copyPixels: function(frame,pixels,sourceRect,destPoint,transform,blend,smoothing,shader) { if(smoothing == null) { smoothing = false; } if(flixel_FlxG.renderBlit) { if(pixels != null) { if(this._useBlitMatrix) { this._helperMatrix.identity(); this._helperMatrix.translate(destPoint.x,destPoint.y); this._helperMatrix.concat(this._blitMatrix); this.buffer.draw(pixels,this._helperMatrix,null,null,null,smoothing || this.antialiasing); } else { this._helperPoint.x = destPoint.x - (this.viewOffsetX | 0); this._helperPoint.y = destPoint.y - (this.viewOffsetY | 0); this.buffer.copyPixels(pixels,sourceRect,this._helperPoint,null,null,true); } } else if(frame != null) { frame.paint(this.buffer,destPoint,true); } } else { this._helperMatrix.identity(); this._helperMatrix.translate(destPoint.x + frame.offset.x,destPoint.y + frame.offset.y); var isColored = transform != null && flixel_util_FlxColorTransformUtil.hasRGBMultipliers(transform); var hasColorOffsets = transform != null && flixel_util_FlxColorTransformUtil.hasRGBAOffsets(transform); var drawItem = this.startQuadBatch(frame.parent,isColored,hasColorOffsets,blend,smoothing,shader); drawItem.addQuad(frame,this._helperMatrix,transform); } } ,drawTriangles: function(graphic,vertices,indices,uvtData,colors,position,blend,repeat,smoothing) { if(smoothing == null) { smoothing = false; } if(repeat == null) { repeat = false; } if(flixel_FlxG.renderBlit) { if(position == null) { position = flixel_FlxCamera.renderPoint.set(); } var _this = this._bounds; var X = 0; var Y = 0; var Width = this.width; var Height = this.height; if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } _this.x = X; _this.y = Y; _this.width = Width; _this.height = Height; var verticesLength = vertices.get_length(); var currentVertexPosition = 0; var tempX; var tempY; var i = 0; var _this1 = flixel_FlxCamera.renderRect; _this1.x = 0; _this1.y = 0; _this1.width = 0; _this1.height = 0; var bounds = _this1; flixel_FlxCamera.drawVertices.splice(0,flixel_FlxCamera.drawVertices.get_length()); while(i < verticesLength) { tempX = position.x + vertices.get(i); tempY = position.y + vertices.get(i + 1); flixel_FlxCamera.drawVertices.set(currentVertexPosition++,tempX); flixel_FlxCamera.drawVertices.set(currentVertexPosition++,tempY); if(i == 0) { var X1 = tempX; var Y1 = tempY; var Width1 = 0; var Height1 = 0; if(Height1 == null) { Height1 = 0; } if(Width1 == null) { Width1 = 0; } if(Y1 == null) { Y1 = 0; } if(X1 == null) { X1 = 0; } bounds.x = X1; bounds.y = Y1; bounds.width = Width1; bounds.height = Height1; } else { if(tempX < bounds.x) { bounds.width += bounds.x - tempX; bounds.x = tempX; } if(tempY < bounds.y) { bounds.height += bounds.y - tempY; bounds.y = tempY; } if(tempX > bounds.x + bounds.width) { bounds.width = tempX - bounds.x; } if(tempY > bounds.y + bounds.height) { bounds.height = tempY - bounds.y; } } i += 2; } if(position._weak) { position.put(); } var _this2 = this._bounds; var result = bounds.x + bounds.width > _this2.x && bounds.x < _this2.x + _this2.width && bounds.y + bounds.height > _this2.y && bounds.y < _this2.y + _this2.height; if(bounds._weak) { if(!bounds._inPool) { bounds._inPool = true; bounds._weak = false; flixel_math_FlxRect._pool.putUnsafe(bounds); } } if(!result) { flixel_FlxCamera.drawVertices.splice(flixel_FlxCamera.drawVertices.get_length() - verticesLength,verticesLength); } else { flixel_FlxCamera.trianglesSprite.get_graphics().clear(); flixel_FlxCamera.trianglesSprite.get_graphics().beginBitmapFill(graphic.bitmap,null,repeat,smoothing); flixel_FlxCamera.trianglesSprite.get_graphics().drawTriangles(flixel_FlxCamera.drawVertices,indices,uvtData); flixel_FlxCamera.trianglesSprite.get_graphics().endFill(); if(this._useBlitMatrix) { this._helperMatrix.copyFrom(this._blitMatrix); } else { this._helperMatrix.identity(); this._helperMatrix.translate(-this.viewOffsetX,-this.viewOffsetY); } this.buffer.draw(flixel_FlxCamera.trianglesSprite,this._helperMatrix); } if(!bounds._inPool) { bounds._inPool = true; bounds._weak = false; flixel_math_FlxRect._pool.putUnsafe(bounds); } } else { var _this3 = this._bounds; var X2 = 0; var Y2 = 0; var Width2 = this.width; var Height2 = this.height; if(Height2 == null) { Height2 = 0; } if(Width2 == null) { Width2 = 0; } if(Y2 == null) { Y2 = 0; } if(X2 == null) { X2 = 0; } _this3.x = X2; _this3.y = Y2; _this3.width = Width2; _this3.height = Height2; var isColored = colors != null && colors.get_length() != 0; var drawItem = this.startTrianglesBatch(graphic,smoothing,isColored,blend); drawItem.addTriangles(vertices,indices,uvtData,colors,position,this._bounds); } } ,transformRect: function(rect) { if(flixel_FlxG.renderBlit) { rect.x += -this.viewOffsetX; rect.y += -this.viewOffsetY; if(this._useBlitMatrix) { rect.x *= this.zoom; rect.y *= this.zoom; rect.width *= this.zoom; rect.height *= this.zoom; } } return rect; } ,transformPoint: function(point) { if(flixel_FlxG.renderBlit) { var X = this.viewOffsetX; var Y = this.viewOffsetY; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var _g = point; _g.set_x(_g.x - X); var _g1 = point; _g1.set_y(_g1.y - Y); if(this._useBlitMatrix) { point.scale(this.zoom); } } return point; } ,transformVector: function(vector) { if(flixel_FlxG.renderBlit && this._useBlitMatrix) { vector.scale(this.zoom); } return vector; } ,transformObject: function(object) { var _g = object; _g.set_scaleX(_g.get_scaleX() * this.totalScaleX); var _g1 = object; _g1.set_scaleY(_g1.get_scaleY() * this.totalScaleY); var _g2 = object; _g2.set_x(_g2.get_x() - this.scroll.x * this.totalScaleX); var _g3 = object; _g3.set_y(_g3.get_y() - this.scroll.y * this.totalScaleY); var _g4 = object; _g4.set_x(_g4.get_x() - 0.5 * this.width * (this.scaleX - this.initialZoom) * flixel_FlxG.scaleMode.scale.x); var _g5 = object; _g5.set_y(_g5.get_y() - 0.5 * this.height * (this.scaleY - this.initialZoom) * flixel_FlxG.scaleMode.scale.y); return object; } ,destroy: function() { flixel_util_FlxDestroyUtil.removeChild(this.flashSprite,this._scrollRect); if(flixel_FlxG.renderBlit) { flixel_util_FlxDestroyUtil.removeChild(this._scrollRect,this._flashBitmap); this.screen = flixel_util_FlxDestroyUtil.destroy(this.screen); this.buffer = null; this._flashBitmap = null; this._fill = flixel_util_FlxDestroyUtil.dispose(this._fill); } else { flixel_util_FlxDestroyUtil.removeChild(this._scrollRect,this.canvas); if(this.canvas != null) { var _g = 0; var _g1 = this.canvas.get_numChildren(); while(_g < _g1) { var i = _g++; this.canvas.removeChildAt(0); } this.canvas = null; } if(this._headOfDrawStack != null) { this.clearDrawStack(); } this._blitMatrix = null; this._helperMatrix = null; this._helperPoint = null; } this._bounds = null; this.scroll = flixel_util_FlxDestroyUtil.put(this.scroll); this.targetOffset = flixel_util_FlxDestroyUtil.put(this.targetOffset); this.deadzone = flixel_util_FlxDestroyUtil.put(this.deadzone); this.target = null; this.flashSprite = null; this._scrollRect = null; this._flashRect = null; this._flashPoint = null; this._fxFlashComplete = null; this._fxFadeComplete = null; this._fxShakeComplete = null; flixel_FlxBasic.prototype.destroy.call(this); } ,update: function(elapsed) { if(this.target != null) { this.updateFollow(); } this.updateScroll(); this.updateFlash(elapsed); this.updateFade(elapsed); this.flashSprite.set_filters(this.filtersEnabled ? this._filters : null); this.updateFlashSpritePosition(); this.updateShake(elapsed); } ,updateScroll: function() { var zoom = this.zoom / flixel_FlxG.initialZoom; var minX = this.minScrollX == null ? null : this.minScrollX - (zoom - 1) * this.width / (2 * zoom); var maxX = this.maxScrollX == null ? null : this.maxScrollX + (zoom - 1) * this.width / (2 * zoom); var minY = this.minScrollY == null ? null : this.minScrollY - (zoom - 1) * this.height / (2 * zoom); var maxY = this.maxScrollY == null ? null : this.maxScrollY + (zoom - 1) * this.height / (2 * zoom); var Value = this.scroll.x; var Max = maxX != null ? maxX - this.width : null; var lowerBound = minX != null && Value < minX ? minX : Value; this.scroll.set_x(Max != null && lowerBound > Max ? Max : lowerBound); var Value1 = this.scroll.y; var Max1 = maxY != null ? maxY - this.height : null; var lowerBound1 = minY != null && Value1 < minY ? minY : Value1; this.scroll.set_y(Max1 != null && lowerBound1 > Max1 ? Max1 : lowerBound1); } ,updateFollow: function() { if(this.deadzone == null) { this.target.getMidpoint(this._point); this._point.addPoint(this.targetOffset); var point = this._point; this.scroll.set(point.x - this.width * 0.5,point.y - this.height * 0.5); if(point._weak) { point.put(); } } else { var edge; var targetX = this.target.x + this.targetOffset.x; var targetY = this.target.y + this.targetOffset.y; if(this.style == flixel_FlxCameraFollowStyle.SCREEN_BY_SCREEN) { if(targetX >= this.scroll.x + this.width) { var _g = this._scrollTarget; _g.set_x(_g.x + this.width); } else if(targetX < this.scroll.x) { var _g1 = this._scrollTarget; _g1.set_x(_g1.x - this.width); } if(targetY >= this.scroll.y + this.height) { var _g2 = this._scrollTarget; _g2.set_y(_g2.y + this.height); } else if(targetY < this.scroll.y) { var _g3 = this._scrollTarget; _g3.set_y(_g3.y - this.height); } } else { edge = targetX - this.deadzone.x; if(this._scrollTarget.x > edge) { this._scrollTarget.set_x(edge); } edge = targetX + this.target.get_width() - this.deadzone.x - this.deadzone.width; if(this._scrollTarget.x < edge) { this._scrollTarget.set_x(edge); } edge = targetY - this.deadzone.y; if(this._scrollTarget.y > edge) { this._scrollTarget.set_y(edge); } edge = targetY + this.target.get_height() - this.deadzone.y - this.deadzone.height; if(this._scrollTarget.y < edge) { this._scrollTarget.set_y(edge); } } if(((this.target) instanceof flixel_FlxSprite)) { if(this._lastTargetPosition == null) { var X = this.target.x; var Y = this.target.y; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var point1 = flixel_math_FlxPoint._pool.get().set(X,Y); point1._inPool = false; this._lastTargetPosition = point1; } var _g4 = this._scrollTarget; _g4.set_x(_g4.x + (this.target.x - this._lastTargetPosition.x) * this.followLead.x); var _g5 = this._scrollTarget; _g5.set_y(_g5.y + (this.target.y - this._lastTargetPosition.y) * this.followLead.y); this._lastTargetPosition.set_x(this.target.x); this._lastTargetPosition.set_y(this.target.y); } if(this.followLerp >= 60 / flixel_FlxG.updateFramerate) { var _this = this.scroll; var point2 = this._scrollTarget; _this.set_x(point2.x); _this.set_y(point2.y); if(point2._weak) { point2.put(); } } else { var _g6 = this.scroll; _g6.set_x(_g6.x + (this._scrollTarget.x - this.scroll.x) * this.followLerp * flixel_FlxG.updateFramerate / 60); var _g7 = this.scroll; _g7.set_y(_g7.y + (this._scrollTarget.y - this.scroll.y) * this.followLerp * flixel_FlxG.updateFramerate / 60); } } } ,updateFlash: function(elapsed) { if(this._fxFlashAlpha > 0.0) { this._fxFlashAlpha -= elapsed / this._fxFlashDuration; if(this._fxFlashAlpha <= 0 && this._fxFlashComplete != null) { this._fxFlashComplete(); } } } ,updateFade: function(elapsed) { if(this._fxFadeCompleted) { return; } if(this._fxFadeIn) { this._fxFadeAlpha -= elapsed / this._fxFadeDuration; if(this._fxFadeAlpha <= 0.0) { this._fxFadeAlpha = 0.0; this.completeFade(); } } else { this._fxFadeAlpha += elapsed / this._fxFadeDuration; if(this._fxFadeAlpha >= 1.0) { this._fxFadeAlpha = 1.0; this.completeFade(); } } } ,completeFade: function() { this._fxFadeCompleted = true; if(this._fxFadeComplete != null) { this._fxFadeComplete(); } } ,updateShake: function(elapsed) { if(this._fxShakeDuration > 0) { this._fxShakeDuration -= elapsed; if(this._fxShakeDuration <= 0) { if(this._fxShakeComplete != null) { this._fxShakeComplete(); } } else { if(this._fxShakeAxes != flixel_util_FlxAxes.Y) { var _g = this.flashSprite; _g.set_x(_g.get_x() + flixel_FlxG.random.float(-this._fxShakeIntensity * this.width,this._fxShakeIntensity * this.width) * this.zoom * flixel_FlxG.scaleMode.scale.x); } if(this._fxShakeAxes != flixel_util_FlxAxes.X) { var _g1 = this.flashSprite; _g1.set_y(_g1.get_y() + flixel_FlxG.random.float(-this._fxShakeIntensity * this.height,this._fxShakeIntensity * this.height) * this.zoom * flixel_FlxG.scaleMode.scale.y); } } } } ,updateFlashSpritePosition: function() { if(this.flashSprite != null) { this.flashSprite.set_x(this.x * flixel_FlxG.scaleMode.scale.x + this._flashOffset.x); this.flashSprite.set_y(this.y * flixel_FlxG.scaleMode.scale.y + this._flashOffset.y); } } ,updateFlashOffset: function() { this._flashOffset.set_x(this.width * 0.5 * flixel_FlxG.scaleMode.scale.x * this.initialZoom); this._flashOffset.set_y(this.height * 0.5 * flixel_FlxG.scaleMode.scale.y * this.initialZoom); } ,updateScrollRect: function() { var rect = this._scrollRect != null ? this._scrollRect.get_scrollRect() : null; if(rect != null) { rect.x = rect.y = 0; rect.width = this.width * this.initialZoom * flixel_FlxG.scaleMode.scale.x; rect.height = this.height * this.initialZoom * flixel_FlxG.scaleMode.scale.y; this._scrollRect.set_scrollRect(rect); this._scrollRect.set_x(-0.5 * rect.width); this._scrollRect.set_y(-0.5 * rect.height); } } ,updateInternalSpritePositions: function() { if(flixel_FlxG.renderBlit) { if(this._flashBitmap != null) { this._flashBitmap.set_x(0); this._flashBitmap.set_y(0); } } else if(this.canvas != null) { this.canvas.set_x(-0.5 * this.width * (this.scaleX - this.initialZoom) * flixel_FlxG.scaleMode.scale.x); this.canvas.set_y(-0.5 * this.height * (this.scaleY - this.initialZoom) * flixel_FlxG.scaleMode.scale.y); this.canvas.set_scaleX(this.totalScaleX); this.canvas.set_scaleY(this.totalScaleY); } } ,follow: function(Target,Style,Lerp) { if(Style == null) { Style = flixel_FlxCameraFollowStyle.LOCKON; } if(Lerp == null) { Lerp = 60 / flixel_FlxG.updateFramerate; } this.style = Style; this.target = Target; this.set_followLerp(Lerp); var helper; var w = 0; var h = 0; this._lastTargetPosition = null; switch(Style._hx_index) { case 0: if(this.target != null) { w = this.target.get_width(); h = this.target.get_height(); } var X = (this.width - w) / 2; var Y = (this.height - h) / 2 - h * 0.25; var Width = w; var Height = h; if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } var _this = flixel_math_FlxRect._pool.get(); var X1 = X; var Y1 = Y; var Width1 = Width; var Height1 = Height; if(Height1 == null) { Height1 = 0; } if(Width1 == null) { Width1 = 0; } if(Y1 == null) { Y1 = 0; } if(X1 == null) { X1 = 0; } _this.x = X1; _this.y = Y1; _this.width = Width1; _this.height = Height1; var rect = _this; rect._inPool = false; this.deadzone = rect; break; case 1: var w1 = this.width / 8; var h1 = this.height / 3; var X2 = (this.width - w1) / 2; var Y2 = (this.height - h1) / 2 - h1 * 0.25; var Width2 = w1; var Height2 = h1; if(Height2 == null) { Height2 = 0; } if(Width2 == null) { Width2 = 0; } if(Y2 == null) { Y2 = 0; } if(X2 == null) { X2 = 0; } var _this1 = flixel_math_FlxRect._pool.get(); var X3 = X2; var Y3 = Y2; var Width3 = Width2; var Height3 = Height2; if(Height3 == null) { Height3 = 0; } if(Width3 == null) { Width3 = 0; } if(Y3 == null) { Y3 = 0; } if(X3 == null) { X3 = 0; } _this1.x = X3; _this1.y = Y3; _this1.width = Width3; _this1.height = Height3; var rect1 = _this1; rect1._inPool = false; this.deadzone = rect1; break; case 2: helper = Math.max(this.width,this.height) / 4; var X4 = (this.width - helper) / 2; var Y4 = (this.height - helper) / 2; var Width4 = helper; var Height4 = helper; if(Height4 == null) { Height4 = 0; } if(Width4 == null) { Width4 = 0; } if(Y4 == null) { Y4 = 0; } if(X4 == null) { X4 = 0; } var _this2 = flixel_math_FlxRect._pool.get(); var X5 = X4; var Y5 = Y4; var Width5 = Width4; var Height5 = Height4; if(Height5 == null) { Height5 = 0; } if(Width5 == null) { Width5 = 0; } if(Y5 == null) { Y5 = 0; } if(X5 == null) { X5 = 0; } _this2.x = X5; _this2.y = Y5; _this2.width = Width5; _this2.height = Height5; var rect2 = _this2; rect2._inPool = false; this.deadzone = rect2; break; case 3: helper = Math.max(this.width,this.height) / 8; var X6 = (this.width - helper) / 2; var Y6 = (this.height - helper) / 2; var Width6 = helper; var Height6 = helper; if(Height6 == null) { Height6 = 0; } if(Width6 == null) { Width6 = 0; } if(Y6 == null) { Y6 = 0; } if(X6 == null) { X6 = 0; } var _this3 = flixel_math_FlxRect._pool.get(); var X7 = X6; var Y7 = Y6; var Width7 = Width6; var Height7 = Height6; if(Height7 == null) { Height7 = 0; } if(Width7 == null) { Width7 = 0; } if(Y7 == null) { Y7 = 0; } if(X7 == null) { X7 = 0; } _this3.x = X7; _this3.y = Y7; _this3.width = Width7; _this3.height = Height7; var rect3 = _this3; rect3._inPool = false; this.deadzone = rect3; break; case 4: var X8 = 0; var Y8 = 0; var Width8 = this.width; var Height8 = this.height; if(Height8 == null) { Height8 = 0; } if(Width8 == null) { Width8 = 0; } if(Y8 == null) { Y8 = 0; } if(X8 == null) { X8 = 0; } var _this4 = flixel_math_FlxRect._pool.get(); var X9 = X8; var Y9 = Y8; var Width9 = Width8; var Height9 = Height8; if(Height9 == null) { Height9 = 0; } if(Width9 == null) { Width9 = 0; } if(Y9 == null) { Y9 = 0; } if(X9 == null) { X9 = 0; } _this4.x = X9; _this4.y = Y9; _this4.width = Width9; _this4.height = Height9; var rect4 = _this4; rect4._inPool = false; this.deadzone = rect4; break; case 5: this.deadzone = null; break; } } ,snapToTarget: function() { this.updateFollow(); var _this = this.scroll; var point = this._scrollTarget; _this.set_x(point.x); _this.set_y(point.y); if(point._weak) { point.put(); } } ,focusOn: function(point) { this.scroll.set(point.x - this.width * 0.5,point.y - this.height * 0.5); if(point._weak) { point.put(); } } ,flash: function(Color,Duration,OnComplete,Force) { if(Force == null) { Force = false; } if(Duration == null) { Duration = 1; } if(Color == null) { Color = -1; } if(!Force && this._fxFlashAlpha > 0.0) { return; } this._fxFlashColor = Color; if(Duration <= 0) { Duration = 0.000001; } this._fxFlashDuration = Duration; this._fxFlashComplete = OnComplete; this._fxFlashAlpha = 1.0; } ,fade: function(Color,Duration,FadeIn,OnComplete,Force) { if(Force == null) { Force = false; } if(FadeIn == null) { FadeIn = false; } if(Duration == null) { Duration = 1; } if(Color == null) { Color = -16777216; } if(!this._fxFadeCompleted && !Force) { return; } this._fxFadeColor = Color; if(Duration <= 0) { Duration = 0.000001; } this._fxFadeIn = FadeIn; this._fxFadeDuration = Duration; this._fxFadeComplete = OnComplete; this._fxFadeAlpha = this._fxFadeIn ? 0.999999 : 0.000001; this._fxFadeCompleted = false; } ,shake: function(Intensity,Duration,OnComplete,Force,Axes) { if(Force == null) { Force = true; } if(Duration == null) { Duration = 0.5; } if(Intensity == null) { Intensity = 0.05; } if(Axes == null) { Axes = flixel_util_FlxAxes.XY; } if(!Force && this._fxShakeDuration > 0) { return; } this._fxShakeIntensity = Intensity; this._fxShakeDuration = Duration; this._fxShakeComplete = OnComplete; this._fxShakeAxes = Axes; } ,stopFX: function() { this._fxFlashAlpha = 0.0; this._fxFadeAlpha = 0.0; this._fxShakeDuration = 0; this.updateFlashSpritePosition(); } ,setFilters: function(filters) { this._filters = filters; } ,copyFrom: function(Camera) { this.setScrollBounds(Camera.minScrollX,Camera.maxScrollX,Camera.minScrollY,Camera.maxScrollY); this.target = Camera.target; if(this.target != null) { if(Camera.deadzone == null) { this.deadzone = null; } else { if(this.deadzone == null) { var _this = flixel_math_FlxRect._pool.get(); var X = 0; var Y = 0; var Width = 0; var Height = 0; if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } _this.x = X; _this.y = Y; _this.width = Width; _this.height = Height; var rect = _this; rect._inPool = false; this.deadzone = rect; } var _this1 = this.deadzone; var Rect = Camera.deadzone; _this1.x = Rect.x; _this1.y = Rect.y; _this1.width = Rect.width; _this1.height = Rect.height; if(Rect._weak) { if(!Rect._inPool) { Rect._inPool = true; Rect._weak = false; flixel_math_FlxRect._pool.putUnsafe(Rect); } } } } return this; } ,fill: function(Color,BlendAlpha,FxAlpha,graphics) { if(FxAlpha == null) { FxAlpha = 1.0; } if(BlendAlpha == null) { BlendAlpha = true; } if(flixel_FlxG.renderBlit) { if(BlendAlpha) { this._fill.fillRect(this._flashRect,Color); this.buffer.copyPixels(this._fill,this._flashRect,this._flashPoint,null,null,BlendAlpha); } else { this.buffer.fillRect(this._flashRect,Color); } } else { if(FxAlpha == 0) { return; } var targetGraphics = graphics == null ? this.canvas.get_graphics() : graphics; targetGraphics.beginFill(Color,FxAlpha); targetGraphics.drawRect(this.viewOffsetX - 1,this.viewOffsetY - 1,this.viewWidth + 2,this.viewHeight + 2); targetGraphics.endFill(); } } ,drawFX: function() { var alphaComponent; if(this._fxFlashAlpha > 0.0) { alphaComponent = this._fxFlashColor >> 24 & 255; if(flixel_FlxG.renderBlit) { this.fill((((alphaComponent <= 0 ? 255 : alphaComponent) * this._fxFlashAlpha | 0) << 24) + (this._fxFlashColor & 16777215)); } else { this.fill(this._fxFlashColor & 16777215,true,(alphaComponent <= 0 ? 255 : alphaComponent) * this._fxFlashAlpha / 255,this.canvas.get_graphics()); } } if(this._fxFadeAlpha > 0.0) { alphaComponent = this._fxFadeColor >> 24 & 255; if(flixel_FlxG.renderBlit) { this.fill((((alphaComponent <= 0 ? 255 : alphaComponent) * this._fxFadeAlpha | 0) << 24) + (this._fxFadeColor & 16777215)); } else { this.fill(this._fxFadeColor & 16777215,true,(alphaComponent <= 0 ? 255 : alphaComponent) * this._fxFadeAlpha / 255,this.canvas.get_graphics()); } } } ,checkResize: function() { if(flixel_FlxG.renderBlit) { if(this.width != this.buffer.width || this.height != this.buffer.height) { var oldBuffer = this.screen.graphic; this.buffer = new openfl_display_BitmapData(this.width,this.height,true,0); this.screen.set_pixels(this.buffer); this.screen.origin.set(); this._flashBitmap.set_bitmapData(this.buffer); this._flashRect.width = this.width; this._flashRect.height = this.height; this._fill = flixel_util_FlxDestroyUtil.dispose(this._fill); this._fill = new openfl_display_BitmapData(this.width,this.height,true,0); flixel_FlxG.bitmap.removeIfNoUse(oldBuffer); } this._blitMatrix.identity(); this._blitMatrix.translate(-this.viewOffsetX,-this.viewOffsetY); this._blitMatrix.scale(this.scaleX,this.scaleY); this._useBlitMatrix = this.scaleX < this.initialZoom || this.scaleY < this.initialZoom; } } ,updateBlitMatrix: function() { this._blitMatrix.identity(); this._blitMatrix.translate(-this.viewOffsetX,-this.viewOffsetY); this._blitMatrix.scale(this.scaleX,this.scaleY); this._useBlitMatrix = this.scaleX < this.initialZoom || this.scaleY < this.initialZoom; } ,setSize: function(Width,Height) { this.set_width(Width); this.set_height(Height); } ,setPosition: function(X,Y) { if(Y == null) { Y = 0; } if(X == null) { X = 0; } this.set_x(X); this.set_y(Y); } ,setScrollBoundsRect: function(X,Y,Width,Height,UpdateWorld) { if(UpdateWorld == null) { UpdateWorld = false; } if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } if(UpdateWorld) { var _this = flixel_FlxG.worldBounds; var X1 = X; var Y1 = Y; var Width1 = Width; var Height1 = Height; if(Height1 == null) { Height1 = 0; } if(Width1 == null) { Width1 = 0; } if(Y1 == null) { Y1 = 0; } if(X1 == null) { X1 = 0; } _this.x = X1; _this.y = Y1; _this.width = Width1; _this.height = Height1; } this.setScrollBounds(X,X + Width,Y,Y + Height); } ,setScrollBounds: function(MinX,MaxX,MinY,MaxY) { this.minScrollX = MinX; this.maxScrollX = MaxX; this.minScrollY = MinY; this.maxScrollY = MaxY; this.updateScroll(); } ,setScale: function(X,Y) { this.scaleX = X; this.scaleY = Y; this.totalScaleX = this.scaleX * flixel_FlxG.scaleMode.scale.x; this.totalScaleY = this.scaleY * flixel_FlxG.scaleMode.scale.y; if(flixel_FlxG.renderBlit) { this._blitMatrix.identity(); this._blitMatrix.translate(-this.viewOffsetX,-this.viewOffsetY); this._blitMatrix.scale(this.scaleX,this.scaleY); this._useBlitMatrix = this.scaleX < this.initialZoom || this.scaleY < this.initialZoom; if(this._useBlitMatrix) { this._flashBitmap.set_scaleX(this.initialZoom * flixel_FlxG.scaleMode.scale.x); this._flashBitmap.set_scaleY(this.initialZoom * flixel_FlxG.scaleMode.scale.y); } else { this._flashBitmap.set_scaleX(this.totalScaleX); this._flashBitmap.set_scaleY(this.totalScaleY); } } this.viewOffsetX = 0.5 * this.width * (this.scaleX - this.initialZoom) / this.scaleX; this.viewOffsetWidth = this.width - this.viewOffsetX; this.viewWidth = this.width - 2 * this.viewOffsetX; this.viewOffsetY = 0.5 * this.height * (this.scaleY - this.initialZoom) / this.scaleY; this.viewOffsetHeight = this.height - this.viewOffsetY; this.viewHeight = this.height - 2 * this.viewOffsetY; this.updateScrollRect(); this.updateInternalSpritePositions(); flixel_FlxG.cameras.cameraResized.dispatch(this); } ,onResize: function() { this.updateFlashOffset(); this.setScale(this.scaleX,this.scaleY); } ,containsPoint: function(point,width,height) { if(height == null) { height = 0; } if(width == null) { width = 0; } if(point.x + width > this.viewOffsetX && point.x < this.viewOffsetWidth && point.y + height > this.viewOffsetY) { return point.y < this.viewOffsetHeight; } else { return false; } } ,set_followLerp: function(Value) { var Max = 60 / flixel_FlxG.updateFramerate; var lowerBound = Value < 0 ? 0 : Value; return this.followLerp = Max != null && lowerBound > Max ? Max : lowerBound; } ,set_width: function(Value) { if(this.width != Value && Value > 0) { this.width = Value; this.viewOffsetX = 0.5 * this.width * (this.scaleX - this.initialZoom) / this.scaleX; this.viewOffsetWidth = this.width - this.viewOffsetX; this.viewWidth = this.width - 2 * this.viewOffsetX; this.updateFlashOffset(); this.updateScrollRect(); this.updateInternalSpritePositions(); flixel_FlxG.cameras.cameraResized.dispatch(this); } return Value; } ,set_height: function(Value) { if(this.height != Value && Value > 0) { this.height = Value; this.viewOffsetY = 0.5 * this.height * (this.scaleY - this.initialZoom) / this.scaleY; this.viewOffsetHeight = this.height - this.viewOffsetY; this.viewHeight = this.height - 2 * this.viewOffsetY; this.updateFlashOffset(); this.updateScrollRect(); this.updateInternalSpritePositions(); flixel_FlxG.cameras.cameraResized.dispatch(this); } return Value; } ,set_zoom: function(Zoom) { this.zoom = Zoom == 0 ? flixel_FlxCamera.defaultZoom : Zoom; this.setScale(this.zoom,this.zoom); return this.zoom; } ,set_alpha: function(Alpha) { var lowerBound = Alpha < 0 ? 0 : Alpha; this.alpha = lowerBound > 1 ? 1 : lowerBound; if(flixel_FlxG.renderBlit) { this._flashBitmap.set_alpha(Alpha); } else { this.canvas.set_alpha(Alpha); } return Alpha; } ,set_angle: function(Angle) { this.angle = Angle; this.flashSprite.set_rotation(Angle); return Angle; } ,set_color: function(Color) { this.color = Color; var colorTransform; if(flixel_FlxG.renderBlit) { if(this._flashBitmap == null) { return Color; } colorTransform = this._flashBitmap.get_transform().get_colorTransform(); } else { colorTransform = this.canvas.get_transform().get_colorTransform(); } colorTransform.redMultiplier = (this.color >> 16 & 255) / 255; colorTransform.greenMultiplier = (this.color >> 8 & 255) / 255; colorTransform.blueMultiplier = (this.color & 255) / 255; if(flixel_FlxG.renderBlit) { this._flashBitmap.get_transform().set_colorTransform(colorTransform); } else { this.canvas.get_transform().set_colorTransform(colorTransform); } return Color; } ,set_antialiasing: function(Antialiasing) { this.antialiasing = Antialiasing; if(flixel_FlxG.renderBlit) { this._flashBitmap.smoothing = Antialiasing; } return Antialiasing; } ,set_x: function(x) { this.x = x; this.updateFlashSpritePosition(); return x; } ,set_y: function(y) { this.y = y; this.updateFlashSpritePosition(); return y; } ,set_visible: function(visible) { if(this.flashSprite != null) { this.flashSprite.set_visible(visible); } return this.visible = visible; } ,calcOffsetX: function() { this.viewOffsetX = 0.5 * this.width * (this.scaleX - this.initialZoom) / this.scaleX; this.viewOffsetWidth = this.width - this.viewOffsetX; this.viewWidth = this.width - 2 * this.viewOffsetX; } ,calcOffsetY: function() { this.viewOffsetY = 0.5 * this.height * (this.scaleY - this.initialZoom) / this.scaleY; this.viewOffsetHeight = this.height - this.viewOffsetY; this.viewHeight = this.height - 2 * this.viewOffsetY; } ,__class__: flixel_FlxCamera ,__properties__: $extend(flixel_FlxBasic.prototype.__properties__,{set_antialiasing:"set_antialiasing",set_color:"set_color",set_angle:"set_angle",set_alpha:"set_alpha",set_zoom:"set_zoom",set_height:"set_height",set_width:"set_width",set_followLerp:"set_followLerp",set_y:"set_y",set_x:"set_x"}) }); var flixel_FlxCameraFollowStyle = $hxEnums["flixel.FlxCameraFollowStyle"] = { __ename__ : "flixel.FlxCameraFollowStyle", __constructs__ : ["LOCKON","PLATFORMER","TOPDOWN","TOPDOWN_TIGHT","SCREEN_BY_SCREEN","NO_DEAD_ZONE"] ,LOCKON: {_hx_index:0,__enum__:"flixel.FlxCameraFollowStyle",toString:$estr} ,PLATFORMER: {_hx_index:1,__enum__:"flixel.FlxCameraFollowStyle",toString:$estr} ,TOPDOWN: {_hx_index:2,__enum__:"flixel.FlxCameraFollowStyle",toString:$estr} ,TOPDOWN_TIGHT: {_hx_index:3,__enum__:"flixel.FlxCameraFollowStyle",toString:$estr} ,SCREEN_BY_SCREEN: {_hx_index:4,__enum__:"flixel.FlxCameraFollowStyle",toString:$estr} ,NO_DEAD_ZONE: {_hx_index:5,__enum__:"flixel.FlxCameraFollowStyle",toString:$estr} }; var flixel_system_FlxVersion = function(Major,Minor,Patch) { this.major = Major; this.minor = Minor; this.patch = Patch; }; $hxClasses["flixel.system.FlxVersion"] = flixel_system_FlxVersion; flixel_system_FlxVersion.__name__ = "flixel.system.FlxVersion"; flixel_system_FlxVersion.prototype = { major: null ,minor: null ,patch: null ,toString: function() { var sha = flixel_system_FlxVersion.sha; if(sha != "") { sha = "@" + sha.substring(0,7); } return "HaxeFlixel " + this.major + "." + this.minor + "." + this.patch + sha; } ,__class__: flixel_system_FlxVersion }; var flixel_system_frontEnds_BitmapFrontEnd = function() { this._lastUniqueKeyIndex = 0; this.reset(); }; $hxClasses["flixel.system.frontEnds.BitmapFrontEnd"] = flixel_system_frontEnds_BitmapFrontEnd; flixel_system_frontEnds_BitmapFrontEnd.__name__ = "flixel.system.frontEnds.BitmapFrontEnd"; flixel_system_frontEnds_BitmapFrontEnd.prototype = { _cache: null ,_whitePixel: null ,_lastUniqueKeyIndex: null ,onAssetsReload: function(_) { var key = this._cache.keys(); while(key.hasNext()) { var key1 = key.next(); var _this = this._cache; var obj = __map_reserved[key1] != null ? _this.getReserved(key1) : _this.h[key1]; if(obj != null && (obj.assetsClass != null || obj.assetsKey != null)) { obj.onAssetsReload(); } } } ,onContext: function() { var key = this._cache.keys(); while(key.hasNext()) { var key1 = key.next(); var _this = this._cache; var obj = __map_reserved[key1] != null ? _this.getReserved(key1) : _this.h[key1]; if(obj != null && obj.isDumped) { obj.onContext(); } } } ,dumpCache: function() { } ,undumpCache: function() { } ,checkCache: function(Key) { var _this = this._cache; return (__map_reserved[Key] != null ? _this.getReserved(Key) : _this.h[Key]) != null; } ,create: function(Width,Height,Color,Unique,Key) { if(Unique == null) { Unique = false; } return flixel_graphics_FlxGraphic.fromRectangle(Width,Height,Color,Unique,Key); } ,add: function(Graphic,Unique,Key) { if(Unique == null) { Unique = false; } if(((Graphic) instanceof flixel_graphics_FlxGraphic)) { return flixel_graphics_FlxGraphic.fromGraphic(Graphic,Unique,Key); } else if(((Graphic) instanceof openfl_display_BitmapData)) { return flixel_graphics_FlxGraphic.fromBitmapData(Graphic,Unique,Key); } return flixel_graphics_FlxGraphic.fromAssetKey(Std.string(Graphic),Unique,Key); } ,addGraphic: function(graphic) { var key = graphic.key; var _this = this._cache; if(__map_reserved[key] != null) { _this.setReserved(key,graphic); } else { _this.h[key] = graphic; } return graphic; } ,get: function(key) { var _this = this._cache; if(__map_reserved[key] != null) { return _this.getReserved(key); } else { return _this.h[key]; } } ,findKeyForBitmap: function(bmd) { var key = this._cache.keys(); while(key.hasNext()) { var key1 = key.next(); var _this = this._cache; var obj = __map_reserved[key1] != null ? _this.getReserved(key1) : _this.h[key1]; if(obj != null && obj.bitmap == bmd) { return key1; } } return null; } ,getKeyForClass: function(source) { return source.__name__; } ,generateKey: function(systemKey,userKey,unique) { if(unique == null) { unique = false; } var key = userKey; if(key == null) { key = systemKey; } if(unique || key == null) { key = this.getUniqueKey(key); } return key; } ,getUniqueKey: function(baseKey) { if(baseKey == null) { baseKey = "pixels"; } var _this = this._cache; if((__map_reserved[baseKey] != null ? _this.getReserved(baseKey) : _this.h[baseKey]) == null) { return baseKey; } var i = this._lastUniqueKeyIndex; var uniqueKey; while(true) { ++i; uniqueKey = baseKey + i; var _this1 = this._cache; if(!((__map_reserved[uniqueKey] != null ? _this1.getReserved(uniqueKey) : _this1.h[uniqueKey]) != null)) { break; } } this._lastUniqueKeyIndex = i; return uniqueKey; } ,getKeyWithSpacesAndBorders: function(baseKey,frameSize,frameSpacing,frameBorder,region) { var result = baseKey; if(region != null) { result += "_Region:" + region.x + "_" + region.y + "_" + region.width + "_" + region.height; } if(frameSize != null) { result += "_FrameSize:" + frameSize.x + "_" + frameSize.y; } if(frameSpacing != null) { result += "_Spaces:" + frameSpacing.x + "_" + frameSpacing.y; } if(frameBorder != null) { result += "_Border:" + frameBorder.x + "_" + frameBorder.y; } return result; } ,remove: function(graphic) { if(graphic != null) { var key = graphic.key; if(key != null) { openfl_utils_Assets.cache.removeBitmapData(key); this._cache.remove(key); } graphic.destroy(); } } ,removeByKey: function(key) { if(key != null) { var _this = this._cache; var obj = __map_reserved[key] != null ? _this.getReserved(key) : _this.h[key]; if(key != null) { openfl_utils_Assets.cache.removeBitmapData(key); this._cache.remove(key); } if(obj != null) { obj.destroy(); } } } ,removeIfNoUse: function(graphic) { if(graphic != null && graphic.get_useCount() == 0 && !graphic.persist) { this.remove(graphic); } } ,clearCache: function() { if(this._cache == null) { this._cache = new haxe_ds_StringMap(); return; } var key = this._cache.keys(); while(key.hasNext()) { var key1 = key.next(); var _this = this._cache; var obj = __map_reserved[key1] != null ? _this.getReserved(key1) : _this.h[key1]; if(obj != null && !obj.persist && obj.get_useCount() <= 0) { if(key1 != null) { openfl_utils_Assets.cache.removeBitmapData(key1); this._cache.remove(key1); } obj.destroy(); } } } ,removeKey: function(key) { if(key != null) { openfl_utils_Assets.cache.removeBitmapData(key); this._cache.remove(key); } } ,reset: function() { if(this._cache == null) { this._cache = new haxe_ds_StringMap(); return; } var key = this._cache.keys(); while(key.hasNext()) { var key1 = key.next(); var _this = this._cache; var obj = __map_reserved[key1] != null ? _this.getReserved(key1) : _this.h[key1]; if(key1 != null) { openfl_utils_Assets.cache.removeBitmapData(key1); this._cache.remove(key1); } if(obj != null) { obj.destroy(); } } } ,clearUnused: function() { var key = this._cache.keys(); while(key.hasNext()) { var key1 = key.next(); var _this = this._cache; var obj = __map_reserved[key1] != null ? _this.getReserved(key1) : _this.h[key1]; if(obj != null && obj.get_useCount() <= 0 && !obj.persist && obj.get_destroyOnNoUse()) { this.removeByKey(key1); } } } ,get_maxTextureSize: function() { return lime_graphics_opengl_GL.context.getParameter(3379); } ,get_whitePixel: function() { if(this._whitePixel == null) { var bd = new openfl_display_BitmapData(10,10,true,-1); var graphic = flixel_FlxG.bitmap.add(bd,true,"whitePixels"); graphic.persist = true; this._whitePixel = graphic.get_imageFrame().get_frame(); } return this._whitePixel; } ,__class__: flixel_system_frontEnds_BitmapFrontEnd ,__properties__: {get_whitePixel:"get_whitePixel",get_maxTextureSize:"get_maxTextureSize"} }; var flixel_system_frontEnds_BitmapLogFrontEnd = function() { }; $hxClasses["flixel.system.frontEnds.BitmapLogFrontEnd"] = flixel_system_frontEnds_BitmapLogFrontEnd; flixel_system_frontEnds_BitmapLogFrontEnd.__name__ = "flixel.system.frontEnds.BitmapLogFrontEnd"; flixel_system_frontEnds_BitmapLogFrontEnd.prototype = { add: function(Data,Name) { if(Name == null) { Name = ""; } } ,clear: function() { } ,clearAt: function(Index) { if(Index == null) { Index = -1; } } ,viewCache: function() { } ,__class__: flixel_system_frontEnds_BitmapLogFrontEnd }; var flixel_system_frontEnds_CameraFrontEnd = function() { this._cameraRect = new openfl_geom_Rectangle(); this.useBufferLocking = false; this.cameraResized = new flixel_util__$FlxSignal_FlxSignal1(); this.cameraRemoved = new flixel_util__$FlxSignal_FlxSignal1(); this.cameraAdded = new flixel_util__$FlxSignal_FlxSignal1(); this.defaults = []; this.list = []; flixel_FlxCamera._defaultCameras = this.defaults; }; $hxClasses["flixel.system.frontEnds.CameraFrontEnd"] = flixel_system_frontEnds_CameraFrontEnd; flixel_system_frontEnds_CameraFrontEnd.__name__ = "flixel.system.frontEnds.CameraFrontEnd"; flixel_system_frontEnds_CameraFrontEnd.prototype = { list: null ,defaults: null ,cameraAdded: null ,cameraRemoved: null ,cameraResized: null ,useBufferLocking: null ,_cameraRect: null ,add: function(NewCamera,DefaultDrawTarget) { if(DefaultDrawTarget == null) { DefaultDrawTarget = true; } flixel_FlxG.game.addChildAt(NewCamera.flashSprite,flixel_FlxG.game.getChildIndex(flixel_FlxG.game._inputContainer)); this.list.push(NewCamera); if(DefaultDrawTarget) { this.defaults.push(NewCamera); } NewCamera.ID = this.list.length - 1; this.cameraAdded.dispatch(NewCamera); return NewCamera; } ,remove: function(Camera,Destroy) { if(Destroy == null) { Destroy = true; } var index = this.list.indexOf(Camera); if(Camera != null && index != -1) { flixel_FlxG.game.removeChild(Camera.flashSprite); this.list.splice(index,1); HxOverrides.remove(this.defaults,Camera); } else { return; } if(flixel_FlxG.renderTile) { var _g = 0; var _g1 = this.list.length; while(_g < _g1) { var i = _g++; this.list[i].ID = i; } } if(Destroy) { Camera.destroy(); } this.cameraRemoved.dispatch(Camera); } ,setDefaultDrawTarget: function(camera,value) { if(this.list.indexOf(camera) == -1) { return; } var index = this.defaults.indexOf(camera); if(value && index == -1) { this.defaults.push(camera); } else if(!value) { this.defaults.splice(index,1); } } ,reset: function(NewCamera) { while(this.list.length > 0) this.remove(this.list[0]); if(NewCamera == null) { NewCamera = new flixel_FlxCamera(0,0,flixel_FlxG.width,flixel_FlxG.height); } flixel_FlxG.camera = this.add(NewCamera); NewCamera.ID = 0; flixel_FlxCamera._defaultCameras = this.defaults; } ,flash: function(Color,Duration,OnComplete,Force) { if(Force == null) { Force = false; } if(Duration == null) { Duration = 1; } if(Color == null) { Color = -1; } var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var camera = _g1[_g]; ++_g; camera.flash(Color,Duration,OnComplete,Force); } } ,fade: function(Color,Duration,FadeIn,OnComplete,Force) { if(Force == null) { Force = false; } if(FadeIn == null) { FadeIn = false; } if(Duration == null) { Duration = 1; } if(Color == null) { Color = -16777216; } var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var camera = _g1[_g]; ++_g; camera.fade(Color,Duration,FadeIn,OnComplete,Force); } } ,shake: function(Intensity,Duration,OnComplete,Force,Axes) { if(Force == null) { Force = true; } if(Duration == null) { Duration = 0.5; } if(Intensity == null) { Intensity = 0.05; } var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var camera = _g1[_g]; ++_g; camera.shake(Intensity,Duration,OnComplete,Force,Axes); } } ,lock: function() { var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var camera = _g1[_g]; ++_g; if(camera == null || !camera.exists || !camera.visible) { continue; } if(flixel_FlxG.renderBlit) { camera.checkResize(); if(this.useBufferLocking) { camera.buffer.lock(); } } if(flixel_FlxG.renderTile) { camera.clearDrawStack(); camera.canvas.get_graphics().clear(); } if(flixel_FlxG.renderBlit) { camera.fill(camera.bgColor,camera.useBgAlphaBlending); camera.screen.dirty = true; } else { camera.fill(camera.bgColor & 16777215,camera.useBgAlphaBlending,(camera.bgColor >> 24 & 255) / 255); } } } ,render: function() { if(flixel_FlxG.renderTile) { var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var camera = _g1[_g]; ++_g; if(camera != null && camera.exists && camera.visible) { camera.render(); } } } } ,unlock: function() { var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var camera = _g1[_g]; ++_g; if(camera == null || !camera.exists || !camera.visible) { continue; } camera.drawFX(); if(flixel_FlxG.renderBlit) { if(this.useBufferLocking) { camera.buffer.unlock(); } camera.screen.dirty = true; } } } ,update: function(elapsed) { var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var camera = _g1[_g]; ++_g; if(camera != null && camera.exists && camera.active) { camera.update(elapsed); } } } ,resize: function() { var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var camera = _g1[_g]; ++_g; camera.onResize(); } } ,get_bgColor: function() { if(flixel_FlxG.camera == null) { return -16777216; } else { return flixel_FlxG.camera.bgColor; } } ,set_bgColor: function(Color) { var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var camera = _g1[_g]; ++_g; camera.bgColor = Color; } return Color; } ,__class__: flixel_system_frontEnds_CameraFrontEnd ,__properties__: {set_bgColor:"set_bgColor",get_bgColor:"get_bgColor"} }; var flixel_system_frontEnds_ConsoleFrontEnd = function() { this.stepAfterCommand = true; this.autoPause = true; }; $hxClasses["flixel.system.frontEnds.ConsoleFrontEnd"] = flixel_system_frontEnds_ConsoleFrontEnd; flixel_system_frontEnds_ConsoleFrontEnd.__name__ = "flixel.system.frontEnds.ConsoleFrontEnd"; flixel_system_frontEnds_ConsoleFrontEnd.prototype = { autoPause: null ,stepAfterCommand: null ,registerFunction: function(FunctionAlias,Function1) { } ,registerObject: function(ObjectAlias,AnyObject) { } ,registerClass: function(cl) { } ,registerEnum: function(e) { } ,__class__: flixel_system_frontEnds_ConsoleFrontEnd }; var flixel_system_frontEnds_DebuggerFrontEnd = function() { this.visible = false; this.visibilityChanged = new flixel_util__$FlxSignal_FlxSignal0(); this.drawDebugChanged = new flixel_util__$FlxSignal_FlxSignal0(); this.drawDebug = false; this.toggleKeys = [113,192,220]; this.precision = 3; }; $hxClasses["flixel.system.frontEnds.DebuggerFrontEnd"] = flixel_system_frontEnds_DebuggerFrontEnd; flixel_system_frontEnds_DebuggerFrontEnd.__name__ = "flixel.system.frontEnds.DebuggerFrontEnd"; flixel_system_frontEnds_DebuggerFrontEnd.prototype = { precision: null ,toggleKeys: null ,drawDebug: null ,drawDebugChanged: null ,visibilityChanged: null ,visible: null ,setLayout: function(Layout) { } ,resetLayout: function() { } ,addButton: function(Alignment,Icon,UpHandler,ToggleMode,UpdateLayout) { if(UpdateLayout == null) { UpdateLayout = true; } if(ToggleMode == null) { ToggleMode = false; } return null; } ,track: function(ObjectOrClass,WindowTitle) { return null; } ,addTrackerProfile: function(Profile) { } ,removeButton: function(Button,UpdateLayout) { if(UpdateLayout == null) { UpdateLayout = true; } } ,set_drawDebug: function(Value) { if(this.drawDebug == Value) { return this.drawDebug; } this.drawDebug = Value; return this.drawDebug; } ,set_visible: function(Value) { if(this.visible == Value) { return this.visible; } this.visible = Value; return this.visible; } ,__class__: flixel_system_frontEnds_DebuggerFrontEnd ,__properties__: {set_visible:"set_visible",set_drawDebug:"set_drawDebug"} }; var flixel_system_frontEnds_HTML5FrontEnd = function() { this.browser = this.getBrowser(); this.platform = this.getPlatform(); this.onMobile = this.getOnMobile(); }; $hxClasses["flixel.system.frontEnds.HTML5FrontEnd"] = flixel_system_frontEnds_HTML5FrontEnd; flixel_system_frontEnds_HTML5FrontEnd.__name__ = "flixel.system.frontEnds.HTML5FrontEnd"; flixel_system_frontEnds_HTML5FrontEnd.prototype = { browser: null ,platform: null ,onMobile: null ,browserPosition: null ,getBrowser: function() { if(this.userAgentContains(" OPR/")) { return flixel_system_frontEnds_FlxBrowser.OPERA; } else if(this.userAgentContains("chrome",true)) { return flixel_system_frontEnds_FlxBrowser.CHROME; } else if(window.navigator.appName == "Netscape") { return flixel_system_frontEnds_FlxBrowser.FIREFOX; } else if(!(!document.documentMode)) { return flixel_system_frontEnds_FlxBrowser.INTERNET_EXPLORER; } else if(Object.prototype.toString.call(window.HTMLElement).indexOf("Constructor") > 0) { return flixel_system_frontEnds_FlxBrowser.SAFARI; } return flixel_system_frontEnds_FlxBrowser.UNKNOWN; } ,getPlatform: function() { if(this.userAgentContains("Win")) { return flixel_system_frontEnds_FlxPlatform.WINDOWS; } else if(this.userAgentContains("IEMobile")) { return flixel_system_frontEnds_FlxPlatform.WINDOWS_PHONE; } else if(this.userAgentContains("Android")) { return flixel_system_frontEnds_FlxPlatform.ANDROID; } else if(this.userAgentContains("Linux")) { return flixel_system_frontEnds_FlxPlatform.LINUX; } else if(this.userAgentContains("BlackBerry")) { return flixel_system_frontEnds_FlxPlatform.BLACKBERRY; } else if(this.userAgentContains("iPhone")) { return flixel_system_frontEnds_FlxPlatform.IOS(flixel_system_frontEnds_FlxIOSDevice.IPHONE); } else if(this.userAgentContains("iPad")) { return flixel_system_frontEnds_FlxPlatform.IOS(flixel_system_frontEnds_FlxIOSDevice.IPAD); } else if(this.userAgentContains("iPod")) { return flixel_system_frontEnds_FlxPlatform.IOS(flixel_system_frontEnds_FlxIOSDevice.IPOD); } else if(this.userAgentContains("Mac")) { return flixel_system_frontEnds_FlxPlatform.MAC; } else { return flixel_system_frontEnds_FlxPlatform.UNKNOWN; } } ,getOnMobile: function() { var _g = this.platform; switch(_g._hx_index) { case 3:case 4:case 5: return true; case 6: var _g1 = _g.device; return true; default: return false; } } ,userAgentContains: function(substring,toLowerCase) { if(toLowerCase == null) { toLowerCase = false; } var userAgent = window.navigator.userAgent; if(toLowerCase) { userAgent = userAgent.toLowerCase(); } return userAgent.indexOf(substring) != -1; } ,get_browserPosition: function() { if(this.browserPosition == null) { var X = 0; var Y = 0; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; this.browserPosition = point; } this.browserPosition.set(window.screenX,window.screenY); return this.browserPosition; } ,get_browserWidth: function() { return window.innerWidth; } ,get_browserHeight: function() { return window.innerHeight; } ,__class__: flixel_system_frontEnds_HTML5FrontEnd ,__properties__: {get_browserPosition:"get_browserPosition",get_browserHeight:"get_browserHeight",get_browserWidth:"get_browserWidth"} }; var flixel_system_frontEnds_InputFrontEnd = function() { this.resetOnStateSwitch = true; this.list = []; }; $hxClasses["flixel.system.frontEnds.InputFrontEnd"] = flixel_system_frontEnds_InputFrontEnd; flixel_system_frontEnds_InputFrontEnd.__name__ = "flixel.system.frontEnds.InputFrontEnd"; flixel_system_frontEnds_InputFrontEnd.prototype = { add_flixel_input_actions_FlxActionManager: function(Input) { var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var input = _g1[_g]; ++_g; if(flixel_util_FlxStringUtil.getClassName(Input,true) == flixel_util_FlxStringUtil.getClassName(input,true)) { return Input; } } this.list.push(Input); return Input; } ,add_flixel_input_gamepad_FlxGamepadManager: function(Input) { var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var input = _g1[_g]; ++_g; if(flixel_util_FlxStringUtil.getClassName(Input,true) == flixel_util_FlxStringUtil.getClassName(input,true)) { return Input; } } this.list.push(Input); return Input; } ,add_flixel_input_touch_FlxTouchManager: function(Input) { var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var input = _g1[_g]; ++_g; if(flixel_util_FlxStringUtil.getClassName(Input,true) == flixel_util_FlxStringUtil.getClassName(input,true)) { return Input; } } this.list.push(Input); return Input; } ,add_flixel_input_keyboard_FlxKeyboard: function(Input) { var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var input = _g1[_g]; ++_g; if(flixel_util_FlxStringUtil.getClassName(Input,true) == flixel_util_FlxStringUtil.getClassName(input,true)) { return Input; } } this.list.push(Input); return Input; } ,replace_flixel_input_mouse_FlxMouse: function(Old,New) { var i = 0; var success = false; var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var input = _g1[_g]; ++_g; if(input == Old) { this.list[i] = New; success = true; break; } ++i; } if(success) { return New; } return null; } ,add_flixel_input_mouse_FlxMouse: function(Input) { var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var input = _g1[_g]; ++_g; if(flixel_util_FlxStringUtil.getClassName(Input,true) == flixel_util_FlxStringUtil.getClassName(input,true)) { return Input; } } this.list.push(Input); return Input; } ,list: null ,resetOnStateSwitch: null ,reset: function() { var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var input = _g1[_g]; ++_g; input.reset(); } } ,update: function() { var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var input = _g1[_g]; ++_g; input.update(); } } ,onFocus: function() { var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var input = _g1[_g]; ++_g; input.onFocus(); } } ,onFocusLost: function() { var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var input = _g1[_g]; ++_g; input.onFocusLost(); } } ,onStateSwitch: function() { if(this.resetOnStateSwitch) { this.reset(); } } ,destroy: function() { var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var input = _g1[_g]; ++_g; input = flixel_util_FlxDestroyUtil.destroy(input); } } ,__class__: flixel_system_frontEnds_InputFrontEnd }; var flixel_system_frontEnds_LogFrontEnd = function() { this.redirectTraces = false; this._standardTraceFunction = haxe_Log.trace; }; $hxClasses["flixel.system.frontEnds.LogFrontEnd"] = flixel_system_frontEnds_LogFrontEnd; flixel_system_frontEnds_LogFrontEnd.__name__ = "flixel.system.frontEnds.LogFrontEnd"; flixel_system_frontEnds_LogFrontEnd.prototype = { redirectTraces: null ,_standardTraceFunction: null ,add: function(Data) { } ,warn: function(Data) { } ,error: function(Data) { } ,notice: function(Data) { } ,advanced: function(Data,Style,FireOnce) { if(FireOnce == null) { FireOnce = false; } } ,clear: function() { } ,set_redirectTraces: function(Redirect) { haxe_Log.trace = Redirect ? $bind(this,this.processTraceData) : this._standardTraceFunction; return this.redirectTraces = Redirect; } ,processTraceData: function(Data,Info) { var paramArray = [Data]; if(Info.customParams != null) { var _g = 0; var _g1 = Info.customParams; while(_g < _g1.length) { var i = _g1[_g]; ++_g; paramArray.push(i); } } this.advanced(paramArray,flixel_system_debug_log_LogStyle.NORMAL); } ,__class__: flixel_system_frontEnds_LogFrontEnd ,__properties__: {set_redirectTraces:"set_redirectTraces"} }; var haxe_Log = function() { }; $hxClasses["haxe.Log"] = haxe_Log; haxe_Log.__name__ = "haxe.Log"; haxe_Log.formatOutput = function(v,infos) { var str = Std.string(v); if(infos == null) { return str; } var pstr = infos.fileName + ":" + infos.lineNumber; if(infos.customParams != null) { var _g = 0; var _g1 = infos.customParams; while(_g < _g1.length) { var v1 = _g1[_g]; ++_g; str += ", " + Std.string(v1); } } return pstr + ": " + str; }; haxe_Log.trace = function(v,infos) { var str = haxe_Log.formatOutput(v,infos); if(typeof(console) != "undefined" && console.log != null) { console.log(str); } }; var js_Boot = function() { }; $hxClasses["js.Boot"] = js_Boot; js_Boot.__name__ = "js.Boot"; js_Boot.getClass = function(o) { if(o == null) { return null; } else if(((o) instanceof Array)) { return Array; } else { var cl = o.__class__; if(cl != null) { return cl; } var name = js_Boot.__nativeClassName(o); if(name != null) { return js_Boot.__resolveNativeClass(name); } return null; } }; js_Boot.__string_rec = function(o,s) { if(o == null) { return "null"; } if(s.length >= 5) { return "<...>"; } var t = typeof(o); if(t == "function" && (o.__name__ || o.__ename__)) { t = "object"; } switch(t) { case "function": return "<function>"; case "object": if(o.__enum__) { var e = $hxEnums[o.__enum__]; var n = e.__constructs__[o._hx_index]; var con = e[n]; if(con.__params__) { s = s + "\t"; return n + "(" + ((function($this) { var $r; var _g = []; { var _g1 = 0; var _g2 = con.__params__; while(true) { if(!(_g1 < _g2.length)) { break; } var p = _g2[_g1]; _g1 = _g1 + 1; _g.push(js_Boot.__string_rec(o[p],s)); } } $r = _g; return $r; }(this))).join(",") + ")"; } else { return n; } } if(((o) instanceof Array)) { var str = "["; s += "\t"; var _g3 = 0; var _g11 = o.length; while(_g3 < _g11) { var i = _g3++; str += (i > 0 ? "," : "") + js_Boot.__string_rec(o[i],s); } str += "]"; return str; } var tostr; try { tostr = o.toString; } catch( e1 ) { haxe_CallStack.lastException = e1; var e2 = ((e1) instanceof js__$Boot_HaxeError) ? e1.val : e1; return "???"; } if(tostr != null && tostr != Object.toString && typeof(tostr) == "function") { var s2 = o.toString(); if(s2 != "[object Object]") { return s2; } } var str1 = "{\n"; s += "\t"; var hasp = o.hasOwnProperty != null; var k = null; for( k in o ) { if(hasp && !o.hasOwnProperty(k)) { continue; } if(k == "prototype" || k == "__class__" || k == "__super__" || k == "__interfaces__" || k == "__properties__") { continue; } if(str1.length != 2) { str1 += ", \n"; } str1 += s + k + " : " + js_Boot.__string_rec(o[k],s); } s = s.substring(1); str1 += "\n" + s + "}"; return str1; case "string": return o; default: return String(o); } }; js_Boot.__interfLoop = function(cc,cl) { if(cc == null) { return false; } if(cc == cl) { return true; } if(Object.prototype.hasOwnProperty.call(cc,"__interfaces__")) { var intf = cc.__interfaces__; var _g = 0; var _g1 = intf.length; while(_g < _g1) { var i = _g++; var i1 = intf[i]; if(i1 == cl || js_Boot.__interfLoop(i1,cl)) { return true; } } } return js_Boot.__interfLoop(cc.__super__,cl); }; js_Boot.__instanceof = function(o,cl) { if(cl == null) { return false; } switch(cl) { case Array: return ((o) instanceof Array); case Bool: return typeof(o) == "boolean"; case Dynamic: return o != null; case Float: return typeof(o) == "number"; case Int: if(typeof(o) == "number") { return ((o | 0) === o); } else { return false; } break; case String: return typeof(o) == "string"; default: if(o != null) { if(typeof(cl) == "function") { if(js_Boot.__downcastCheck(o,cl)) { return true; } } else if(typeof(cl) == "object" && js_Boot.__isNativeObj(cl)) { if(((o) instanceof cl)) { return true; } } } else { return false; } if(cl == Class ? o.__name__ != null : false) { return true; } if(cl == Enum ? o.__ename__ != null : false) { return true; } return o.__enum__ != null ? $hxEnums[o.__enum__] == cl : false; } }; js_Boot.__downcastCheck = function(o,cl) { if(!((o) instanceof cl)) { if(cl.__isInterface__) { return js_Boot.__interfLoop(js_Boot.getClass(o),cl); } else { return false; } } else { return true; } }; js_Boot.__implements = function(o,iface) { return js_Boot.__interfLoop(js_Boot.getClass(o),iface); }; js_Boot.__cast = function(o,t) { if(o == null || js_Boot.__instanceof(o,t)) { return o; } else { throw new js__$Boot_HaxeError("Cannot cast " + Std.string(o) + " to " + Std.string(t)); } }; js_Boot.__toStr = null; js_Boot.__nativeClassName = function(o) { var name = js_Boot.__toStr.call(o).slice(8,-1); if(name == "Object" || name == "Function" || name == "Math" || name == "JSON") { return null; } return name; }; js_Boot.__isNativeObj = function(o) { return js_Boot.__nativeClassName(o) != null; }; js_Boot.__resolveNativeClass = function(name) { return $global[name]; }; var flixel_math_FlxRandom = function(InitialSeed) { this.internalSeed = 1; this._floatNormalRho = 0; this._twoPI = Math.PI * 2; this._floatNormalRand2 = 0; this._floatNormalRand1 = 0; this._hasFloatNormalSpare = false; this.initialSeed = 1; if(InitialSeed != null) { var lowerBound = InitialSeed < 1 ? 1 : InitialSeed; var NewSeed = (lowerBound > 2147483646 ? 2147483646 : lowerBound) | 0; var lowerBound1 = NewSeed < 1 ? 1 : NewSeed; this.initialSeed = (this.internalSeed = (lowerBound1 > 2147483646 ? 2147483646 : lowerBound1) | 0) | 0; } else { var Value = Math.random() * 2147483647 | 0; var lowerBound2 = Value < 1 ? 1 : Value; var NewSeed1 = (lowerBound2 > 2147483646 ? 2147483646 : lowerBound2) | 0; var lowerBound3 = NewSeed1 < 1 ? 1 : NewSeed1; var NewSeed2 = (lowerBound3 > 2147483646 ? 2147483646 : lowerBound3) | 0; var lowerBound4 = NewSeed2 < 1 ? 1 : NewSeed2; this.initialSeed = (this.internalSeed = (lowerBound4 > 2147483646 ? 2147483646 : lowerBound4) | 0) | 0; } }; $hxClasses["flixel.math.FlxRandom"] = flixel_math_FlxRandom; flixel_math_FlxRandom.__name__ = "flixel.math.FlxRandom"; flixel_math_FlxRandom.rangeBound = function(Value) { var lowerBound = Value < 1 ? 1 : Value; return (lowerBound > 2147483646 ? 2147483646 : lowerBound) | 0; }; flixel_math_FlxRandom.prototype = { getObject_flixel_group_FlxTypedGroup_T: function(Objects,WeightsArray,StartIndex,EndIndex) { if(StartIndex == null) { StartIndex = 0; } var selected = null; if(Objects.length != 0) { if(WeightsArray == null) { var _g = []; var _g1 = 0; var _g2 = Objects.length; while(_g1 < _g2) { var i = _g1++; _g.push(1); } WeightsArray = _g; } if(EndIndex == null) { EndIndex = Objects.length - 1; } var Max = Objects.length - 1; var lowerBound = StartIndex < 0 ? 0 : StartIndex; StartIndex = (Max != null && lowerBound > Max ? Max : lowerBound) | 0; var Max1 = Objects.length - 1; var lowerBound1 = EndIndex < 0 ? 0 : EndIndex; EndIndex = (Max1 != null && lowerBound1 > Max1 ? Max1 : lowerBound1) | 0; if(EndIndex < StartIndex) { StartIndex += EndIndex; EndIndex = StartIndex - EndIndex; StartIndex -= EndIndex; } if(EndIndex > WeightsArray.length - 1) { EndIndex = WeightsArray.length - 1; } var _g3 = []; var _g11 = StartIndex; var _g21 = EndIndex + 1; while(_g11 < _g21) { var i1 = _g11++; _g3.push(WeightsArray[i1]); } flixel_math_FlxRandom._arrayFloatHelper = _g3; selected = Objects[StartIndex + this.weightedPick(flixel_math_FlxRandom._arrayFloatHelper)]; } return selected; } ,getObject_flixel_system_FlxSound: function(Objects,WeightsArray,StartIndex,EndIndex) { if(StartIndex == null) { StartIndex = 0; } var selected = null; if(Objects.length != 0) { if(WeightsArray == null) { var _g = []; var _g1 = 0; var _g2 = Objects.length; while(_g1 < _g2) { var i = _g1++; _g.push(1); } WeightsArray = _g; } if(EndIndex == null) { EndIndex = Objects.length - 1; } var Max = Objects.length - 1; var lowerBound = StartIndex < 0 ? 0 : StartIndex; StartIndex = (Max != null && lowerBound > Max ? Max : lowerBound) | 0; var Max1 = Objects.length - 1; var lowerBound1 = EndIndex < 0 ? 0 : EndIndex; EndIndex = (Max1 != null && lowerBound1 > Max1 ? Max1 : lowerBound1) | 0; if(EndIndex < StartIndex) { StartIndex += EndIndex; EndIndex = StartIndex - EndIndex; StartIndex -= EndIndex; } if(EndIndex > WeightsArray.length - 1) { EndIndex = WeightsArray.length - 1; } var _g3 = []; var _g11 = StartIndex; var _g21 = EndIndex + 1; while(_g11 < _g21) { var i1 = _g11++; _g3.push(WeightsArray[i1]); } flixel_math_FlxRandom._arrayFloatHelper = _g3; selected = Objects[StartIndex + this.weightedPick(flixel_math_FlxRandom._arrayFloatHelper)]; } return selected; } ,getObject_Array_String: function(Objects,WeightsArray,StartIndex,EndIndex) { if(StartIndex == null) { StartIndex = 0; } var selected = null; if(Objects.length != 0) { if(WeightsArray == null) { var _g = []; var _g1 = 0; var _g2 = Objects.length; while(_g1 < _g2) { var i = _g1++; _g.push(1); } WeightsArray = _g; } if(EndIndex == null) { EndIndex = Objects.length - 1; } var Max = Objects.length - 1; var lowerBound = StartIndex < 0 ? 0 : StartIndex; StartIndex = (Max != null && lowerBound > Max ? Max : lowerBound) | 0; var Max1 = Objects.length - 1; var lowerBound1 = EndIndex < 0 ? 0 : EndIndex; EndIndex = (Max1 != null && lowerBound1 > Max1 ? Max1 : lowerBound1) | 0; if(EndIndex < StartIndex) { StartIndex += EndIndex; EndIndex = StartIndex - EndIndex; StartIndex -= EndIndex; } if(EndIndex > WeightsArray.length - 1) { EndIndex = WeightsArray.length - 1; } var _g3 = []; var _g11 = StartIndex; var _g21 = EndIndex + 1; while(_g11 < _g21) { var i1 = _g11++; _g3.push(WeightsArray[i1]); } flixel_math_FlxRandom._arrayFloatHelper = _g3; selected = Objects[StartIndex + this.weightedPick(flixel_math_FlxRandom._arrayFloatHelper)]; } return selected; } ,initialSeed: null ,resetInitialSeed: function() { var Value = Math.random() * 2147483647 | 0; var lowerBound = Value < 1 ? 1 : Value; var NewSeed = (lowerBound > 2147483646 ? 2147483646 : lowerBound) | 0; var lowerBound1 = NewSeed < 1 ? 1 : NewSeed; var NewSeed1 = (lowerBound1 > 2147483646 ? 2147483646 : lowerBound1) | 0; var lowerBound2 = NewSeed1 < 1 ? 1 : NewSeed1; return this.initialSeed = (this.internalSeed = (lowerBound2 > 2147483646 ? 2147483646 : lowerBound2) | 0) | 0; } ,int: function(Min,Max,Excludes) { if(Max == null) { Max = 2147483647; } if(Min == null) { Min = 0; } if(Min == 0 && Max == 2147483647 && Excludes == null) { return (this.internalSeed = this.internalSeed * 48271.0 % 2147483647) | 0; } else if(Min == Max) { return Min; } else { if(Min > Max) { Min += Max; Max = Min - Max; Min -= Max; } if(Excludes == null) { return Math.floor(Min + (this.internalSeed = this.internalSeed * 48271.0 % 2147483647) / 2147483647 * (Max - Min + 1)); } else { var result = 0; while(true) { result = Math.floor(Min + (this.internalSeed = this.internalSeed * 48271.0 % 2147483647) / 2147483647 * (Max - Min + 1)); if(!(Excludes.indexOf(result) >= 0)) { break; } } return result; } } } ,float: function(Min,Max,Excludes) { if(Max == null) { Max = 1; } if(Min == null) { Min = 0; } var result = 0; if(Min == 0 && Max == 1 && Excludes == null) { return (this.internalSeed = this.internalSeed * 48271.0 % 2147483647) / 2147483647; } else if(Min == Max) { result = Min; } else { if(Min > Max) { Min += Max; Max = Min - Max; Min -= Max; } if(Excludes == null) { result = Min + (this.internalSeed = this.internalSeed * 48271.0 % 2147483647) / 2147483647 * (Max - Min); } else { while(true) { result = Min + (this.internalSeed = this.internalSeed * 48271.0 % 2147483647) / 2147483647 * (Max - Min); if(!(Excludes.indexOf(result) >= 0)) { break; } } } } return result; } ,_hasFloatNormalSpare: null ,_floatNormalRand1: null ,_floatNormalRand2: null ,_twoPI: null ,_floatNormalRho: null ,floatNormal: function(Mean,StdDev) { if(StdDev == null) { StdDev = 1; } if(Mean == null) { Mean = 0; } if(this._hasFloatNormalSpare) { this._hasFloatNormalSpare = false; var scale = StdDev * this._floatNormalRho; return Mean + scale * this._floatNormalRand2; } this._hasFloatNormalSpare = true; var theta = this._twoPI * ((this.internalSeed = this.internalSeed * 48271.0 % 2147483647) / 2147483647); this._floatNormalRho = Math.sqrt(-2 * Math.log(1 - (this.internalSeed = this.internalSeed * 48271.0 % 2147483647) / 2147483647)); var scale1 = StdDev * this._floatNormalRho; this._floatNormalRand1 = Math.cos(theta); this._floatNormalRand2 = Math.sin(theta); return Mean + scale1 * this._floatNormalRand1; } ,bool: function(Chance) { if(Chance == null) { Chance = 50; } return this.float(0,100) < Chance; } ,sign: function(Chance) { if(Chance == null) { Chance = 50; } var Chance1 = Chance; if(Chance1 == null) { Chance1 = 50; } if(this.float(0,100) < Chance1) { return 1; } else { return -1; } } ,weightedPick: function(WeightsArray) { var totalWeight = 0; var pick = 0; var _g = 0; while(_g < WeightsArray.length) { var i = WeightsArray[_g]; ++_g; totalWeight += i; } totalWeight = this.float(0,totalWeight); var _g1 = 0; var _g2 = WeightsArray.length; while(_g1 < _g2) { var i1 = _g1++; if(totalWeight < WeightsArray[i1]) { pick = i1; break; } totalWeight -= WeightsArray[i1]; } return pick; } ,color: function(Min,Max,Alpha,GreyScale) { if(GreyScale == null) { GreyScale = false; } var red; var green; var blue; var alpha; if(Min == null && Max == null) { red = this.int(0,255); green = this.int(0,255); blue = this.int(0,255); alpha = Alpha == null ? this.int(0,255) : Alpha; } else if(Max == null) { red = this.int(Min >> 16 & 255,255); green = GreyScale ? red : this.int(Min >> 8 & 255,255); blue = GreyScale ? red : this.int(Min & 255,255); alpha = Alpha == null ? this.int(Min >> 24 & 255,255) : Alpha; } else if(Min == null) { red = this.int(0,Max >> 16 & 255); green = GreyScale ? red : this.int(0,Max >> 8 & 255); blue = GreyScale ? red : this.int(0,Max & 255); alpha = Alpha == null ? this.int(0,Max >> 24 & 255) : Alpha; } else { red = this.int(Min >> 16 & 255,Max >> 16 & 255); green = GreyScale ? red : this.int(Min >> 8 & 255,Max >> 8 & 255); blue = GreyScale ? red : this.int(Min & 255,Max & 255); alpha = Alpha == null ? this.int(Min >> 24 & 255,Max >> 24 & 255) : Alpha; } var Alpha1 = alpha; if(Alpha1 == null) { Alpha1 = 255; } var color = flixel_util__$FlxColor_FlxColor_$Impl_$._new(); var Alpha2 = Alpha1; if(Alpha2 == null) { Alpha2 = 255; } color &= -16711681; color |= (red > 255 ? 255 : red < 0 ? 0 : red) << 16; color &= -65281; color |= (green > 255 ? 255 : green < 0 ? 0 : green) << 8; color &= -256; color |= blue > 255 ? 255 : blue < 0 ? 0 : blue; color &= 16777215; color |= (Alpha2 > 255 ? 255 : Alpha2 < 0 ? 0 : Alpha2) << 24; return color; } ,generate: function() { return this.internalSeed = this.internalSeed * 48271.0 % 2147483647; } ,internalSeed: null ,set_initialSeed: function(NewSeed) { var lowerBound = NewSeed < 1 ? 1 : NewSeed; var NewSeed1 = (lowerBound > 2147483646 ? 2147483646 : lowerBound) | 0; var lowerBound1 = NewSeed1 < 1 ? 1 : NewSeed1; return this.initialSeed = (this.internalSeed = (lowerBound1 > 2147483646 ? 2147483646 : lowerBound1) | 0) | 0; } ,get_currentSeed: function() { return this.internalSeed | 0; } ,set_currentSeed: function(NewSeed) { var lowerBound = NewSeed < 1 ? 1 : NewSeed; return (this.internalSeed = (lowerBound > 2147483646 ? 2147483646 : lowerBound) | 0) | 0; } ,__class__: flixel_math_FlxRandom ,__properties__: {set_currentSeed:"set_currentSeed",get_currentSeed:"get_currentSeed",set_initialSeed:"set_initialSeed"} }; var flixel_util_FlxSave = function() { this._closeRequested = false; }; $hxClasses["flixel.util.FlxSave"] = flixel_util_FlxSave; flixel_util_FlxSave.__name__ = "flixel.util.FlxSave"; flixel_util_FlxSave.__interfaces__ = [flixel_util_IFlxDestroyable]; flixel_util_FlxSave.prototype = { data: null ,name: null ,path: null ,_sharedObject: null ,_onComplete: null ,_closeRequested: null ,destroy: function() { this._sharedObject = null; this.name = null; this.path = null; this.data = null; this._onComplete = null; this._closeRequested = false; } ,bind: function(Name,Path) { this.destroy(); this.name = Name; this.path = Path; try { this._sharedObject = openfl_net_SharedObject.getLocal(this.name,this.path); } catch( e ) { haxe_CallStack.lastException = e; var e1 = ((e) instanceof js__$Boot_HaxeError) ? e.val : e; if(((e1) instanceof openfl_errors_Error)) { var e2 = e1; this.destroy(); return false; } else { throw e; } } this.data = this._sharedObject.data; return true; } ,close: function(MinFileSize,OnComplete) { if(MinFileSize == null) { MinFileSize = 0; } this._closeRequested = true; return this.flush(MinFileSize,OnComplete); } ,flush: function(MinFileSize,OnComplete) { if(MinFileSize == null) { MinFileSize = 0; } if(!this.checkBinding()) { return false; } this._onComplete = OnComplete; var result = null; try { result = this._sharedObject.flush(); } catch( _ ) { haxe_CallStack.lastException = _; var _1 = ((_) instanceof js__$Boot_HaxeError) ? _.val : _; if(((_1) instanceof openfl_errors_Error)) { var _2 = _1; return this.onDone(flixel_util_FlxSaveStatus.ERROR); } else { throw _; } } return this.onDone(result == 0 ? flixel_util_FlxSaveStatus.SUCCESS : flixel_util_FlxSaveStatus.PENDING); } ,erase: function() { if(!this.checkBinding()) { return false; } this._sharedObject.clear(); this.data = { }; return true; } ,onDone: function(Result) { switch(Result._hx_index) { case 1: break; case 2: break; default: } if(this._onComplete != null) { this._onComplete(Result == flixel_util_FlxSaveStatus.SUCCESS); } if(this._closeRequested) { this.destroy(); } return Result == flixel_util_FlxSaveStatus.SUCCESS; } ,checkBinding: function() { if(this._sharedObject == null) { return false; } return true; } ,__class__: flixel_util_FlxSave }; var flixel_system_scaleModes_BaseScaleMode = function() { this.verticalAlign = flixel_util_FlxVerticalAlign.CENTER; this.horizontalAlign = flixel_util_FlxHorizontalAlign.CENTER; var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; this.deviceSize = point; var point1 = flixel_math_FlxPoint._pool.get().set(0,0); point1._inPool = false; this.gameSize = point1; var point2 = flixel_math_FlxPoint._pool.get().set(0,0); point2._inPool = false; this.scale = point2; var point3 = flixel_math_FlxPoint._pool.get().set(0,0); point3._inPool = false; this.offset = point3; }; $hxClasses["flixel.system.scaleModes.BaseScaleMode"] = flixel_system_scaleModes_BaseScaleMode; flixel_system_scaleModes_BaseScaleMode.__name__ = "flixel.system.scaleModes.BaseScaleMode"; flixel_system_scaleModes_BaseScaleMode.prototype = { deviceSize: null ,gameSize: null ,scale: null ,offset: null ,horizontalAlign: null ,verticalAlign: null ,onMeasure: function(Width,Height) { flixel_FlxG.width = flixel_FlxG.initialWidth; flixel_FlxG.height = flixel_FlxG.initialHeight; this.updateGameSize(Width,Height); this.updateDeviceSize(Width,Height); this.updateScaleOffset(); this.updateGamePosition(); } ,updateGameSize: function(Width,Height) { this.gameSize.set(Width,Height); } ,updateDeviceSize: function(Width,Height) { this.deviceSize.set(Width,Height); } ,updateScaleOffset: function() { this.scale.set_x(this.gameSize.x / (flixel_FlxG.width * flixel_FlxG.initialZoom)); this.scale.set_y(this.gameSize.y / (flixel_FlxG.height * flixel_FlxG.initialZoom)); this.updateOffsetX(); this.updateOffsetY(); } ,updateOffsetX: function() { var tmp; switch(this.horizontalAlign._hx_index) { case 0: tmp = 0; break; case 1: tmp = Math.ceil((this.deviceSize.x - this.gameSize.x) * 0.5); break; case 2: tmp = this.deviceSize.x - this.gameSize.x; break; } this.offset.set_x(tmp); } ,updateOffsetY: function() { var tmp; switch(this.verticalAlign._hx_index) { case 0: tmp = 0; break; case 1: tmp = Math.ceil((this.deviceSize.y - this.gameSize.y) * 0.5); break; case 2: tmp = this.deviceSize.y - this.gameSize.y; break; } this.offset.set_y(tmp); } ,updateGamePosition: function() { if(flixel_FlxG.game == null) { return; } flixel_FlxG.game.set_x(this.offset.x); flixel_FlxG.game.set_y(this.offset.y); } ,set_horizontalAlign: function(value) { this.horizontalAlign = value; if(this.offset != null) { this.updateOffsetX(); this.updateGamePosition(); } return value; } ,set_verticalAlign: function(value) { this.verticalAlign = value; if(this.offset != null) { this.updateOffsetY(); this.updateGamePosition(); } return value; } ,__class__: flixel_system_scaleModes_BaseScaleMode ,__properties__: {set_verticalAlign:"set_verticalAlign",set_horizontalAlign:"set_horizontalAlign"} }; var flixel_system_scaleModes_RatioScaleMode = function(fillScreen) { if(fillScreen == null) { fillScreen = false; } flixel_system_scaleModes_BaseScaleMode.call(this); this.fillScreen = fillScreen; }; $hxClasses["flixel.system.scaleModes.RatioScaleMode"] = flixel_system_scaleModes_RatioScaleMode; flixel_system_scaleModes_RatioScaleMode.__name__ = "flixel.system.scaleModes.RatioScaleMode"; flixel_system_scaleModes_RatioScaleMode.__super__ = flixel_system_scaleModes_BaseScaleMode; flixel_system_scaleModes_RatioScaleMode.prototype = $extend(flixel_system_scaleModes_BaseScaleMode.prototype,{ fillScreen: null ,updateGameSize: function(Width,Height) { var ratio = flixel_FlxG.width / flixel_FlxG.height; var realRatio = Width / Height; var scaleY = realRatio < ratio; if(this.fillScreen) { scaleY = !scaleY; } if(scaleY) { this.gameSize.set_x(Width); this.gameSize.set_y(Math.floor(this.gameSize.x / ratio)); } else { this.gameSize.set_y(Height); this.gameSize.set_x(Math.floor(this.gameSize.y * ratio)); } } ,__class__: flixel_system_scaleModes_RatioScaleMode }); var flixel_system_frontEnds_SignalFrontEnd = function() { this.focusLost = new flixel_util__$FlxSignal_FlxSignal0(); this.focusGained = new flixel_util__$FlxSignal_FlxSignal0(); this.postDraw = new flixel_util__$FlxSignal_FlxSignal0(); this.preDraw = new flixel_util__$FlxSignal_FlxSignal0(); this.postUpdate = new flixel_util__$FlxSignal_FlxSignal0(); this.preUpdate = new flixel_util__$FlxSignal_FlxSignal0(); this.postGameStart = new flixel_util__$FlxSignal_FlxSignal0(); this.preGameStart = new flixel_util__$FlxSignal_FlxSignal0(); this.postGameReset = new flixel_util__$FlxSignal_FlxSignal0(); this.preGameReset = new flixel_util__$FlxSignal_FlxSignal0(); this.gameResized = new flixel_util__$FlxSignal_FlxSignal2(); this.preStateCreate = new flixel_util__$FlxSignal_FlxSignal1(); this.postStateSwitch = new flixel_util__$FlxSignal_FlxSignal0(); this.preStateSwitch = new flixel_util__$FlxSignal_FlxSignal0(); }; $hxClasses["flixel.system.frontEnds.SignalFrontEnd"] = flixel_system_frontEnds_SignalFrontEnd; flixel_system_frontEnds_SignalFrontEnd.__name__ = "flixel.system.frontEnds.SignalFrontEnd"; flixel_system_frontEnds_SignalFrontEnd.prototype = { preStateSwitch: null ,postStateSwitch: null ,preStateCreate: null ,gameResized: null ,preGameReset: null ,postGameReset: null ,preGameStart: null ,postGameStart: null ,preUpdate: null ,postUpdate: null ,preDraw: null ,postDraw: null ,focusGained: null ,focusLost: null ,get_stateSwitched: function() { return this.preStateSwitch; } ,get_gameStarted: function() { return this.postGameStart; } ,__class__: flixel_system_frontEnds_SignalFrontEnd ,__properties__: {get_gameStarted:"get_gameStarted",get_stateSwitched:"get_stateSwitched"} }; var flixel_system_frontEnds_WatchFrontEnd = function() { }; $hxClasses["flixel.system.frontEnds.WatchFrontEnd"] = flixel_system_frontEnds_WatchFrontEnd; flixel_system_frontEnds_WatchFrontEnd.__name__ = "flixel.system.frontEnds.WatchFrontEnd"; flixel_system_frontEnds_WatchFrontEnd.prototype = { add: function(object,field,displayName) { } ,remove: function(object,field) { } ,addQuick: function(displayName,value) { } ,removeQuick: function(displayName) { } ,addExpression: function(expression,displayName) { } ,removeExpression: function(displayName) { } ,addMouse: function() { } ,removeMouse: function() { } ,__class__: flixel_system_frontEnds_WatchFrontEnd }; var flixel_FlxG = function() { }; $hxClasses["flixel.FlxG"] = flixel_FlxG; flixel_FlxG.__name__ = "flixel.FlxG"; flixel_FlxG.__properties__ = {set_mouse:"set_mouse",set_fullscreen:"set_fullscreen",get_fullscreen:"get_fullscreen",set_scaleMode:"set_scaleMode",get_onMobile:"get_onMobile",set_drawFramerate:"set_drawFramerate",set_updateFramerate:"set_updateFramerate",get_state:"get_state",get_stage:"get_stage"}; flixel_FlxG.camera = null; flixel_FlxG.game = null; flixel_FlxG.updateFramerate = null; flixel_FlxG.drawFramerate = null; flixel_FlxG.renderMethod = null; flixel_FlxG.renderBlit = null; flixel_FlxG.renderTile = null; flixel_FlxG.width = null; flixel_FlxG.height = null; flixel_FlxG.mouse = null; flixel_FlxG.touches = null; flixel_FlxG.keys = null; flixel_FlxG.gamepads = null; flixel_FlxG.accelerometer = null; flixel_FlxG.vcr = null; flixel_FlxG.plugins = null; flixel_FlxG.sound = null; flixel_FlxG.resizeGame = function(Width,Height) { flixel_FlxG.scaleMode.onMeasure(Width,Height); }; flixel_FlxG.resizeWindow = function(Width,Height) { }; flixel_FlxG.resetGame = function() { flixel_FlxG.game._resetGame = true; }; flixel_FlxG.switchState = function(nextState) { if(flixel_FlxG.game._state.switchTo(nextState)) { flixel_FlxG.game._requestedState = nextState; } }; flixel_FlxG.resetState = function() { var nextState = Type.createInstance(js_Boot.getClass(flixel_FlxG.game._state),[]); if(flixel_FlxG.game._state.switchTo(nextState)) { flixel_FlxG.game._requestedState = nextState; } }; flixel_FlxG.overlap = function(ObjectOrGroup1,ObjectOrGroup2,NotifyCallback,ProcessCallback) { if(ObjectOrGroup1 == null) { ObjectOrGroup1 = flixel_FlxG.game._state; } if(ObjectOrGroup2 == ObjectOrGroup1) { ObjectOrGroup2 = null; } flixel_system_FlxQuadTree.divisions = flixel_FlxG.worldDivisions; var quadTree = flixel_system_FlxQuadTree.recycle(flixel_FlxG.worldBounds.x,flixel_FlxG.worldBounds.y,flixel_FlxG.worldBounds.width,flixel_FlxG.worldBounds.height); quadTree.load(ObjectOrGroup1,ObjectOrGroup2,NotifyCallback,ProcessCallback); var result = quadTree.execute(); quadTree.destroy(); return result; }; flixel_FlxG.pixelPerfectOverlap = function(Sprite1,Sprite2,AlphaTolerance,Camera) { if(AlphaTolerance == null) { AlphaTolerance = 255; } return flixel_util_FlxCollision.pixelPerfectCheck(Sprite1,Sprite2,AlphaTolerance,Camera); }; flixel_FlxG.collide = function(ObjectOrGroup1,ObjectOrGroup2,NotifyCallback) { return flixel_FlxG.overlap(ObjectOrGroup1,ObjectOrGroup2,NotifyCallback,flixel_FlxObject.separate); }; flixel_FlxG.addChildBelowMouse = function(Child,IndexModifier) { if(IndexModifier == null) { IndexModifier = 0; } var index = flixel_FlxG.game.getChildIndex(flixel_FlxG.game._inputContainer); var max = flixel_FlxG.game.get_numChildren(); index = flixel_math_FlxMath.maxAdd(index,IndexModifier,max); flixel_FlxG.game.addChildAt(Child,index); return Child; }; flixel_FlxG.removeChild = function(Child) { if(flixel_FlxG.game.contains(Child)) { flixel_FlxG.game.removeChild(Child); } return Child; }; flixel_FlxG.addPostProcess = function(postProcess) { return postProcess; }; flixel_FlxG.removePostProcess = function(postProcess) { }; flixel_FlxG.openURL = function(URL1,Target) { if(Target == null) { Target = "_blank"; } var prefix = ""; if(!new EReg("^https?://","").match(URL1)) { prefix = "http://"; } openfl_Lib.getURL(new openfl_net_URLRequest(prefix + URL1),Target); }; flixel_FlxG.init = function(Game,Width,Height,Zoom) { flixel_FlxG.game = Game; flixel_FlxG.width = Math.abs(Width) | 0; flixel_FlxG.height = Math.abs(Height) | 0; flixel_FlxG.initRenderMethod(); flixel_FlxG.initialWidth = flixel_FlxG.width; flixel_FlxG.initialHeight = flixel_FlxG.height; flixel_FlxG.initialZoom = flixel_FlxCamera.defaultZoom = Zoom; var Width1 = openfl_Lib.get_current().stage.stageWidth; var Height1 = openfl_Lib.get_current().stage.stageHeight; flixel_FlxG.scaleMode.onMeasure(Width1,Height1); flixel_FlxG.keys = flixel_FlxG.inputs.add_flixel_input_keyboard_FlxKeyboard(new flixel_input_keyboard_FlxKeyboard()); flixel_FlxG.set_mouse(flixel_FlxG.inputs.add_flixel_input_mouse_FlxMouse(new flixel_input_mouse_FlxMouse(flixel_FlxG.game._inputContainer))); flixel_FlxG.touches = flixel_FlxG.inputs.add_flixel_input_touch_FlxTouchManager(new flixel_input_touch_FlxTouchManager()); flixel_FlxG.gamepads = flixel_FlxG.inputs.add_flixel_input_gamepad_FlxGamepadManager(new flixel_input_gamepad_FlxGamepadManager()); flixel_FlxG.accelerometer = new flixel_input_FlxAccelerometer(); flixel_FlxG.save.bind("flixel"); flixel_FlxG.plugins = new flixel_system_frontEnds_PluginFrontEnd(); flixel_FlxG.vcr = new flixel_system_frontEnds_VCRFrontEnd(); flixel_FlxG.sound = new flixel_system_frontEnds_SoundFrontEnd(); }; flixel_FlxG.initRenderMethod = function() { flixel_FlxG.renderMethod = flixel_FlxRenderMethod.BLITTING; var tmp; switch(openfl_Lib.get_current().stage.window.context.type) { case "opengl":case "opengles":case "webgl": tmp = flixel_FlxRenderMethod.DRAW_TILES; break; default: tmp = flixel_FlxRenderMethod.BLITTING; } flixel_FlxG.renderMethod = tmp; flixel_FlxG.renderBlit = flixel_FlxG.renderMethod == flixel_FlxRenderMethod.BLITTING; flixel_FlxG.renderTile = flixel_FlxG.renderMethod == flixel_FlxRenderMethod.DRAW_TILES; flixel_FlxObject.defaultPixelPerfectPosition = flixel_FlxG.renderBlit; }; flixel_FlxG.reset = function() { var _this = flixel_FlxG.random; var Value = Math.random() * 2147483647 | 0; var lowerBound = Value < 1 ? 1 : Value; var NewSeed = (lowerBound > 2147483646 ? 2147483646 : lowerBound) | 0; var lowerBound1 = NewSeed < 1 ? 1 : NewSeed; var NewSeed1 = (lowerBound1 > 2147483646 ? 2147483646 : lowerBound1) | 0; var lowerBound2 = NewSeed1 < 1 ? 1 : NewSeed1; _this.initialSeed = (_this.internalSeed = (lowerBound2 > 2147483646 ? 2147483646 : lowerBound2) | 0) | 0; flixel_FlxG.bitmap.reset(); flixel_FlxG.inputs.reset(); flixel_FlxG.sound.destroy(true); flixel_FlxG.autoPause = true; flixel_FlxG.fixedTimestep = true; flixel_FlxG.timeScale = 1.0; flixel_FlxG.elapsed = 0; flixel_FlxG.maxElapsed = 0.1; var _this1 = flixel_FlxG.worldBounds; var X = -10; var Y = -10; var Width = flixel_FlxG.width + 20; var Height = flixel_FlxG.height + 20; if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } _this1.x = X; _this1.y = Y; _this1.width = Width; _this1.height = Height; flixel_FlxG.worldDivisions = 6; }; flixel_FlxG.set_scaleMode = function(ScaleMode) { flixel_FlxG.scaleMode = ScaleMode; flixel_FlxG.game.onResize(null); return ScaleMode; }; flixel_FlxG.set_mouse = function(NewMouse) { if(flixel_FlxG.mouse == null) { flixel_FlxG.mouse = flixel_FlxG.inputs.add_flixel_input_mouse_FlxMouse(NewMouse); return flixel_FlxG.mouse; } var oldMouse = flixel_FlxG.mouse; var result = flixel_FlxG.inputs.replace_flixel_input_mouse_FlxMouse(oldMouse,NewMouse); if(result != null) { flixel_FlxG.mouse = result; oldMouse.destroy(); return NewMouse; } return oldMouse; }; flixel_FlxG.set_updateFramerate = function(Framerate) { var tmp = Framerate < flixel_FlxG.drawFramerate; flixel_FlxG.updateFramerate = Framerate; flixel_FlxG.game._stepMS = Math.abs(1000 / Framerate); flixel_FlxG.game._stepSeconds = flixel_FlxG.game._stepMS / 1000; if(flixel_FlxG.game._maxAccumulation < flixel_FlxG.game._stepMS) { flixel_FlxG.game._maxAccumulation = flixel_FlxG.game._stepMS; } return Framerate; }; flixel_FlxG.set_drawFramerate = function(Framerate) { var tmp = Framerate > flixel_FlxG.updateFramerate; flixel_FlxG.drawFramerate = Math.abs(Framerate) | 0; if(flixel_FlxG.game.stage != null) { flixel_FlxG.game.stage.set_frameRate(flixel_FlxG.drawFramerate); } flixel_FlxG.game._maxAccumulation = 2000 / flixel_FlxG.drawFramerate - 1; if(flixel_FlxG.game._maxAccumulation < flixel_FlxG.game._stepMS) { flixel_FlxG.game._maxAccumulation = flixel_FlxG.game._stepMS; } return Framerate; }; flixel_FlxG.get_fullscreen = function() { if(openfl_Lib.get_current().stage.get_displayState() != 0) { return openfl_Lib.get_current().stage.get_displayState() == 1; } else { return true; } }; flixel_FlxG.set_fullscreen = function(Value) { openfl_Lib.get_current().stage.set_displayState(Value ? 0 : 2); return Value; }; flixel_FlxG.get_stage = function() { return openfl_Lib.get_current().stage; }; flixel_FlxG.get_state = function() { return flixel_FlxG.game._state; }; flixel_FlxG.get_onMobile = function() { return flixel_FlxG.html5.onMobile; }; var flixel_FlxRenderMethod = $hxEnums["flixel.FlxRenderMethod"] = { __ename__ : "flixel.FlxRenderMethod", __constructs__ : ["DRAW_TILES","BLITTING"] ,DRAW_TILES: {_hx_index:0,__enum__:"flixel.FlxRenderMethod",toString:$estr} ,BLITTING: {_hx_index:1,__enum__:"flixel.FlxRenderMethod",toString:$estr} }; var flixel_FlxGame = function(GameWidth,GameHeight,InitialState,Zoom,UpdateFramerate,DrawFramerate,SkipSplash,StartFullscreen) { if(StartFullscreen == null) { StartFullscreen = false; } if(SkipSplash == null) { SkipSplash = false; } if(DrawFramerate == null) { DrawFramerate = 60; } if(UpdateFramerate == null) { UpdateFramerate = 60; } if(Zoom == null) { Zoom = 1; } if(GameHeight == null) { GameHeight = 0; } if(GameWidth == null) { GameWidth = 0; } this._resetGame = false; this._skipSplash = false; this._customSoundTray = flixel_system_ui_FlxSoundTray; this._lostFocus = false; this._startTime = 0; this._total = 0; this._gameJustStarted = false; this.filtersEnabled = true; this.ticks = 0; this.focusLostFramerate = 10; openfl_display_Sprite.call(this); this._inputContainer = new openfl_display_Sprite(); if(GameWidth == 0) { GameWidth = openfl_Lib.get_current().stage.stageWidth; } if(GameHeight == 0) { GameHeight = openfl_Lib.get_current().stage.stageHeight; } flixel_FlxG.init(this,GameWidth,GameHeight,Zoom); flixel_FlxG.set_updateFramerate(UpdateFramerate); flixel_FlxG.set_drawFramerate(DrawFramerate); this._accumulator = this._stepMS; this._skipSplash = SkipSplash; this._initialState = InitialState == null ? flixel_FlxState : InitialState; this.addEventListener("addedToStage",$bind(this,this.create)); }; $hxClasses["flixel.FlxGame"] = flixel_FlxGame; flixel_FlxGame.__name__ = "flixel.FlxGame"; flixel_FlxGame.__super__ = openfl_display_Sprite; flixel_FlxGame.prototype = $extend(openfl_display_Sprite.prototype,{ focusLostFramerate: null ,soundTray: null ,ticks: null ,filtersEnabled: null ,_gameJustStarted: null ,_initialState: null ,_state: null ,_total: null ,_startTime: null ,_accumulator: null ,_elapsedMS: null ,_stepMS: null ,_stepSeconds: null ,_maxAccumulation: null ,_lostFocus: null ,_filters: null ,_inputContainer: null ,_customSoundTray: null ,_skipSplash: null ,_requestedState: null ,_resetGame: null ,setFilters: function(filters) { this._filters = filters; } ,create: function(_) { if(this.stage == null) { return; } this.removeEventListener("addedToStage",$bind(this,this.create)); this._startTime = this.getTimer(); this._total = this.getTimer() - this._startTime; this.stage.set_scaleMode(2); this.stage.align = 6; this.stage.set_frameRate(flixel_FlxG.drawFramerate); this.addChild(this._inputContainer); this.soundTray = Type.createInstance(this._customSoundTray,[]); this.addChild(this.soundTray); this.stage.addEventListener("deactivate",$bind(this,this.onFocusLost)); this.stage.addEventListener("activate",$bind(this,this.onFocus)); flixel_FlxG.signals.preGameReset.dispatch(); if(this._skipSplash || flixel_system_FlxSplash.nextState != null) { this._requestedState = Type.createInstance(this._initialState,[]); if(flixel_system_FlxSplash.nextState == null) { this._gameJustStarted = true; } } else { flixel_system_FlxSplash.nextState = this._initialState; this._requestedState = new flixel_system_FlxSplash(); this._skipSplash = true; } flixel_FlxG.reset(); flixel_FlxG.signals.postGameReset.dispatch(); this.switchState(); var tmp = flixel_FlxG.updateFramerate < flixel_FlxG.drawFramerate; this.stage.addEventListener("enterFrame",$bind(this,this.onEnterFrame)); this.stage.addEventListener("resize",$bind(this,this.onResize)); this.resizeGame(openfl_Lib.get_current().stage.stageWidth,openfl_Lib.get_current().stage.stageHeight); openfl_utils_Assets.addEventListener("change",($_=flixel_FlxG.bitmap,$bind($_,$_.onAssetsReload))); } ,onFocus: function(_) { this._lostFocus = false; flixel_FlxG.signals.focusGained.dispatch(); this._state.onFocus(); if(!flixel_FlxG.autoPause) { return; } this.stage.set_frameRate(flixel_FlxG.drawFramerate); flixel_FlxG.sound.onFocus(); var _g = 0; var _g1 = flixel_FlxG.inputs.list; while(_g < _g1.length) { var input = _g1[_g]; ++_g; input.onFocus(); } } ,onFocusLost: function(event) { this._lostFocus = true; flixel_FlxG.signals.focusLost.dispatch(); this._state.onFocusLost(); if(!flixel_FlxG.autoPause) { return; } this.stage.set_frameRate(this.focusLostFramerate); flixel_FlxG.sound.onFocusLost(); var _g = 0; var _g1 = flixel_FlxG.inputs.list; while(_g < _g1.length) { var input = _g1[_g]; ++_g; input.onFocusLost(); } } ,onResize: function(_) { var width = openfl_Lib.get_current().stage.stageWidth; var height = openfl_Lib.get_current().stage.stageHeight; if(flixel_FlxG.renderTile) { flixel_FlxG.bitmap.onContext(); } this.resizeGame(width,height); } ,resizeGame: function(width,height) { flixel_FlxG.scaleMode.onMeasure(width,height); this._state.onResize(width,height); flixel_FlxG.cameras.resize(); flixel_FlxG.signals.gameResized.dispatch(width,height); if(this.soundTray != null) { this.soundTray.screenCenter(); } } ,onEnterFrame: function(_) { this.ticks = this.getTimer() - this._startTime; this._elapsedMS = this.ticks - this._total; this._total = this.ticks; if(this.soundTray != null && this.soundTray.active) { this.soundTray.update(this._elapsedMS); } if(!this._lostFocus || !flixel_FlxG.autoPause) { if(flixel_FlxG.vcr.paused) { if(flixel_FlxG.vcr.stepRequested) { flixel_FlxG.vcr.stepRequested = false; } else if(this._state == this._requestedState) { return; } } if(flixel_FlxG.fixedTimestep) { this._accumulator += this._elapsedMS; this._accumulator = this._accumulator > this._maxAccumulation ? this._maxAccumulation : this._accumulator; while(this._accumulator >= this._stepMS) { this.step(); this._accumulator -= this._stepMS; } } else { this.step(); } this.draw(); } } ,resetGame: function() { flixel_FlxG.signals.preGameReset.dispatch(); if(this._skipSplash || flixel_system_FlxSplash.nextState != null) { this._requestedState = Type.createInstance(this._initialState,[]); if(flixel_system_FlxSplash.nextState == null) { this._gameJustStarted = true; } } else { flixel_system_FlxSplash.nextState = this._initialState; this._requestedState = new flixel_system_FlxSplash(); this._skipSplash = true; } flixel_FlxG.reset(); flixel_FlxG.signals.postGameReset.dispatch(); } ,switchState: function() { flixel_FlxG.cameras.reset(); flixel_FlxG.inputs.onStateSwitch(); flixel_FlxG.sound.destroy(); flixel_FlxG.signals.preStateSwitch.dispatch(); if(this._state != null) { this._state.destroy(); } flixel_FlxG.bitmap.clearCache(); this._state = this._requestedState; if(this._gameJustStarted) { flixel_FlxG.signals.preGameStart.dispatch(); } flixel_FlxG.signals.preStateCreate.dispatch(this._state); this._state.create(); if(this._gameJustStarted) { this.gameStart(); } flixel_FlxG.signals.postStateSwitch.dispatch(); } ,gameStart: function() { flixel_FlxG.signals.postGameStart.dispatch(); this._gameJustStarted = false; } ,step: function() { if(this._resetGame) { flixel_FlxG.signals.preGameReset.dispatch(); if(this._skipSplash || flixel_system_FlxSplash.nextState != null) { this._requestedState = Type.createInstance(this._initialState,[]); if(flixel_system_FlxSplash.nextState == null) { this._gameJustStarted = true; } } else { flixel_system_FlxSplash.nextState = this._initialState; this._requestedState = new flixel_system_FlxSplash(); this._skipSplash = true; } flixel_FlxG.reset(); flixel_FlxG.signals.postGameReset.dispatch(); this._resetGame = false; } this.handleReplayRequests(); this.update(); } ,handleReplayRequests: function() { } ,update: function() { if(!this._state.active || !this._state.exists) { return; } if(this._state != this._requestedState) { this.switchState(); } this.updateElapsed(); flixel_FlxG.signals.preUpdate.dispatch(); this.updateInput(); flixel_FlxG.sound.update(flixel_FlxG.elapsed); var elapsed = flixel_FlxG.elapsed; var _g = 0; var _g1 = flixel_FlxG.plugins.list; while(_g < _g1.length) { var plugin = _g1[_g]; ++_g; if(plugin.exists && plugin.active) { plugin.update(elapsed); } } this._state.tryUpdate(flixel_FlxG.elapsed); var elapsed1 = flixel_FlxG.elapsed; var _g2 = 0; var _g11 = flixel_FlxG.cameras.list; while(_g2 < _g11.length) { var camera = _g11[_g2]; ++_g2; if(camera != null && camera.exists && camera.active) { camera.update(elapsed1); } } flixel_FlxG.signals.postUpdate.dispatch(); flixel_util_FlxArrayUtil.clearArray(flixel_FlxG.swipes); this.set_filters(this.filtersEnabled ? this._filters : null); } ,updateElapsed: function() { if(flixel_FlxG.fixedTimestep) { flixel_FlxG.elapsed = flixel_FlxG.timeScale * this._stepSeconds; } else { flixel_FlxG.elapsed = flixel_FlxG.timeScale * (this._elapsedMS / 1000); var max = flixel_FlxG.maxElapsed * flixel_FlxG.timeScale; if(flixel_FlxG.elapsed > max) { flixel_FlxG.elapsed = max; } } } ,updateInput: function() { var _g = 0; var _g1 = flixel_FlxG.inputs.list; while(_g < _g1.length) { var input = _g1[_g]; ++_g; input.update(); } } ,draw: function() { if(!this._state.visible || !this._state.exists) { return; } flixel_FlxG.signals.preDraw.dispatch(); if(flixel_FlxG.renderTile) { flixel_graphics_tile_FlxDrawBaseItem.drawCalls = 0; } var _this = flixel_FlxG.cameras; var _g = 0; var _g1 = _this.list; while(_g < _g1.length) { var camera = _g1[_g]; ++_g; if(camera == null || !camera.exists || !camera.visible) { continue; } if(flixel_FlxG.renderBlit) { camera.checkResize(); if(_this.useBufferLocking) { camera.buffer.lock(); } } if(flixel_FlxG.renderTile) { camera.clearDrawStack(); camera.canvas.get_graphics().clear(); } if(flixel_FlxG.renderBlit) { camera.fill(camera.bgColor,camera.useBgAlphaBlending); camera.screen.dirty = true; } else { camera.fill(camera.bgColor & 16777215,camera.useBgAlphaBlending,(camera.bgColor >> 24 & 255) / 255); } } var _g2 = 0; var _g11 = flixel_FlxG.plugins.list; while(_g2 < _g11.length) { var plugin = _g11[_g2]; ++_g2; if(plugin.exists && plugin.visible) { plugin.draw(); } } this._state.draw(); if(flixel_FlxG.renderTile) { if(flixel_FlxG.renderTile) { var _g3 = 0; var _g12 = flixel_FlxG.cameras.list; while(_g3 < _g12.length) { var camera1 = _g12[_g3]; ++_g3; if(camera1 != null && camera1.exists && camera1.visible) { camera1.render(); } } } } var _this1 = flixel_FlxG.cameras; var _g4 = 0; var _g13 = _this1.list; while(_g4 < _g13.length) { var camera2 = _g13[_g4]; ++_g4; if(camera2 == null || !camera2.exists || !camera2.visible) { continue; } camera2.drawFX(); if(flixel_FlxG.renderBlit) { if(_this1.useBufferLocking) { camera2.buffer.unlock(); } camera2.screen.dirty = true; } } flixel_FlxG.signals.postDraw.dispatch(); } ,getTicks: function() { return this.getTimer() - this._startTime; } ,getTimer: function() { return openfl_Lib.getTimer(); } ,__class__: flixel_FlxGame }); var flixel_IFlxSprite = function() { }; $hxClasses["flixel.IFlxSprite"] = flixel_IFlxSprite; flixel_IFlxSprite.__name__ = "flixel.IFlxSprite"; flixel_IFlxSprite.__isInterface__ = true; flixel_IFlxSprite.__interfaces__ = [flixel_IFlxBasic]; flixel_IFlxSprite.prototype = { set_x: null ,set_y: null ,set_alpha: null ,set_angle: null ,set_facing: null ,set_moves: null ,set_immovable: null ,x: null ,y: null ,alpha: null ,angle: null ,facing: null ,moves: null ,immovable: null ,offset: null ,origin: null ,scale: null ,velocity: null ,maxVelocity: null ,acceleration: null ,drag: null ,scrollFactor: null ,reset: null ,setPosition: null ,__class__: flixel_IFlxSprite ,__properties__: {set_immovable:"set_immovable",set_moves:"set_moves",set_facing:"set_facing",set_angle:"set_angle",set_alpha:"set_alpha",set_y:"set_y",set_x:"set_x"} }; var flixel_addons_display_FlxGridOverlay = function() { }; $hxClasses["flixel.addons.display.FlxGridOverlay"] = flixel_addons_display_FlxGridOverlay; flixel_addons_display_FlxGridOverlay.__name__ = "flixel.addons.display.FlxGridOverlay"; flixel_addons_display_FlxGridOverlay.create = function(CellWidth,CellHeight,Width,Height,Alternate,Color1,Color2) { if(Color2 == null) { Color2 = -2501163; } if(Color1 == null) { Color1 = -1579290; } if(Alternate == null) { Alternate = true; } if(Height == null) { Height = -1; } if(Width == null) { Width = -1; } if(Width == -1) { Width = flixel_FlxG.width; } if(Height == -1) { Height = flixel_FlxG.height; } if(Width < CellWidth || Height < CellHeight) { return null; } var grid = flixel_addons_display_FlxGridOverlay.createGrid(CellWidth,CellHeight,Width,Height,Alternate,Color1,Color2); var output = new flixel_FlxSprite(); output.set_pixels(grid); output.dirty = true; return output; }; flixel_addons_display_FlxGridOverlay.overlay = function(Sprite,CellWidth,CellHeight,Width,Height,Alternate,Color1,Color2) { if(Color2 == null) { Color2 = -1998989867; } if(Color1 == null) { Color1 = -1998067994; } if(Alternate == null) { Alternate = true; } if(Height == null) { Height = -1; } if(Width == null) { Width = -1; } if(Width == -1) { Width = flixel_FlxG.width; } if(Height == -1) { Height = flixel_FlxG.height; } if(Width < CellWidth || Height < CellHeight) { return null; } var grid = flixel_addons_display_FlxGridOverlay.createGrid(CellWidth,CellHeight,Width,Height,Alternate,Color1,Color2); Sprite.get_pixels().copyPixels(grid,new openfl_geom_Rectangle(0,0,Width,Height),new openfl_geom_Point(0,0),null,null,true); return Sprite; }; flixel_addons_display_FlxGridOverlay.createGrid = function(CellWidth,CellHeight,Width,Height,Alternate,Color1,Color2) { var rowColor = Color1; var lastColor = Color1; var grid = new openfl_display_BitmapData(Width,Height,true); var y = 0; while(y <= Height) { if(y > 0 && lastColor == rowColor && Alternate) { if(lastColor == Color1) { lastColor = Color2; } else { lastColor = Color1; } } else if(y > 0 && lastColor != rowColor && Alternate == false) { if(lastColor == Color2) { lastColor = Color1; } else { lastColor = Color2; } } var x = 0; while(x <= Width) { if(x == 0) { rowColor = lastColor; } grid.fillRect(new openfl_geom_Rectangle(x,y,CellWidth,CellHeight),lastColor); if(lastColor == Color1) { lastColor = Color2; } else { lastColor = Color1; } x += CellWidth; } y += CellHeight; } return grid; }; var flixel_addons_effects_FlxTrail = function(Target,Graphic,Length,Delay,Alpha,Diff) { if(Diff == null) { Diff = 0.05; } if(Alpha == null) { Alpha = 0.4; } if(Delay == null) { Delay = 3; } if(Length == null) { Length = 10; } this._recentAnimations = []; this._recentFlipY = []; this._recentFlipX = []; this._recentFrames = []; this._recentScales = []; this._recentAngles = []; this._recentPositions = []; this._transp = 1; this._trailLength = 0; this._counter = 0; this.framesEnabled = true; this.scalesEnabled = true; this.rotationsEnabled = true; this.yEnabled = true; this.xEnabled = true; flixel_group_FlxTypedSpriteGroup.call(this); var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; var _this = point; var point1 = Target.origin; _this.set_x(point1.x); _this.set_y(point1.y); if(point1._weak) { point1.put(); } this._spriteOrigin = _this; this.target = Target; this.delay = Delay; this._graphic = Graphic; this._transp = Alpha; this._difference = Diff; this.increaseLength(Length); this.set_solid(false); }; $hxClasses["flixel.addons.effects.FlxTrail"] = flixel_addons_effects_FlxTrail; flixel_addons_effects_FlxTrail.__name__ = "flixel.addons.effects.FlxTrail"; flixel_addons_effects_FlxTrail.__super__ = flixel_group_FlxTypedSpriteGroup; flixel_addons_effects_FlxTrail.prototype = $extend(flixel_group_FlxTypedSpriteGroup.prototype,{ target: null ,delay: null ,xEnabled: null ,yEnabled: null ,rotationsEnabled: null ,scalesEnabled: null ,framesEnabled: null ,_counter: null ,_trailLength: null ,_graphic: null ,_transp: null ,_difference: null ,_recentPositions: null ,_recentAngles: null ,_recentScales: null ,_recentFrames: null ,_recentFlipX: null ,_recentFlipY: null ,_recentAnimations: null ,_spriteOrigin: null ,destroy: function() { flixel_util_FlxDestroyUtil.putArray(this._recentPositions); flixel_util_FlxDestroyUtil.putArray(this._recentScales); this._recentAngles = null; this._recentPositions = null; this._recentScales = null; this._recentFrames = null; this._recentFlipX = null; this._recentFlipY = null; this._recentAnimations = null; this._spriteOrigin = null; this.target = null; this._graphic = null; flixel_group_FlxTypedSpriteGroup.prototype.destroy.call(this); } ,update: function(elapsed) { this._counter++; if(this._counter >= this.delay && this._trailLength >= 1) { this._counter = 0; var spritePosition = null; if(this._recentPositions.length == this._trailLength) { spritePosition = this._recentPositions.pop(); } else { var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; spritePosition = point; } spritePosition.set(this.target.x - this.target.offset.x,this.target.y - this.target.offset.y); this._recentPositions.unshift(spritePosition); if(this.rotationsEnabled) { this.cacheValue(this._recentAngles,this.target.angle); } if(this.scalesEnabled) { var spriteScale = null; if(this._recentScales.length == this._trailLength) { spriteScale = this._recentScales.pop(); } else { var point1 = flixel_math_FlxPoint._pool.get().set(0,0); point1._inPool = false; spriteScale = point1; } spriteScale.set(this.target.scale.x,this.target.scale.y); this._recentScales.unshift(spriteScale); } if(this.framesEnabled && this._graphic == null) { this.cacheValue(this._recentFrames,this.target.animation.frameIndex); this.cacheValue(this._recentFlipX,this.target.flipX); this.cacheValue(this._recentFlipY,this.target.flipY); this.cacheValue(this._recentAnimations,this.target.animation._curAnim); } var trailSprite; var _g = 0; var _g1 = this._recentPositions.length; while(_g < _g1) { var i = _g++; trailSprite = this.group.members[i]; trailSprite.set_x(this._recentPositions[i].x); trailSprite.set_y(this._recentPositions[i].y); if(this.rotationsEnabled) { trailSprite.set_angle(this._recentAngles[i]); trailSprite.origin.set_x(this._spriteOrigin.x); trailSprite.origin.set_y(this._spriteOrigin.y); } if(this.scalesEnabled) { trailSprite.scale.set_x(this._recentScales[i].x); trailSprite.scale.set_y(this._recentScales[i].y); } if(this.framesEnabled && this._graphic == null) { trailSprite.animation.set_frameIndex(this._recentFrames[i]); trailSprite.set_flipX(this._recentFlipX[i]); trailSprite.set_flipY(this._recentFlipY[i]); var _this = trailSprite.animation; var Anim = this._recentAnimations[i]; if(Anim != _this._curAnim) { if(_this._curAnim != null) { _this._curAnim.stop(); } if(Anim != null) { Anim.play(); } } _this._curAnim = Anim; } trailSprite.set_exists(true); } } flixel_group_FlxTypedSpriteGroup.prototype.update.call(this,elapsed); } ,cacheValue: function(array,value) { array.unshift(value); flixel_util_FlxArrayUtil.setLength_cacheValue_T(array,this._trailLength); } ,resetTrail: function() { this._recentPositions.splice(0,this._recentPositions.length); this._recentAngles.splice(0,this._recentAngles.length); this._recentScales.splice(0,this._recentScales.length); this._recentFrames.splice(0,this._recentFrames.length); this._recentFlipX.splice(0,this._recentFlipX.length); this._recentFlipY.splice(0,this._recentFlipY.length); this._recentAnimations.splice(0,this._recentAnimations.length); var _g = 0; var _g1 = this.group.members.length; while(_g < _g1) { var i = _g++; if(this.group.members[i] != null) { this.group.members[i].set_exists(false); } } } ,increaseLength: function(Amount) { if(Amount <= 0) { return; } this._trailLength += Amount; var _g = 0; var _g1 = Amount; while(_g < _g1) { var i = _g++; var trailSprite = new flixel_FlxSprite(0,0); if(this._graphic == null) { trailSprite.loadGraphicFromSprite(this.target); } else { trailSprite.loadGraphic(this._graphic); } trailSprite.set_exists(false); this.add(trailSprite); trailSprite.set_alpha(this._transp); this._transp -= this._difference; trailSprite.set_solid((this.allowCollisions & 4369) > 0); if(trailSprite.alpha <= 0) { trailSprite.kill(); } } } ,changeGraphic: function(Image1) { this._graphic = Image1; var _g = 0; var _g1 = this._trailLength; while(_g < _g1) { var i = _g++; this.group.members[i].loadGraphic(Image1); } } ,changeValuesEnabled: function(Angle,X,Y,Scale) { if(Scale == null) { Scale = true; } if(Y == null) { Y = true; } if(X == null) { X = true; } this.rotationsEnabled = Angle; this.xEnabled = X; this.yEnabled = Y; this.scalesEnabled = Scale; } ,__class__: flixel_addons_effects_FlxTrail }); var flixel_addons_effects_FlxTrailArea = function(X,Y,Width,Height,AlphaMultiplier,Delay,SimpleRender,Antialiasing,TrailBlendMode) { if(Antialiasing == null) { Antialiasing = false; } if(SimpleRender == null) { SimpleRender = false; } if(Delay == null) { Delay = 2; } if(AlphaMultiplier == null) { AlphaMultiplier = 0.8; } if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } this._height = 1; this._width = 1; this._counter = 0; this.alphaOffset = 0; this.blueOffset = 0; this.greenOffset = 0; this.redOffset = 0; this.blueMultiplier = 1; this.greenMultiplier = 1; this.redMultiplier = 1; this.blendMode = null; this.simpleRender = false; this.delay = 2; flixel_FlxSprite.call(this,X,Y); this.group = new flixel_group_FlxTypedGroup(); this.delay = Delay; this.simpleRender = SimpleRender; this.blendMode = TrailBlendMode; this.set_antialiasing(Antialiasing); this.alphaMultiplier = AlphaMultiplier; this.setSize(Width,Height); this.set_pixels(this._areaPixels); }; $hxClasses["flixel.addons.effects.FlxTrailArea"] = flixel_addons_effects_FlxTrailArea; flixel_addons_effects_FlxTrailArea.__name__ = "flixel.addons.effects.FlxTrailArea"; flixel_addons_effects_FlxTrailArea.__super__ = flixel_FlxSprite; flixel_addons_effects_FlxTrailArea.prototype = $extend(flixel_FlxSprite.prototype,{ delay: null ,simpleRender: null ,blendMode: null ,group: null ,redMultiplier: null ,greenMultiplier: null ,blueMultiplier: null ,alphaMultiplier: null ,redOffset: null ,greenOffset: null ,blueOffset: null ,alphaOffset: null ,_counter: null ,_width: null ,_height: null ,_areaPixels: null ,setSize: function(Width,Height) { Width = Width <= 0 ? flixel_FlxG.width : Width; Height = Height <= 0 ? flixel_FlxG.height : Height; if(Width != this._width || Height != this._height) { this._width = Width; this._height = Height; this._areaPixels = new openfl_display_BitmapData(this._width | 0,this._height | 0,true,0); } } ,destroy: function() { this.group = flixel_util_FlxDestroyUtil.destroy(this.group); this.blendMode = null; if(this.get_pixels() != this._areaPixels) { this._areaPixels.dispose(); } this._areaPixels = null; flixel_FlxSprite.prototype.destroy.call(this); } ,draw: function() { this._counter++; if(this._counter >= this.delay) { this._counter = 0; this._areaPixels.lock(); var cTrans = new openfl_geom_ColorTransform(this.redMultiplier,this.greenMultiplier,this.blueMultiplier,this.alphaMultiplier,this.redOffset,this.greenOffset,this.blueOffset,this.alphaOffset); this._areaPixels.colorTransform(new openfl_geom_Rectangle(0,0,this._areaPixels.width,this._areaPixels.height),cTrans); var _g = 0; var _g1 = this.group.members; while(_g < _g1.length) { var member = _g1[_g]; ++_g; if(member.exists) { var finalX = member.x - this.x - member.offset.x; var finalY = member.y - this.y - member.offset.y; if(this.simpleRender) { this._areaPixels.copyPixels(member.updateFramePixels(),new openfl_geom_Rectangle(0,0,member.frameWidth,member.frameHeight),new openfl_geom_Point(finalX,finalY),null,null,true); } else { var scaled = member.scale.x != 1 || member.scale.y != 1; var rotated = member.angle != 0 && member.bakedRotationAngle <= 0; this._matrix.identity(); if(rotated || scaled) { this._matrix.translate(-member.origin.x,-member.origin.y); if(scaled) { this._matrix.scale(member.scale.x,member.scale.y); } if(rotated) { this._matrix.rotate(member.angle * (Math.PI / 180)); } this._matrix.translate(member.origin.x,member.origin.y); } this._matrix.translate(finalX,finalY); this._areaPixels.draw(member.updateFramePixels(),this._matrix,member.colorTransform,this.blendMode,null,this.antialiasing); } } } this._areaPixels.unlock(); this.set_pixels(this._areaPixels); } flixel_FlxSprite.prototype.draw.call(this); } ,resetTrail: function() { this._areaPixels.fillRect(new openfl_geom_Rectangle(0,0,this._areaPixels.width,this._areaPixels.height),0); } ,add: function(Sprite) { return this.group.add(Sprite); } ,get_width: function() { return this._width; } ,set_width: function(Width) { Width = Width <= 0 ? flixel_FlxG.width : Width; if(Width != this._width) { this._areaPixels = new openfl_display_BitmapData(Width | 0,this._height | 0,true,0); } return this._width = Width; } ,get_height: function() { return this._height; } ,set_height: function(Height) { Height = Height <= 0 ? flixel_FlxG.height : Height; if(Height != this._height) { this._areaPixels = new openfl_display_BitmapData(this._width | 0,Height | 0,true,0); } return this._height = Height; } ,__class__: flixel_addons_effects_FlxTrailArea }); var flixel_addons_effects_chainable_FlxEffectSprite = function(Target,Effects) { this.updateTargetAnimation = true; this.effectsEnabled = true; flixel_FlxSprite.call(this); this.target = Target; this.effects = Effects != null ? Effects : []; var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; this._effectOffset = point; }; $hxClasses["flixel.addons.effects.chainable.FlxEffectSprite"] = flixel_addons_effects_chainable_FlxEffectSprite; flixel_addons_effects_chainable_FlxEffectSprite.__name__ = "flixel.addons.effects.chainable.FlxEffectSprite"; flixel_addons_effects_chainable_FlxEffectSprite.__super__ = flixel_FlxSprite; flixel_addons_effects_chainable_FlxEffectSprite.prototype = $extend(flixel_FlxSprite.prototype,{ effectsEnabled: null ,target: null ,updateTargetAnimation: null ,effects: null ,_effectOffset: null ,destroy: function() { this.effects = flixel_util_FlxDestroyUtil.destroyArray(this.effects); this._effectOffset = flixel_util_FlxDestroyUtil.put(this._effectOffset); this.target = null; flixel_FlxSprite.prototype.destroy.call(this); } ,getScreenPosition: function(point,Camera) { return flixel_FlxSprite.prototype.getScreenPosition.call(this,point,Camera).addPoint(this._effectOffset); } ,draw: function() { if(this.target.dirty) { this.target.drawFrame(); } if(this.target.framePixels == null) { flixel_FlxSprite.prototype.draw.call(this); return; } if(this.get_pixels() != null && this.get_pixels().width == this.target.framePixels.width && this.get_pixels().height == this.target.framePixels.height) { this.get_pixels().fillRect(this.get_pixels().rect,0); this.get_pixels().draw(this.target.framePixels); } else { flixel_util_FlxDestroyUtil.dispose(this.get_pixels()); this.set_pixels(this.target.framePixels.clone()); } this._effectOffset.set(0,0); if(this.effectsEnabled) { this.get_pixels().lock(); var _g = 0; var _g1 = this.effects; while(_g < _g1.length) { var effect = _g1[_g]; ++_g; if(effect.active) { this.set_pixels(effect.apply(this.get_pixels())); if(effect.offset != null) { this._effectOffset.addPoint(effect.offset); } } } this.get_pixels().unlock(); this._flashRect = this.get_pixels().rect; } flixel_FlxSprite.prototype.draw.call(this); } ,update: function(elapsed) { if(this.updateTargetAnimation && this.target.animation._sprite.numFrames > 1) { this.target.updateAnimation(elapsed); } if(this.effectsEnabled) { var _g = 0; var _g1 = this.effects; while(_g < _g1.length) { var effect = _g1[_g]; ++_g; if(effect.active) { effect.update(elapsed); } } } flixel_FlxSprite.prototype.update.call(this,elapsed); } ,__class__: flixel_addons_effects_chainable_FlxEffectSprite }); var flixel_addons_effects_chainable_IFlxEffect = function() { }; $hxClasses["flixel.addons.effects.chainable.IFlxEffect"] = flixel_addons_effects_chainable_IFlxEffect; flixel_addons_effects_chainable_IFlxEffect.__name__ = "flixel.addons.effects.chainable.IFlxEffect"; flixel_addons_effects_chainable_IFlxEffect.__isInterface__ = true; flixel_addons_effects_chainable_IFlxEffect.__interfaces__ = [flixel_util_IFlxDestroyable]; flixel_addons_effects_chainable_IFlxEffect.prototype = { active: null ,offset: null ,update: null ,apply: null ,__class__: flixel_addons_effects_chainable_IFlxEffect }; var flixel_addons_effects_chainable_FlxWaveEffect = function(Mode,Strength,Center,Speed,Wavelength,Direction,InterlaceOffset) { if(InterlaceOffset == null) { InterlaceOffset = 0; } if(Wavelength == null) { Wavelength = 5; } if(Speed == null) { Speed = 3; } if(Center == null) { Center = 0.5; } if(Strength == null) { Strength = 10; } this._flashRect = new openfl_geom_Rectangle(); this._flashPoint = new openfl_geom_Point(); this._time = 0; var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; this.offset = point; this.active = true; this.strength = Strength; this.mode = Mode == null ? flixel_addons_effects_chainable_FlxWaveMode.ALL : Mode; this.speed = Speed; this.wavelength = Wavelength; this.direction = Direction != null ? Direction : flixel_addons_effects_chainable_FlxWaveDirection.HORIZONTAL; this.center = Center; this.set_interlaceOffset(InterlaceOffset); }; $hxClasses["flixel.addons.effects.chainable.FlxWaveEffect"] = flixel_addons_effects_chainable_FlxWaveEffect; flixel_addons_effects_chainable_FlxWaveEffect.__name__ = "flixel.addons.effects.chainable.FlxWaveEffect"; flixel_addons_effects_chainable_FlxWaveEffect.__interfaces__ = [flixel_addons_effects_chainable_IFlxEffect]; flixel_addons_effects_chainable_FlxWaveEffect.prototype = { active: null ,offset: null ,mode: null ,speed: null ,center: null ,direction: null ,wavelength: null ,strength: null ,interlaceOffset: null ,_time: null ,_flashPoint: null ,_flashRect: null ,_pixels: null ,destroy: function() { this._flashPoint = null; this._flashRect = null; this.offset = flixel_util_FlxDestroyUtil.put(this.offset); this._pixels = flixel_util_FlxDestroyUtil.dispose(this._pixels); } ,update: function(elapsed) { this._time += elapsed * this.speed; } ,apply: function(bitmapData) { var horizontalStrength = this.direction == flixel_addons_effects_chainable_FlxWaveDirection.HORIZONTAL ? this.strength : 0; var verticalStrength = this.direction == flixel_addons_effects_chainable_FlxWaveDirection.VERTICAL ? this.strength : 0; this.offset.set(-horizontalStrength,-verticalStrength); if(this._pixels == null || this._pixels.width < bitmapData.width + horizontalStrength * 2 || this._pixels.height < bitmapData.height + verticalStrength * 2) { flixel_util_FlxDestroyUtil.dispose(this._pixels); this._pixels = new openfl_display_BitmapData(bitmapData.width + horizontalStrength * 2,bitmapData.height + verticalStrength * 2,true,0); } else { this._pixels.fillRect(this._pixels.rect,0); } var length = this.direction == flixel_addons_effects_chainable_FlxWaveDirection.HORIZONTAL ? bitmapData.height : bitmapData.width; var p = 0; while(p < length) { var pixelOffset = 0; var offsetP = length * this.center; var size = 1; switch(this.mode._hx_index) { case 0: offsetP = this.strength; break; case 1: if(p <= offsetP) { offsetP = (1 - p / offsetP) * this.strength; } else { size = length - p; offsetP = 0; } break; case 2: if(p >= offsetP) { offsetP = (1 - (1 - p / length) / (1 - this.center)) * this.strength; } else { size = Math.ceil(offsetP); offsetP = 0; } break; } var waveOffset = 0; if(this.interlaceOffset != 0 && this.interlaceOffset != 1 && ((p | 0) & 1) != 0) { waveOffset = Math.PI * 2 * this.interlaceOffset; } var n = p / this.wavelength + this._time + waveOffset; n *= 0.3183098862; if(n > 1) { n -= Math.ceil(n) >> 1 << 1; } else if(n < -1) { n += Math.ceil(-n) >> 1 << 1; } pixelOffset = offsetP * (n > 0 ? n * (3.1 + n * (0.5 + n * (-7.2 + n * 3.6))) : n * (3.1 - n * (0.5 + n * (7.2 + n * 3.6)))); if(this.direction == flixel_addons_effects_chainable_FlxWaveDirection.HORIZONTAL) { this._flashPoint.setTo(this.strength + pixelOffset,p); this._flashRect.setTo(0,p,bitmapData.width,size); } else { this._flashPoint.setTo(p,this.strength + pixelOffset); this._flashRect.setTo(p,0,size,bitmapData.height); } this._pixels.copyPixels(bitmapData,this._flashRect,this._flashPoint); p += size; } flixel_util_FlxDestroyUtil.dispose(bitmapData); return this._pixels.clone(); } ,calculateOffset: function(p,length) { var waveOffset = 0; if(this.interlaceOffset != 0 && this.interlaceOffset != 1 && ((p | 0) & 1) != 0) { waveOffset = Math.PI * 2 * this.interlaceOffset; } var n = p / this.wavelength + this._time + waveOffset; n *= 0.3183098862; if(n > 1) { n -= Math.ceil(n) >> 1 << 1; } else if(n < -1) { n += Math.ceil(-n) >> 1 << 1; } if(n > 0) { return n * (3.1 + n * (0.5 + n * (-7.2 + n * 3.6))); } else { return n * (3.1 - n * (0.5 + n * (7.2 + n * 3.6))); } } ,set_interlaceOffset: function(InterlaceOffset) { var lowerBound = InterlaceOffset < 0 ? 0 : InterlaceOffset; return this.interlaceOffset = lowerBound > 1 ? 1 : lowerBound; } ,__class__: flixel_addons_effects_chainable_FlxWaveEffect ,__properties__: {set_interlaceOffset:"set_interlaceOffset"} }; var flixel_addons_effects_chainable_FlxWaveMode = $hxEnums["flixel.addons.effects.chainable.FlxWaveMode"] = { __ename__ : "flixel.addons.effects.chainable.FlxWaveMode", __constructs__ : ["ALL","START","END"] ,ALL: {_hx_index:0,__enum__:"flixel.addons.effects.chainable.FlxWaveMode",toString:$estr} ,START: {_hx_index:1,__enum__:"flixel.addons.effects.chainable.FlxWaveMode",toString:$estr} ,END: {_hx_index:2,__enum__:"flixel.addons.effects.chainable.FlxWaveMode",toString:$estr} }; var flixel_addons_effects_chainable_FlxWaveDirection = $hxEnums["flixel.addons.effects.chainable.FlxWaveDirection"] = { __ename__ : "flixel.addons.effects.chainable.FlxWaveDirection", __constructs__ : ["HORIZONTAL","VERTICAL"] ,HORIZONTAL: {_hx_index:0,__enum__:"flixel.addons.effects.chainable.FlxWaveDirection",toString:$estr} ,VERTICAL: {_hx_index:1,__enum__:"flixel.addons.effects.chainable.FlxWaveDirection",toString:$estr} }; var openfl_media_Sound = function(stream,context) { openfl_events_EventDispatcher.call(this,this); this.bytesLoaded = 0; this.bytesTotal = 0; this.isBuffering = false; this.url = null; if(stream != null) { this.load(stream,context); } }; $hxClasses["openfl.media.Sound"] = openfl_media_Sound; openfl_media_Sound.__name__ = "openfl.media.Sound"; openfl_media_Sound.fromAudioBuffer = function(buffer) { var sound = new openfl_media_Sound(); sound.__buffer = buffer; return sound; }; openfl_media_Sound.fromFile = function(path) { return openfl_media_Sound.fromAudioBuffer(lime_media_AudioBuffer.fromFile(path)); }; openfl_media_Sound.loadFromFile = function(path) { return lime_media_AudioBuffer.loadFromFile(path).then(function(audioBuffer) { return lime_app_Future.withValue(openfl_media_Sound.fromAudioBuffer(audioBuffer)); }); }; openfl_media_Sound.loadFromFiles = function(paths) { return lime_media_AudioBuffer.loadFromFiles(paths).then(function(audioBuffer) { return lime_app_Future.withValue(openfl_media_Sound.fromAudioBuffer(audioBuffer)); }); }; openfl_media_Sound.__super__ = openfl_events_EventDispatcher; openfl_media_Sound.prototype = $extend(openfl_events_EventDispatcher.prototype,{ bytesLoaded: null ,bytesTotal: null ,isBuffering: null ,url: null ,__buffer: null ,close: function() { if(this.__buffer != null) { this.__buffer.dispose(); this.__buffer = null; } } ,load: function(stream,context) { var _gthis = this; this.url = stream.url; var defaultLibrary = lime_utils_Assets.getLibrary("default"); var tmp; if(defaultLibrary != null) { var key = this.url; var _this = defaultLibrary.cachedAudioBuffers; tmp = __map_reserved[key] != null ? _this.existsReserved(key) : _this.h.hasOwnProperty(key); } else { tmp = false; } if(tmp) { var key1 = this.url; var _this1 = defaultLibrary.cachedAudioBuffers; this.AudioBuffer_onURLLoad(__map_reserved[key1] != null ? _this1.getReserved(key1) : _this1.h[key1]); } else { lime_media_AudioBuffer.loadFromFile(this.url).onComplete($bind(this,this.AudioBuffer_onURLLoad)).onError(function(_) { _gthis.AudioBuffer_onURLLoad(null); }); } } ,loadCompressedDataFromByteArray: function(bytes,bytesLength) { if(bytes == null || bytesLength <= 0) { this.dispatchEvent(new openfl_events_IOErrorEvent("ioError")); return; } if(_$UInt_UInt_$Impl_$.gt(bytes.position,0) || _$UInt_UInt_$Impl_$.gt(openfl_utils__$ByteArray_ByteArray_$Impl_$.get_length(bytes),bytesLength)) { var length = bytesLength; if(length == null) { length = 0; } var this1 = new openfl_utils_ByteArrayData(length); var copy = this1; var offset = bytes.position; var length1 = bytesLength; if(length1 == null) { length1 = 0; } if(offset == null) { offset = 0; } copy.writeBytes(bytes,offset,length1); bytes = copy; } this.__buffer = lime_media_AudioBuffer.fromBytes(openfl_utils__$ByteArray_ByteArray_$Impl_$.toBytes(bytes)); if(this.__buffer == null) { this.dispatchEvent(new openfl_events_IOErrorEvent("ioError")); } else { this.dispatchEvent(new openfl_events_Event("complete")); } } ,loadPCMFromByteArray: function(bytes,samples,format,stereo,sampleRate) { if(sampleRate == null) { sampleRate = 44100; } if(stereo == null) { stereo = true; } if(format == null) { format = "float"; } if(bytes == null) { this.dispatchEvent(new openfl_events_IOErrorEvent("ioError")); return; } var bitsPerSample = format == "float" ? 32 : 16; var channels = stereo ? 2 : 1; var bytesLength = samples * channels * (bitsPerSample / 8) | 0; if(_$UInt_UInt_$Impl_$.gt(bytes.position,0) || _$UInt_UInt_$Impl_$.gt(openfl_utils__$ByteArray_ByteArray_$Impl_$.get_length(bytes),bytesLength)) { var length = bytesLength; if(length == null) { length = 0; } var this1 = new openfl_utils_ByteArrayData(length); var copy = this1; var offset = bytes.position; var length1 = bytesLength; if(length1 == null) { length1 = 0; } if(offset == null) { offset = 0; } copy.writeBytes(bytes,offset,length1); bytes = copy; } var audioBuffer = new lime_media_AudioBuffer(); audioBuffer.bitsPerSample = bitsPerSample; audioBuffer.channels = channels; var elements = null; var array = null; var vector = null; var view = null; var buffer = openfl_utils__$ByteArray_ByteArray_$Impl_$.toArrayBuffer(bytes); var len = null; var this2; if(elements != null) { this2 = new Uint8Array(elements); } else if(array != null) { this2 = new Uint8Array(array); } else if(vector != null) { this2 = new Uint8Array(vector.__array); } else if(view != null) { this2 = new Uint8Array(view); } else if(buffer != null) { if(len == null) { this2 = new Uint8Array(buffer,0); } else { this2 = new Uint8Array(buffer,0,len); } } else { this2 = null; } audioBuffer.data = this2; audioBuffer.sampleRate = sampleRate | 0; this.__buffer = audioBuffer; this.dispatchEvent(new openfl_events_Event("complete")); } ,play: function(startTime,loops,sndTransform) { if(loops == null) { loops = 0; } if(startTime == null) { startTime = 0.0; } if(this.__buffer == null || openfl_media_SoundMixer.__soundChannels.length >= 32) { return null; } if(sndTransform == null) { sndTransform = new openfl_media_SoundTransform(); } else { sndTransform = sndTransform.clone(); } var pan = openfl_media_SoundMixer.__soundTransform.pan + sndTransform.pan; if(pan > 1) { pan = 1; } if(pan < -1) { pan = -1; } var volume = openfl_media_SoundMixer.__soundTransform.volume * sndTransform.volume; var source = new lime_media_AudioSource(this.__buffer); source.offset = startTime | 0; if(loops > 1) { source.set_loops(loops - 1); } source.set_gain(volume); var position = source.get_position(); position.x = pan; position.z = -1 * Math.sqrt(1 - Math.pow(pan,2)); source.set_position(position); return new openfl_media_SoundChannel(source,sndTransform); } ,get_id3: function() { return new openfl_media_ID3Info(); } ,get_length: function() { if(this.__buffer != null) { return this.__buffer.get_src().duration() * 1000 | 0; } return 0; } ,AudioBuffer_onURLLoad: function(buffer) { if(buffer == null) { this.dispatchEvent(new openfl_events_IOErrorEvent("ioError")); } else { this.__buffer = buffer; this.dispatchEvent(new openfl_events_Event("complete")); } } ,__class__: openfl_media_Sound ,__properties__: {get_length:"get_length",get_id3:"get_id3"} }); var flixel_addons_text_TypeSound = function(stream,context) { openfl_media_Sound.call(this,stream,context); }; $hxClasses["flixel.addons.text.TypeSound"] = flixel_addons_text_TypeSound; flixel_addons_text_TypeSound.__name__ = "flixel.addons.text.TypeSound"; flixel_addons_text_TypeSound.__super__ = openfl_media_Sound; flixel_addons_text_TypeSound.prototype = $extend(openfl_media_Sound.prototype,{ __class__: flixel_addons_text_TypeSound }); var flixel_text_FlxText = function(X,Y,FieldWidth,Text1,Size,EmbeddedFont) { if(EmbeddedFont == null) { EmbeddedFont = true; } if(Size == null) { Size = 8; } if(FieldWidth == null) { FieldWidth = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } this._hasBorderAlpha = false; this._regen = true; this._formatRanges = []; this.borderQuality = 1; this.borderSize = 1; this.borderColor = 0; this.borderStyle = flixel_text_FlxTextBorderStyle.NONE; this.text = ""; flixel_FlxSprite.call(this,X,Y); if(Text1 == null || Text1 == "") { this.set_text(""); Text1 = " "; } else { this.set_text(Text1); } this.textField = new openfl_text_TextField(); this.textField.set_selectable(false); this.textField.set_multiline(true); this.textField.set_wordWrap(true); this._defaultFormat = new openfl_text_TextFormat(null,Size,16777215); this.set_font(flixel_system_FlxAssets.FONT_DEFAULT); this._formatAdjusted = new openfl_text_TextFormat(); this.textField.set_defaultTextFormat(this._defaultFormat); this.textField.set_text(Text1); this.set_fieldWidth(FieldWidth); this.textField.set_embedFonts(EmbeddedFont); this.textField.set_sharpness(100); this.textField.set_height(Text1.length <= 0 ? 1 : 10); this.set_allowCollisions(0); this.set_moves(false); this.drawFrame(); var X1 = 1; var Y1 = 1; if(Y1 == null) { Y1 = 0; } if(X1 == null) { X1 = 0; } var point = flixel_math_FlxPoint._pool.get().set(X1,Y1); point._inPool = false; this.shadowOffset = point; }; $hxClasses["flixel.text.FlxText"] = flixel_text_FlxText; flixel_text_FlxText.__name__ = "flixel.text.FlxText"; flixel_text_FlxText.__super__ = flixel_FlxSprite; flixel_text_FlxText.prototype = $extend(flixel_FlxSprite.prototype,{ text: null ,borderStyle: null ,borderColor: null ,borderSize: null ,borderQuality: null ,textField: null ,shadowOffset: null ,_defaultFormat: null ,_formatAdjusted: null ,_formatRanges: null ,_font: null ,_regen: null ,_borderPixels: null ,_borderColorTransform: null ,_hasBorderAlpha: null ,destroy: function() { this.textField = null; this._font = null; this._defaultFormat = null; this._formatAdjusted = null; this.shadowOffset = flixel_util_FlxDestroyUtil.put(this.shadowOffset); flixel_FlxSprite.prototype.destroy.call(this); } ,drawFrame: function(Force) { if(Force == null) { Force = false; } this._regen = this._regen || Force; flixel_FlxSprite.prototype.drawFrame.call(this,this._regen); } ,stampOnAtlas: function(atlas) { this.regenGraphic(); var node = atlas.addNode(this.graphic.bitmap,this.graphic.key); var result = node != null; if(node != null) { this.set_frames(node.getImageFrame()); } return result; } ,applyMarkup: function(input,rules) { if(rules == null || rules.length == 0) { return this; } this.clearFormats(); var rangeStarts = []; var rangeEnds = []; var rulesToApply = []; var i = 0; var _g = 0; while(_g < rules.length) { var rule = rules[_g]; ++_g; if(rule.marker == null || rule.format == null) { continue; } var start = false; var markerLength = _$UnicodeString_UnicodeString_$Impl_$.get_length(rule.marker); if(input.indexOf(rule.marker) == -1) { continue; } var _g1 = 0; var _g11 = _$UnicodeString_UnicodeString_$Impl_$.get_length(input); while(_g1 < _g11) { var charIndex = _g1++; if(!(_$UnicodeString_UnicodeString_$Impl_$.substr(input,charIndex,markerLength) == rule.marker)) { continue; } if(start) { start = false; rangeEnds.push(charIndex); } else { start = true; rangeStarts.push(charIndex); rulesToApply.push(rule); } } if(start) { rangeEnds.push(-1); } ++i; } var _g12 = 0; while(_g12 < rules.length) { var rule1 = rules[_g12]; ++_g12; input = StringTools.replace(input,rule1.marker,""); } var _g2 = 0; var _g3 = rangeStarts.length; while(_g2 < _g3) { var i1 = _g2++; var delIndex = rangeStarts[i1]; var markerLength1 = _$UnicodeString_UnicodeString_$Impl_$.get_length(rulesToApply[i1].marker); var _g21 = 0; var _g31 = rangeStarts.length; while(_g21 < _g31) { var j = _g21++; if(rangeStarts[j] > delIndex) { rangeStarts[j] -= markerLength1; } if(rangeEnds[j] > delIndex) { rangeEnds[j] -= markerLength1; } } delIndex = rangeEnds[i1]; var _g4 = 0; var _g5 = rangeStarts.length; while(_g4 < _g5) { var j1 = _g4++; if(rangeStarts[j1] > delIndex) { rangeStarts[j1] -= markerLength1; } if(rangeEnds[j1] > delIndex) { rangeEnds[j1] -= markerLength1; } } } this.set_text(input); var _g41 = 0; var _g51 = rangeStarts.length; while(_g41 < _g51) { var i2 = _g41++; this.addFormat(rulesToApply[i2].format,rangeStarts[i2],rangeEnds[i2]); } return this; } ,addFormat: function(Format,Start,End) { if(End == null) { End = -1; } if(Start == null) { Start = -1; } this._formatRanges.push(new flixel_text__$FlxText_FlxTextFormatRange(Format,Start,End)); this._formatRanges.sort(function(left,right) { if(left.range.start < right.range.start) { return -1; } else { return 1; } }); this._regen = true; return this; } ,removeFormat: function(Format,Start,End) { var i = this._formatRanges.length; while(i-- > 0) { var formatRange = this._formatRanges[i]; if(formatRange.format != Format) { continue; } if(Start != null && End != null) { var range = formatRange.range; if(Start >= range.end || End <= range.start) { continue; } if(Start > range.start && End < range.end) { this.addFormat(formatRange.format,End + 1,range.end); range.end = Start; continue; } if(Start <= range.start && End < range.end) { range.start = End; continue; } if(Start > range.start && End >= range.end) { range.end = Start; continue; } } HxOverrides.remove(this._formatRanges,formatRange); } this._regen = true; return this; } ,clearFormats: function() { this._formatRanges = []; this.textField.set_defaultTextFormat(this._defaultFormat); this.textField.setTextFormat(this._defaultFormat); this._regen = true; return this; } ,setFormat: function(Font,Size,Color,Alignment,BorderStyle,BorderColor,EmbeddedFont) { if(EmbeddedFont == null) { EmbeddedFont = true; } if(BorderColor == null) { BorderColor = 0; } if(Color == null) { Color = -1; } if(Size == null) { Size = 8; } BorderStyle = BorderStyle == null ? flixel_text_FlxTextBorderStyle.NONE : BorderStyle; if(EmbeddedFont) { this.set_font(Font); } else if(Font != null) { this.set_systemFont(Font); } this.set_size(Size); this.set_color(Color); if(Alignment != null) { this.set_alignment(Alignment); } var Color1 = BorderColor; if(Color1 == null) { Color1 = 0; } this.set_borderStyle(BorderStyle); this.set_borderColor(Color1); this.set_borderSize(1); this.set_borderQuality(1); this.textField.set_defaultTextFormat(this._defaultFormat); this.textField.setTextFormat(this._defaultFormat); this._regen = true; return this; } ,setBorderStyle: function(Style,Color,Size,Quality) { if(Quality == null) { Quality = 1; } if(Size == null) { Size = 1; } if(Color == null) { Color = 0; } this.set_borderStyle(Style); this.set_borderColor(Color); this.set_borderSize(Size); this.set_borderQuality(Quality); return this; } ,updateHitbox: function() { this.regenGraphic(); flixel_FlxSprite.prototype.updateHitbox.call(this); } ,set_fieldWidth: function(value) { if(this.textField == null) { return value; } if(value <= 0) { this.set_wordWrap(false); this.set_autoSize(true); } else { this.set_autoSize(false); this.set_wordWrap(true); this.textField.set_width(value); } this._regen = true; return value; } ,get_fieldWidth: function() { if(this.textField != null) { return this.textField.get_width(); } else { return 0; } } ,set_autoSize: function(value) { if(this.textField != null) { this.textField.set_autoSize(value ? 1 : 2); this._regen = true; } return value; } ,get_autoSize: function() { if(this.textField != null) { return this.textField.get_autoSize() != 2; } else { return false; } } ,set_text: function(Text1) { this.text = Text1; if(this.textField != null) { var ot = this.textField.get_text(); this.textField.set_text(Text1); this._regen = this.textField.get_text() != ot || this._regen; } return Text1; } ,get_size: function() { return this._defaultFormat.size | 0; } ,set_size: function(Size) { this._defaultFormat.size = Size; this.textField.set_defaultTextFormat(this._defaultFormat); this.textField.setTextFormat(this._defaultFormat); this._regen = true; return Size; } ,set_color: function(Color) { if(this._defaultFormat.color == (Color & 16777215)) { return Color; } this._defaultFormat.color = Color & 16777215; this.color = Color; this.textField.set_defaultTextFormat(this._defaultFormat); this.textField.setTextFormat(this._defaultFormat); this._regen = true; return Color; } ,get_font: function() { return this._font; } ,set_font: function(Font) { this.textField.set_embedFonts(true); if(Font != null) { var newFontName = Font; if(openfl_utils_Assets.exists(Font,"FONT")) { newFontName = openfl_utils_Assets.getFont(Font).name; } this._defaultFormat.font = newFontName; } else { this._defaultFormat.font = flixel_system_FlxAssets.FONT_DEFAULT; } this.textField.set_defaultTextFormat(this._defaultFormat); this.textField.setTextFormat(this._defaultFormat); this._regen = true; return this._font = this._defaultFormat.font; } ,get_embedded: function() { return this.textField.set_embedFonts(true); } ,get_systemFont: function() { return this._defaultFormat.font; } ,set_systemFont: function(Font) { this.textField.set_embedFonts(false); this._defaultFormat.font = Font; this.textField.set_defaultTextFormat(this._defaultFormat); this.textField.setTextFormat(this._defaultFormat); this._regen = true; return Font; } ,get_bold: function() { return this._defaultFormat.bold; } ,set_bold: function(value) { if(this._defaultFormat.bold != value) { this._defaultFormat.bold = value; this.textField.set_defaultTextFormat(this._defaultFormat); this.textField.setTextFormat(this._defaultFormat); this._regen = true; } return value; } ,get_italic: function() { return this._defaultFormat.italic; } ,set_italic: function(value) { if(this._defaultFormat.italic != value) { this._defaultFormat.italic = value; this.textField.set_defaultTextFormat(this._defaultFormat); this.textField.setTextFormat(this._defaultFormat); this._regen = true; } return value; } ,get_wordWrap: function() { return this.textField.get_wordWrap(); } ,set_wordWrap: function(value) { if(this.textField.get_wordWrap() != value) { this.textField.set_wordWrap(value); this._regen = true; } return value; } ,get_alignment: function() { return flixel_text__$FlxText_FlxTextAlign_$Impl_$.fromOpenFL(this._defaultFormat.align); } ,set_alignment: function(Alignment) { this._defaultFormat.align = flixel_text__$FlxText_FlxTextAlign_$Impl_$.toOpenFL(Alignment); this.textField.set_defaultTextFormat(this._defaultFormat); this.textField.setTextFormat(this._defaultFormat); this._regen = true; return Alignment; } ,set_borderStyle: function(style) { if(style != this.borderStyle) { this._regen = true; } return this.borderStyle = style; } ,set_borderColor: function(Color) { if(this.borderColor != Color && this.borderStyle != flixel_text_FlxTextBorderStyle.NONE) { this._regen = true; } this._hasBorderAlpha = (Color >> 24 & 255) / 255 < 1; return this.borderColor = Color; } ,set_borderSize: function(Value) { if(Value != this.borderSize && this.borderStyle != flixel_text_FlxTextBorderStyle.NONE) { this._regen = true; } return this.borderSize = Value; } ,set_borderQuality: function(Value) { var lowerBound = Value < 0 ? 0 : Value; Value = lowerBound > 1 ? 1 : lowerBound; if(Value != this.borderQuality && this.borderStyle != flixel_text_FlxTextBorderStyle.NONE) { this._regen = true; } return this.borderQuality = Value; } ,set_graphic: function(Value) { var oldGraphic = this.graphic; var graph = flixel_FlxSprite.prototype.set_graphic.call(this,Value); flixel_FlxG.bitmap.removeIfNoUse(oldGraphic); return graph; } ,get_width: function() { this.regenGraphic(); return flixel_FlxSprite.prototype.get_width.call(this); } ,get_height: function() { this.regenGraphic(); return flixel_FlxSprite.prototype.get_height.call(this); } ,updateColorTransform: function() { if(this.colorTransform == null) { this.colorTransform = new openfl_geom_ColorTransform(); } if(this.alpha != 1) { this.colorTransform.alphaMultiplier = this.alpha; this.useColorTransform = true; } else { this.colorTransform.alphaMultiplier = 1; this.useColorTransform = false; } this.dirty = true; } ,regenGraphic: function() { if(this.textField == null || !this._regen) { return; } var oldWidth = 0; var oldHeight = 4; if(this.graphic != null) { oldWidth = this.graphic.width; oldHeight = this.graphic.height; } var newWidth = this.textField.get_width(); var newHeight = this.textField.get_textHeight() + 4; if(this.textField.get_textHeight() == 0) { newHeight = oldHeight; } if(oldWidth != newWidth || oldHeight != newHeight) { this.set_height(newHeight); var key = flixel_FlxG.bitmap.getUniqueKey("text"); this.makeGraphic(newWidth | 0,newHeight | 0,0,false,key); if(this._hasBorderAlpha) { this._borderPixels = this.graphic.bitmap.clone(); } this.frameHeight = this.get_height() | 0; this.textField.set_height(this.get_height() * 1.2); this._flashRect.x = 0; this._flashRect.y = 0; this._flashRect.width = newWidth; this._flashRect.height = newHeight; } else { this.graphic.bitmap.fillRect(this._flashRect,0); if(this._hasBorderAlpha) { if(this._borderPixels == null) { this._borderPixels = new openfl_display_BitmapData(this.frameWidth,this.frameHeight,true); } else { this._borderPixels.fillRect(this._flashRect,0); } } } if(this.textField != null && this.textField.get_text() != null && this.textField.get_text().length > 0) { this.copyTextFormat(this._defaultFormat,this._formatAdjusted); this._matrix.identity(); this.applyBorderStyle(); if(!(!this._hasBorderAlpha)) { if(this._borderColorTransform == null) { this._borderColorTransform = new openfl_geom_ColorTransform(); } this._borderColorTransform.alphaMultiplier = (this.borderColor >> 24 & 255) / 255; this._borderPixels.colorTransform(this._borderPixels.rect,this._borderColorTransform); this.graphic.bitmap.draw(this._borderPixels); } this.applyFormats(this._formatAdjusted,false); this.drawTextFieldTo(this.graphic.bitmap); } this._regen = false; this.set_frame(this.frame); } ,drawTextFieldTo: function(graphic) { graphic.draw(this.textField,this._matrix); } ,draw: function() { this.regenGraphic(); flixel_FlxSprite.prototype.draw.call(this); } ,calcFrame: function(RunOnCpp) { if(RunOnCpp == null) { RunOnCpp = false; } if(this.textField == null) { return; } if(flixel_FlxG.renderTile && !RunOnCpp) { return; } this.regenGraphic(); flixel_FlxSprite.prototype.calcFrame.call(this,RunOnCpp); } ,applyBorderStyle: function() { var iterations = this.borderSize * this.borderQuality | 0; if(iterations <= 0) { iterations = 1; } var delta = this.borderSize / iterations; switch(this.borderStyle._hx_index) { case 0: break; case 1: this.applyFormats(this._formatAdjusted,true); var _g = 0; var _g1 = iterations; while(_g < _g1) { var i = _g++; var graphic = this._hasBorderAlpha ? this._borderPixels : this.graphic.bitmap; this._matrix.translate(delta,delta); this.drawTextFieldTo(graphic); } this._matrix.translate(-this.shadowOffset.x * this.borderSize,-this.shadowOffset.y * this.borderSize); break; case 2: this.applyFormats(this._formatAdjusted,true); var curDelta = delta; var _g2 = 0; var _g11 = iterations; while(_g2 < _g11) { var i1 = _g2++; var graphic1 = this._hasBorderAlpha ? this._borderPixels : this.graphic.bitmap; this._matrix.translate(-curDelta,-curDelta); this.drawTextFieldTo(graphic1); var graphic2 = this._hasBorderAlpha ? this._borderPixels : this.graphic.bitmap; this._matrix.translate(curDelta,0); this.drawTextFieldTo(graphic2); var graphic3 = this._hasBorderAlpha ? this._borderPixels : this.graphic.bitmap; this._matrix.translate(curDelta,0); this.drawTextFieldTo(graphic3); var graphic4 = this._hasBorderAlpha ? this._borderPixels : this.graphic.bitmap; this._matrix.translate(0,curDelta); this.drawTextFieldTo(graphic4); var graphic5 = this._hasBorderAlpha ? this._borderPixels : this.graphic.bitmap; this._matrix.translate(0,curDelta); this.drawTextFieldTo(graphic5); var graphic6 = this._hasBorderAlpha ? this._borderPixels : this.graphic.bitmap; this._matrix.translate(-curDelta,0); this.drawTextFieldTo(graphic6); var graphic7 = this._hasBorderAlpha ? this._borderPixels : this.graphic.bitmap; this._matrix.translate(-curDelta,0); this.drawTextFieldTo(graphic7); var graphic8 = this._hasBorderAlpha ? this._borderPixels : this.graphic.bitmap; this._matrix.translate(0,-curDelta); this.drawTextFieldTo(graphic8); this._matrix.translate(curDelta,0); curDelta += delta; } break; case 3: this.applyFormats(this._formatAdjusted,true); var curDelta1 = delta; var _g3 = 0; var _g12 = iterations; while(_g3 < _g12) { var i2 = _g3++; var graphic9 = this._hasBorderAlpha ? this._borderPixels : this.graphic.bitmap; this._matrix.translate(-curDelta1,-curDelta1); this.drawTextFieldTo(graphic9); var graphic10 = this._hasBorderAlpha ? this._borderPixels : this.graphic.bitmap; this._matrix.translate(curDelta1 * 2,0); this.drawTextFieldTo(graphic10); var graphic11 = this._hasBorderAlpha ? this._borderPixels : this.graphic.bitmap; this._matrix.translate(0,curDelta1 * 2); this.drawTextFieldTo(graphic11); var graphic12 = this._hasBorderAlpha ? this._borderPixels : this.graphic.bitmap; this._matrix.translate(-curDelta1 * 2,0); this.drawTextFieldTo(graphic12); this._matrix.translate(curDelta1,-curDelta1); curDelta1 += delta; } break; } } ,applyBorderTransparency: function() { if(!this._hasBorderAlpha) { return; } if(this._borderColorTransform == null) { this._borderColorTransform = new openfl_geom_ColorTransform(); } this._borderColorTransform.alphaMultiplier = (this.borderColor >> 24 & 255) / 255; this._borderPixels.colorTransform(this._borderPixels.rect,this._borderColorTransform); this.graphic.bitmap.draw(this._borderPixels); } ,copyTextWithOffset: function(x,y) { var graphic = this._hasBorderAlpha ? this._borderPixels : this.graphic.bitmap; this._matrix.translate(x,y); this.drawTextFieldTo(graphic); } ,applyFormats: function(FormatAdjusted,UseBorderColor) { if(UseBorderColor == null) { UseBorderColor = false; } this.copyTextFormat(this._defaultFormat,FormatAdjusted,false); FormatAdjusted.color = UseBorderColor ? this.borderColor & 16777215 : this._defaultFormat.color; this.textField.setTextFormat(FormatAdjusted); var _g = 0; var _g1 = this._formatRanges; while(_g < _g1.length) { var formatRange = _g1[_g]; ++_g; if(this.textField.get_text().length - 1 < formatRange.range.start) { break; } else { var textFormat = formatRange.format.format; this.copyTextFormat(textFormat,FormatAdjusted,false); FormatAdjusted.color = UseBorderColor ? formatRange.format.borderColor & 16777215 : textFormat.color; } this.textField.setTextFormat(FormatAdjusted,formatRange.range.start,Math.min(formatRange.range.end,this.textField.get_text().length) | 0); } } ,copyTextFormat: function(from,to,withAlign) { if(withAlign == null) { withAlign = true; } to.font = from.font; to.bold = from.bold; to.italic = from.italic; to.size = from.size; to.color = from.color; if(withAlign) { to.align = from.align; } } ,dtfCopy: function() { var dtf = this.textField.get_defaultTextFormat(); return new openfl_text_TextFormat(dtf.font,dtf.size,dtf.color,dtf.bold,dtf.italic,dtf.underline,dtf.url,dtf.target,dtf.align); } ,updateDefaultFormat: function() { this.textField.set_defaultTextFormat(this._defaultFormat); this.textField.setTextFormat(this._defaultFormat); this._regen = true; } ,set_frames: function(Frames) { flixel_FlxSprite.prototype.set_frames.call(this,Frames); this._regen = false; return Frames; } ,__class__: flixel_text_FlxText ,__properties__: $extend(flixel_FlxSprite.prototype.__properties__,{set_autoSize:"set_autoSize",get_autoSize:"get_autoSize",set_fieldWidth:"set_fieldWidth",get_fieldWidth:"get_fieldWidth",set_borderQuality:"set_borderQuality",set_borderSize:"set_borderSize",set_borderColor:"set_borderColor",set_borderStyle:"set_borderStyle",set_alignment:"set_alignment",get_alignment:"get_alignment",set_wordWrap:"set_wordWrap",get_wordWrap:"get_wordWrap",set_italic:"set_italic",get_italic:"get_italic",set_bold:"set_bold",get_bold:"get_bold",set_systemFont:"set_systemFont",get_systemFont:"get_systemFont",get_embedded:"get_embedded",set_font:"set_font",get_font:"get_font",set_size:"set_size",get_size:"get_size",set_text:"set_text"}) }); var flixel_addons_text_FlxTypeText = function(X,Y,Width,Text1,Size,EmbeddedFont) { if(EmbeddedFont == null) { EmbeddedFont = true; } if(Size == null) { Size = 8; } this._typeVarPercent = 0.5; this._typingVariation = false; this._cursorTimer = 0.0; this._waiting = false; this._erasing = false; this._typing = false; this._length = 0; this._waitTimer = 0.0; this._timer = 0.0; this._finalText = ""; this.skipKeys = []; this.finishSounds = false; this.useDefaultSound = false; this.paused = false; this.waitTime = 1.0; this.autoErase = false; this.prefix = ""; this.cursorBlinkSpeed = 0.5; this.cursorCharacter = "|"; this.showCursor = false; this.eraseDelay = 0.02; this.delay = 0.05; flixel_text_FlxText.call(this,X,Y,Width,"",Size,EmbeddedFont); this._finalText = Text1; }; $hxClasses["flixel.addons.text.FlxTypeText"] = flixel_addons_text_FlxTypeText; flixel_addons_text_FlxTypeText.__name__ = "flixel.addons.text.FlxTypeText"; flixel_addons_text_FlxTypeText.__super__ = flixel_text_FlxText; flixel_addons_text_FlxTypeText.prototype = $extend(flixel_text_FlxText.prototype,{ delay: null ,eraseDelay: null ,showCursor: null ,cursorCharacter: null ,cursorBlinkSpeed: null ,prefix: null ,autoErase: null ,waitTime: null ,paused: null ,sounds: null ,useDefaultSound: null ,finishSounds: null ,skipKeys: null ,completeCallback: null ,eraseCallback: null ,_finalText: null ,_timer: null ,_waitTimer: null ,_length: null ,_typing: null ,_erasing: null ,_waiting: null ,_cursorTimer: null ,_typingVariation: null ,_typeVarPercent: null ,_sound: null ,start: function(Delay,ForceRestart,AutoErase,SkipKeys,Callback) { if(AutoErase == null) { AutoErase = false; } if(ForceRestart == null) { ForceRestart = false; } if(Delay != null) { this.delay = Delay; } this._typing = true; this._erasing = false; this.paused = false; this._waiting = false; if(ForceRestart) { this.set_text(""); this._length = 0; } this.autoErase = AutoErase; if(SkipKeys != null) { this.skipKeys = SkipKeys; } this.completeCallback = Callback; this.insertBreakLines(); if(this.useDefaultSound) { this.loadDefaultSound(); } } ,applyMarkup: function(input,rules) { flixel_text_FlxText.prototype.applyMarkup.call(this,input,rules); this.resetText(this.text); return this; } ,insertBreakLines: function() { var saveText = this.text; var last = this._finalText.length; var n0 = 0; var n1 = 0; while(true) { last = HxOverrides.substr(this._finalText,0,last).lastIndexOf(" "); if(last <= 0) { break; } this.set_text(this.prefix + this._finalText); n0 = this.textField.get_numLines(); var nextText = HxOverrides.substr(this._finalText,0,last) + "\n" + HxOverrides.substr(this._finalText,last + 1,this._finalText.length); this.set_text(this.prefix + nextText); n1 = this.textField.get_numLines(); if(n0 == n1) { this._finalText = nextText; } } this.set_text(saveText); } ,erase: function(Delay,ForceRestart,SkipKeys,Callback) { if(ForceRestart == null) { ForceRestart = false; } this._erasing = true; this._typing = false; this.paused = false; this._waiting = false; if(Delay != null) { this.eraseDelay = Delay; } if(ForceRestart) { this._length = this._finalText.length; this.set_text(this._finalText); } if(SkipKeys != null) { this.skipKeys = SkipKeys; } this.eraseCallback = Callback; if(this.useDefaultSound) { this.loadDefaultSound(); } } ,resetText: function(Text1) { this.set_text(""); this._finalText = Text1; this._typing = false; this._erasing = false; this.paused = false; this._waiting = false; this._length = 0; } ,setTypingVariation: function(Amount,On) { if(On == null) { On = true; } if(Amount == null) { Amount = 0.5; } this._typingVariation = On; var lowerBound = Amount < 0 ? 0 : Amount; this._typeVarPercent = lowerBound > 1 ? 1 : lowerBound; } ,onComplete: function() { this._timer = 0; this._typing = false; if(this.useDefaultSound) { var _this = this._sound; _this.cleanup(_this.autoDestroy,true); } else if(this.sounds != null) { var _g = 0; var _g1 = this.sounds; while(_g < _g1.length) { var sound = _g1[_g]; ++_g; sound.cleanup(sound.autoDestroy,true); } } if(this.completeCallback != null) { this.completeCallback(); } if(this.autoErase && this.waitTime <= 0) { this._erasing = true; } else if(this.autoErase) { this._waitTimer = this.waitTime; this._waiting = true; } } ,onErased: function() { this._timer = 0; this._erasing = false; if(this.eraseCallback != null) { this.eraseCallback(); } } ,update: function(elapsed) { if(this.skipKeys != null && this.skipKeys.length > 0 && flixel_FlxG.keys.checkKeyArrayState(this.skipKeys,2)) { this.skip(); } if(this._waiting && !this.paused) { this._waitTimer -= elapsed; if(this._waitTimer <= 0) { this._waiting = false; this._erasing = true; } } if(!this._waiting && !this.paused) { if(this._length < this._finalText.length && this._typing) { this._timer += elapsed; } if(this._length > 0 && this._erasing) { this._timer += elapsed; } } if(this._typing || this._erasing) { if(this._typing && this._timer >= this.delay) { this._length += this._timer / this.delay | 0; if(this._length > this._finalText.length) { this._length = this._finalText.length; } } if(this._erasing && this._timer >= this.eraseDelay) { this._length -= this._timer / this.eraseDelay | 0; if(this._length < 0) { this._length = 0; } } if(this._typing && this._timer >= this.delay || this._erasing && this._timer >= this.eraseDelay) { if(this._typingVariation) { if(this._typing) { this._timer = flixel_FlxG.random.float(-this.delay * this._typeVarPercent / 2,this.delay * this._typeVarPercent / 2); } else { this._timer = flixel_FlxG.random.float(-this.eraseDelay * this._typeVarPercent / 2,this.eraseDelay * this._typeVarPercent / 2); } } else { this._timer %= this.delay; } if(this.sounds != null && !this.useDefaultSound) { if(!this.finishSounds) { var _g = 0; var _g1 = this.sounds; while(_g < _g1.length) { var sound = _g1[_g]; ++_g; sound.cleanup(sound.autoDestroy,true); } } flixel_FlxG.random.getObject_flixel_system_FlxSound(this.sounds).play(!this.finishSounds); } else if(this.useDefaultSound) { this._sound.play(!this.finishSounds); } } } flixel_addons_text_FlxTypeText.helperString = this.prefix + HxOverrides.substr(this._finalText,0,this._length); if(this.showCursor) { this._cursorTimer += elapsed; var isBreakLine = (this.prefix + this._finalText).charAt(flixel_addons_text_FlxTypeText.helperString.length) == "\n"; if(this._cursorTimer > this.cursorBlinkSpeed / 2 && !isBreakLine) { flixel_addons_text_FlxTypeText.helperString += this.cursorCharacter.charAt(0); } if(this._cursorTimer > this.cursorBlinkSpeed) { this._cursorTimer = 0; } } if(flixel_addons_text_FlxTypeText.helperString != this.text) { this.set_text(flixel_addons_text_FlxTypeText.helperString); if(this._length >= this._finalText.length && this._typing && !this._waiting && !this._erasing) { this.onComplete(); } if(this._length == 0 && this._erasing && !this._typing && !this._waiting) { this.onErased(); } } flixel_text_FlxText.prototype.update.call(this,elapsed); } ,skip: function() { if(this._erasing || this._waiting) { this._length = 0; this._waiting = false; } else if(this._typing) { this._length = this._finalText.length; } } ,loadDefaultSound: function() { this._sound = flixel_FlxG.sound.load(new flixel_addons_text_TypeSound()); } ,__class__: flixel_addons_text_FlxTypeText }); var lime_math_Vector2 = function(x,y) { if(y == null) { y = 0; } if(x == null) { x = 0; } this.x = x; this.y = y; }; $hxClasses["lime.math.Vector2"] = lime_math_Vector2; lime_math_Vector2.__name__ = "lime.math.Vector2"; lime_math_Vector2.distance = function(pt1,pt2) { var dx = pt1.x - pt2.x; var dy = pt1.y - pt2.y; return Math.sqrt(dx * dx + dy * dy); }; lime_math_Vector2.interpolate = function(pt1,pt2,f,result) { if(result == null) { result = new lime_math_Vector2(); } result.x = pt2.x + f * (pt1.x - pt2.x); result.y = pt2.y + f * (pt1.y - pt2.y); return result; }; lime_math_Vector2.polar = function(len,angle,result) { if(result == null) { result = new lime_math_Vector2(); } var ya = len * Math.sin(angle); result.x = len * Math.cos(angle); result.y = ya; return result; }; lime_math_Vector2.prototype = { x: null ,y: null ,add: function(v,result) { if(result == null) { result = new lime_math_Vector2(); } result.x = v.x + this.x; result.y = v.y + this.y; return result; } ,clone: function() { return new lime_math_Vector2(this.x,this.y); } ,equals: function(toCompare) { if(toCompare != null && toCompare.x == this.x) { return toCompare.y == this.y; } else { return false; } } ,normalize: function(thickness) { if(this.x == 0 && this.y == 0) { return; } else { var norm = thickness / Math.sqrt(this.x * this.x + this.y * this.y); this.x *= norm; this.y *= norm; } } ,offset: function(dx,dy) { this.x += dx; this.y += dy; } ,setTo: function(xa,ya) { this.x = xa; this.y = ya; } ,subtract: function(v,result) { if(result == null) { result = new lime_math_Vector2(); } result.x = this.x - v.x; result.y = this.y - v.y; return result; } ,__toFlashPoint: function() { return null; } ,get_length: function() { return Math.sqrt(this.x * this.x + this.y * this.y); } ,get_lengthSquared: function() { return this.x * this.x + this.y * this.y; } ,__class__: lime_math_Vector2 ,__properties__: {get_lengthSquared:"get_lengthSquared",get_length:"get_length"} }; var openfl_display_BitmapData = function(width,height,transparent,fillColor) { if(fillColor == null) { fillColor = -1; } if(transparent == null) { transparent = true; } this.__drawableType = 0; this.transparent = transparent; width = width == null ? 0 : width; height = height == null ? 0 : height; width = width < 0 ? 0 : width; height = height < 0 ? 0 : height; this.width = width; this.height = height; this.rect = new openfl_geom_Rectangle(0,0,width,height); this.__textureWidth = width; this.__textureHeight = height; if(width > 0 && height > 0) { if(transparent) { if((fillColor & -16777216) == 0) { fillColor = 0; } } else { fillColor = -16777216 | fillColor & 16777215; } fillColor = fillColor << 8 | fillColor >>> 24 & 255; this.image = new lime_graphics_Image(null,0,0,width,height,fillColor); this.image.set_transparent(transparent); this.__isValid = true; this.readable = true; } this.__renderTransform = new openfl_geom_Matrix(); this.__worldAlpha = 1; this.__worldTransform = new openfl_geom_Matrix(); this.__worldColorTransform = new openfl_geom_ColorTransform(); this.__renderable = true; }; $hxClasses["openfl.display.BitmapData"] = openfl_display_BitmapData; openfl_display_BitmapData.__name__ = "openfl.display.BitmapData"; openfl_display_BitmapData.__interfaces__ = [openfl_display_IBitmapDrawable]; openfl_display_BitmapData.__textureFormat = null; openfl_display_BitmapData.__textureInternalFormat = null; openfl_display_BitmapData.fromBase64 = function(base64,type) { return null; }; openfl_display_BitmapData.fromBytes = function(bytes,rawAlpha) { return null; }; openfl_display_BitmapData.fromCanvas = function(canvas,transparent) { if(transparent == null) { transparent = true; } if(canvas == null) { return null; } var bitmapData = new openfl_display_BitmapData(0,0,transparent,0); bitmapData.__fromImage(lime_graphics_Image.fromCanvas(canvas)); bitmapData.image.set_transparent(transparent); return bitmapData; }; openfl_display_BitmapData.fromFile = function(path) { return null; }; openfl_display_BitmapData.fromImage = function(image,transparent) { if(transparent == null) { transparent = true; } if(image == null || image.buffer == null) { return null; } var bitmapData = new openfl_display_BitmapData(0,0,transparent,0); bitmapData.__fromImage(image); bitmapData.image.set_transparent(transparent); if(bitmapData.image != null) { return bitmapData; } else { return null; } }; openfl_display_BitmapData.fromTexture = function(texture) { if(texture == null) { return null; } var bitmapData = new openfl_display_BitmapData(texture.__width,texture.__height,true,0); bitmapData.readable = false; bitmapData.__texture = texture; bitmapData.__textureContext = texture.__textureContext; bitmapData.image = null; return bitmapData; }; openfl_display_BitmapData.loadFromBase64 = function(base64,type) { return lime_graphics_Image.loadFromBase64(base64,type).then(function(image) { return lime_app_Future.withValue(openfl_display_BitmapData.fromImage(image)); }); }; openfl_display_BitmapData.loadFromBytes = function(bytes,rawAlpha) { return lime_graphics_Image.loadFromBytes(openfl_utils__$ByteArray_ByteArray_$Impl_$.toBytes(bytes)).then(function(image) { var bitmapData = openfl_display_BitmapData.fromImage(image); if(rawAlpha != null) { bitmapData.__applyAlpha(rawAlpha); } return lime_app_Future.withValue(bitmapData); }); }; openfl_display_BitmapData.loadFromFile = function(path) { return lime_graphics_Image.loadFromFile(path).then(function(image) { return lime_app_Future.withValue(openfl_display_BitmapData.fromImage(image)); }); }; openfl_display_BitmapData.prototype = { height: null ,image: null ,readable: null ,rect: null ,transparent: null ,width: null ,__blendMode: null ,__drawableType: null ,__framebuffer: null ,__framebufferContext: null ,__indexBuffer: null ,__indexBufferContext: null ,__indexBufferData: null ,__indexBufferGrid: null ,__isMask: null ,__isValid: null ,__mask: null ,__renderable: null ,__renderTransform: null ,__scrollRect: null ,__stencilBuffer: null ,__surface: null ,__texture: null ,__textureContext: null ,__textureHeight: null ,__textureVersion: null ,__textureWidth: null ,__transform: null ,__uvRect: null ,__vertexBuffer: null ,__vertexBufferContext: null ,__vertexBufferData: null ,__vertexBufferGrid: null ,__vertexBufferHeight: null ,__vertexBufferScaleX: null ,__vertexBufferScaleY: null ,__vertexBufferWidth: null ,__worldAlpha: null ,__worldColorTransform: null ,__worldTransform: null ,applyFilter: function(sourceBitmapData,sourceRect,destPoint,filter) { if(!this.readable || sourceBitmapData == null || !sourceBitmapData.readable) { return; } var needSecondBitmapData = filter.__needSecondBitmapData; var needCopyOfOriginal = filter.__preserveObject; var bitmapData2 = null; var bitmapData3 = null; if(needSecondBitmapData) { bitmapData2 = new openfl_display_BitmapData(this.width,this.height,true,0); } else { bitmapData2 = this; } if(needCopyOfOriginal) { bitmapData3 = new openfl_display_BitmapData(this.width,this.height,true,0); } if(filter.__preserveObject) { bitmapData3.copyPixels(this,this.rect,destPoint); } var lastBitmap = filter.__applyFilter(bitmapData2,this,sourceRect,destPoint); if(filter.__preserveObject) { lastBitmap.draw(bitmapData3,null,null); } if(needSecondBitmapData && lastBitmap == bitmapData2) { bitmapData2.image.version = this.image.version; this.image = bitmapData2.image; } this.image.dirty = true; this.image.version++; } ,clone: function() { var bitmapData; if(!this.__isValid) { bitmapData = new openfl_display_BitmapData(this.width,this.height,this.transparent,0); } else if(!this.readable && this.image == null) { bitmapData = new openfl_display_BitmapData(0,0,this.transparent,0); bitmapData.width = this.width; bitmapData.height = this.height; bitmapData.__textureWidth = this.__textureWidth; bitmapData.__textureHeight = this.__textureHeight; bitmapData.rect.copyFrom(this.rect); bitmapData.__framebuffer = this.__framebuffer; bitmapData.__framebufferContext = this.__framebufferContext; bitmapData.__texture = this.__texture; bitmapData.__textureContext = this.__textureContext; bitmapData.__isValid = true; } else { bitmapData = openfl_display_BitmapData.fromImage(this.image.clone(),this.transparent); } bitmapData.__worldTransform.copyFrom(this.__worldTransform); bitmapData.__renderTransform.copyFrom(this.__renderTransform); return bitmapData; } ,colorTransform: function(rect,colorTransform) { if(!this.readable) { return; } this.image.colorTransform(rect.__toLimeRectangle(),colorTransform.__toLimeColorMatrix()); } ,compare: function(otherBitmapData) { if(otherBitmapData == this) { return 0; } else if(otherBitmapData == null) { return -1; } else if(this.readable == false || otherBitmapData.readable == false) { return -2; } else if(this.width != otherBitmapData.width) { return -3; } else if(this.height != otherBitmapData.height) { return -4; } if(this.image != null && otherBitmapData.image != null && this.image.get_format() == otherBitmapData.image.get_format()) { var bytes = this.image.get_data(); var otherBytes = otherBitmapData.image.get_data(); var equal = true; var _g = 0; var _g1 = bytes.length; while(_g < _g1) { var i = _g++; if(bytes[i] != otherBytes[i]) { equal = false; break; } } if(equal) { return 0; } } var bitmapData = null; var foundDifference; var pixel; var otherPixel; var comparePixel; var r; var g; var b; var a; var _g2 = 0; var _g11 = this.height; while(_g2 < _g11) { var y = _g2++; var _g3 = 0; var _g12 = this.width; while(_g3 < _g12) { var x = _g3++; foundDifference = false; pixel = this.getPixel32(x,y); otherPixel = otherBitmapData.getPixel32(x,y); comparePixel = 0; if(pixel != otherPixel) { r = (pixel >>> 16 & 255) - (otherPixel >>> 16 & 255); g = (pixel >>> 8 & 255) - (otherPixel >>> 8 & 255); b = (pixel & 255) - (otherPixel & 255); if(r < 0) { r *= -1; } if(g < 0) { g *= -1; } if(b < 0) { b *= -1; } if(r == 0 && g == 0 && b == 0) { a = (pixel >>> 24 & 255) - (otherPixel >>> 24 & 255); if(a != 0) { comparePixel = (comparePixel >>> 24 & 255 & 255) << 24 | 16711680 | (comparePixel >>> 8 & 255 & 255) << 8 | comparePixel & 255 & 255; comparePixel = (comparePixel >>> 24 & 255 & 255) << 24 | (comparePixel >>> 16 & 255 & 255) << 16 | 65280 | comparePixel & 255 & 255; comparePixel = (comparePixel >>> 24 & 255 & 255) << 24 | (comparePixel >>> 16 & 255 & 255) << 16 | (comparePixel >>> 8 & 255 & 255) << 8 | 255; comparePixel = (a & 255) << 24 | (comparePixel >>> 16 & 255 & 255) << 16 | (comparePixel >>> 8 & 255 & 255) << 8 | comparePixel & 255 & 255; foundDifference = true; } } else { comparePixel = (comparePixel >>> 24 & 255 & 255) << 24 | (r & 255) << 16 | (comparePixel >>> 8 & 255 & 255) << 8 | comparePixel & 255 & 255; comparePixel = (comparePixel >>> 24 & 255 & 255) << 24 | (comparePixel >>> 16 & 255 & 255) << 16 | (g & 255) << 8 | comparePixel & 255 & 255; comparePixel = (comparePixel >>> 24 & 255 & 255) << 24 | (comparePixel >>> 16 & 255 & 255) << 16 | (comparePixel >>> 8 & 255 & 255) << 8 | b & 255; comparePixel = -16777216 | (comparePixel >>> 16 & 255 & 255) << 16 | (comparePixel >>> 8 & 255 & 255) << 8 | comparePixel & 255 & 255; foundDifference = true; } } if(foundDifference) { if(bitmapData == null) { bitmapData = new openfl_display_BitmapData(this.width,this.height,this.transparent || otherBitmapData.transparent,0); } bitmapData.setPixel32(x,y,comparePixel); } } } if(bitmapData == null) { return 0; } return bitmapData; } ,copyChannel: function(sourceBitmapData,sourceRect,destPoint,sourceChannel,destChannel) { if(!this.readable) { return; } var sourceChannel1; switch(sourceChannel) { case 1: sourceChannel1 = lime_graphics_ImageChannel.RED; break; case 2: sourceChannel1 = lime_graphics_ImageChannel.GREEN; break; case 4: sourceChannel1 = lime_graphics_ImageChannel.BLUE; break; case 8: sourceChannel1 = lime_graphics_ImageChannel.ALPHA; break; default: return; } var destChannel1; switch(destChannel) { case 1: destChannel1 = lime_graphics_ImageChannel.RED; break; case 2: destChannel1 = lime_graphics_ImageChannel.GREEN; break; case 4: destChannel1 = lime_graphics_ImageChannel.BLUE; break; case 8: destChannel1 = lime_graphics_ImageChannel.ALPHA; break; default: return; } this.image.copyChannel(sourceBitmapData.image,sourceRect.__toLimeRectangle(),destPoint.__toLimeVector2(),sourceChannel1,destChannel1); } ,copyPixels: function(sourceBitmapData,sourceRect,destPoint,alphaBitmapData,alphaPoint,mergeAlpha) { if(mergeAlpha == null) { mergeAlpha = false; } if(!this.readable || sourceBitmapData == null) { return; } if(alphaPoint != null) { openfl_display_BitmapData.__tempVector.x = alphaPoint.x; openfl_display_BitmapData.__tempVector.y = alphaPoint.y; } this.image.copyPixels(sourceBitmapData.image,sourceRect.__toLimeRectangle(),destPoint.__toLimeVector2(),alphaBitmapData != null ? alphaBitmapData.image : null,alphaPoint != null ? openfl_display_BitmapData.__tempVector : null,mergeAlpha); } ,dispose: function() { this.image = null; this.width = 0; this.height = 0; this.rect = null; this.__isValid = false; this.readable = false; this.__surface = null; this.__vertexBuffer = null; this.__framebuffer = null; this.__framebufferContext = null; this.__texture = null; this.__textureContext = null; } ,disposeImage: function() { this.readable = false; } ,draw: function(source,matrix,colorTransform,blendMode,clipRect,smoothing) { if(smoothing == null) { smoothing = false; } if(source == null) { return; } source.__update(false,true); var transform = openfl_geom_Matrix.__pool.get(); transform.copyFrom(source.__renderTransform); transform.invert(); if(matrix != null) { transform.concat(matrix); } var clipMatrix = null; if(clipRect != null) { clipMatrix = openfl_geom_Matrix.__pool.get(); clipMatrix.copyFrom(transform); clipMatrix.invert(); } var _colorTransform = new openfl_geom_ColorTransform(); _colorTransform.__copyFrom(source.__worldColorTransform); _colorTransform.__invert(); if(!this.readable && openfl_Lib.get_current().stage.context3D != null) { if(this.__textureContext == null) { this.__textureContext = lime_app_Application.current.__window.context; } if(colorTransform != null) { _colorTransform.__combine(colorTransform); } var renderer = new openfl_display_OpenGLRenderer(openfl_Lib.get_current().stage.context3D,this); renderer.__allowSmoothing = smoothing; renderer.__overrideBlendMode = blendMode; renderer.__worldTransform = transform; renderer.__worldAlpha = 1 / source.__worldAlpha; renderer.__worldColorTransform = _colorTransform; renderer.__resize(this.width,this.height); if(clipRect != null) { renderer.__pushMaskRect(clipRect,clipMatrix); } this.__drawGL(source,renderer); if(clipRect != null) { renderer.__popMaskRect(); openfl_geom_Matrix.__pool.release(clipMatrix); } } else { if(colorTransform != null) { var bounds = openfl_geom_Rectangle.__pool.get(); var boundsMatrix = openfl_geom_Matrix.__pool.get(); source.__getBounds(bounds,boundsMatrix); var width = Math.ceil(bounds.width); var height = Math.ceil(bounds.height); boundsMatrix.tx = -bounds.x; boundsMatrix.ty = -bounds.y; var copy = new openfl_display_BitmapData(width,height,true,0); copy.draw(source,boundsMatrix); copy.colorTransform(copy.rect,colorTransform); copy.__renderTransform.identity(); copy.__renderTransform.tx = bounds.x; copy.__renderTransform.ty = bounds.y; copy.__renderTransform.concat(source.__renderTransform); copy.__worldAlpha = source.__worldAlpha; copy.__worldColorTransform.__copyFrom(source.__worldColorTransform); source = copy; openfl_geom_Rectangle.__pool.release(bounds); openfl_geom_Matrix.__pool.release(boundsMatrix); } lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(this.image); var renderer1 = new openfl_display_CanvasRenderer(this.image.buffer.__srcContext); renderer1.__allowSmoothing = smoothing; renderer1.__overrideBlendMode = blendMode; renderer1.__worldTransform = transform; renderer1.__worldAlpha = 1 / source.__worldAlpha; renderer1.__worldColorTransform = _colorTransform; if(clipRect != null) { renderer1.__pushMaskRect(clipRect,clipMatrix); } this.__drawCanvas(source,renderer1); if(clipRect != null) { renderer1.__popMaskRect(); openfl_geom_Matrix.__pool.release(clipMatrix); } } openfl_geom_Matrix.__pool.release(transform); } ,drawWithQuality: function(source,matrix,colorTransform,blendMode,clipRect,smoothing,quality) { if(smoothing == null) { smoothing = false; } this.draw(source,matrix,colorTransform,blendMode,clipRect,quality != 2 && smoothing); } ,encode: function(rect,compressor,byteArray) { if(!this.readable || rect == null) { byteArray = null; return byteArray; } if(byteArray == null) { var this1 = new openfl_utils_ByteArrayData(0); byteArray = this1; } var image = this.image; if(!rect.equals(this.rect)) { var matrix = openfl_geom_Matrix.__pool.get(); matrix.tx = Math.round(-rect.x); matrix.ty = Math.round(-rect.y); var bitmapData = new openfl_display_BitmapData(Math.ceil(rect.width),Math.ceil(rect.height),true,0); bitmapData.draw(this,matrix); image = bitmapData.image; openfl_geom_Matrix.__pool.release(matrix); } if(((compressor) instanceof openfl_display_PNGEncoderOptions)) { byteArray.writeBytes(openfl_utils__$ByteArray_ByteArray_$Impl_$.fromBytes(image.encode(lime_graphics_ImageFileFormat.PNG)),0,0); return byteArray; } else if(((compressor) instanceof openfl_display_JPEGEncoderOptions)) { byteArray.writeBytes(openfl_utils__$ByteArray_ByteArray_$Impl_$.fromBytes(image.encode(lime_graphics_ImageFileFormat.JPEG,(js_Boot.__cast(compressor , openfl_display_JPEGEncoderOptions)).quality)),0,0); return byteArray; } byteArray = null; return byteArray; } ,fillRect: function(rect,color) { this.__fillRect(rect,color,true); } ,floodFill: function(x,y,color) { if(!this.readable) { return; } this.image.floodFill(x,y,color,1); } ,generateFilterRect: function(sourceRect,filter) { return sourceRect.clone(); } ,getIndexBuffer: function(context,scale9Grid) { var gl = context.gl; if(this.__indexBuffer == null || this.__indexBufferContext != context.__context || scale9Grid != null && this.__indexBufferGrid == null || this.__indexBufferGrid != null && !this.__indexBufferGrid.equals(scale9Grid)) { this.__indexBufferContext = context.__context; this.__indexBuffer = null; if(scale9Grid != null) { if(this.__indexBufferGrid == null) { this.__indexBufferGrid = new openfl_geom_Rectangle(); } this.__indexBufferGrid.copyFrom(scale9Grid); var centerX = scale9Grid.width; var centerY = scale9Grid.height; if(centerX != 0 && centerY != 0) { var array = null; var vector = null; var view = null; var buffer = null; var len = null; var this1 = new Uint16Array(54); this.__indexBufferData = this1; this.__indexBufferData[0] = 0; this.__indexBufferData[1] = 1; this.__indexBufferData[2] = 2; this.__indexBufferData[3] = 2; this.__indexBufferData[4] = 1; this.__indexBufferData[5] = 3; this.__indexBufferData[6] = 4; this.__indexBufferData[7] = 0; this.__indexBufferData[8] = 5; this.__indexBufferData[9] = 5; this.__indexBufferData[10] = 0; this.__indexBufferData[11] = 2; this.__indexBufferData[12] = 6; this.__indexBufferData[13] = 4; this.__indexBufferData[14] = 7; this.__indexBufferData[15] = 7; this.__indexBufferData[16] = 4; this.__indexBufferData[17] = 5; this.__indexBufferData[18] = 8; this.__indexBufferData[19] = 9; this.__indexBufferData[20] = 0; this.__indexBufferData[21] = 0; this.__indexBufferData[22] = 9; this.__indexBufferData[23] = 1; this.__indexBufferData[24] = 10; this.__indexBufferData[25] = 8; this.__indexBufferData[26] = 4; this.__indexBufferData[27] = 4; this.__indexBufferData[28] = 8; this.__indexBufferData[29] = 0; this.__indexBufferData[30] = 11; this.__indexBufferData[31] = 10; this.__indexBufferData[32] = 6; this.__indexBufferData[33] = 6; this.__indexBufferData[34] = 10; this.__indexBufferData[35] = 4; this.__indexBufferData[36] = 12; this.__indexBufferData[37] = 13; this.__indexBufferData[38] = 8; this.__indexBufferData[39] = 8; this.__indexBufferData[40] = 13; this.__indexBufferData[41] = 9; this.__indexBufferData[42] = 14; this.__indexBufferData[43] = 12; this.__indexBufferData[44] = 10; this.__indexBufferData[45] = 10; this.__indexBufferData[46] = 12; this.__indexBufferData[47] = 8; this.__indexBufferData[48] = 15; this.__indexBufferData[49] = 14; this.__indexBufferData[50] = 11; this.__indexBufferData[51] = 11; this.__indexBufferData[52] = 14; this.__indexBufferData[53] = 10; this.__indexBuffer = context.createIndexBuffer(54); } else if(centerX == 0 && centerY != 0) { var array1 = null; var vector1 = null; var view1 = null; var buffer1 = null; var len1 = null; var this2 = new Uint16Array(18); this.__indexBufferData = this2; this.__indexBufferData[0] = 0; this.__indexBufferData[1] = 1; this.__indexBufferData[2] = 2; this.__indexBufferData[3] = 2; this.__indexBufferData[4] = 1; this.__indexBufferData[5] = 3; this.__indexBufferData[6] = 4; this.__indexBufferData[7] = 5; this.__indexBufferData[8] = 0; this.__indexBufferData[9] = 0; this.__indexBufferData[10] = 5; this.__indexBufferData[11] = 1; this.__indexBufferData[12] = 6; this.__indexBufferData[13] = 7; this.__indexBufferData[14] = 4; this.__indexBufferData[15] = 4; this.__indexBufferData[16] = 7; this.__indexBufferData[17] = 5; this.__indexBuffer = context.createIndexBuffer(18); } else if(centerX != 0 && centerY == 0) { var array2 = null; var vector2 = null; var view2 = null; var buffer2 = null; var len2 = null; var this3 = new Uint16Array(18); this.__indexBufferData = this3; this.__indexBufferData[0] = 0; this.__indexBufferData[1] = 1; this.__indexBufferData[2] = 2; this.__indexBufferData[3] = 2; this.__indexBufferData[4] = 1; this.__indexBufferData[5] = 3; this.__indexBufferData[6] = 4; this.__indexBufferData[7] = 0; this.__indexBufferData[8] = 5; this.__indexBufferData[9] = 5; this.__indexBufferData[10] = 0; this.__indexBufferData[11] = 2; this.__indexBufferData[12] = 6; this.__indexBufferData[13] = 4; this.__indexBufferData[14] = 7; this.__indexBufferData[15] = 7; this.__indexBufferData[16] = 4; this.__indexBufferData[17] = 5; this.__indexBuffer = context.createIndexBuffer(18); } } else { this.__indexBufferGrid = null; } if(this.__indexBuffer == null) { var array3 = null; var vector3 = null; var view3 = null; var buffer3 = null; var len3 = null; var this4 = new Uint16Array(6); this.__indexBufferData = this4; this.__indexBufferData[0] = 0; this.__indexBufferData[1] = 1; this.__indexBufferData[2] = 2; this.__indexBufferData[3] = 2; this.__indexBufferData[4] = 1; this.__indexBufferData[5] = 3; this.__indexBuffer = context.createIndexBuffer(6); } this.__indexBuffer.uploadFromTypedArray(this.__indexBufferData); } return this.__indexBuffer; } ,getVertexBuffer: function(context,scale9Grid,targetObject) { var gl = context.gl; if(this.__vertexBuffer == null || this.__vertexBufferContext != context.__context || scale9Grid != null && this.__vertexBufferGrid == null || this.__vertexBufferGrid != null && !this.__vertexBufferGrid.equals(scale9Grid) || targetObject != null && (this.__vertexBufferWidth != targetObject.get_width() || this.__vertexBufferHeight != targetObject.get_height() || this.__vertexBufferScaleX != targetObject.get_scaleX() || this.__vertexBufferScaleY != targetObject.get_scaleY())) { this.__uvRect = new openfl_geom_Rectangle(0,0,this.width,this.height); var uvWidth = 1; var uvHeight = 1; this.__vertexBufferContext = context.__context; this.__vertexBuffer = null; if(targetObject != null) { this.__vertexBufferWidth = targetObject.get_width(); this.__vertexBufferHeight = targetObject.get_height(); this.__vertexBufferScaleX = targetObject.get_scaleX(); this.__vertexBufferScaleY = targetObject.get_scaleY(); } if(scale9Grid != null && targetObject != null) { if(this.__vertexBufferGrid == null) { this.__vertexBufferGrid = new openfl_geom_Rectangle(); } this.__vertexBufferGrid.copyFrom(scale9Grid); this.__vertexBufferWidth = targetObject.get_width(); this.__vertexBufferHeight = targetObject.get_height(); this.__vertexBufferScaleX = targetObject.get_scaleX(); this.__vertexBufferScaleY = targetObject.get_scaleY(); var centerX = scale9Grid.width; var centerY = scale9Grid.height; if(centerX != 0 && centerY != 0) { var array = null; var vector = null; var view = null; var buffer = null; var len = null; var this1 = new Float32Array(224); this.__vertexBufferData = this1; var left = scale9Grid.x; var top = scale9Grid.y; var right = this.width - centerX - left; var bottom = this.height - centerY - top; var uvLeft = left / this.width; var uvTop = top / this.height; var uvCenterX = centerX / this.width; var uvCenterY = centerY / this.height; var uvRight = right / this.width; var uvBottom = bottom / this.height; var renderedLeft = left / targetObject.get_scaleX(); var renderedTop = top / targetObject.get_scaleY(); var renderedRight = right / targetObject.get_scaleX(); var renderedBottom = bottom / targetObject.get_scaleY(); var renderedCenterX = targetObject.get_width() / targetObject.get_scaleX() - renderedLeft - renderedRight; var renderedCenterY = targetObject.get_height() / targetObject.get_scaleY() - renderedTop - renderedBottom; this.__vertexBufferData[0] = renderedLeft; this.__vertexBufferData[1] = renderedTop; this.__vertexBufferData[3] = uvWidth * uvLeft; this.__vertexBufferData[4] = uvHeight * uvTop; this.__vertexBufferData[15] = renderedTop; this.__vertexBufferData[18] = uvHeight * uvTop; this.__vertexBufferData[28] = renderedLeft; this.__vertexBufferData[31] = uvWidth * uvLeft; this.__vertexBufferData[56] = renderedLeft + renderedCenterX; this.__vertexBufferData[57] = renderedTop; this.__vertexBufferData[59] = uvWidth * (uvLeft + uvCenterX); this.__vertexBufferData[60] = uvHeight * uvTop; this.__vertexBufferData[70] = renderedLeft + renderedCenterX; this.__vertexBufferData[73] = uvWidth * (uvLeft + uvCenterX); this.__vertexBufferData[84] = this.width; this.__vertexBufferData[85] = renderedTop; this.__vertexBufferData[87] = uvWidth; this.__vertexBufferData[88] = uvHeight * uvTop; this.__vertexBufferData[98] = this.width; this.__vertexBufferData[101] = uvWidth; this.__vertexBufferData[112] = renderedLeft; this.__vertexBufferData[113] = renderedTop + renderedCenterY; this.__vertexBufferData[115] = uvWidth * uvLeft; this.__vertexBufferData[116] = uvHeight * (uvTop + uvCenterY); this.__vertexBufferData[127] = renderedTop + renderedCenterY; this.__vertexBufferData[130] = uvHeight * (uvTop + uvCenterY); this.__vertexBufferData[140] = renderedLeft + renderedCenterX; this.__vertexBufferData[141] = renderedTop + renderedCenterY; this.__vertexBufferData[143] = uvWidth * (uvLeft + uvCenterX); this.__vertexBufferData[144] = uvHeight * (uvTop + uvCenterY); this.__vertexBufferData[154] = this.width; this.__vertexBufferData[155] = renderedTop + renderedCenterY; this.__vertexBufferData[157] = uvWidth; this.__vertexBufferData[158] = uvHeight * (uvTop + uvCenterY); this.__vertexBufferData[168] = renderedLeft; this.__vertexBufferData[169] = this.height; this.__vertexBufferData[171] = uvWidth * uvLeft; this.__vertexBufferData[172] = uvHeight; this.__vertexBufferData[183] = this.height; this.__vertexBufferData[186] = uvHeight; this.__vertexBufferData[196] = renderedLeft + renderedCenterX; this.__vertexBufferData[197] = this.height; this.__vertexBufferData[199] = uvWidth * (uvLeft + uvCenterX); this.__vertexBufferData[200] = uvHeight; this.__vertexBufferData[210] = this.width; this.__vertexBufferData[211] = this.height; this.__vertexBufferData[213] = uvWidth; this.__vertexBufferData[214] = uvHeight; this.__vertexBuffer = context.createVertexBuffer(16,14); } else if(centerX == 0 && centerY != 0) { var array1 = null; var vector1 = null; var view1 = null; var buffer1 = null; var len1 = null; var this2 = new Float32Array(112); this.__vertexBufferData = this2; var top1 = scale9Grid.y; var bottom1 = this.height - centerY - top1; var uvTop1 = top1 / this.height; var uvCenterY1 = centerY / this.height; var uvBottom1 = bottom1 / this.height; var renderedTop1 = top1 / targetObject.get_scaleY(); var renderedBottom1 = bottom1 / targetObject.get_scaleY(); var renderedCenterY1 = targetObject.get_height() / targetObject.get_scaleY() - renderedTop1 - renderedBottom1; var renderedWidth = targetObject.get_width() / targetObject.get_scaleX(); this.__vertexBufferData[0] = renderedWidth; this.__vertexBufferData[1] = renderedTop1; this.__vertexBufferData[3] = uvWidth; this.__vertexBufferData[4] = uvHeight * uvTop1; this.__vertexBufferData[15] = renderedTop1; this.__vertexBufferData[18] = uvHeight * uvTop1; this.__vertexBufferData[28] = renderedWidth; this.__vertexBufferData[31] = uvWidth; this.__vertexBufferData[56] = renderedWidth; this.__vertexBufferData[57] = renderedTop1 + renderedCenterY1; this.__vertexBufferData[59] = uvWidth; this.__vertexBufferData[60] = uvHeight * (uvTop1 + uvCenterY1); this.__vertexBufferData[71] = renderedTop1 + renderedCenterY1; this.__vertexBufferData[74] = uvHeight * (uvTop1 + uvCenterY1); this.__vertexBufferData[84] = renderedWidth; this.__vertexBufferData[85] = this.height; this.__vertexBufferData[87] = uvWidth; this.__vertexBufferData[88] = uvHeight; this.__vertexBufferData[99] = this.height; this.__vertexBufferData[102] = uvHeight; this.__vertexBuffer = context.createVertexBuffer(8,14); } else if(centerY == 0 && centerX != 0) { var array2 = null; var vector2 = null; var view2 = null; var buffer2 = null; var len2 = null; var this3 = new Float32Array(112); this.__vertexBufferData = this3; var left1 = scale9Grid.x; var right1 = this.width - centerX - left1; var uvLeft1 = left1 / this.width; var uvCenterX1 = centerX / this.width; var uvRight1 = right1 / this.width; var renderedLeft1 = left1 / targetObject.get_scaleX(); var renderedRight1 = right1 / targetObject.get_scaleX(); var renderedCenterX1 = targetObject.get_width() / targetObject.get_scaleX() - renderedLeft1 - renderedRight1; var renderedHeight = targetObject.get_height() / targetObject.get_scaleY(); this.__vertexBufferData[0] = renderedLeft1; this.__vertexBufferData[1] = renderedHeight; this.__vertexBufferData[3] = uvWidth * uvLeft1; this.__vertexBufferData[4] = uvHeight; this.__vertexBufferData[15] = renderedHeight; this.__vertexBufferData[18] = uvHeight; this.__vertexBufferData[28] = renderedLeft1; this.__vertexBufferData[31] = uvWidth * uvLeft1; this.__vertexBufferData[56] = renderedLeft1 + renderedCenterX1; this.__vertexBufferData[57] = renderedHeight; this.__vertexBufferData[59] = uvWidth * (uvLeft1 + uvCenterX1); this.__vertexBufferData[60] = uvHeight; this.__vertexBufferData[70] = renderedLeft1 + renderedCenterX1; this.__vertexBufferData[73] = uvWidth * (uvLeft1 + uvCenterX1); this.__vertexBufferData[84] = this.width; this.__vertexBufferData[85] = renderedHeight; this.__vertexBufferData[87] = uvWidth; this.__vertexBufferData[88] = uvHeight; this.__vertexBufferData[98] = this.width; this.__vertexBufferData[101] = uvWidth; this.__vertexBuffer = context.createVertexBuffer(8,14); } } else { this.__vertexBufferGrid = null; } if(this.__vertexBuffer == null) { var array3 = null; var vector3 = null; var view3 = null; var buffer3 = null; var len3 = null; var this4 = new Float32Array(56); this.__vertexBufferData = this4; this.__vertexBufferData[0] = this.width; this.__vertexBufferData[1] = this.height; this.__vertexBufferData[3] = uvWidth; this.__vertexBufferData[4] = uvHeight; this.__vertexBufferData[15] = this.height; this.__vertexBufferData[18] = uvHeight; this.__vertexBufferData[28] = this.width; this.__vertexBufferData[31] = uvWidth; this.__vertexBuffer = context.createVertexBuffer(3,14); } this.__vertexBuffer.uploadFromTypedArray(lime_utils__$Float32Array_Float32Array_$Impl_$.toArrayBufferView(this.__vertexBufferData)); } return this.__vertexBuffer; } ,getColorBoundsRect: function(mask,color,findColor) { if(findColor == null) { findColor = true; } if(!this.readable) { return new openfl_geom_Rectangle(0,0,this.width,this.height); } if(!this.transparent || (mask >> 24 & 255) > 0) { var color1 = color; if((color1 >>> 24 & 255) == 0) { color1 = 0; } } var rect = this.image.getColorBoundsRect(mask,color,findColor,1); return new openfl_geom_Rectangle(rect.x,rect.y,rect.width,rect.height); } ,getPixel: function(x,y) { if(!this.readable) { return 0; } return this.image.getPixel(x,y,1); } ,getPixel32: function(x,y) { if(!this.readable) { return 0; } return this.image.getPixel32(x,y,1); } ,getPixels: function(rect) { if(!this.readable) { return null; } if(rect == null) { rect = this.rect; } var byteArray = openfl_utils__$ByteArray_ByteArray_$Impl_$.fromBytes(this.image.getPixels(rect.__toLimeRectangle(),1)); byteArray.__endian = 0; return byteArray; } ,getSurface: function() { if(!this.readable) { return null; } if(this.__surface == null) { this.__surface = lime_graphics_cairo__$CairoImageSurface_CairoImageSurface_$Impl_$.fromImage(this.image); } return this.__surface; } ,getTexture: function(context) { if(!this.__isValid) { return null; } if(this.__texture == null || this.__textureContext != context.__context) { this.__textureContext = context.__context; this.__texture = context.createRectangleTexture(this.width,this.height,1,false); this.__textureVersion = -1; } lime__$internal_graphics_ImageCanvasUtil.sync(this.image,false); if(this.image != null && this.image.version > this.__textureVersion) { if(this.__surface != null) { lime_graphics_cairo__$CairoSurface_CairoSurface_$Impl_$.flush(this.__surface); } var textureImage = this.image; if(!openfl_display3D_textures_TextureBase.__supportsBGRA && textureImage.get_format() != 0) { textureImage = textureImage.clone(); textureImage.set_format(0); } this.__texture.__uploadFromImage(textureImage); this.__textureVersion = this.image.version; this.__textureWidth = textureImage.buffer.width; this.__textureHeight = textureImage.buffer.height; } if(!this.readable && this.image != null) { this.__surface = null; this.image = null; } return this.__texture; } ,getVector: function(rect) { var pixels = this.getPixels(rect); var length = _$UInt_UInt_$Impl_$.toFloat(openfl_utils__$ByteArray_ByteArray_$Impl_$.get_length(pixels)) / _$UInt_UInt_$Impl_$.toFloat(4) | 0; var result = openfl__$Vector_Vector_$Impl_$.toIntVector(null,length,true); var _g = 0; var _g1 = length; while(_g < _g1) { var i = _g++; result.set(i,pixels.readUnsignedInt()); } return result; } ,histogram: function(hRect) { var rect = hRect != null ? hRect : new openfl_geom_Rectangle(0,0,this.width,this.height); var pixels = this.getPixels(rect); var _g = []; var _g1 = []; var _g2 = 0; while(_g2 < 256) { var j = _g2++; _g1.push(0); } _g.push(_g1); var _g11 = []; var _g21 = 0; while(_g21 < 256) { var j1 = _g21++; _g11.push(0); } _g.push(_g11); var _g12 = []; var _g22 = 0; while(_g22 < 256) { var j2 = _g22++; _g12.push(0); } _g.push(_g12); var _g13 = []; var _g23 = 0; while(_g23 < 256) { var j3 = _g23++; _g13.push(0); } _g.push(_g13); var result = _g; var _g14 = 0; var _g24 = openfl_utils__$ByteArray_ByteArray_$Impl_$.get_length(pixels); while(_g14 < _g24) { var i = _g14++; var result1 = result[i % 4]; ++result1[pixels.readUnsignedByte()]; } return result; } ,hitTest: function(firstPoint,firstAlphaThreshold,secondObject,secondBitmapDataPoint,secondAlphaThreshold) { if(secondAlphaThreshold == null) { secondAlphaThreshold = 1; } if(!this.readable) { return false; } if(((secondObject) instanceof openfl_display_Bitmap)) { secondObject = (js_Boot.__cast(secondObject , openfl_display_Bitmap)).__bitmapData; } if(((secondObject) instanceof openfl_geom_Point)) { var secondPoint = secondObject; var x = secondPoint.x - firstPoint.x | 0; var y = secondPoint.y - firstPoint.y | 0; if(this.rect.contains(x,y)) { var pixel = this.getPixel32(x,y); if((pixel >> 24 & 255) > firstAlphaThreshold) { return true; } } } else if(((secondObject) instanceof openfl_display_BitmapData)) { var secondBitmapData = secondObject; var x1; var y1; if(secondBitmapDataPoint == null) { x1 = 0; y1 = 0; } else { x1 = Math.round(secondBitmapDataPoint.x - firstPoint.x); y1 = Math.round(secondBitmapDataPoint.y - firstPoint.y); } var hitRect = openfl_geom_Rectangle.__pool.get(); hitRect.setTo(x1,y1,secondBitmapData.width,secondBitmapData.height); if(this.rect.intersects(hitRect)) { if(x1 < 0) { hitRect.x = 0; hitRect.width = Math.min(secondBitmapData.width + x1,this.width); } else { hitRect.width = Math.min(secondBitmapData.width,this.width - x1); } if(y1 < 0) { hitRect.y = 0; hitRect.height = Math.min(secondBitmapData.height + y1,this.height); } else { hitRect.height = Math.min(secondBitmapData.height,this.height - y1); } var pixels = this.getPixels(hitRect); hitRect.x = x1 < 0 ? -x1 : 0; hitRect.y = y1 < 0 ? -y1 : 0; var testPixels = secondBitmapData.getPixels(hitRect); var length = hitRect.width * hitRect.height | 0; var pixel1; var testPixel; var _g = 0; var _g1 = length; while(_g < _g1) { var i = _g++; pixel1 = pixels.readUnsignedInt(); testPixel = testPixels.readUnsignedInt(); if(_$UInt_UInt_$Impl_$.gt(pixel1 >>> 24 & 255,firstAlphaThreshold) && _$UInt_UInt_$Impl_$.gt(testPixel >>> 24 & 255,secondAlphaThreshold)) { openfl_geom_Rectangle.__pool.release(hitRect); return true; } } } openfl_geom_Rectangle.__pool.release(hitRect); } else if(((secondObject) instanceof openfl_geom_Rectangle)) { var secondRectangle = openfl_geom_Rectangle.__pool.get(); secondRectangle.copyFrom(secondObject); secondRectangle.offset(-firstPoint.x,-firstPoint.y); secondRectangle.__contract(0,0,this.width,this.height); if(secondRectangle.width > 0 && secondRectangle.height > 0) { var pixels1 = this.getPixels(secondRectangle); var length1 = _$UInt_UInt_$Impl_$.toFloat(openfl_utils__$ByteArray_ByteArray_$Impl_$.get_length(pixels1)) / _$UInt_UInt_$Impl_$.toFloat(4) | 0; var pixel2; var _g2 = 0; var _g11 = length1; while(_g2 < _g11) { var i1 = _g2++; pixel2 = pixels1.readUnsignedInt(); if(_$UInt_UInt_$Impl_$.gt(pixel2 >>> 24 & 255,firstAlphaThreshold)) { openfl_geom_Rectangle.__pool.release(secondRectangle); return true; } } } openfl_geom_Rectangle.__pool.release(secondRectangle); } return false; } ,lock: function() { } ,merge: function(sourceBitmapData,sourceRect,destPoint,redMultiplier,greenMultiplier,blueMultiplier,alphaMultiplier) { if(!this.readable || sourceBitmapData == null || !sourceBitmapData.readable || sourceRect == null || destPoint == null) { return; } this.image.merge(sourceBitmapData.image,sourceRect.__toLimeRectangle(),destPoint.__toLimeVector2(),redMultiplier,greenMultiplier,blueMultiplier,alphaMultiplier); } ,noise: function(randomSeed,low,high,channelOptions,grayScale) { if(grayScale == null) { grayScale = false; } if(channelOptions == null) { channelOptions = 7; } if(high == null) { high = 255; } if(low == null) { low = 0; } if(!this.readable) { return; } var func = function() { randomSeed = randomSeed * 1103515245 + 12345; return (Math.abs(randomSeed / 65536) | 0) % 32768; }; var rand = func; rand(); var range = high - low; var redChannel = (channelOptions & 1) == 1; var greenChannel = (channelOptions & 2) >> 1 == 1; var blueChannel = (channelOptions & 4) >> 2 == 1; var alphaChannel = (channelOptions & 8) >> 3 == 1; var _g = 0; var _g1 = this.height; while(_g < _g1) { var y = _g++; var _g2 = 0; var _g11 = this.width; while(_g2 < _g11) { var x = _g2++; var red = 0; var blue = 0; var green = 0; var alpha = 255; if(grayScale) { blue = low + rand() % range; green = blue; red = green; alpha = 255; } else { if(redChannel) { red = low + rand() % range; } if(greenChannel) { green = low + rand() % range; } if(blueChannel) { blue = low + rand() % range; } if(alphaChannel) { alpha = low + rand() % range; } } var rgb = alpha; rgb = (rgb << 8) + red; rgb = (rgb << 8) + green; rgb = (rgb << 8) + blue; this.setPixel32(x,y,rgb); } } } ,paletteMap: function(sourceBitmapData,sourceRect,destPoint,redArray,greenArray,blueArray,alphaArray) { var sw = sourceRect.width | 0; var sh = sourceRect.height | 0; var pixels = sourceBitmapData.getPixels(sourceRect); var pixelValue; var r; var g; var b; var a; var color; var _g = 0; var _g1 = sh * sw; while(_g < _g1) { var i = _g++; pixelValue = pixels.readUnsignedInt(); a = alphaArray == null ? pixelValue & -16777216 : alphaArray[pixelValue >> 24 & 255]; r = redArray == null ? pixelValue & 16711680 : redArray[pixelValue >> 16 & 255]; g = greenArray == null ? pixelValue & 65280 : greenArray[pixelValue >> 8 & 255]; b = blueArray == null ? pixelValue & 255 : blueArray[pixelValue & 255]; color = a + r + g + b; pixels.position = i * 4; pixels.writeUnsignedInt(color); } pixels.position = 0; var destRect = openfl_geom_Rectangle.__pool.get(); destRect.setTo(destPoint.x,destPoint.y,sw,sh); this.setPixels(destRect,pixels); openfl_geom_Rectangle.__pool.release(destRect); } ,perlinNoise: function(baseX,baseY,numOctaves,randomSeed,stitch,fractalNoise,channelOptions,grayScale,offsets) { if(grayScale == null) { grayScale = false; } if(channelOptions == null) { channelOptions = 7; } if(!this.readable) { return; } var noise = new openfl_display__$internal_PerlinNoise(randomSeed,numOctaves,channelOptions,grayScale,0.5,stitch,0.15); noise.fill(this,baseX,baseY,0); } ,scroll: function(x,y) { if(!this.readable) { return; } this.image.scroll(x,y); } ,setPixel: function(x,y,color) { if(!this.readable) { return; } this.image.setPixel(x,y,color,1); } ,setPixel32: function(x,y,color) { if(!this.readable) { return; } this.image.setPixel32(x,y,color,1); } ,setPixels: function(rect,byteArray) { if(!this.readable || rect == null) { return; } var length = rect.width * rect.height * 4; if(_$UInt_UInt_$Impl_$.toFloat(byteArray.length - byteArray.position) < length) { throw new js__$Boot_HaxeError(new openfl_errors_Error("End of file was encountered.",2030)); } this.image.setPixels(rect.__toLimeRectangle(),openfl_utils__$ByteArray_ByteArray_$Impl_$.toBytePointer(byteArray),1,openfl_utils__$Endian_Endian_$Impl_$.toLimeEndian(byteArray.__endian)); } ,setVector: function(rect,inputVector) { var this1 = new openfl_utils_ByteArrayData(0); var byteArray = this1; openfl_utils__$ByteArray_ByteArray_$Impl_$.set_length(byteArray,inputVector.get_length() * 4); var color = inputVector.iterator(); while(color.hasNext()) { var color1 = color.next(); byteArray.writeUnsignedInt(color1); } byteArray.position = 0; this.setPixels(rect,byteArray); } ,threshold: function(sourceBitmapData,sourceRect,destPoint,operation,threshold,color,mask,copySource) { if(copySource == null) { copySource = false; } if(mask == null) { mask = -1; } if(color == null) { color = 0; } if(sourceBitmapData == null || sourceRect == null || destPoint == null || sourceRect.x > sourceBitmapData.width || sourceRect.y > sourceBitmapData.height || destPoint.x > this.width || destPoint.y > this.height) { return 0; } return this.image.threshold(sourceBitmapData.image,sourceRect.__toLimeRectangle(),destPoint.__toLimeVector2(),operation,threshold,color,mask,copySource,1); } ,unlock: function(changeRect) { } ,__applyAlpha: function(alpha) { lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(this.image); lime__$internal_graphics_ImageCanvasUtil.createImageData(this.image); var data = this.image.buffer.data; var _g = 0; var _g1 = openfl_utils__$ByteArray_ByteArray_$Impl_$.get_length(alpha); while(_g < _g1) { var i = _g++; data[i * 4 + 3] = alpha.readUnsignedByte(); } this.image.version++; } ,__drawCairo: function(source,renderer) { } ,__drawCanvas: function(source,renderer) { var buffer = this.image.buffer; if(!renderer.__allowSmoothing) { renderer.applySmoothing(buffer.__srcContext,false); } renderer.__render(source); if(!renderer.__allowSmoothing) { renderer.applySmoothing(buffer.__srcContext,true); } buffer.__srcContext.setTransform(1,0,0,1,0,0); buffer.__srcImageData = null; buffer.data = null; this.image.dirty = true; this.image.version++; } ,__drawGL: function(source,renderer) { var context = renderer.__context3D; var cacheRTT = context.__state.renderToTexture; var cacheRTTDepthStencil = context.__state.renderToTextureDepthStencil; var cacheRTTAntiAlias = context.__state.renderToTextureAntiAlias; var cacheRTTSurfaceSelector = context.__state.renderToTextureSurfaceSelector; context.setRenderToTexture(this.getTexture(context),true); renderer.__render(source); if(cacheRTT != null) { context.setRenderToTexture(cacheRTT,cacheRTTDepthStencil,cacheRTTAntiAlias,cacheRTTSurfaceSelector); } else { context.setRenderToBackBuffer(); } } ,__fillRect: function(rect,color,allowFramebuffer) { if(rect == null) { return; } if(this.transparent && (color & -16777216) == 0) { color = 0; } if(allowFramebuffer && this.__texture != null && this.__texture.__glFramebuffer != null && openfl_Lib.get_current().stage.__renderer.__type == "opengl") { var renderer = openfl_Lib.get_current().stage.__renderer; var context = renderer.__context3D; var color1 = color; var useScissor = !this.rect.equals(rect); var cacheRTT = context.__state.renderToTexture; var cacheRTTDepthStencil = context.__state.renderToTextureDepthStencil; var cacheRTTAntiAlias = context.__state.renderToTextureAntiAlias; var cacheRTTSurfaceSelector = context.__state.renderToTextureSurfaceSelector; context.setRenderToTexture(this.__texture); if(useScissor) { context.setScissorRectangle(rect); } context.clear((color1 >>> 16 & 255) / 255,(color1 >>> 8 & 255) / 255,(color1 & 255) / 255,this.transparent ? (color1 >>> 24 & 255) / 255 : 1,0,0,1); if(useScissor) { context.setScissorRectangle(null); } if(cacheRTT != null) { context.setRenderToTexture(cacheRTT,cacheRTTDepthStencil,cacheRTTAntiAlias,cacheRTTSurfaceSelector); } else { context.setRenderToBackBuffer(); } } else if(this.readable) { this.image.fillRect(rect.__toLimeRectangle(),color,1); } } ,__fromBase64: function(base64,type) { var image = lime_graphics_Image.fromBase64(base64,type); this.__fromImage(image); } ,__fromBytes: function(bytes,rawAlpha) { var image = lime_graphics_Image.fromBytes(openfl_utils__$ByteArray_ByteArray_$Impl_$.toBytes(bytes)); this.__fromImage(image); if(rawAlpha != null) { this.__applyAlpha(rawAlpha); } } ,__fromFile: function(path) { var image = lime_graphics_Image.fromFile(path); this.__fromImage(image); } ,__fromImage: function(image) { if(image != null && image.buffer != null) { this.image = image; this.width = image.width; this.height = image.height; this.rect = new openfl_geom_Rectangle(0,0,image.width,image.height); this.__textureWidth = this.width; this.__textureHeight = this.height; this.readable = true; this.__isValid = true; } } ,__getBounds: function(rect,matrix) { var bounds = openfl_geom_Rectangle.__pool.get(); this.rect.__transform(bounds,matrix); rect.__expand(bounds.x,bounds.y,bounds.width,bounds.height); openfl_geom_Rectangle.__pool.release(bounds); } ,__loadFromBase64: function(base64,type) { var _gthis = this; return lime_graphics_Image.loadFromBase64(base64,type).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }); } ,__loadFromBytes: function(bytes,rawAlpha) { var _gthis = this; return lime_graphics_Image.loadFromBytes(openfl_utils__$ByteArray_ByteArray_$Impl_$.toBytes(bytes)).then(function(image) { _gthis.__fromImage(image); if(rawAlpha != null) { _gthis.__applyAlpha(rawAlpha); } return lime_app_Future.withValue(_gthis); }); } ,__loadFromFile: function(path) { var _gthis = this; return lime_graphics_Image.loadFromFile(path).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }); } ,__resize: function(width,height) { this.width = width; this.height = height; this.rect.width = width; this.rect.height = height; this.__textureWidth = width; this.__textureHeight = height; } ,__setUVRect: function(context,x,y,width,height) { var buffer = this.getVertexBuffer(context); if(buffer != null && (width != this.__uvRect.width || height != this.__uvRect.height || x != this.__uvRect.x || y != this.__uvRect.y)) { var gl = context.gl; if(this.__uvRect == null) { this.__uvRect = new openfl_geom_Rectangle(); } this.__uvRect.setTo(x,y,width,height); var uvX = this.__textureWidth > 0 ? x / this.__textureWidth : 0; var uvY = this.__textureHeight > 0 ? y / this.__textureHeight : 0; var uvWidth = this.__textureWidth > 0 ? width / this.__textureWidth : 0; var uvHeight = this.__textureHeight > 0 ? height / this.__textureHeight : 0; this.__vertexBufferData[0] = width; this.__vertexBufferData[1] = height; this.__vertexBufferData[3] = uvX + uvWidth; this.__vertexBufferData[4] = uvY + uvHeight; this.__vertexBufferData[15] = height; this.__vertexBufferData[17] = uvX; this.__vertexBufferData[18] = uvY + uvHeight; this.__vertexBufferData[28] = width; this.__vertexBufferData[31] = uvX + uvWidth; this.__vertexBufferData[32] = uvY; this.__vertexBufferData[45] = uvX; this.__vertexBufferData[46] = uvY; this.__vertexBuffer.uploadFromTypedArray(lime_utils__$Float32Array_Float32Array_$Impl_$.toArrayBufferView(this.__vertexBufferData)); } } ,__sync: function() { lime__$internal_graphics_ImageCanvasUtil.sync(this.image,false); } ,__update: function(transformOnly,updateChildren) { this.__updateTransforms(); } ,__updateTransforms: function(overrideTransform) { if(overrideTransform == null) { this.__worldTransform.identity(); } else { this.__worldTransform.copyFrom(overrideTransform); } this.__renderTransform.copyFrom(this.__worldTransform); } ,__class__: openfl_display_BitmapData }; var flixel_addons_transition_GraphicTransTileCircle = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_addons_transition_GraphicTransTileCircle.preload != null) { this.__fromImage(flixel_addons_transition_GraphicTransTileCircle.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_addons_transition_GraphicTransTileCircle.resourceName),flixel_addons_transition_GraphicTransTileCircle.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_addons_transition_GraphicTransTileCircle.preload == null) { flixel_addons_transition_GraphicTransTileCircle.preload = b.image; } if(onload != null && Reflect.isFunction(onload)) { onload(b); } }); } }; $hxClasses["flixel.addons.transition.GraphicTransTileCircle"] = flixel_addons_transition_GraphicTransTileCircle; flixel_addons_transition_GraphicTransTileCircle.__name__ = "flixel.addons.transition.GraphicTransTileCircle"; flixel_addons_transition_GraphicTransTileCircle.preload = null; flixel_addons_transition_GraphicTransTileCircle.__super__ = openfl_display_BitmapData; flixel_addons_transition_GraphicTransTileCircle.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_addons_transition_GraphicTransTileCircle }); var flixel_addons_transition_GraphicTransTileDiamond = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_addons_transition_GraphicTransTileDiamond.preload != null) { this.__fromImage(flixel_addons_transition_GraphicTransTileDiamond.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_addons_transition_GraphicTransTileDiamond.resourceName),flixel_addons_transition_GraphicTransTileDiamond.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_addons_transition_GraphicTransTileDiamond.preload == null) { flixel_addons_transition_GraphicTransTileDiamond.preload = b.image; } if(onload != null && Reflect.isFunction(onload)) { onload(b); } }); } }; $hxClasses["flixel.addons.transition.GraphicTransTileDiamond"] = flixel_addons_transition_GraphicTransTileDiamond; flixel_addons_transition_GraphicTransTileDiamond.__name__ = "flixel.addons.transition.GraphicTransTileDiamond"; flixel_addons_transition_GraphicTransTileDiamond.preload = null; flixel_addons_transition_GraphicTransTileDiamond.__super__ = openfl_display_BitmapData; flixel_addons_transition_GraphicTransTileDiamond.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_addons_transition_GraphicTransTileDiamond }); var flixel_addons_transition_GraphicTransTileSquare = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_addons_transition_GraphicTransTileSquare.preload != null) { this.__fromImage(flixel_addons_transition_GraphicTransTileSquare.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_addons_transition_GraphicTransTileSquare.resourceName),flixel_addons_transition_GraphicTransTileSquare.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_addons_transition_GraphicTransTileSquare.preload == null) { flixel_addons_transition_GraphicTransTileSquare.preload = b.image; } if(onload != null && Reflect.isFunction(onload)) { onload(b); } }); } }; $hxClasses["flixel.addons.transition.GraphicTransTileSquare"] = flixel_addons_transition_GraphicTransTileSquare; flixel_addons_transition_GraphicTransTileSquare.__name__ = "flixel.addons.transition.GraphicTransTileSquare"; flixel_addons_transition_GraphicTransTileSquare.preload = null; flixel_addons_transition_GraphicTransTileSquare.__super__ = openfl_display_BitmapData; flixel_addons_transition_GraphicTransTileSquare.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_addons_transition_GraphicTransTileSquare }); var flixel_addons_transition_FlxTransitionSprite = function(X,Y,Delay,Graphic,GraphicWidth,GraphicHeight,FrameRate) { if(FrameRate == null) { FrameRate = 40; } if(GraphicHeight == null) { GraphicHeight = 32; } if(GraphicWidth == null) { GraphicWidth = 32; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } this._newStatus = -1; this.status = 0; this._finished = false; this._starting = true; flixel_FlxSprite.call(this,X,Y); if(Graphic == null) { Graphic = flixel_graphics_FlxGraphic.fromClass(flixel_addons_transition_GraphicTransTileDiamond); GraphicWidth = 32; GraphicHeight = 32; } this._delay = Delay; this.loadGraphic(Graphic,true,GraphicWidth,GraphicHeight); this.graphic.persist = true; this.graphic.set_destroyOnNoUse(false); var inArray = []; var outArray = []; var _g = 1; var _g1 = this.numFrames - 1; while(_g < _g1) { var i = _g++; inArray.push(i); } outArray = inArray.slice(); outArray.reverse(); this.animation.add("empty",[0],0,false); this.animation.add("in",inArray,FrameRate,false); this.animation.add("full",[this.numFrames - 1],0,false); this.animation.add("out",outArray,FrameRate,false); this.setStatus(3); }; $hxClasses["flixel.addons.transition.FlxTransitionSprite"] = flixel_addons_transition_FlxTransitionSprite; flixel_addons_transition_FlxTransitionSprite.__name__ = "flixel.addons.transition.FlxTransitionSprite"; flixel_addons_transition_FlxTransitionSprite.__super__ = flixel_FlxSprite; flixel_addons_transition_FlxTransitionSprite.prototype = $extend(flixel_FlxSprite.prototype,{ _delay: null ,_count: null ,_starting: null ,_finished: null ,status: null ,_newStatus: null ,start: function(NewStatus) { this._starting = true; this._finished = false; this._count = 0; this._newStatus = NewStatus; } ,startStatus: function(NewStatus) { this.setStatus(NewStatus); } ,setStatus: function(Status) { var anim; switch(Status) { case -1:case 2: anim = "empty"; break; case 0: anim = "in"; break; case 1: anim = "out"; break; case 3: anim = "full"; break; } this.animation.play(anim); this.animation.finishCallback = $bind(this,this.onFinishAnim); this.status = Status; } ,onFinishAnim: function(str) { if(!this._finished) { this._finished = true; switch(this.status) { case 0: this.setStatus(3); break; case 1: this.setStatus(2); break; default: } } } ,update: function(elapsed) { flixel_FlxSprite.prototype.update.call(this,elapsed); if(this._starting) { this._count += elapsed; if(this._count >= this._delay) { this.onTime(); } } } ,onTime: function() { this._starting = false; this._count = 0; this.setStatus(this._newStatus); this._newStatus = -1; } ,__class__: flixel_addons_transition_FlxTransitionSprite }); var flixel_addons_transition_Transition = function(data) { flixel_FlxSubState.call(this,0); this._effect = this.createEffect(data); this._effect.scrollFactor.set(0,0); this.add(this._effect); }; $hxClasses["flixel.addons.transition.Transition"] = flixel_addons_transition_Transition; flixel_addons_transition_Transition.__name__ = "flixel.addons.transition.Transition"; flixel_addons_transition_Transition.__super__ = flixel_FlxSubState; flixel_addons_transition_Transition.prototype = $extend(flixel_FlxSubState.prototype,{ _effect: null ,update: function(elapsed) { flixel_FlxSubState.prototype.update.call(this,elapsed); this._effect.update(elapsed); } ,destroy: function() { flixel_FlxSubState.prototype.destroy.call(this); this.set_finishCallback(null); this._effect.destroy(); this._effect = null; } ,start: function(NewStatus) { this._effect.start(NewStatus); } ,setStatus: function(NewStatus) { this._effect.setStatus(NewStatus); } ,createEffect: function(Data) { switch(Data.type) { case "fade": return new flixel_addons_transition_TransitionFade(Data); case "tiles": return new flixel_addons_transition_TransitionTiles(Data); default: return null; } } ,get_finishCallback: function() { if(this._effect != null) { return this._effect.finishCallback; } return null; } ,set_finishCallback: function(f) { if(this._effect != null) { this._effect.finishCallback = f; return f; } return null; } ,__class__: flixel_addons_transition_Transition ,__properties__: $extend(flixel_FlxSubState.prototype.__properties__,{set_finishCallback:"set_finishCallback",get_finishCallback:"get_finishCallback"}) }); var flixel_addons_transition_TransitionData = function(TransType,Color,Duration,Direction,TileData,Region) { if(Duration == null) { Duration = 1.0; } if(Color == null) { Color = -1; } if(TransType == null) { TransType = "fade"; } this.duration = 1.0; this.type = TransType; this.tileData = TileData; this.duration = Duration; this.color = Color; this.direction = Direction; if(this.direction == null) { this.direction = new flixel_math_FlxPoint(0,0); } var Value = this.direction.x; var lowerBound = Value < -1 ? -1 : Value; var tmp = lowerBound > 1; var Value1 = this.direction.y; var lowerBound1 = Value1 < -1 ? -1 : Value1; var tmp1 = lowerBound1 > 1; this.tweenOptions = { onComplete : null}; this.region = Region; if(Region == null) { this.region = new flixel_math_FlxRect(0,0,flixel_FlxG.width,flixel_FlxG.height); } }; $hxClasses["flixel.addons.transition.TransitionData"] = flixel_addons_transition_TransitionData; flixel_addons_transition_TransitionData.__name__ = "flixel.addons.transition.TransitionData"; flixel_addons_transition_TransitionData.__interfaces__ = [flixel_util_IFlxDestroyable]; flixel_addons_transition_TransitionData.prototype = { type: null ,tileData: null ,color: null ,duration: null ,direction: null ,tweenOptions: null ,region: null ,destroy: function() { this.tileData = null; this.direction = null; this.tweenOptions.onComplete = null; this.tweenOptions.ease = null; this.tweenOptions = null; this.region = null; this.direction = null; } ,__class__: flixel_addons_transition_TransitionData }; var flixel_addons_transition_TransitionEffect = function(data) { this._finalDelayTime = 0.0; this._started = false; this.finished = false; this._data = data; flixel_group_FlxTypedSpriteGroup.call(this); }; $hxClasses["flixel.addons.transition.TransitionEffect"] = flixel_addons_transition_TransitionEffect; flixel_addons_transition_TransitionEffect.__name__ = "flixel.addons.transition.TransitionEffect"; flixel_addons_transition_TransitionEffect.__super__ = flixel_group_FlxTypedSpriteGroup; flixel_addons_transition_TransitionEffect.prototype = $extend(flixel_group_FlxTypedSpriteGroup.prototype,{ finishCallback: null ,finished: null ,_started: null ,_endStatus: null ,_finalDelayTime: null ,_data: null ,destroy: function() { flixel_group_FlxTypedSpriteGroup.prototype.destroy.call(this); this.finishCallback = null; } ,start: function(NewStatus) { this._started = true; if(NewStatus == 0) { this._endStatus = 3; } else { this._endStatus = 2; } } ,setStatus: function(NewStatus) { } ,delayThenFinish: function() { new flixel_util_FlxTimer().start(this._finalDelayTime,$bind(this,this.onFinish)); } ,onFinish: function(f) { this.finished = true; if(this.finishCallback != null) { this.finishCallback(); this.finishCallback = null; } } ,__class__: flixel_addons_transition_TransitionEffect }); var flixel_addons_transition__$TransitionFade_GraphicDiagonalGradient = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_addons_transition__$TransitionFade_GraphicDiagonalGradient.preload != null) { this.__fromImage(flixel_addons_transition__$TransitionFade_GraphicDiagonalGradient.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_addons_transition__$TransitionFade_GraphicDiagonalGradient.resourceName),flixel_addons_transition__$TransitionFade_GraphicDiagonalGradient.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_addons_transition__$TransitionFade_GraphicDiagonalGradient.preload == null) { flixel_addons_transition__$TransitionFade_GraphicDiagonalGradient.preload = b.image; } if(onload != null && Reflect.isFunction(onload)) { onload(b); } }); } }; $hxClasses["flixel.addons.transition._TransitionFade.GraphicDiagonalGradient"] = flixel_addons_transition__$TransitionFade_GraphicDiagonalGradient; flixel_addons_transition__$TransitionFade_GraphicDiagonalGradient.__name__ = "flixel.addons.transition._TransitionFade.GraphicDiagonalGradient"; flixel_addons_transition__$TransitionFade_GraphicDiagonalGradient.preload = null; flixel_addons_transition__$TransitionFade_GraphicDiagonalGradient.__super__ = openfl_display_BitmapData; flixel_addons_transition__$TransitionFade_GraphicDiagonalGradient.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_addons_transition__$TransitionFade_GraphicDiagonalGradient }); var flixel_addons_transition_TransitionFade = function(data) { this.tweenValEnd2 = 0; this.tweenValEnd = 0; this.tweenValStart2 = 0; this.tweenValStart = 0; this.tweenStr2 = ""; this.tweenStr = ""; flixel_addons_transition_TransitionEffect.call(this,data); this.back = this.makeSprite(data.direction.x,data.direction.y,data.region); this.back.scrollFactor.set(0,0); this.add(this.back); }; $hxClasses["flixel.addons.transition.TransitionFade"] = flixel_addons_transition_TransitionFade; flixel_addons_transition_TransitionFade.__name__ = "flixel.addons.transition.TransitionFade"; flixel_addons_transition_TransitionFade.__super__ = flixel_addons_transition_TransitionEffect; flixel_addons_transition_TransitionFade.prototype = $extend(flixel_addons_transition_TransitionEffect.prototype,{ back: null ,tweenStr: null ,tweenStr2: null ,tweenValStart: null ,tweenValStart2: null ,tweenValEnd: null ,tweenValEnd2: null ,destroy: function() { flixel_addons_transition_TransitionEffect.prototype.destroy.call(this); this.back = null; } ,start: function(NewStatus) { flixel_addons_transition_TransitionEffect.prototype.start.call(this,NewStatus); this.setTweenValues(NewStatus,this._data.direction.x,this._data.direction.y); switch(this.tweenStr) { case "alpha": this.back.set_alpha(this.tweenValStart); break; case "x": this.back.set_x(this.tweenValStart); break; case "y": this.back.set_y(this.tweenValStart); break; } switch(this.tweenStr2) { case "alpha": this.back.set_alpha(this.tweenValStart2); break; case "x": this.back.set_x(this.tweenValStart2); break; case "y": this.back.set_y(this.tweenValStart2); break; } var Values = { }; Values[this.tweenStr] = this.tweenValEnd; if(this.tweenStr2 != "") { Values[this.tweenStr2] = this.tweenValEnd2; } this._data.tweenOptions.onComplete = $bind(this,this.finishTween); flixel_tweens_FlxTween.tween(this.back,Values,this._data.duration,this._data.tweenOptions); } ,setTweenValues: function(NewStatus,DirX,DirY) { if(DirX == 0 && DirY == 0) { this.tweenStr = "alpha"; this.tweenValStart = NewStatus == 0 ? 0.0 : 1.0; this.tweenValEnd = NewStatus == 0 ? 1.0 : 0.0; } else if(Math.abs(DirX) > 0 && DirY == 0) { this.tweenStr = "x"; if(DirX > 0) { this.tweenValStart = NewStatus == 0 ? -this.back.get_width() : 0; this.tweenValEnd = NewStatus == 0 ? 0 : -this.back.get_width(); } else { this.tweenValStart = NewStatus == 0 ? flixel_FlxG.width : -this.back.get_width() / 2; this.tweenValEnd = NewStatus == 0 ? -this.back.get_width() / 2 : flixel_FlxG.width; } } else if(DirX == 0 && Math.abs(DirY) > 0) { this.tweenStr = "y"; if(DirY > 0) { this.tweenValStart = NewStatus == 0 ? -this.back.get_height() : 0; this.tweenValEnd = NewStatus == 0 ? 0 : -this.back.get_height(); } else { this.tweenValStart = NewStatus == 0 ? flixel_FlxG.height : -this.back.get_height() / 2; this.tweenValEnd = NewStatus == 0 ? -this.back.get_height() / 2 : flixel_FlxG.height; } } else if(Math.abs(DirX) > 0 && Math.abs(DirY) > 0) { this.tweenStr = "x"; this.tweenStr2 = "y"; if(DirX > 0) { this.tweenValStart = NewStatus == 0 ? -this.back.get_width() : 0; this.tweenValEnd = NewStatus == 0 ? 0 : -this.back.get_width(); } else { this.tweenValStart = NewStatus == 0 ? flixel_FlxG.width : -this.back.get_width() * 0.66666666666666663; this.tweenValEnd = NewStatus == 0 ? -this.back.get_width() * 0.66666666666666663 : flixel_FlxG.width; } if(DirY > 0) { this.tweenValStart2 = NewStatus == 0 ? -this.back.get_height() : 0; this.tweenValEnd2 = NewStatus == 0 ? 0 : -this.back.get_height(); } else { this.tweenValStart2 = NewStatus == 0 ? flixel_FlxG.height : -this.back.get_height() * 0.66666666666666663; this.tweenValEnd2 = NewStatus == 0 ? -this.back.get_height() * 0.66666666666666663 : flixel_FlxG.height; } } } ,makeSprite: function(DirX,DirY,region) { var s = new flixel_FlxSprite(region.x,region.y); var locX = 0; var locY = 0; var angle = 0; var pixels = null; if(DirX == 0 && DirY == 0) { s.makeGraphic(region.width | 0,region.height | 0,this._data.color); } else if(DirX == 0 && Math.abs(DirY) > 0) { locY = DirY > 0 ? region.height : 0; angle = DirY > 0 ? 90 : 270; s.makeGraphic(1,region.height * 2 | 0,this._data.color); pixels = s.get_pixels(); var gvert = flixel_util_FlxGradient.createGradientBitmapData(1,region.height | 0,[this._data.color,0],1,angle); pixels.copyPixels(gvert,gvert.rect,new openfl_geom_Point(0,locY)); s.set_pixels(pixels); s.scale.set(region.width,1.0); s.updateHitbox(); } else if(Math.abs(DirX) > 0 && DirY == 0) { locX = DirX > 0 ? region.width : 0; angle = DirX > 0 ? 0 : 180; s.makeGraphic(region.width * 2 | 0,1,this._data.color); pixels = s.get_pixels(); var ghorz = flixel_util_FlxGradient.createGradientBitmapData(region.width | 0,1,[this._data.color,0],1,angle); pixels.copyPixels(ghorz,ghorz.rect,new openfl_geom_Point(locX,0)); s.set_pixels(pixels); s.scale.set(1.0,region.height); s.updateHitbox(); } else if(Math.abs(DirX) > 0 && Math.abs(DirY) > 0) { locY = DirY > 0 ? region.height : 0; s.loadGraphic(this.getGradient()); s.set_flipX(DirX < 0); s.set_flipY(DirY < 0); } return s; } ,getGradient: function() { var rawBmp = new flixel_addons_transition__$TransitionFade_GraphicDiagonalGradient(0,0); var gdiag = rawBmp; var gdiag_scaled = new openfl_display_BitmapData(flixel_FlxG.width * 2,flixel_FlxG.height * 2,true); var m = new openfl_geom_Matrix(); m.scale(gdiag_scaled.width / gdiag.width,gdiag_scaled.height / gdiag.height); gdiag_scaled.draw(gdiag,m,null,null,null,true); var theColor = this._data.color; var final_pixels = new openfl_display_BitmapData(flixel_FlxG.width * 3,flixel_FlxG.height * 3,true,theColor); final_pixels.copyChannel(gdiag_scaled,gdiag_scaled.rect,new openfl_geom_Point(final_pixels.width - gdiag_scaled.width,final_pixels.height - gdiag_scaled.height),1,8); gdiag.dispose(); gdiag_scaled.dispose(); return final_pixels; } ,finishTween: function(f) { this.delayThenFinish(); } ,__class__: flixel_addons_transition_TransitionFade }); var flixel_addons_transition_TransitionTiles = function(data) { this._isCenter = false; flixel_addons_transition_TransitionEffect.call(this,data); this._grpSprites = new flixel_group_FlxTypedSpriteGroup(); var delay = 0; if(data.tileData == null) { data.tileData = { asset : null, width : 32, height : 32}; } var region = data.region; var tilesX = Math.ceil(region.width / data.tileData.width); var tilesY = Math.ceil(region.height / data.tileData.height); var maxTiles = tilesX > tilesY ? tilesX : tilesY; var dTime = data.duration / maxTiles; var xDelay = dTime * Math.abs(data.direction.x); var yDelay = dTime * Math.abs(data.direction.y); var addX = data.tileData.width; var addY = data.tileData.height; var tx = 0; var ty = 0; var startX = region.x | 0; var startY = region.y | 0; if(data.direction.x < 0) { addX *= -1; startX += region.width + addX | 0; } if(data.direction.y < 0) { addY *= -1; startY += region.height + addY | 0; } tx = startX; ty = startY; var _g = 0; var _g1 = tilesY; while(_g < _g1) { var iy = _g++; var _g2 = 0; var _g11 = tilesX; while(_g2 < _g11) { var ix = _g2++; var frameRate = 40; if(data.tileData.frameRate != null) { frameRate = data.tileData.frameRate; } var ts = new flixel_addons_transition_FlxTransitionSprite(tx,ty,delay,data.tileData.asset,data.tileData.width,data.tileData.height,frameRate); ts.set_color(data.color); ts.scrollFactor.set(0,0); this._grpSprites.add(ts); tx += addX; delay += xDelay; } ty += addY; tx = startX; delay = (iy + 1) * yDelay; } this.add(this._grpSprites); this._isCenter = data.direction.x == 0 && data.direction.y == 0; }; $hxClasses["flixel.addons.transition.TransitionTiles"] = flixel_addons_transition_TransitionTiles; flixel_addons_transition_TransitionTiles.__name__ = "flixel.addons.transition.TransitionTiles"; flixel_addons_transition_TransitionTiles.__super__ = flixel_addons_transition_TransitionEffect; flixel_addons_transition_TransitionTiles.prototype = $extend(flixel_addons_transition_TransitionEffect.prototype,{ _grpSprites: null ,_isCenter: null ,destroy: function() { flixel_addons_transition_TransitionEffect.prototype.destroy.call(this); this._grpSprites = null; } ,start: function(NewStatus) { flixel_addons_transition_TransitionEffect.prototype.start.call(this,NewStatus); this._grpSprites.group.forEach(function(t) { t.start(NewStatus); },false); } ,setStatus: function(NewStatus) { flixel_addons_transition_TransitionEffect.prototype.setStatus.call(this,NewStatus); this._grpSprites.group.forEach(function(t) { t.setStatus(NewStatus); },false); } ,update: function(elapsed) { flixel_addons_transition_TransitionEffect.prototype.update.call(this,elapsed); if(this._started) { var allDone = true; var _g = 0; var _g1 = this._grpSprites.group.members; while(_g < _g1.length) { var sprite = _g1[_g]; ++_g; if(sprite.status != -1 && sprite.status != this._endStatus) { allDone = false; break; } } if(allDone) { this._started = false; this.delayThenFinish(); } } } ,__class__: flixel_addons_transition_TransitionTiles }); var flixel_addons_ui_Anchor = function(XOff,YOff,XSide,YSide,XFlush,YFlush) { this.x = new flixel_addons_ui_AnchorPoint(XOff,XSide,XFlush); this.y = new flixel_addons_ui_AnchorPoint(YOff,YSide,YFlush); }; $hxClasses["flixel.addons.ui.Anchor"] = flixel_addons_ui_Anchor; flixel_addons_ui_Anchor.__name__ = "flixel.addons.ui.Anchor"; flixel_addons_ui_Anchor.__interfaces__ = [flixel_util_IFlxDestroyable]; flixel_addons_ui_Anchor.prototype = { x: null ,y: null ,destroy: function() { this.x = null; this.y = null; } ,anchorThing: function(thing,destination) { var destX = 0; var destY = 0; switch(this.x.side) { case "center": destX = destination.x + destination.get_width() / 2; break; case "left": destX = destination.x; break; case "right": destX = destination.x + destination.get_width(); break; default: destX = destination.x; } switch(this.y.side) { case "bottom": destY = destination.y + destination.get_height(); break; case "center": destY = destination.y + destination.get_height() / 2; break; case "top": destY = destination.y; break; default: destY = destination.y; } switch(this.x.flush) { case "center": destX -= thing.get_width() / 2; destX = destX; break; case "left": destX = destX; break; case "right": destX -= thing.get_width(); break; default: destX = destX; } switch(this.y.flush) { case "bottom": destY -= thing.get_height(); break; case "center": destY -= thing.get_height() / 2; break; case "top": destY = destY; break; default: destY = destY; } thing.set_x(destX + this.x.offset); thing.set_y(destY + this.y.offset); } ,getFlipped: function(FlipX,FlipY,AnchorObject) { var xoff = FlipX ? -1 * this.x.offset : this.x.offset; var yoff = FlipY ? -1 * this.y.offset : this.y.offset; var xside = FlipX ? this.flipAnchorSide(this.x.side) : this.x.side; var yside = FlipY ? this.flipAnchorSide(this.y.side) : this.y.side; var xflush = FlipX ? this.flipAnchorSide(this.x.flush) : this.x.flush; var yflush = FlipY ? this.flipAnchorSide(this.y.flush) : this.y.flush; if(AnchorObject == null) { AnchorObject = new flixel_addons_ui_Anchor(xoff,yoff,xside,yside,xflush,yflush); } else { AnchorObject.x.offset = xoff; AnchorObject.y.offset = yoff; AnchorObject.x.side = xside; AnchorObject.y.side = yside; AnchorObject.x.flush = xflush; AnchorObject.y.flush = yflush; } return AnchorObject; } ,clone: function() { return new flixel_addons_ui_Anchor(this.x.offset,this.y.offset,this.x.side,this.y.side,this.x.flush,this.y.flush); } ,flipAnchorSide: function(str) { if(str == "left") { return "right"; } if(str == "right") { return "left"; } if(str == "top") { return "bottom"; } if(str == "bottom") { return "top"; } return str; } ,__class__: flixel_addons_ui_Anchor }; var flixel_addons_ui_AnchorPoint = function(Offset,Side,Flush) { this.flush = "center"; this.side = "center"; this.offset = 0; this.offset = Offset; this.side = Side; this.flush = Flush; }; $hxClasses["flixel.addons.ui.AnchorPoint"] = flixel_addons_ui_AnchorPoint; flixel_addons_ui_AnchorPoint.__name__ = "flixel.addons.ui.AnchorPoint"; flixel_addons_ui_AnchorPoint.prototype = { offset: null ,side: null ,flush: null ,__class__: flixel_addons_ui_AnchorPoint }; var flixel_addons_ui_BorderDef = function(Style,Color,Size,Quality) { if(Quality == null) { Quality = 1; } if(Size == null) { Size = 1; } this.style = Style; this.color = Color; this.size = Size; this.quality = Quality; }; $hxClasses["flixel.addons.ui.BorderDef"] = flixel_addons_ui_BorderDef; flixel_addons_ui_BorderDef.__name__ = "flixel.addons.ui.BorderDef"; flixel_addons_ui_BorderDef.fromXML = function(data) { var border_str = flixel_addons_ui_U.xml_str(data,"border"); var border_style = flixel_text_FlxTextBorderStyle.NONE; var border_color = flixel_addons_ui_U.xml_color(data,"border_color",true,0); var border_size = flixel_addons_ui_U.xml_f(data,"border_size",1); var border_quality = flixel_addons_ui_U.xml_f(data,"border_quality",0); var borderDef = new flixel_addons_ui_BorderDef(border_style,border_color,border_size,border_quality); switch(border_str) { case "": border_str = flixel_addons_ui_U.xml_str(data,"shadow",true,""); if(border_str != "" && border_str != "false" && border_str != "none") { borderDef.style = flixel_text_FlxTextBorderStyle.SHADOW; var safe = true; if(safe == null) { safe = false; } var return_val = flixel_util__$FlxColor_FlxColor_$Impl_$.fromString(border_str); if(return_val == null) { if(!safe) { throw new js__$Boot_HaxeError("U.parseHex() unable to parse hex String " + border_str); } else { return_val = 0; } } borderDef.color = return_val; } else { border_str = flixel_addons_ui_U.xml_str(data,"outline",true,""); if(border_str != "" && border_str != "false" && border_str != "none") { borderDef.style = flixel_text_FlxTextBorderStyle.OUTLINE; var safe1 = true; if(safe1 == null) { safe1 = false; } var return_val1 = flixel_util__$FlxColor_FlxColor_$Impl_$.fromString(border_str); if(return_val1 == null) { if(!safe1) { throw new js__$Boot_HaxeError("U.parseHex() unable to parse hex String " + border_str); } else { return_val1 = 0; } } borderDef.color = return_val1; } else { border_str = flixel_addons_ui_U.xml_str(data,"outline_fast"); if(border_str != "" && border_str != "false" && border_str != "none") { borderDef.style = flixel_text_FlxTextBorderStyle.OUTLINE_FAST; var safe2 = true; if(safe2 == null) { safe2 = false; } var return_val2 = flixel_util__$FlxColor_FlxColor_$Impl_$.fromString(border_str); if(return_val2 == null) { if(!safe2) { throw new js__$Boot_HaxeError("U.parseHex() unable to parse hex String " + border_str); } else { return_val2 = 0; } } borderDef.color = return_val2; } } } break; case "false":case "none": borderDef.style = flixel_text_FlxTextBorderStyle.NONE; break; case "outline": borderDef.style = flixel_text_FlxTextBorderStyle.OUTLINE; break; case "outline_fast": borderDef.style = flixel_text_FlxTextBorderStyle.OUTLINE_FAST; break; case "shadow": borderDef.style = flixel_text_FlxTextBorderStyle.SHADOW; break; } return borderDef; }; flixel_addons_ui_BorderDef.prototype = { style: null ,color: null ,size: null ,quality: null ,clone: function() { return new flixel_addons_ui_BorderDef(this.style,this.color,this.size,this.quality); } ,apply: function(f) { var Color = this.color; var Size = this.size; var Quality = this.quality; if(Quality == null) { Quality = 1; } if(Size == null) { Size = 1; } if(Color == null) { Color = 0; } f.set_borderStyle(this.style); f.set_borderColor(Color); f.set_borderSize(Size); f.set_borderQuality(Quality); return f; } ,__class__: flixel_addons_ui_BorderDef }; var flixel_addons_ui_ButtonLabelStyle = function(Font,Align,Color,Border) { this.align = null; this.color = null; this.border = null; this.font = null; this.font = Font; this.border = Border; this.color = Color; this.align = Align; }; $hxClasses["flixel.addons.ui.ButtonLabelStyle"] = flixel_addons_ui_ButtonLabelStyle; flixel_addons_ui_ButtonLabelStyle.__name__ = "flixel.addons.ui.ButtonLabelStyle"; flixel_addons_ui_ButtonLabelStyle.prototype = { font: null ,border: null ,color: null ,align: null ,apply: function(f) { if(this.font != null) { this.font.apply(null,f); } if(this.border != null) { this.border.apply(f); } if(this.color != null) { f.set_color(this.color); } if(this.align != null) { f.set_alignment(this.align); } } ,__class__: flixel_addons_ui_ButtonLabelStyle }; var flixel_addons_ui_FlxBaseMultiInput = function() { }; $hxClasses["flixel.addons.ui.FlxBaseMultiInput"] = flixel_addons_ui_FlxBaseMultiInput; flixel_addons_ui_FlxBaseMultiInput.__name__ = "flixel.addons.ui.FlxBaseMultiInput"; flixel_addons_ui_FlxBaseMultiInput.__interfaces__ = [flixel_util_IFlxDestroyable]; flixel_addons_ui_FlxBaseMultiInput.prototype = { input: null ,combos: null ,forbiddens: null ,destroy: function() { this.combos = null; this.forbiddens = null; } ,checkJustPressed: function() { return false; } ,checkJustReleased: function() { return false; } ,checkPressed: function() { return false; } ,justPressed: function() { if(this.checkJustPressed()) { return this.passCombosAndForbiddens(); } else { return false; } } ,justReleased: function() { if(this.checkJustReleased()) { if(this.forbiddens != null) { return this.checkForbiddens(false); } else { return true; } } else { return false; } } ,pressed: function() { if(this.checkPressed()) { return this.passCombosAndForbiddens(); } else { return false; } } ,equals: function(other) { if(other == null) { return false; } if(Type.typeof(other) != Type.typeof(this)) { return false; } if(this.input != other.input) { return false; } if(this.combos == null != (other.combos == null)) { return false; } if(this.forbiddens == null != (other.forbiddens == null)) { return false; } if(this.combos != null && other.combos != null) { var _g = 0; var _g1 = this.combos; while(_g < _g1.length) { var i = _g1[_g]; ++_g; if(other.combos.indexOf(i) == -1) { return false; } } } if(this.forbiddens != null && other.forbiddens != null) { var _g2 = 0; var _g11 = this.forbiddens; while(_g2 < _g11.length) { var i1 = _g11[_g2]; ++_g2; if(other.forbiddens.indexOf(i1) == -1) { return false; } } } return true; } ,passCombosAndForbiddens: function(comboValue,forbiddenValue) { if(forbiddenValue == null) { forbiddenValue = false; } if(comboValue == null) { comboValue = true; } var passCombos = this.combos == null || this.checkCombos(comboValue); var passForbiddens = this.forbiddens == null || this.checkForbiddens(forbiddenValue); if(passCombos) { return passForbiddens; } else { return false; } } ,checkCombos: function(value) { return false; } ,checkForbiddens: function(value) { return false; } ,__class__: flixel_addons_ui_FlxBaseMultiInput }; var flixel_addons_ui_FlxInputText = function(X,Y,Width,Text1,size,TextColor,BackgroundColor,EmbeddedFont) { if(EmbeddedFont == null) { EmbeddedFont = true; } if(BackgroundColor == null) { BackgroundColor = -1; } if(TextColor == null) { TextColor = -16777216; } if(size == null) { size = 8; } if(Width == null) { Width = 150; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } this._scrollBoundIndeces = { left : 0, right : 0}; this.backgroundColor = -1; this.fieldBorderThickness = 1; this.fieldBorderColor = -16777216; this.filterMode = 0; this.maxLength = 0; this.forceCase = 0; this.caretIndex = 0; this.hasFocus = false; this.caretWidth = 1; this.background = false; flixel_text_FlxText.call(this,X,Y,Width,Text1,size,EmbeddedFont); this.set_backgroundColor(BackgroundColor); if(BackgroundColor != 0) { this.background = true; } this.set_color(TextColor); this.set_caretColor(TextColor); this.caret = new flixel_FlxSprite(); this.caret.makeGraphic(this.caretWidth,size + 2 | 0); this._caretTimer = new flixel_util_FlxTimer(); this.set_caretIndex(0); this.set_hasFocus(false); if(this.background) { this.fieldBorderSprite = new flixel_FlxSprite(X,Y); this.backgroundSprite = new flixel_FlxSprite(X,Y); } this.set_lines(1); openfl_Lib.get_current().stage.addEventListener("keyDown",$bind(this,this.onKeyDown)); if(Text1 == null) { Text1 = ""; } this.set_text(Text1); this.calcFrame(); }; $hxClasses["flixel.addons.ui.FlxInputText"] = flixel_addons_ui_FlxInputText; flixel_addons_ui_FlxInputText.__name__ = "flixel.addons.ui.FlxInputText"; flixel_addons_ui_FlxInputText.__super__ = flixel_text_FlxText; flixel_addons_ui_FlxInputText.prototype = $extend(flixel_text_FlxText.prototype,{ customFilterPattern: null ,set_customFilterPattern: function(cfp) { this.customFilterPattern = cfp; this.set_filterMode(4); return this.customFilterPattern; } ,callback: null ,background: null ,caretColor: null ,set_caretColor: function(i) { this.caretColor = i; this.dirty = true; return this.caretColor; } ,caretWidth: null ,set_caretWidth: function(i) { this.caretWidth = i; this.dirty = true; return this.caretWidth; } ,params: null ,hasFocus: null ,caretIndex: null ,focusGained: null ,focusLost: null ,forceCase: null ,maxLength: null ,lines: null ,filterMode: null ,fieldBorderColor: null ,fieldBorderThickness: null ,backgroundColor: null ,backgroundSprite: null ,_caretTimer: null ,caret: null ,fieldBorderSprite: null ,_scrollBoundIndeces: null ,_charBoundaries: null ,lastScroll: null ,destroy: function() { openfl_Lib.get_current().stage.removeEventListener("keyDown",$bind(this,this.onKeyDown)); this.backgroundSprite = flixel_util_FlxDestroyUtil.destroy(this.backgroundSprite); this.fieldBorderSprite = flixel_util_FlxDestroyUtil.destroy(this.fieldBorderSprite); this.callback = null; flixel_text_FlxText.prototype.destroy.call(this); } ,draw: function() { this.drawSprite(this.fieldBorderSprite); this.drawSprite(this.backgroundSprite); flixel_text_FlxText.prototype.draw.call(this); if(this.caretColor != this.caret.color || this.caret.get_height() != (this._defaultFormat.size | 0) + 2) { this.caret.set_color(this.caretColor); } this.drawSprite(this.caret); } ,drawSprite: function(Sprite) { if(Sprite != null && Sprite.visible) { Sprite.scrollFactor = this.scrollFactor; Sprite.set_cameras(this.get_cameras()); Sprite.draw(); } } ,update: function(elapsed) { flixel_text_FlxText.prototype.update.call(this,elapsed); if(flixel_FlxG.mouse._leftButton.current == 2) { var hadFocus = this.hasFocus; if(flixel_FlxG.mouse.overlaps(this)) { this.set_caretIndex(this.getCaretIndex()); this.set_hasFocus(true); if(!hadFocus && this.focusGained != null) { this.focusGained(); } } else { this.set_hasFocus(false); if(hadFocus && this.focusLost != null) { this.focusLost(); } } } } ,onKeyDown: function(e) { var key = e.keyCode; if(this.hasFocus) { if(key == 16 || key == 17 || key == 220 || key == 27) { return; } else if(key == 37) { if(this.caretIndex > 0) { var _g = this; _g.set_caretIndex(_g.caretIndex - 1); this.set_text(this.text); } } else if(key == 39) { if(this.caretIndex < this.text.length) { var _g1 = this; _g1.set_caretIndex(_g1.caretIndex + 1); this.set_text(this.text); } } else if(key == 35) { this.set_caretIndex(this.text.length); this.set_text(this.text); } else if(key == 36) { this.set_caretIndex(0); this.set_text(this.text); } else if(key == 8) { if(this.caretIndex > 0) { var _g2 = this; _g2.set_caretIndex(_g2.caretIndex - 1); this.set_text(this.text.substring(0,this.caretIndex) + this.text.substring(this.caretIndex + 1)); this.onChange("backspace"); } } else if(key == 46) { if(this.text.length > 0 && this.caretIndex < this.text.length) { this.set_text(this.text.substring(0,this.caretIndex) + this.text.substring(this.caretIndex + 1)); this.onChange("delete"); } } else if(key == 13) { this.onChange("enter"); } else { if(e.charCode == 0) { return; } var code = e.charCode; var newText = this.filter(String.fromCodePoint(code)); if(newText.length > 0 && (this.maxLength == 0 || this.text.length + newText.length < this.maxLength)) { this.set_text(this.insertSubstring(this.text,newText,this.caretIndex)); var _g3 = this; _g3.set_caretIndex(_g3.caretIndex + 1); this.onChange("input"); } } } } ,onChange: function(action) { if(this.callback != null) { this.callback(this.text,action); } } ,insertSubstring: function(Original,Insert,Index) { if(Index != Original.length) { Original = Original.substring(0,Index) + Insert + Original.substring(Index); } else { Original += Insert; } return Original; } ,getCaretIndex: function() { var X = flixel_FlxG.mouse.x - this.x; var Y = flixel_FlxG.mouse.y - this.y; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; var hit = point; return this.getCharIndexAtPoint(hit.x,hit.y); } ,getCharBoundaries: function(charIndex) { if(this._charBoundaries != null && charIndex >= 0 && this._charBoundaries.length > 0) { var r = new openfl_geom_Rectangle(); if(charIndex >= this._charBoundaries.length) { var _this = this._charBoundaries[this._charBoundaries.length - 1]; var FlashRect = r; if(FlashRect == null) { FlashRect = new openfl_geom_Rectangle(); } FlashRect.x = _this.x; FlashRect.y = _this.y; FlashRect.width = _this.width; FlashRect.height = _this.height; } else { var _this1 = this._charBoundaries[charIndex]; var FlashRect1 = r; if(FlashRect1 == null) { FlashRect1 = new openfl_geom_Rectangle(); } FlashRect1.x = _this1.x; FlashRect1.y = _this1.y; FlashRect1.width = _this1.width; FlashRect1.height = _this1.height; } return r; } return null; } ,set_text: function(Text1) { var return_text = flixel_text_FlxText.prototype.set_text.call(this,Text1); if(this.textField == null) { return return_text; } var numChars = Text1.length; this.prepareCharBoundaries(numChars); this.textField.set_text(""); var textH = 0; var textW = 0; var lastW = 0; var magicX = 2; var magicY = 2; var _g = 0; var _g1 = numChars; while(_g < _g1) { var i = _g++; this.textField.appendText(HxOverrides.substr(Text1,i,1)); textW = this.textField.get_textWidth(); if(i == 0) { textH = this.textField.get_textHeight(); } this._charBoundaries[i].x = magicX + lastW; this._charBoundaries[i].y = magicY; this._charBoundaries[i].width = textW - lastW; this._charBoundaries[i].height = textH; lastW = textW; } this.textField.set_text(Text1); this.onSetTextCheck(); return return_text; } ,getCharIndexAtPoint: function(X,Y) { var i = 0; if(this._charBoundaries != null && this._charBoundaries.length > 0) { if(this.textField.get_textWidth() <= this.textField.get_width()) { switch(this.getAlignStr()) { case "center": X = X - this.textField.get_width() / 2 + this.textField.get_textWidth() / 2; break; case "right": X = X - this.textField.get_width() + this.textField.get_textWidth(); break; default: } } } if(this._charBoundaries != null) { var _g = 0; var _g1 = this._charBoundaries; while(_g < _g1.length) { var r = _g1[_g]; ++_g; if(X >= r.x && X <= r.x + r.width) { return i; } ++i; } } if(this._charBoundaries != null && this._charBoundaries.length > 0) { if(X > this.textField.get_textWidth()) { return this._charBoundaries.length; } } return 0; } ,prepareCharBoundaries: function(numChars) { if(this._charBoundaries == null) { this._charBoundaries = []; } if(this._charBoundaries.length > numChars) { var diff = this._charBoundaries.length - numChars; var _g = 0; var _g1 = diff; while(_g < _g1) { var i = _g++; this._charBoundaries.pop(); } } var _g2 = 0; var _g11 = numChars; while(_g2 < _g11) { var i1 = _g2++; if(this._charBoundaries.length - 1 < i1) { var tmp = this._charBoundaries; var X = 0; var Y = 0; var Width = 0; var Height = 0; if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } var _this = flixel_math_FlxRect._pool.get(); var X1 = X; var Y1 = Y; var Width1 = Width; var Height1 = Height; if(Height1 == null) { Height1 = 0; } if(Width1 == null) { Width1 = 0; } if(Y1 == null) { Y1 = 0; } if(X1 == null) { X1 = 0; } _this.x = X1; _this.y = Y1; _this.width = Width1; _this.height = Height1; var rect = _this; rect._inPool = false; tmp.push(rect); } } } ,onSetTextCheck: function() { } ,calcFrame: function(RunOnCpp) { if(RunOnCpp == null) { RunOnCpp = false; } flixel_text_FlxText.prototype.calcFrame.call(this,RunOnCpp); if(this.fieldBorderSprite != null) { if(this.fieldBorderThickness > 0) { this.fieldBorderSprite.makeGraphic(this.get_width() + this.fieldBorderThickness * 2 | 0,this.get_height() + this.fieldBorderThickness * 2 | 0,this.fieldBorderColor); this.fieldBorderSprite.set_x(this.x - this.fieldBorderThickness); this.fieldBorderSprite.set_y(this.y - this.fieldBorderThickness); } else if(this.fieldBorderThickness == 0) { this.fieldBorderSprite.set_visible(false); } } if(this.backgroundSprite != null) { if(this.background) { this.backgroundSprite.makeGraphic(this.get_width() | 0,this.get_height() | 0,this.backgroundColor); this.backgroundSprite.set_x(this.x); this.backgroundSprite.set_y(this.y); } else { this.backgroundSprite.set_visible(false); } } if(this.caret != null) { var cw = this.caretWidth; var ch = (this._defaultFormat.size | 0) + 2 | 0; var borderC = -16777216 | this.borderColor & 16777215; var caretC = -16777216 | this.caretColor & 16777215; var caretKey = "caret" + cw + "x" + ch + "c:" + caretC + "b:" + Std.string(this.borderStyle) + "," + this.borderSize + "," + borderC; switch(this.borderStyle._hx_index) { case 0: this.caret.makeGraphic(cw,ch,caretC,false,caretKey); this.caret.offset.set_x(this.caret.offset.set_y(0)); break; case 1: cw += this.borderSize | 0; ch += this.borderSize | 0; this.caret.makeGraphic(cw,ch,0,false,caretKey); var r = new openfl_geom_Rectangle(this.borderSize,this.borderSize,this.caretWidth,(this._defaultFormat.size | 0) + 2 | 0); this.caret.get_pixels().fillRect(r,borderC); r.x = r.y = 0; this.caret.get_pixels().fillRect(r,caretC); this.caret.offset.set_x(this.caret.offset.set_y(0)); break; case 2:case 3: cw += this.borderSize * 2 | 0; ch += this.borderSize * 2 | 0; this.caret.makeGraphic(cw,ch,borderC,false,caretKey); var r1 = new openfl_geom_Rectangle(this.borderSize,this.borderSize,this.caretWidth,(this._defaultFormat.size | 0) + 2 | 0); this.caret.get_pixels().fillRect(r1,caretC); this.caret.offset.set_x(this.caret.offset.set_y(this.borderSize)); break; } this.caret.set_width(cw); this.caret.set_height(ch); this.set_caretIndex(this.caretIndex); } } ,toggleCaret: function(timer) { this.caret.set_visible(!this.caret.visible); } ,filter: function(text) { if(this.forceCase == 1) { text = text.toUpperCase(); } else if(this.forceCase == 2) { text = text.toLowerCase(); } if(this.filterMode != 0) { var pattern; switch(this.filterMode) { case 1: pattern = new EReg("[^a-zA-Z]*","g"); break; case 2: pattern = new EReg("[^0-9]*","g"); break; case 3: pattern = new EReg("[^a-zA-Z0-9]*","g"); break; case 4: pattern = this.customFilterPattern; break; default: throw new js__$Boot_HaxeError(new openfl_errors_Error("FlxInputText: Unknown filterMode (" + this.filterMode + ")")); } text = text.replace(pattern.r,""); } return text; } ,set_params: function(p) { this.params = p; if(this.params == null) { this.params = []; } var namedValue = { name : "value", value : this.text}; this.params.push(namedValue); return p; } ,set_x: function(X) { if(this.fieldBorderSprite != null && this.fieldBorderThickness > 0) { this.fieldBorderSprite.set_x(X - this.fieldBorderThickness); } if(this.backgroundSprite != null && this.background) { this.backgroundSprite.set_x(X); } return flixel_text_FlxText.prototype.set_x.call(this,X); } ,set_y: function(Y) { if(this.fieldBorderSprite != null && this.fieldBorderThickness > 0) { this.fieldBorderSprite.set_y(Y - this.fieldBorderThickness); } if(this.backgroundSprite != null && this.background) { this.backgroundSprite.set_y(Y); } return flixel_text_FlxText.prototype.set_y.call(this,Y); } ,set_hasFocus: function(newFocus) { if(newFocus) { if(this.hasFocus != newFocus) { this._caretTimer = new flixel_util_FlxTimer().start(0.5,$bind(this,this.toggleCaret),0); this.caret.set_visible(true); this.set_caretIndex(this.text.length); } } else { this.caret.set_visible(false); if(this._caretTimer != null) { this._caretTimer.cancel(); } } if(newFocus != this.hasFocus) { this.calcFrame(); } return this.hasFocus = newFocus; } ,getAlignStr: function() { var alignStr = "left"; if(this._defaultFormat != null && this._defaultFormat.align != null) { alignStr = flixel_text__$FlxText_FlxTextAlign_$Impl_$.fromOpenFL(this._defaultFormat.align); } return alignStr; } ,set_caretIndex: function(newCaretIndex) { var offx = 0; var alignStr = this.getAlignStr(); switch(alignStr) { case "center": if(offx <= 1) { offx = 0; } break; case "right": offx = this.textField.get_width() - 2 - this.textField.get_textWidth() - 2; if(offx < 0) { offx = 0; } break; default: offx = 0; } this.caretIndex = newCaretIndex; if(this.caretIndex > this.text.length + 1) { this.caretIndex = -1; } if(this.caretIndex != -1) { var boundaries = null; if(this.caretIndex < this.text.length) { boundaries = this.getCharBoundaries(this.caretIndex); if(boundaries != null) { this.caret.set_x(offx + boundaries.get_left() + this.x); this.caret.set_y(boundaries.get_top() + this.y); } } else { boundaries = this.getCharBoundaries(this.caretIndex - 1); if(boundaries != null) { this.caret.set_x(offx + boundaries.get_right() + this.x); this.caret.set_y(boundaries.get_top() + this.y); } else if(this.text.length == 0) { this.caret.set_x(this.x + offx + 2); this.caret.set_y(this.y + 2); } } } if(this.lines == 1 && this.caret.x + this.caret.get_width() > this.x + this.get_width()) { this.caret.set_x(this.x + this.get_width() - 2); } return this.caretIndex; } ,set_forceCase: function(Value) { this.forceCase = Value; this.set_text(this.filter(this.text)); return this.forceCase; } ,set_size: function(Value) { flixel_text_FlxText.prototype.set_size.call(this,Value); this.caret.makeGraphic(1,(this._defaultFormat.size | 0) + 2 | 0); return Value; } ,set_maxLength: function(Value) { this.maxLength = Value; if(this.text.length > this.maxLength) { this.set_text(this.text.substring(0,this.maxLength)); } return this.maxLength; } ,set_lines: function(Value) { if(Value == 0) { return 0; } if(Value > 1) { this.textField.set_wordWrap(true); this.textField.set_multiline(true); } else { this.textField.set_wordWrap(false); this.textField.set_multiline(false); } this.lines = Value; this.calcFrame(); return this.lines; } ,get_passwordMode: function() { return this.textField.get_displayAsPassword(); } ,set_passwordMode: function(value) { this.textField.set_displayAsPassword(value); this.calcFrame(); return value; } ,set_filterMode: function(Value) { this.filterMode = Value; this.set_text(this.filter(this.text)); return this.filterMode; } ,set_fieldBorderColor: function(Value) { this.fieldBorderColor = Value; this.calcFrame(); return this.fieldBorderColor; } ,set_fieldBorderThickness: function(Value) { this.fieldBorderThickness = Value; this.calcFrame(); return this.fieldBorderThickness; } ,set_backgroundColor: function(Value) { this.backgroundColor = Value; this.calcFrame(); return this.backgroundColor; } ,__class__: flixel_addons_ui_FlxInputText ,__properties__: $extend(flixel_text_FlxText.prototype.__properties__,{set_backgroundColor:"set_backgroundColor",set_fieldBorderThickness:"set_fieldBorderThickness",set_fieldBorderColor:"set_fieldBorderColor",set_filterMode:"set_filterMode",set_lines:"set_lines",set_maxLength:"set_maxLength",set_forceCase:"set_forceCase",set_caretIndex:"set_caretIndex",set_hasFocus:"set_hasFocus",set_passwordMode:"set_passwordMode",get_passwordMode:"get_passwordMode",set_params:"set_params",set_caretWidth:"set_caretWidth",set_caretColor:"set_caretColor",set_customFilterPattern:"set_customFilterPattern"}) }); var flixel_addons_ui_FlxMultiGamepad = function(Gamepad1,Input,Combos,Forbiddens) { flixel_addons_ui_FlxBaseMultiInput.call(this); this.input = Input; this.gamepad = Gamepad1; this.combos = Combos; this.forbiddens = Forbiddens; }; $hxClasses["flixel.addons.ui.FlxMultiGamepad"] = flixel_addons_ui_FlxMultiGamepad; flixel_addons_ui_FlxMultiGamepad.__name__ = "flixel.addons.ui.FlxMultiGamepad"; flixel_addons_ui_FlxMultiGamepad.__super__ = flixel_addons_ui_FlxBaseMultiInput; flixel_addons_ui_FlxMultiGamepad.prototype = $extend(flixel_addons_ui_FlxBaseMultiInput.prototype,{ gamepad: null ,destroy: function() { flixel_addons_ui_FlxBaseMultiInput.prototype.destroy.call(this); this.gamepad = null; } ,checkJustPressed: function() { if(this.gamepad == null) { return false; } var _this = this.gamepad; var ID = this.input; var Status = 2; switch(ID) { case -2: return _this.anyButton(Status); case -1: return !_this.anyButton(Status); default: var RawID = _this.mapping.getRawID(ID); var button = _this.buttons[RawID]; if(button != null) { return button.hasState(Status); } else { return false; } } } ,checkJustReleased: function() { if(this.gamepad == null) { return false; } var _this = this.gamepad; var ID = this.input; var Status = -1; switch(ID) { case -2: return _this.anyButton(Status); case -1: return !_this.anyButton(Status); default: var RawID = _this.mapping.getRawID(ID); var button = _this.buttons[RawID]; if(button != null) { return button.hasState(Status); } else { return false; } } } ,checkPressed: function() { if(this.gamepad == null) { return false; } var _this = this.gamepad; var ID = this.input; var Status = 1; switch(ID) { case -2: return _this.anyButton(Status); case -1: return !_this.anyButton(Status); default: var RawID = _this.mapping.getRawID(ID); var button = _this.buttons[RawID]; if(button != null) { return button.hasState(Status); } else { return false; } } } ,checkCombos: function(value) { if(this.gamepad == null) { return false; } return this.gamepad.checkButtonArrayState(this.combos,1) == value; } ,checkForbiddens: function(value) { if(this.gamepad == null) { return false; } return this.gamepad.checkButtonArrayState(this.forbiddens,1) == value; } ,__class__: flixel_addons_ui_FlxMultiGamepad }); var flixel_addons_ui_FlxMultiGamepadAnalogStick = function(Gamepad1,Input,Combos,Forbiddens) { this.sInput = Input; flixel_addons_ui_FlxMultiGamepad.call(this,Gamepad1,Input.id,Combos,Forbiddens); }; $hxClasses["flixel.addons.ui.FlxMultiGamepadAnalogStick"] = flixel_addons_ui_FlxMultiGamepadAnalogStick; flixel_addons_ui_FlxMultiGamepadAnalogStick.__name__ = "flixel.addons.ui.FlxMultiGamepadAnalogStick"; flixel_addons_ui_FlxMultiGamepadAnalogStick.getStickInput = function(str) { str = str.toLowerCase(); switch(str) { case "left_analog_stick_x_minus": return { id : 19, axis : flixel_addons_ui_XY.X, positive : false}; case "left_analog_stick_x_plus": return { id : 19, axis : flixel_addons_ui_XY.X, positive : true}; case "left_analog_stick_y_minus": return { id : 19, axis : flixel_addons_ui_XY.Y, positive : false}; case "left_analog_stick_y_plus": return { id : 19, axis : flixel_addons_ui_XY.Y, positive : true}; case "right_analog_stick_x_minus": return { id : 20, axis : flixel_addons_ui_XY.X, positive : false}; case "right_analog_stick_x_plus": return { id : 20, axis : flixel_addons_ui_XY.X, positive : true}; case "right_analog_stick_y_minus": return { id : 20, axis : flixel_addons_ui_XY.Y, positive : false}; case "right_analog_stick_y_plus": return { id : 20, axis : flixel_addons_ui_XY.Y, positive : true}; } return null; }; flixel_addons_ui_FlxMultiGamepadAnalogStick.__super__ = flixel_addons_ui_FlxMultiGamepad; flixel_addons_ui_FlxMultiGamepadAnalogStick.prototype = $extend(flixel_addons_ui_FlxMultiGamepad.prototype,{ sInput: null ,destroy: function() { flixel_addons_ui_FlxMultiGamepad.prototype.destroy.call(this); this.sInput = null; } ,checkJustPressed: function() { if(this.gamepad == null) { return false; } var dz = this.gamepad.get_deadZone(); switch(this.sInput.id) { case 19: if(this.sInput.axis == flixel_addons_ui_XY.X) { var _this = this.gamepad.analog.justMoved; var stick = _this.gamepad.mapping.getAnalogStick(19); var tmp; if(stick == null) { tmp = false; } else { var button = _this.gamepad.buttons[stick.x]; tmp = button != null && button.hasState(_this.status); } if(tmp) { if(this.sInput.positive) { var _this1 = this.gamepad.analog.value.gamepad; return _this1.getAnalogXAxisValue(_this1.mapping.getAnalogStick(19)) > dz; } else { var _this2 = this.gamepad.analog.value.gamepad; return _this2.getAnalogXAxisValue(_this2.mapping.getAnalogStick(19)) < -dz; } } else { return false; } } else { var _this3 = this.gamepad.analog.justMoved; var stick1 = _this3.gamepad.mapping.getAnalogStick(19); var tmp1; if(stick1 == null) { tmp1 = false; } else { var button1 = _this3.gamepad.buttons[stick1.y]; tmp1 = button1 != null && button1.hasState(_this3.status); } if(tmp1) { if(this.sInput.positive) { var _this4 = this.gamepad.analog.value.gamepad; return _this4.getYAxisRaw(_this4.mapping.getAnalogStick(19)) > dz; } else { var _this5 = this.gamepad.analog.value.gamepad; return _this5.getYAxisRaw(_this5.mapping.getAnalogStick(19)) < -dz; } } else { return false; } } break; case 20: if(this.sInput.axis == flixel_addons_ui_XY.X) { var _this6 = this.gamepad.analog.justMoved; var stick2 = _this6.gamepad.mapping.getAnalogStick(20); var tmp2; if(stick2 == null) { tmp2 = false; } else { var button2 = _this6.gamepad.buttons[stick2.x]; tmp2 = button2 != null && button2.hasState(_this6.status); } if(tmp2) { if(this.sInput.positive) { var _this7 = this.gamepad.analog.value.gamepad; return _this7.getAnalogXAxisValue(_this7.mapping.getAnalogStick(20)) > dz; } else { var _this8 = this.gamepad.analog.value.gamepad; return _this8.getAnalogXAxisValue(_this8.mapping.getAnalogStick(20)) < -dz; } } else { return false; } } else { var _this9 = this.gamepad.analog.justMoved; var stick3 = _this9.gamepad.mapping.getAnalogStick(20); var tmp3; if(stick3 == null) { tmp3 = false; } else { var button3 = _this9.gamepad.buttons[stick3.y]; tmp3 = button3 != null && button3.hasState(_this9.status); } if(tmp3) { if(this.sInput.positive) { var _this10 = this.gamepad.analog.value.gamepad; return _this10.getYAxisRaw(_this10.mapping.getAnalogStick(20)) > dz; } else { var _this11 = this.gamepad.analog.value.gamepad; return _this11.getYAxisRaw(_this11.mapping.getAnalogStick(20)) < -dz; } } else { return false; } } break; default: return false; } } ,checkJustReleased: function() { if(this.gamepad == null) { return false; } switch(this.sInput.id) { case 19: if(this.sInput.axis == flixel_addons_ui_XY.X) { var _this = this.gamepad.analog.justReleased; var stick = _this.gamepad.mapping.getAnalogStick(19); if(stick == null) { return false; } else { var button = _this.gamepad.buttons[stick.x]; if(button != null) { return button.hasState(_this.status); } else { return false; } } } else { var _this1 = this.gamepad.analog.justReleased; var stick1 = _this1.gamepad.mapping.getAnalogStick(19); if(stick1 == null) { return false; } else { var button1 = _this1.gamepad.buttons[stick1.y]; if(button1 != null) { return button1.hasState(_this1.status); } else { return false; } } } break; case 20: if(this.sInput.axis == flixel_addons_ui_XY.X) { var _this2 = this.gamepad.analog.justReleased; var stick2 = _this2.gamepad.mapping.getAnalogStick(20); if(stick2 == null) { return false; } else { var button2 = _this2.gamepad.buttons[stick2.x]; if(button2 != null) { return button2.hasState(_this2.status); } else { return false; } } } else { var _this3 = this.gamepad.analog.justReleased; var stick3 = _this3.gamepad.mapping.getAnalogStick(20); if(stick3 == null) { return false; } else { var button3 = _this3.gamepad.buttons[stick3.y]; if(button3 != null) { return button3.hasState(_this3.status); } else { return false; } } } break; default: return false; } } ,checkPressed: function() { if(this.gamepad == null) { return false; } var value = false; var dz = this.gamepad.get_deadZone(); switch(this.sInput.id) { case 19: if(this.sInput.axis == flixel_addons_ui_XY.X) { if(this.sInput.positive) { var _this = this.gamepad.analog.value.gamepad; return _this.getAnalogXAxisValue(_this.mapping.getAnalogStick(19)) > dz; } else { var _this1 = this.gamepad.analog.value.gamepad; return _this1.getAnalogXAxisValue(_this1.mapping.getAnalogStick(19)) < -dz; } } else if(this.sInput.positive) { var _this2 = this.gamepad.analog.value.gamepad; return _this2.getYAxisRaw(_this2.mapping.getAnalogStick(19)) > dz; } else { var _this3 = this.gamepad.analog.value.gamepad; return _this3.getYAxisRaw(_this3.mapping.getAnalogStick(19)) < -dz; } break; case 20: if(this.sInput.axis == flixel_addons_ui_XY.X) { if(this.sInput.positive) { var _this4 = this.gamepad.analog.value.gamepad; return _this4.getAnalogXAxisValue(_this4.mapping.getAnalogStick(20)) > dz; } else { var _this5 = this.gamepad.analog.value.gamepad; return _this5.getAnalogXAxisValue(_this5.mapping.getAnalogStick(20)) < -dz; } } else if(this.sInput.positive) { var _this6 = this.gamepad.analog.value.gamepad; return _this6.getYAxisRaw(_this6.mapping.getAnalogStick(20)) > dz; } else { var _this7 = this.gamepad.analog.value.gamepad; return _this7.getYAxisRaw(_this7.mapping.getAnalogStick(20)) < -dz; } break; default: value = false; return value; } } ,checkCombos: function(value) { if(this.gamepad == null) { return false; } return this.gamepad.checkButtonArrayState(this.combos,1) == value; } ,checkForbiddens: function(value) { if(this.gamepad == null) { return false; } return this.gamepad.checkButtonArrayState(this.forbiddens,1) == value; } ,__class__: flixel_addons_ui_FlxMultiGamepadAnalogStick }); var flixel_addons_ui_XY = $hxEnums["flixel.addons.ui.XY"] = { __ename__ : "flixel.addons.ui.XY", __constructs__ : ["X","Y"] ,X: {_hx_index:0,__enum__:"flixel.addons.ui.XY",toString:$estr} ,Y: {_hx_index:1,__enum__:"flixel.addons.ui.XY",toString:$estr} }; var flixel_addons_ui_FlxMultiKey = function(Input,Combos,Forbiddens) { flixel_addons_ui_FlxBaseMultiInput.call(this); this.input = Input; this.combos = Combos; this.forbiddens = Forbiddens; }; $hxClasses["flixel.addons.ui.FlxMultiKey"] = flixel_addons_ui_FlxMultiKey; flixel_addons_ui_FlxMultiKey.__name__ = "flixel.addons.ui.FlxMultiKey"; flixel_addons_ui_FlxMultiKey.__super__ = flixel_addons_ui_FlxBaseMultiInput; flixel_addons_ui_FlxMultiKey.prototype = $extend(flixel_addons_ui_FlxBaseMultiInput.prototype,{ checkJustPressed: function() { return flixel_FlxG.keys.checkStatus(this.input,2); } ,checkJustReleased: function() { return flixel_FlxG.keys.checkStatus(this.input,-1); } ,checkPressed: function() { return flixel_FlxG.keys.checkStatus(this.input,1); } ,checkCombos: function(value) { return flixel_FlxG.keys.checkKeyArrayState(this.combos,1) == value; } ,checkForbiddens: function(value) { return flixel_FlxG.keys.checkKeyArrayState(this.forbiddens,1) == value; } ,__class__: flixel_addons_ui_FlxMultiKey }); var flixel_addons_ui_interfaces_IFlxUIWidget = function() { }; $hxClasses["flixel.addons.ui.interfaces.IFlxUIWidget"] = flixel_addons_ui_interfaces_IFlxUIWidget; flixel_addons_ui_interfaces_IFlxUIWidget.__name__ = "flixel.addons.ui.interfaces.IFlxUIWidget"; flixel_addons_ui_interfaces_IFlxUIWidget.__isInterface__ = true; flixel_addons_ui_interfaces_IFlxUIWidget.__interfaces__ = [flixel_IFlxSprite]; flixel_addons_ui_interfaces_IFlxUIWidget.prototype = { get_width: null ,set_width: null ,get_height: null ,set_height: null ,name: null ,broadcastToFlxUI: null ,__class__: flixel_addons_ui_interfaces_IFlxUIWidget ,__properties__: {set_height:"set_height",get_height:"get_height",set_width:"set_width",get_width:"get_width"} }; var flixel_addons_ui_FlxUIGroup = function(X,Y) { if(Y == null) { Y = 0; } if(X == null) { X = 0; } this.autoBounds = true; this.broadcastToFlxUI = true; flixel_group_FlxTypedSpriteGroup.call(this,X,Y); }; $hxClasses["flixel.addons.ui.FlxUIGroup"] = flixel_addons_ui_FlxUIGroup; flixel_addons_ui_FlxUIGroup.__name__ = "flixel.addons.ui.FlxUIGroup"; flixel_addons_ui_FlxUIGroup.__interfaces__ = [flixel_addons_ui_interfaces_IFlxUIWidget]; flixel_addons_ui_FlxUIGroup.__super__ = flixel_group_FlxTypedSpriteGroup; flixel_addons_ui_FlxUIGroup.prototype = $extend(flixel_group_FlxTypedSpriteGroup.prototype,{ name: null ,broadcastToFlxUI: null ,autoBounds: null ,destroy: function() { flixel_group_FlxTypedSpriteGroup.prototype.destroy.call(this); } ,add: function(Object1) { var obj = flixel_group_FlxTypedSpriteGroup.prototype.add.call(this,Object1); if(this.autoBounds) { this.calcBounds(); } return obj; } ,remove: function(Object1,Splice) { if(Splice == null) { Splice = false; } var obj = flixel_group_FlxTypedSpriteGroup.prototype.remove.call(this,Object1,Splice); if(this.autoBounds) { this.calcBounds(); } return obj; } ,setScrollFactor: function(X,Y) { var _g = 0; var _g1 = this.group.members; while(_g < _g1.length) { var obj = _g1[_g]; ++_g; if(obj != null) { obj.scrollFactor.set(X,Y); } } } ,hasThis: function(Object1) { var _g = 0; var _g1 = this.group.members; while(_g < _g1.length) { var obj = _g1[_g]; ++_g; if(obj == Object1) { return true; } } return false; } ,calcBounds: function(rect) { if(this.group.members != null && this.group.members.length > 0) { var left = Infinity; var right = -Infinity; var top = Infinity; var bottom = -Infinity; var _g = 0; var _g1 = this.group.members; while(_g < _g1.length) { var fb = _g1[_g]; ++_g; if(fb != null) { if(js_Boot.__implements(fb,flixel_addons_ui_interfaces_IFlxUIWidget)) { var flui = fb; if(flui.x < left) { left = flui.x; } if(flui.x + flui.get_width() > right) { right = flui.x + flui.get_width(); } if(flui.y < top) { top = flui.y; } if(flui.y + flui.get_height() > bottom) { bottom = flui.y + flui.get_height(); } } else if(((fb) instanceof flixel_FlxSprite)) { var flxi = fb; if(flxi.x < left) { left = flxi.x; } if(flxi.x > right) { right = flxi.x; } if(flxi.y < top) { top = flxi.y; } if(flxi.y > bottom) { bottom = flxi.y; } } } } this.set_width(right - left); this.set_height(bottom - top); if(rect != null) { rect.x = left; rect.y = top; rect.width = this.get_width(); rect.height = this.get_height(); } } else { this.set_width(this.set_height(0)); } } ,floorAll: function() { var fs = null; var _g = 0; var _g1 = this.group.members; while(_g < _g1.length) { var fb = _g1[_g]; ++_g; fs = fb; fs.set_x(Math.floor(fs.x)); fs.set_y(Math.floor(fs.y)); } } ,__class__: flixel_addons_ui_FlxUIGroup }); var flixel_addons_ui_FlxUI = function(data,ptr,superIndex_,tongue_,liveFilePath_,uiVars_) { if(liveFilePath_ == null) { liveFilePath_ = ""; } this._scaledAssets = []; this._assetsToCleanUp = []; this._safe_input_delay_elapsed = 0.0; this._curr_mode = ""; this._pointY = 1; this._pointX = 1; this._postLoaded = false; this.cursorLists = null; this.getTextFallback = null; this.failed_by = 0; this.failed = false; this.safe_input_delay_time = 0.01; this.do_safe_input_delay = true; flixel_addons_ui_FlxUIGroup.call(this); this._ptr_tongue = tongue_; this._ptr = ptr; if(superIndex_ != null) { this.setSuperIndex(superIndex_); } if(uiVars_ != null) { this._variable_index = new haxe_ds_StringMap(); var key = uiVars_.keys(); while(key.hasNext()) { var key1 = key.next(); var this1 = this._variable_index; var value = __map_reserved[key1] != null ? uiVars_.getReserved(key1) : uiVars_.h[key1]; var _this = this1; if(__map_reserved[key1] != null) { _this.setReserved(key1,value); } else { _this.h[key1] = value; } } } if(data != null) { this.load(data); } }; $hxClasses["flixel.addons.ui.FlxUI"] = flixel_addons_ui_FlxUI; flixel_addons_ui_FlxUI.__name__ = "flixel.addons.ui.FlxUI"; flixel_addons_ui_FlxUI.__interfaces__ = [flixel_addons_ui_interfaces_IEventGetter]; flixel_addons_ui_FlxUI.event = function(name,sender,data,params) { var currState = flixel_addons_ui_FlxUI.getLeafUIState(); if(currState != null) { currState.getEvent(name,sender,data,params); } }; flixel_addons_ui_FlxUI.fontStr = function(str,style) { if(style == null) { style = ""; } var currState = flixel_addons_ui_FlxUI.getLeafUIState(); var tongue = currState._tongue; var t = tongue != null ? tongue : null; if(t != null) { str = t.getFont(str); } var style1 = style; if(style1 == null) { style1 = ""; } var style2 = style1; if(style2 == null) { style2 = ""; } style2 = style2.toLowerCase(); var suffix = ""; switch(style2) { case "b":case "bold": suffix = "b"; break; case "bi":case "bold-italic":case "boldi":case "bolditalic":case "ib":case "ibold":case "italic-bold":case "italicbold":case "z": suffix = "z"; break; case "i":case "italic": suffix = "i"; break; case "":case "none":case "normal":case "regular": suffix = ""; break; } if(str.indexOf("assets/fonts/") != 0) { return "assets/fonts/" + str + suffix; } else { return str + suffix; } }; flixel_addons_ui_FlxUI.fontSize = function(str,size) { var currState = flixel_addons_ui_FlxUI.getLeafUIState(); var tongue = currState._tongue; var t = tongue != null ? tongue : null; if(t != null) { size = t.getFontSize(str,size); } return size; }; flixel_addons_ui_FlxUI.font = function(str,style,extension) { if(extension == null) { extension = ".ttf"; } if(style == null) { style = ""; } var currState = flixel_addons_ui_FlxUI.getLeafUIState(); var tongue = currState._tongue; var t = tongue != null ? tongue : null; if(t != null) { str = t.getFont(str); } return flixel_addons_ui_U.font(str,style,extension); }; flixel_addons_ui_FlxUI.__getTongue = function() { var currState = flixel_addons_ui_FlxUI.getLeafUIState(); var tongue = currState._tongue; if(tongue != null) { return tongue; } return null; }; flixel_addons_ui_FlxUI.forceFocus = function(b,thing) { var currState = flixel_addons_ui_FlxUI.getLeafUIState(); if(currState != null) { currState.forceFocus(b,thing); } }; flixel_addons_ui_FlxUI.getLeafUIState = function() { var state = flixel_FlxG.game._state; if(state != null) { while(state.subState != null) state = state.subState; } if(js_Boot.__implements(state,flixel_addons_ui_interfaces_IFlxUIState)) { return state; } return null; }; flixel_addons_ui_FlxUI.request = function(name,sender,data,params) { var currState = flixel_addons_ui_FlxUI.getLeafUIState(); if(currState != null) { return currState.getRequest(name,sender,data,params); } return null; }; flixel_addons_ui_FlxUI._delta = function(thing,X,Y) { if(Y == null) { Y = 0; } if(X == null) { X = 0; } var _g = thing; _g.set_x(_g.x + X); var _g1 = thing; _g1.set_y(_g1.y + Y); }; flixel_addons_ui_FlxUI._center = function(thing,X,Y) { if(Y == null) { Y = true; } if(X == null) { X = true; } if(X) { thing.set_x((flixel_FlxG.width - thing.get_width()) / 2); } if(Y) { thing.set_y((flixel_FlxG.height - thing.get_height()) / 2); } return thing; }; flixel_addons_ui_FlxUI.consolidateData = function(data,definition,combineUniqueChildren) { if(combineUniqueChildren == null) { combineUniqueChildren = false; } if(data == null && definition != null) { return definition; } if(definition == null) { return data; } else { var new_data = Xml.parse(haxe_xml_Printer.print(definition)).firstElement(); var att = data.attributes(); while(att.hasNext()) { var att1 = att.next(); var val = haxe_xml__$Access_AttribAccess_$Impl_$.resolve(data,att1); new_data.set(att1,val); } var v; if(data.nodeType == Xml.Document) { v = "Document"; } else { if(data.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element but found " + _$Xml_XmlType_$Impl_$.toString(data.nodeType)); } v = data.nodeName; } if(new_data.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element but found " + _$Xml_XmlType_$Impl_$.toString(new_data.nodeType)); } new_data.nodeName = v; if(haxe_xml__$Access_HasAttribAccess_$Impl_$.resolve(data,"name") || haxe_xml__$Access_HasAttribAccess_$Impl_$.resolve(data,"id")) { new_data.set("name",flixel_addons_ui_U.xml_name(data)); } else { new_data.set("name",""); } var element = data.elements(); while(element.hasNext()) { var element1 = element.next(); if(element1.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element but found " + _$Xml_XmlType_$Impl_$.toString(element1.nodeType)); } var nodeName = element1.nodeName; var notCombine = !combineUniqueChildren; if(combineUniqueChildren) { var new_els = new_data.elementsNamed(nodeName); var new_el = new_els.next(); if(haxe_xml__$Access_NodeListAccess_$Impl_$.resolve(data,nodeName).length == 1 && new_el != null && new_els.hasNext() == false) { var att2 = element1.attributes(); while(att2.hasNext()) { var att3 = att2.next(); new_el.set(att3,element1.get(att3)); } } else { notCombine = true; } } if(notCombine) { new_data.insertChild(Xml.parse(haxe_xml_Printer.print(element1)).firstElement(),0); } } if(new_data.nodeType != Xml.Document && new_data.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Invalid nodeType " + _$Xml_XmlType_$Impl_$.toString(new_data.nodeType)); } var this1 = new_data; return this1; } }; flixel_addons_ui_FlxUI._loadBitmapRect = function(source,rect_str) { var b1 = openfl_utils_Assets.getBitmapData(flixel_addons_ui_U.gfx(source)); var coords = rect_str.split(","); var rect = null; if(coords != null && coords.length == 4) { var x_ = Std.parseInt(coords[0]); var y_ = Std.parseInt(coords[1]); var w_ = Std.parseInt(coords[2]); var h_ = Std.parseInt(coords[3]); rect = new openfl_geom_Rectangle(x_,y_,w_,h_); } var r = rect; var b2 = new openfl_display_BitmapData(r.width | 0,r.height | 0,true,16777215); b2.copyPixels(b1,r,new openfl_geom_Point(0,0)); return b2; }; flixel_addons_ui_FlxUI.getParams = function(data) { var params = null; if(haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(data,"param")) { params = []; var _g = 0; var _g1 = haxe_xml__$Access_NodeListAccess_$Impl_$.resolve(data,"param"); while(_g < _g1.length) { var param = _g1[_g]; ++_g; if(haxe_xml__$Access_HasAttribAccess_$Impl_$.resolve(param,"type") && haxe_xml__$Access_HasAttribAccess_$Impl_$.resolve(param,"value")) { var type = haxe_xml__$Access_AttribAccess_$Impl_$.resolve(param,"type"); type = type.toLowerCase(); var valueStr = haxe_xml__$Access_AttribAccess_$Impl_$.resolve(param,"value"); var value = valueStr; var sort = flixel_addons_ui_U.xml_i(param,"sort",-1); switch(type) { case "bool":case "boolean": var str = new String(valueStr); str = str.toLowerCase(); if(str == "true" || str == "1") { value = true; } else { value = false; } break; case "color":case "hex": var return_val = flixel_util__$FlxColor_FlxColor_$Impl_$.fromString(valueStr); if(return_val == null) { throw new js__$Boot_HaxeError("U.parseHex() unable to parse hex String " + valueStr); } value = return_val; break; case "float": value = parseFloat(valueStr); break; case "int": value = Std.parseInt(valueStr); break; case "string": value = new String(valueStr); break; } params.push({ sort : sort, value : value}); } } params.sort(flixel_addons_ui_FlxUI.sortParams); var _g2 = 0; var _g3 = params.length; while(_g2 < _g3) { var i = _g2++; params[i] = params[i].value; } } return params; }; flixel_addons_ui_FlxUI.sortParams = function(a,b) { if(a.sort < b.sort) { return -1; } if(a.sort > b.sort) { return 1; } return 0; }; flixel_addons_ui_FlxUI.__super__ = flixel_addons_ui_FlxUIGroup; flixel_addons_ui_FlxUI.prototype = $extend(flixel_addons_ui_FlxUIGroup.prototype,{ do_safe_input_delay: null ,safe_input_delay_time: null ,failed: null ,failed_by: null ,get_isRoot: function() { if(this._ptr != null) { return this._ptr == flixel_addons_ui_FlxUI.getLeafUIState(); } else { return false; } } ,liveFilePath: null ,get_tongue: function() { return this._ptr_tongue; } ,set_tongue: function(t) { this._ptr_tongue = t; this._tongueSet(this.group.members,t); return this._ptr_tongue; } ,focus: null ,set_focus: function(widget) { if(this.focus != null) { this.onFocusLost(this.focus); } this.focus = widget; if(this.focus != null) { this.onFocus(this.focus); } return widget; } ,getTextFallback: null ,cursorLists: null ,_ptr_tongue: null ,_data: null ,_tongueSet: function(list,tongue) { var _g = 0; while(_g < list.length) { var fs = list[_g]; ++_g; if(((fs) instanceof flixel_addons_ui_FlxUIGroup)) { var g = js_Boot.__cast(fs , flixel_addons_ui_FlxUIGroup); this._tongueSet(g.group.members,tongue); } else if(((fs) instanceof flixel_addons_ui_FlxUI)) { var fu = js_Boot.__cast(fs , flixel_addons_ui_FlxUI); fu.set_tongue(tongue); } } } ,callEvent: function(name,sender,data,params) { this.getEvent(name,sender,data,params); } ,getEvent: function(name,sender,data,params) { if(this._ptr != null) { this._ptr.getEvent(name,sender,data,params); if(name == "post_load") { var key = this._asset_index.keys(); while(key.hasNext()) { var key1 = key.next(); var _this = this._asset_index; var thing = __map_reserved[key1] != null ? _this.getReserved(key1) : _this.h[key1]; if(((thing) instanceof flixel_addons_ui_FlxUI)) { var fui = thing; fui.getEvent("post_load",sender,data); } } } } } ,getRequest: function(name,sender,data,params) { if(this._ptr != null) { return this._ptr.getRequest(name,sender,data,params); } return null; } ,onFocus: function(widget) { if(((widget) instanceof flixel_addons_ui_FlxUIDropDownMenu)) { var _g = 0; var _g1 = this.group.members; while(_g < _g1.length) { var asset = _g1[_g]; ++_g; this.setWidgetSuppression(asset,widget); } } } ,setWidgetSuppression: function(asset,butNotThisOne,suppressed) { if(suppressed == null) { suppressed = true; } if(js_Boot.__implements(asset,flixel_addons_ui_interfaces_IFlxUIClickable)) { var skip = false; if(((asset) instanceof flixel_addons_ui_FlxUIDropDownMenu)) { var ddasset = asset; if(ddasset == butNotThisOne) { skip = true; } } if(!skip) { var ibtn = asset; ibtn.set_skipButtonUpdate(suppressed); } } else if(((asset) instanceof flixel_addons_ui_FlxUIGroup)) { var g = asset; var _g = 0; var _g1 = g.group.members; while(_g < _g1.length) { var groupAsset = _g1[_g]; ++_g; this.setWidgetSuppression(groupAsset,butNotThisOne,suppressed); } } } ,onFocusLost: function(widget) { if(((widget) instanceof flixel_addons_ui_FlxUIDropDownMenu)) { var _g = 0; var _g1 = this.group.members; while(_g < _g1.length) { var asset = _g1[_g]; ++_g; this.setWidgetSuppression(asset,null,false); } } } ,setSuperIndex: function(flxUI) { this._superIndexUI = flxUI; } ,update: function(elapsed) { if(this.do_safe_input_delay) { this._safe_input_delay_elapsed += flixel_FlxG.elapsed; if(this._safe_input_delay_elapsed > this.safe_input_delay_time) { this.do_safe_input_delay = false; } else { return; } } flixel_addons_ui_FlxUIGroup.prototype.update.call(this,elapsed); } ,toggleShow: function(key) { var thing = this.getAsset(key,false); if(thing == null) { var group = this.getGroup(key,false); if(group != null) { group.set_visible(!group.visible); return group.visible; } } else { thing.set_visible(!thing.visible); return thing.visible; } return false; } ,showGroup: function(key,Show,Active) { var group = this.getGroup(key,false); if(group != null) { group.set_visible(Show); if(Active == null) { group.set_active(Show); } else { group.set_active(Active); } } } ,showAsset: function(key,Show,Active) { var asset = this.getAsset(key,false); if(asset != null) { asset.set_visible(Show); if(Active == null) { asset.set_active(Show); } else { asset.set_active(Active); } } } ,removeAsset: function(key,destroy) { if(destroy == null) { destroy = true; } var asset = this.getAsset(key,false); if(asset != null) { this.replaceInGroup(asset,null,true); this._asset_index.remove(key); } if(destroy && asset != null) { asset.destroy(); asset = null; } return asset; } ,addAsset: function(asset,key,group_name,recursive) { if(recursive == null) { recursive = false; } if(group_name == null) { group_name = ""; } var _this = this._asset_index; if(__map_reserved[key] != null ? _this.existsReserved(key) : _this.h.hasOwnProperty(key)) { var tmp = key == "screen"; return false; } var g = this.getGroup(group_name,recursive); if(g != null) { g.add(asset); } else { this.add(asset); } var _this1 = this._asset_index; if(__map_reserved[key] != null) { _this1.setReserved(key,asset); } else { _this1.h[key] = asset; } return true; } ,replaceAsset: function(key,replace,center_x,center_y,destroy_old) { if(destroy_old == null) { destroy_old = true; } if(center_y == null) { center_y = true; } if(center_x == null) { center_x = true; } var original = this.getAsset(key,false); if(original != null) { if(!center_x) { replace.set_x(original.x); } else { replace.set_x(original.x + (original.get_width() - replace.get_width()) / 2); } if(!center_y) { replace.set_y(original.y); } else { replace.set_y(original.y + (original.get_height() - replace.get_height()) / 2); } this.replaceInGroup(original,replace); this._asset_index.remove(key); var _this = this._asset_index; if(__map_reserved[key] != null) { _this.setReserved(key,replace); } else { _this.h[key] = replace; } if(destroy_old) { original.destroy(); original = null; } } return original; } ,destroy: function() { if(this._group_index != null) { var key = this._group_index.keys(); while(key.hasNext()) { var key1 = key.next(); this._group_index.remove(key1); } this._group_index = null; } if(this._asset_index != null) { var key2 = this._asset_index.keys(); while(key2.hasNext()) { var key3 = key2.next(); this._asset_index.remove(key3); } this._asset_index = null; } if(this._tag_index != null) { var key4 = this._tag_index.keys(); while(key4.hasNext()) { var key5 = key4.next(); var _this = this._tag_index; flixel_util_FlxArrayUtil.clearArray(__map_reserved[key5] != null ? _this.getReserved(key5) : _this.h[key5]); this._tag_index.remove(key5); } this._tag_index = null; } if(this._definition_index != null) { var key6 = this._definition_index.keys(); while(key6.hasNext()) { var key7 = key6.next(); this._definition_index.remove(key7); } this._definition_index = null; } if(this._variable_index != null) { var key8 = this._variable_index.keys(); while(key8.hasNext()) { var key9 = key8.next(); this._variable_index.remove(key9); } this._variable_index = null; } if(this._mode_index != null) { var key10 = this._mode_index.keys(); while(key10.hasNext()) { var key11 = key10.next(); this._mode_index.remove(key11); } this._mode_index = null; } this._ptr = null; this._superIndexUI = null; this._ptr_tongue = null; if(this.cursorLists != null) { var _g = 0; var _g1 = this.cursorLists; while(_g < _g1.length) { var arr = _g1[_g]; ++_g; flixel_util_FlxArrayUtil.clearArray(arr); } flixel_util_FlxArrayUtil.clearArray(this.cursorLists); } this.cursorLists = null; flixel_util_FlxArrayUtil.clearArray(this._failure_checks); this._failure_checks = null; flixel_util_FlxArrayUtil.clearArray(this._assetsToCleanUp); this._assetsToCleanUp = null; flixel_util_FlxArrayUtil.clearArray(this._scaledAssets); this._scaledAssets = null; flixel_addons_ui_FlxUIGroup.prototype.destroy.call(this); } ,load: function(data) { this._group_index = new haxe_ds_StringMap(); this._asset_index = new haxe_ds_StringMap(); this._tag_index = new haxe_ds_StringMap(); this._definition_index = new haxe_ds_StringMap(); if(this._variable_index == null) { this._variable_index = new haxe_ds_StringMap(); } this._mode_index = new haxe_ds_StringMap(); if(data != null) { if(this._superIndexUI == null) { var screenRegion = new flixel_addons_ui_FlxUIRegion(0,0,flixel_FlxG.width,flixel_FlxG.height); screenRegion.name = "screen"; this.addAsset(screenRegion,"screen"); if(haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(data,"screen_override")) { if(this._loadTest(haxe_xml__$Access_NodeAccess_$Impl_$.resolve(data,"screen_override"))) { var screenNode = haxe_xml__$Access_NodeAccess_$Impl_$.resolve(data,"screen_override"); this._loadPosition(screenNode,screenRegion); screenRegion.set_width(this._loadWidth(screenNode,flixel_FlxG.width)); screenRegion.set_height(this._loadHeight(screenNode,flixel_FlxG.height)); } } } this._data = data; if(haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(data,"inject")) { while(haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(data,"inject")) { var inj_data = haxe_xml__$Access_NodeAccess_$Impl_$.resolve(data,"inject"); var inj_name = flixel_addons_ui_U.xml_name(inj_data); var payload = flixel_addons_ui_U.xml(inj_name,"xml",false); if(payload != null) { var parent = inj_data.parent; var i = 0; var _g = 0; var _g1 = parent.children; while(_g < _g1.length) { var child = _g1[_g]; ++_g; if(child == inj_data) { break; } ++i; } if(parent.removeChild(inj_data)) { var j = 0; var e = payload.elements(); while(e.hasNext()) { var e1 = e.next(); parent.insertChild(e1,i + j); ++j; } } } } } if(haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(data,"include")) { var _g2 = 0; var _g11 = haxe_xml__$Access_NodeListAccess_$Impl_$.resolve(data,"include"); while(_g2 < _g11.length) { var inc_data = _g11[_g2]; ++_g2; var inc_name = flixel_addons_ui_U.xml_name(inc_data); var liveFile = null; var inc_xml = null; if(liveFile == null) { inc_xml = flixel_addons_ui_U.xml(inc_name); } else { inc_xml = liveFile; } if(inc_xml != null) { var _g3 = 0; var _g12 = haxe_xml__$Access_NodeListAccess_$Impl_$.resolve(inc_xml,"definition"); while(_g3 < _g12.length) { var def_data = _g12[_g3]; ++_g3; var def_name = "include:" + flixel_addons_ui_U.xml_name(def_data); this.unparentXML(def_data); var _this = this._definition_index; if(__map_reserved[def_name] != null) { _this.setReserved(def_name,def_data); } else { _this.h[def_name] = def_data; } } if(haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(inc_xml,"point_size")) { this._loadPointSize(inc_xml); } if(haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(inc_xml,"default")) { var _g21 = 0; var _g31 = haxe_xml__$Access_NodeListAccess_$Impl_$.resolve(inc_xml,"default"); while(_g21 < _g31.length) { var defaultNode = _g31[_g21]; ++_g21; if(this._loadTest(defaultNode)) { var defaultName = flixel_addons_ui_U.xml_name(defaultNode); this.unparentXML(defaultNode); var _this1 = this._definition_index; var key = "default:" + defaultName; if(__map_reserved[key] != null) { _this1.setReserved(key,defaultNode); } else { _this1.h[key] = defaultNode; } } } } } } } if(haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(data,"point_size")) { this._loadPointSize(data); } if(haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(data,"definition")) { var _g4 = 0; var _g13 = haxe_xml__$Access_NodeListAccess_$Impl_$.resolve(data,"definition"); while(_g4 < _g13.length) { var def_data1 = _g13[_g4]; ++_g4; if(this._loadTest(def_data1)) { var def_name1 = flixel_addons_ui_U.xml_name(def_data1); var error = ""; if(def_name1.indexOf("default:") != -1) { error = "'default:'"; } if(def_name1.indexOf("include:") != -1) { error = "'include:'"; } if(error == "") { this.unparentXML(def_data1); var _this2 = this._definition_index; if(__map_reserved[def_name1] != null) { _this2.setReserved(def_name1,def_data1); } else { _this2.h[def_name1] = def_data1; } } } } } if(haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(data,"default")) { var _g5 = 0; var _g14 = haxe_xml__$Access_NodeListAccess_$Impl_$.resolve(data,"default"); while(_g5 < _g14.length) { var defaultNode1 = _g14[_g5]; ++_g5; if(this._loadTest(defaultNode1)) { var defaultName1 = flixel_addons_ui_U.xml_name(defaultNode1); this.unparentXML(defaultNode1); var _this3 = this._definition_index; var key1 = "default:" + defaultName1; if(__map_reserved[key1] != null) { _this3.setReserved(key1,defaultNode1); } else { _this3.h[key1] = defaultNode1; } } } } if(haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(data,"variable")) { var _g6 = 0; var _g15 = haxe_xml__$Access_NodeListAccess_$Impl_$.resolve(data,"variable"); while(_g6 < _g15.length) { var var_data = _g15[_g6]; ++_g6; if(this._loadTest(var_data)) { var var_name = flixel_addons_ui_U.xml_name(var_data); var var_value = flixel_addons_ui_U.xml_str(var_data,"value"); if(var_name != "") { var _this4 = this._variable_index; if(__map_reserved[var_name] != null) { _this4.setReserved(var_name,var_value); } else { _this4.h[var_name] = var_value; } } } } } if(haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(data,"mode")) { var _g7 = 0; var _g16 = haxe_xml__$Access_NodeListAccess_$Impl_$.resolve(data,"mode"); while(_g7 < _g16.length) { var mode_data = _g16[_g7]; ++_g7; if(this._loadTest(mode_data)) { var mode_data2 = this.applyNodeConditionals(mode_data); var mode_name = flixel_addons_ui_U.xml_name(mode_data); this.unparentXML(mode_data2); var _this5 = this._mode_index; if(__map_reserved[mode_name] != null) { _this5.setReserved(mode_name,mode_data2); } else { _this5.h[mode_name] = mode_data2; } } } } if(haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(data,"group")) { var _g8 = 0; var _g17 = haxe_xml__$Access_NodeListAccess_$Impl_$.resolve(data,"group"); while(_g8 < _g17.length) { var group_data = _g17[_g8]; ++_g8; if(this._loadTest(group_data)) { var name = flixel_addons_ui_U.xml_name(group_data); var custom = flixel_addons_ui_U.xml_str(group_data,"custom"); var tempGroup = null; if(custom != "") { var result = this._ptr.getRequest("ui_get_group:",this,custom); if(result != null && ((result) instanceof flixel_addons_ui_FlxUIGroup)) { tempGroup = result; } } if(tempGroup == null) { tempGroup = new flixel_addons_ui_FlxUIGroup(); } tempGroup.name = name; var _this6 = this._group_index; if(__map_reserved[name] != null) { _this6.setReserved(name,tempGroup); } else { _this6.h[name] = tempGroup; } this.add(tempGroup); } } } if(data.firstElement() != null) { var node = data.elements(); while(node.hasNext()) { var node1 = node.next(); this._loadSub(node1); } } this._postLoad(data); } else { this._onFinishLoad(); } } ,unparentXML: function(f) { return flixel_addons_ui_U.unparentXML(f); } ,_loadPointSize: function(data) { var data1 = haxe_xml__$Access_NodeAccess_$Impl_$.resolve(data,"point_size"); var default_ = -1.0; if(default_ == null) { default_ = 0; } var ptx = this._loadWidth(data1,default_,"x"); var data2 = haxe_xml__$Access_NodeAccess_$Impl_$.resolve(data,"point_size"); var default_1 = -1.0; if(default_1 == null) { default_1 = 0; } var pty = this._loadHeight(data2,default_1,"y"); if(pty < 1 && ptx < 1) { pty = this._loadHeight(haxe_xml__$Access_NodeAccess_$Impl_$.resolve(data,"point_size"),-1,"value"); ptx = pty; } if(pty > 0) { this._pointX = ptx; } if(ptx > 0) { this._pointY = pty; } } ,_loadSub: function(node,iteration) { if(iteration == null) { iteration = 0; } if(node.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element but found " + _$Xml_XmlType_$Impl_$.toString(node.nodeType)); } var type = node.nodeName; if(node.nodeType != Xml.Document && node.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Invalid nodeType " + _$Xml_XmlType_$Impl_$.toString(node.nodeType)); } var this1 = node; var obj = this1; if(type == "load_if") { if(this._loadTest(obj)) { if(node.firstElement() != null) { var subNode = node.elements(); while(subNode.hasNext()) { var subNode1 = subNode.next(); this._loadSub(subNode1,iteration + 1); } } } return; } var group_name = ""; var tempGroup = null; var thing_name = flixel_addons_ui_U.xml_name(obj); if(haxe_xml__$Access_HasAttribAccess_$Impl_$.resolve(obj,"group")) { group_name = haxe_xml__$Access_AttribAccess_$Impl_$.resolve(obj,"group"); tempGroup = this.getGroup(group_name); } var thing = this._loadThing(type,obj); if(thing != null) { this._loadGlobals(obj,thing); if(thing_name != null && thing_name != "") { var _this = this._asset_index; if(__map_reserved[thing_name] != null) { _this.setReserved(thing_name,thing); } else { _this.h[thing_name] = thing; } thing.name = thing_name; var thing_tags = flixel_addons_ui_U.xml_str(obj,"tags"); if(thing_tags != "") { var tagArr = thing_tags.split(","); this._addTags(tagArr,thing_name); } } this._loadTooltip(thing,obj); if(tempGroup != null) { tempGroup.add(thing); } else { this.add(thing); } this._loadPosition(obj,thing); } } ,_addTags: function(arr,thingName) { var _g = 0; while(_g < arr.length) { var tag = arr[_g]; ++_g; var list = null; var _this = this._tag_index; if(!(__map_reserved[tag] != null ? _this.existsReserved(tag) : _this.h.hasOwnProperty(tag))) { var _this1 = this._tag_index; var value = []; if(__map_reserved[tag] != null) { _this1.setReserved(tag,value); } else { _this1.h[tag] = value; } } var _this2 = this._tag_index; list = __map_reserved[tag] != null ? _this2.getReserved(tag) : _this2.h[tag]; if(list.indexOf(thingName) == -1) { list.push(thingName); } } } ,_loadGlobals: function(data,thing) { if(((thing) instanceof flixel_FlxBasic)) { var isVis = flixel_addons_ui_U.xml_bool(data,"visible",true); var isActive = flixel_addons_ui_U.xml_bool(data,"active",true); var numID = flixel_addons_ui_U.xml_i(data,"num_id"); thing.visible = isVis; thing.active = isActive; thing.ID = numID; if(((thing) instanceof flixel_FlxSprite)) { var alpha = flixel_addons_ui_U.xml_f(data,"alpha",1.0); var s = thing; s.set_alpha(alpha); } } } ,_postLoad: function(data) { this._postLoaded = true; if(data.firstElement() != null) { var node = data.elements(); while(node.hasNext()) { var node1 = node.next(); if(node1.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element but found " + _$Xml_XmlType_$Impl_$.toString(node1.nodeType)); } var tmp = node1.nodeName.toLowerCase(); if(node1.nodeType != Xml.Document && node1.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Invalid nodeType " + _$Xml_XmlType_$Impl_$.toString(node1.nodeType)); } var this1 = node1; this._postLoadThing(tmp,this1); } } if(haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(data,"mode")) { var _g = 0; var _g1 = haxe_xml__$Access_NodeListAccess_$Impl_$.resolve(data,"mode"); while(_g < _g1.length) { var mode_node = _g1[_g]; ++_g; var is_default = flixel_addons_ui_U.xml_bool(mode_node,"is_default"); if(is_default) { var mode_name = flixel_addons_ui_U.xml_name(mode_node); this.setMode(mode_name); break; } } } if(this._failure_checks != null) { var _g2 = 0; var _g11 = this._failure_checks; while(_g2 < _g11.length) { var data1 = _g11[_g2]; ++_g2; if(this._checkFailure(data1)) { this.failed = true; break; } } flixel_addons_ui_U.clearArraySoft(this._failure_checks); this._failure_checks = null; } this._onFinishLoad(); } ,_sendTo: function(thing,dir) { var group = this.getAssetGroup(null,thing); if(group == null) { if(this.group.members.indexOf(thing) != -1) { group = this; } else { return; } } if(dir != -1 && dir != 1) { return; } HxOverrides.remove(group.group.members,thing); switch(dir) { case -1: group.group.members.splice(0,0,thing); break; case 1: group.group.members.push(thing); break; } } ,sendToFront: function(name,recursive) { if(recursive == null) { recursive = true; } var thing = this.getAsset(name,recursive); if(thing != null) { this._sendTo(thing,1); } } ,sendToBack: function(name,recursive) { if(recursive == null) { recursive = true; } var thing = this.getAsset(name,recursive); if(thing != null) { this._sendTo(thing,-1); } } ,get_currMode: function() { return this._curr_mode; } ,set_currMode: function(m) { this.setMode(m); return this._curr_mode; } ,setMode: function(mode_name,target_name) { if(target_name == null) { target_name = ""; } if(this._curr_mode == mode_name) { return; } var mode = this.getMode(mode_name); this._curr_mode = mode_name; var name = ""; var thing; if(target_name == "") { if(mode != null) { var xml; var node = mode.elements(); while(node.hasNext()) { var node1 = node.next(); var node2 = this.applyNodeConditionals(node1); xml = node2; if(xml.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element but found " + _$Xml_XmlType_$Impl_$.toString(xml.nodeType)); } var nodeName = xml.nodeName; var activeStatus = flixel_addons_ui_U.xml_str(xml,"active") == "" ? null : true; if(activeStatus != null) { activeStatus = flixel_addons_ui_U.xml_bool(xml,"active"); } if(this._loadTest(node2)) { switch(nodeName) { case "align": this._alignThing(node2); break; case "change": this._changeThing(node2); break; case "hide": this.showThing(flixel_addons_ui_U.xml_name(xml),false,activeStatus); break; case "position": name = flixel_addons_ui_U.xml_name(xml); thing = this.getAsset(name); if(thing != null) { this._loadPosition(node2,thing); } break; case "show": this.showThing(flixel_addons_ui_U.xml_name(xml),true,activeStatus); break; } } } } } else { var target = this.getAsset(target_name); if(target != null && ((target) instanceof flixel_addons_ui_FlxUI)) { var targetUI = js_Boot.__cast(target , flixel_addons_ui_FlxUI); targetUI.setMode(mode_name,""); } } } ,showThing: function(name,visibleStatus,activeStatus) { if(visibleStatus == null) { visibleStatus = true; } if(name.indexOf(",") != -1) { var names = name.split(","); var _g = 0; while(_g < names.length) { var each_name = names[_g]; ++_g; var thing = this.getAsset(each_name); if(thing != null) { thing.set_visible(visibleStatus); if(activeStatus != null) { thing.set_active(activeStatus); } } else { var group = this.getGroup(each_name); if(group != null) { group.set_visible(visibleStatus); if(activeStatus != null) { group.set_active(activeStatus); } } } } } else if(name != "*") { var thing1 = this.getAsset(name); if(thing1 != null) { thing1.set_visible(visibleStatus); if(activeStatus != null) { thing1.set_active(activeStatus); } } else { var group1 = this.getGroup(name); if(group1 != null) { group1.set_visible(visibleStatus); if(activeStatus != null) { group1.set_active(activeStatus); } } } } else { var asset_name = this._asset_index.keys(); while(asset_name.hasNext()) { var asset_name1 = asset_name.next(); if(asset_name1 != "*") { this.showThing(asset_name1,visibleStatus,activeStatus); } } } } ,getGroup: function(key,recursive) { if(recursive == null) { recursive = true; } var _this = this._group_index; var tempGroup = __map_reserved[key] != null ? _this.getReserved(key) : _this.h[key]; if(tempGroup == null && recursive && this._superIndexUI != null) { return this._superIndexUI.getGroup(key,recursive); } return tempGroup; } ,getFlxText: function(key,recursive) { if(recursive == null) { recursive = true; } var asset = this.getAsset(key,recursive); if(asset != null) { if(((asset) instanceof flixel_text_FlxText)) { return js_Boot.__cast(asset , flixel_text_FlxText); } } return null; } ,getAllAssets: function() { var arr = []; var key = this._asset_index.keys(); while(key.hasNext()) { var key1 = key.next(); arr.push(this.getAsset(key1)); } return arr; } ,getAssetKeys: function() { var arr = []; var key = this._asset_index.keys(); while(key.hasNext()) { var key1 = key.next(); arr.push(key1); } return arr; } ,hasAsset: function(key,recursive) { if(recursive == null) { recursive = true; } var _this = this._asset_index; if(__map_reserved[key] != null ? _this.existsReserved(key) : _this.h.hasOwnProperty(key)) { return true; } if(recursive && this._superIndexUI != null) { return this._superIndexUI.hasAsset(key,recursive); } return false; } ,getAsset: function(key,recursive) { if(recursive == null) { recursive = true; } var _this = this._asset_index; var asset = __map_reserved[key] != null ? _this.getReserved(key) : _this.h[key]; if(asset == null && recursive && this._superIndexUI != null) { return this._superIndexUI.getAsset(key,recursive); } return asset; } ,getAssetsWithTag: function(tag) { var _this = this._tag_index; if(__map_reserved[tag] != null ? _this.existsReserved(tag) : _this.h.hasOwnProperty(tag)) { var _this1 = this._tag_index; var list = __map_reserved[tag] != null ? _this1.getReserved(tag) : _this1.h[tag]; if(list == null || list.length == 0) { return null; } var arr = []; var _g = 0; while(_g < list.length) { var key = list[_g]; ++_g; var widget = this.getAsset(key); if(widget != null) { arr.push(widget); } } return arr; } return null; } ,getAssetGroup: function(key,thing) { if(thing == null && (key == null || key == "")) { return null; } if(thing == null) { thing = this.getAsset(key); } if(thing == null) { return null; } var key1 = this._group_index.keys(); while(key1.hasNext()) { var key2 = key1.next(); var _this = this._group_index; var g = __map_reserved[key2] != null ? _this.getReserved(key2) : _this.h[key2]; if(g.group.members.indexOf(thing) != -1) { return g; } } return null; } ,getMode: function(key,recursive) { if(recursive == null) { recursive = true; } var _this = this._mode_index; var mode = __map_reserved[key] != null ? _this.getReserved(key) : _this.h[key]; if(mode == null && recursive && this._superIndexUI != null) { return this._superIndexUI.getMode(key,recursive); } return mode; } ,getLabelStyleFromDefinition: function(key,recursive) { if(recursive == null) { recursive = true; } var definition = this.getDefinition(key,recursive); if(definition != null) { var fontDef = this._loadFontDef(definition); var align = flixel_addons_ui_U.xml_str(definition,"align"); if(align == "") { align = null; } var color = this._loadColor(definition); var border = this._loadBorder(definition); return new flixel_addons_ui_ButtonLabelStyle(fontDef,align,color,border); } return null; } ,getLabelStyleFromData: function(data) { var fontDef = this._loadFontDef(data); var align = flixel_addons_ui_U.xml_str(data,"align"); if(align == "") { align = null; } var color = this._loadColor(data); var border = this._loadBorder(data); return new flixel_addons_ui_ButtonLabelStyle(fontDef,align,color,border); } ,checkVariable: function(key,otherValue,type,op,recursive) { if(recursive == null) { recursive = true; } if(op == null) { op = "=="; } var variable = this.getVariable(key,recursive); if(variable != null) { return flixel_addons_ui_U.compareStringVars(variable,otherValue,type,op); } else { return flixel_addons_ui_U.compareStringVars("",otherValue,type,op); } } ,setVariable: function(key,value) { var _this = this._variable_index; if(__map_reserved[key] != null) { _this.setReserved(key,value); } else { _this.h[key] = value; } } ,getVariable: function(key,recursive) { if(recursive == null) { recursive = true; } var _this = this._variable_index; var variable = __map_reserved[key] != null ? _this.getReserved(key) : _this.h[key]; if(variable == null && recursive && this._superIndexUI != null) { variable = this._superIndexUI.getVariable(key,recursive); } return variable; } ,getDefinition: function(key,recursive) { if(recursive == null) { recursive = true; } var _this = this._definition_index; var definition = __map_reserved[key] != null ? _this.getReserved(key) : _this.h[key]; if(definition == null && recursive && this._superIndexUI != null) { definition = this._superIndexUI.getDefinition(key,recursive); } if(definition == null) { if(key.indexOf("include:") == -1) { definition = this.getDefinition("include:" + key,recursive); } } return definition; } ,screenWidth: function() { if(this.hasAsset("screen")) { return this.getAsset("screen").get_width() | 0; } return flixel_FlxG.width; } ,screenHeight: function() { if(this.hasAsset("height")) { return this.getAsset("screen").get_height() | 0; } return flixel_FlxG.height; } ,_postLoaded: null ,_pointX: null ,_pointY: null ,_group_index: null ,_asset_index: null ,_tag_index: null ,_definition_index: null ,_variable_index: null ,_mode_index: null ,_curr_mode: null ,_ptr: null ,_superIndexUI: null ,_safe_input_delay_elapsed: null ,_failure_checks: null ,_assetsToCleanUp: null ,_scaledAssets: null ,replaceInGroup: function(original,replace,splice) { if(splice == null) { splice = false; } if(this._group_index != null) { var key = this._group_index.keys(); while(key.hasNext()) { var key1 = key.next(); var _this = this._group_index; var tempGroup = __map_reserved[key1] != null ? _this.getReserved(key1) : _this.h[key1]; if(tempGroup.group.members != null) { var i = 0; var _g = 0; var _g1 = tempGroup.group.members; while(_g < _g1.length) { var member = _g1[_g]; ++_g; if(member != null) { if(member == original) { tempGroup.group.members[i] = replace; if(replace == null) { if(splice) { tempGroup.group.members.splice(i,1); --i; } } return; } ++i; } } } } } if(this.group.members != null) { var i1 = 0; var _g2 = 0; var _g11 = this.group.members; while(_g2 < _g11.length) { var member1 = _g11[_g2]; ++_g2; if(member1 != null) { if(member1 == original) { this.group.members[i1] = replace; if(replace == null) { if(splice) { this.group.members.splice(i1,1); --i1; } } return; } } ++i1; } } } ,applyNodeConditionals: function(info) { if(haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(info,"locale") || haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(info,"haxedef")) { var x = Xml.parse(haxe_xml_Printer.print(info)).firstElement(); if(x.nodeType != Xml.Document && x.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Invalid nodeType " + _$Xml_XmlType_$Impl_$.toString(x.nodeType)); } var this1 = x; info = this1; if(haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(info,"locale")) { info = this.applyNodeChanges(info,"locale"); } if(haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(info,"haxedef")) { info = this.applyNodeChanges(info,"haxedef"); } if(haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(info,"window")) { info = this.applyNodeChanges(info,"window"); } } return info; } ,applyNodeChanges: function(data,nodeName) { var nodeValue = ""; if(nodeName == "locale") { if(this._ptr_tongue == null) { return data; } nodeValue = this._ptr_tongue.locale.toLowerCase(); } var haxedef = false; if(nodeName == "haxedef") { haxedef = true; } if(nodeName == "window") { nodeValue = flixel_FlxG.width + "," + flixel_FlxG.height; } var _g = 0; var _g1 = haxe_xml__$Access_NodeListAccess_$Impl_$.resolve(data,nodeName); while(_g < _g1.length) { var cNode = _g1[_g]; ++_g; var cname = flixel_addons_ui_U.xml_name(cNode); if(haxedef) { nodeValue = ""; if(flixel_addons_ui_U.checkHaxedef(cname)) { nodeValue = cname; } } if(cname == nodeValue) { if(haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(cNode,"change")) { var _g2 = 0; var _g11 = haxe_xml__$Access_NodeListAccess_$Impl_$.resolve(cNode,"change"); while(_g2 < _g11.length) { var change = _g11[_g2]; ++_g2; var att = change.attributes(); while(att.hasNext()) { var att1 = att.next(); var value = change.get(att1); data.set(att1,value); } } } } } return data; } ,loadThing: function(type,data) { return this._loadThing(type,data); } ,_loadThingGetInfo: function(data) { var _this = data; if(_this.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element but found " + _$Xml_XmlType_$Impl_$.toString(_this.nodeType)); } var nodeName = _this.nodeName; var defaultDef = this.getDefinition("default:" + nodeName); var info = null; if(defaultDef != null) { info = flixel_addons_ui_FlxUI.consolidateData(data,defaultDef,true); } if(info == null) { info = data; } var use_def = flixel_addons_ui_U.xml_str(info,"use_def",true); var definition = null; if(use_def != "") { definition = this.getDefinition(use_def); } info = flixel_addons_ui_FlxUI.consolidateData(info,definition); info = this.applyNodeConditionals(info); if(this._loadTest(info) == false) { return null; } return info; } ,_loadTooltip: function(thing,data) { if(haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(data,"tooltip")) { var tt = this._loadTooltipData(haxe_xml__$Access_NodeAccess_$Impl_$.resolve(data,"tooltip")); var state = flixel_addons_ui_FlxUI.getLeafUIState(); if(((thing) instanceof flixel_addons_ui_FlxUICheckBox)) { var check = thing; state.tooltips.add(check.button,tt); } else { state.tooltips.add(thing,tt); } } } ,_loadTooltipData: function(tNode) { var tt = { title : "", body : "", anchor : null, style : { titleFormat : null, bodyFormat : null, titleBorder : null, bodyBorder : null, titleOffset : null, bodyOffset : null, titleWidth : -1, bodyWidth : -1, background : null, borderSize : -1, borderColor : null, arrow : null, autoSizeVertical : null, autoSizeHorizontal : null, leftPadding : -1, rightPadding : -1, topPadding : -1, bottomPadding : -1}}; var defaultDef = this.getDefinition("default:tooltip"); if(defaultDef != null) { tNode = flixel_addons_ui_FlxUI.consolidateData(tNode,defaultDef,true); } if(haxe_xml__$Access_HasAttribAccess_$Impl_$.resolve(tNode,"use_def")) { var defStr = flixel_addons_ui_U.xml_str(tNode,"use_def",true); var def = this.getDefinition(defStr); if(def != null) { tNode = flixel_addons_ui_FlxUI.consolidateData(tNode,def,true); } } if(haxe_xml__$Access_HasAttribAccess_$Impl_$.resolve(tNode,"text")) { this._loadTooltipText(tNode,"text",tt); } if(haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(tNode,"title")) { this._loadTooltipText(haxe_xml__$Access_NodeAccess_$Impl_$.resolve(tNode,"title"),"text",tt); } if(haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(tNode,"body")) { this._loadTooltipText(haxe_xml__$Access_NodeAccess_$Impl_$.resolve(tNode,"body"),"text",tt); } tt.anchor = this._loadAnchor(tNode); this._loadTooltipStyle(tNode,tt); return tt; } ,_loadTooltipStyle: function(node,tt) { tt.style.background = flixel_addons_ui_U.xml_color(node,"background"); tt.style.borderSize = flixel_addons_ui_U.xml_i(node,"border",-1); tt.style.borderColor = flixel_addons_ui_U.xml_color(node,"border_color"); var tmp; if(haxe_xml__$Access_HasAttribAccess_$Impl_$.resolve(node,"arrow")) { var data = node; var str = ""; if(data.get("arrow") != null) { str = data.get("arrow"); if(str == "" || str == null) { str = ""; } else { str = flixel_addons_ui_U.gfx(str); try { if(!openfl_utils_Assets.exists(str,"IMAGE")) { throw new js__$Boot_HaxeError("couldn't load bmp \"" + "arrow" + "\""); } } catch( msg ) { haxe_CallStack.lastException = msg; var msg1 = ((msg) instanceof js__$Boot_HaxeError) ? msg.val : msg; if(typeof(msg1) == "string") { var msg2 = msg1; } else { throw msg; } } } } tmp = str; } else { tmp = null; } tt.style.arrow = tmp; tt.style.autoSizeHorizontal = flixel_addons_ui_U.xml_bool(node,"auto_size_horizontal",true); tt.style.autoSizeVertical = flixel_addons_ui_U.xml_bool(node,"auto_size_vertical",true); var padAll = this._loadHeight(node,-1,"pad_all") | 0; if(padAll != -1) { tt.style.leftPadding = tt.style.rightPadding = tt.style.topPadding = tt.style.bottomPadding = padAll; } else { var tmp1 = this._loadWidth(node,0,"pad_left") | 0; tt.style.leftPadding = tmp1; var tmp2 = this._loadWidth(node,0,"pad_right") | 0; tt.style.rightPadding = tmp2; var tmp3 = this._loadHeight(node,0,"pad_top") | 0; tt.style.topPadding = tmp3; var tmp4 = this._loadHeight(node,0,"pad_bottom") | 0; tt.style.bottomPadding = tmp4; } } ,_loadTooltipText: function(node,fieldName,tt) { var nodeName; if(node.nodeType == Xml.Document) { nodeName = "Document"; } else { if(node.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element but found " + _$Xml_XmlType_$Impl_$.toString(node.nodeType)); } nodeName = node.nodeName; } var text = this._loadString(node,fieldName); var offset = new flixel_math_FlxPoint(this._loadWidth(node,0,"x"),this._loadHeight(node,0,"y")); if(haxe_xml__$Access_HasAttribAccess_$Impl_$.resolve(node,"use_def")) { var use_def = flixel_addons_ui_U.xml_str(node,"use_def",true); var the_def = this.getDefinition(use_def); if(the_def != null) { node = flixel_addons_ui_FlxUI.consolidateData(node,the_def); } } var border = this._loadBorder(node); var format = this._loadFontDef(node); var color = flixel_addons_ui_U.xml_color(node,"color",true,-16777216); format.format.color = color; var W = this._loadWidth(node,-1,"width") | 0; switch(nodeName) { case "body": if(text != "") { tt.body = text; } tt.style.bodyOffset = offset; tt.style.bodyFormat = format; tt.style.bodyWidth = W; tt.style.bodyBorder = border; break; case "title":case "tooltip": if(text != "") { tt.title = text; } tt.style.titleOffset = offset; tt.style.titleFormat = format; tt.style.titleWidth = W; tt.style.titleBorder = border; break; default: } } ,_loadAnchor: function(data) { var xOff = this._loadWidth(data,0,"x"); var yOff = this._loadHeight(data,0,"y"); if(haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(data,"anchor")) { var xSide = flixel_addons_ui_U.xml_str(haxe_xml__$Access_NodeAccess_$Impl_$.resolve(data,"anchor"),"x",true,"right"); var ySide = flixel_addons_ui_U.xml_str(haxe_xml__$Access_NodeAccess_$Impl_$.resolve(data,"anchor"),"y",true,"top"); var xFlush = flixel_addons_ui_U.xml_str(haxe_xml__$Access_NodeAccess_$Impl_$.resolve(data,"anchor"),"x-flush",true,"left"); var yFlush = flixel_addons_ui_U.xml_str(haxe_xml__$Access_NodeAccess_$Impl_$.resolve(data,"anchor"),"y-flush",true,"top"); return new flixel_addons_ui_Anchor(xOff,yOff,xSide,ySide,xFlush,yFlush); } return null; } ,_loadThing: function(type,data) { var info = this._loadThingGetInfo(data); if(info == null) { return null; } switch(type) { case "align": this._alignThing(info,true); return null; case "bar": return this._loadBar(info); case "box": return this._loadBox(info); case "button": return this._loadButton(info); case "button_toggle": return this._loadButton(info,true,true); case "change": this._changeThing(info); return null; case "checkbox": return this._loadCheckBox(info); case "failure": if(this._failure_checks == null) { this._failure_checks = []; } this.unparentXML(info); this._failure_checks.push(info); return null; case "input_text": return this._loadInputText(info); case "line": return this._loadLine(info); case "default":case "group":case "include":case "inject":case "load_if":case "mode": return null; case "chrome":case "nine_slice":case "nine_slice_sprite":case "nineslice":case "nineslicesprite": return this._load9SliceSprite(info); case "num_stepper":case "numeric_stepper":case "numstepper": return this._loadNumericStepper(info); case "position": this.name = flixel_addons_ui_U.xml_name(info); var thing = this.getAsset(this.name); if(thing != null) { this._loadPosition(info,thing); } return null; case "dropdown":case "dropdown_menu":case "pulldown":case "pulldown_menu": return this._loadDropDownMenu(info); case "radio_group": return this._loadRadioGroup(info); case "region": return this._loadRegion(info); case "sprite": return this._loadSprite(info); case "tab_menu": return this._loadTabMenu(info); case "text": return this._loadText(info); case "tile_test": return this._loadTileTest(info); case "layout":case "ui": return this._loadLayout(info); default: var result = this._ptr.getRequest("ui_get:" + type,this,info,[data]); return result; } } ,_loadX: function(data,default_) { if(default_ == null) { default_ = 0; } return this._loadWidth(data,default_,"x"); } ,_loadY: function(data,default_) { if(default_ == null) { default_ = 0; } return this._loadHeight(data,default_,"y"); } ,_loadScale: function(data,default_,str) { if(str == null) { str = "scale"; } if(default_ == null) { default_ = 1.0; } return this._loadHeight(data,default_,str,"none"); } ,_loadScaleX: function(data,default_) { if(default_ == null) { default_ = 1.0; } return this._loadWidth(data,default_,"scale_x","none"); } ,_loadScaleY: function(data,default_) { if(default_ == null) { default_ = 1.0; } return this._loadHeight(data,default_,"scale_y","none"); } ,_loadWidth: function(data,default_,str,defaultRound) { if(defaultRound == null) { defaultRound = ""; } if(str == null) { str = "width"; } if(default_ == null) { default_ = 10; } var ws = flixel_addons_ui_U.xml_str(data,str,true,default_ == null ? "null" : "" + default_); var round = this.getRound(data,defaultRound); return this.doRound(this._getDataSize("w",ws,default_),round); } ,_loadHeight: function(data,default_,str,defaultRound) { if(defaultRound == null) { defaultRound = ""; } if(str == null) { str = "height"; } if(default_ == null) { default_ = 10; } var hs = flixel_addons_ui_U.xml_str(data,str,true,default_ == null ? "null" : "" + default_); var round = this.getRound(data,defaultRound); return this.doRound(this._getDataSize("h",hs,default_),round); } ,_loadCompass: function(data,str) { if(str == null) { str = "resize_point"; } var cs = flixel_addons_ui_U.xml_str(data,str,true,"nw"); var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; var fp = point; switch(cs) { case "c":case "center":case "m":case "mid": fp.set_x(0.5); fp.set_y(0.5); break; case "ll":case "sw": fp.set_x(0); fp.set_y(1); break; case "n":case "u": fp.set_x(0.5); fp.set_y(0); break; case "nw":case "ul": fp.set_x(0); fp.set_y(0); break; case "e":case "r": fp.set_x(1); fp.set_y(0.5); break; case "s": fp.set_x(0.5); fp.set_y(1); break; case "lr":case "se": fp.set_x(1); fp.set_y(1); break; case "ne":case "ur": fp.set_x(1); fp.set_y(0); break; case "w": fp.set_x(0.5); fp.set_y(0); break; } return fp; } ,_changeParamsThing: function(data) { var name = flixel_addons_ui_U.xml_name(data); var thing = this.getAsset(name); if(thing == null) { return; } if(!js_Boot.__implements(thing,flixel_addons_ui_interfaces_IHasParams)) { return; } var ihp = thing; var params = null; if(haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(data,"param")) { params = []; var _g = 0; var _g1 = haxe_xml__$Access_NodeListAccess_$Impl_$.resolve(data,"param"); while(_g < _g1.length) { var param = _g1[_g]; ++_g; if(haxe_xml__$Access_HasAttribAccess_$Impl_$.resolve(param,"type") && haxe_xml__$Access_HasAttribAccess_$Impl_$.resolve(param,"value")) { var type = haxe_xml__$Access_AttribAccess_$Impl_$.resolve(param,"type"); type = type.toLowerCase(); var valueStr = haxe_xml__$Access_AttribAccess_$Impl_$.resolve(param,"value"); var value = valueStr; var sort = flixel_addons_ui_U.xml_i(param,"sort",-1); switch(type) { case "bool":case "boolean": var str = new String(valueStr); str = str.toLowerCase(); if(str == "true" || str == "1") { value = true; } else { value = false; } break; case "color":case "hex": var return_val = flixel_util__$FlxColor_FlxColor_$Impl_$.fromString(valueStr); if(return_val == null) { throw new js__$Boot_HaxeError("U.parseHex() unable to parse hex String " + valueStr); } value = return_val; break; case "float": value = parseFloat(valueStr); break; case "int": value = Std.parseInt(valueStr); break; case "string": value = new String(valueStr); break; } params.push({ sort : sort, value : value}); } } params.sort(flixel_addons_ui_FlxUI.sortParams); var _g2 = 0; var _g3 = params.length; while(_g2 < _g3) { var i = _g2++; params[i] = params[i].value; } } ihp.set_params(params); } ,_changeThing: function(data) { var name = flixel_addons_ui_U.xml_name(data); var thing = this.getAsset(name); if(thing == null) { return; } var new_width = -1; var new_height = -1; var context = ""; var code = ""; var attribute = data.attributes(); while(attribute.hasNext()) { var attribute1 = attribute.next(); switch(attribute1) { case "height": new_height = this._loadHeight(data); break; case "label": var label = flixel_addons_ui_U.xml_str(data,"label"); context = flixel_addons_ui_U.xml_str(data,"context",true,"ui"); code = flixel_addons_ui_U.xml_str(data,"code",true,""); label = this.getText(label,context,true,code); if(js_Boot.__implements(thing,flixel_addons_ui_interfaces_ILabeled)) { var b = thing; b.getLabel().set_text(label); } break; case "text": if(((thing) instanceof flixel_addons_ui_FlxUIText)) { var text = flixel_addons_ui_U.xml_str(data,"text"); context = flixel_addons_ui_U.xml_str(data,"context",true,"ui"); var t = thing; code = flixel_addons_ui_U.xml_str(data,"code",true,""); t.set_text(this.getText(text,context,true,code)); } break; case "width": new_width = this._loadWidth(data); break; } } if(js_Boot.__implements(thing,flixel_addons_ui_interfaces_IResizable)) { var ir = thing; if(new_width != -1 || new_height != -1) { if(new_width == -1) { new_width = ir.get_width(); } if(new_height == -1) { new_height = ir.get_height(); } ir.resize(new_width,new_height); } } if(haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(data,"param")) { if(js_Boot.__implements(thing,flixel_addons_ui_interfaces_IHasParams)) { var ihp = thing; var params = null; if(haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(data,"param")) { params = []; var _g = 0; var _g1 = haxe_xml__$Access_NodeListAccess_$Impl_$.resolve(data,"param"); while(_g < _g1.length) { var param = _g1[_g]; ++_g; if(haxe_xml__$Access_HasAttribAccess_$Impl_$.resolve(param,"type") && haxe_xml__$Access_HasAttribAccess_$Impl_$.resolve(param,"value")) { var type = haxe_xml__$Access_AttribAccess_$Impl_$.resolve(param,"type"); type = type.toLowerCase(); var valueStr = haxe_xml__$Access_AttribAccess_$Impl_$.resolve(param,"value"); var value = valueStr; var sort = flixel_addons_ui_U.xml_i(param,"sort",-1); switch(type) { case "bool":case "boolean": var str = new String(valueStr); str = str.toLowerCase(); if(str == "true" || str == "1") { value = true; } else { value = false; } break; case "color":case "hex": var return_val = flixel_util__$FlxColor_FlxColor_$Impl_$.fromString(valueStr); if(return_val == null) { throw new js__$Boot_HaxeError("U.parseHex() unable to parse hex String " + valueStr); } value = return_val; break; case "float": value = parseFloat(valueStr); break; case "int": value = Std.parseInt(valueStr); break; case "string": value = new String(valueStr); break; } params.push({ sort : sort, value : value}); } } params.sort(flixel_addons_ui_FlxUI.sortParams); var _g2 = 0; var _g3 = params.length; while(_g2 < _g3) { var i = _g2++; params[i] = params[i].value; } } ihp.set_params(params); } } } ,_alignThing: function(data,suppressError) { if(suppressError == null) { suppressError = false; } if(haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(data,"objects")) { var _g = 0; var _g1 = haxe_xml__$Access_NodeListAccess_$Impl_$.resolve(data,"objects"); while(_g < _g1.length) { var objectNode = _g1[_g]; ++_g; var objects = flixel_addons_ui_U.xml_str(objectNode,"value",true,"").split(","); var axis = flixel_addons_ui_U.xml_str(data,"axis",true); if(axis != "horizontal" && axis != "vertical") { throw new js__$Boot_HaxeError(new openfl_errors_Error("FlxUI._alignThing(): axis must be \"horizontal\" or \"vertical\"!")); } var spacing = -1; if(axis == "horizontal") { spacing = this._getDataSize("w",flixel_addons_ui_U.xml_str(data,"spacing",true),-1); } else { spacing = this._getDataSize("h",flixel_addons_ui_U.xml_str(data,"spacing",true),-1); } var resize = flixel_addons_ui_U.xml_bool(data,"resize"); var grow = flixel_addons_ui_U.xml_bool(data,"grow",true); var shrink = flixel_addons_ui_U.xml_bool(data,"shrink",true); var X = -1; var Y = -1; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; var bounds = point; var boundsError = ""; if(haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(data,"bounds")) { if(axis == "horizontal") { bounds.set_x(this._getDataSize("w",flixel_addons_ui_U.xml_str(haxe_xml__$Access_NodeAccess_$Impl_$.resolve(data,"bounds"),"left"),-1)); bounds.set_y(this._getDataSize("w",flixel_addons_ui_U.xml_str(haxe_xml__$Access_NodeAccess_$Impl_$.resolve(data,"bounds"),"right"),-1)); } else if(axis == "vertical") { bounds.set_x(this._getDataSize("h",flixel_addons_ui_U.xml_str(haxe_xml__$Access_NodeAccess_$Impl_$.resolve(data,"bounds"),"top"),-1)); bounds.set_y(this._getDataSize("h",flixel_addons_ui_U.xml_str(haxe_xml__$Access_NodeAccess_$Impl_$.resolve(data,"bounds"),"bottom"),-1)); } } if(bounds.x != -1 && bounds.y != -1) { if(bounds.y <= bounds.x) { boundsError = "bounds max must be > bounds min! (max=" + bounds.y + " min=" + bounds.x + ")"; } } else { boundsError = "missing bound!"; } if(boundsError == "") { this._doAlign(objects,axis,spacing,resize,bounds,grow,shrink); } if(haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(data,"anchor") || haxe_xml__$Access_HasAttribAccess_$Impl_$.resolve(data,"x") || haxe_xml__$Access_HasAttribAccess_$Impl_$.resolve(data,"y")) { var _g2 = 0; while(_g2 < objects.length) { var object = objects[_g2]; ++_g2; var thing = this.getAsset(object); this._loadPosition(data,thing); } } else { var tmp = boundsError != ""; } } } else { throw new js__$Boot_HaxeError(new openfl_errors_Error("FlxUI._alignThing(): <objects> node not found!")); } } ,_doAlign: function(objects,axis,spacing,resize,bounds,allowGrow,allowShrink) { if(allowShrink == null) { allowShrink = true; } if(allowGrow == null) { allowGrow = true; } var total_spacing = 0; var total_size = 0; var bound_range = bounds.y - bounds.x; var spaces = objects.length - 1; var space_size = 0; var object_size = 0; var size_prop = "width"; var pos_prop = "x"; if(axis == "vertical") { size_prop = "height"; pos_prop = "y"; } var _g = 0; while(_g < objects.length) { var nameStr = objects[_g]; ++_g; var widget = this.getAsset(nameStr); if(widget != null) { var theval = 0; switch(size_prop) { case "height": theval = widget.get_height(); break; case "width": theval = widget.get_width(); break; } total_size += theval; } } if(resize == false) { total_spacing = bound_range - total_size; space_size = total_spacing / spaces; } else { space_size = spacing; total_spacing = spacing * spaces; object_size = (bound_range - total_spacing) / objects.length; } object_size = object_size | 0; space_size = space_size | 0; var last_pos = bounds.x; var _g1 = 0; while(_g1 < objects.length) { var nameStr1 = objects[_g1]; ++_g1; var widget1 = this.getAsset(nameStr1); if(widget1 != null) { var pos = last_pos; if(!resize) { switch(size_prop) { case "height": object_size = widget1.get_height(); break; case "width": object_size = widget1.get_width(); break; } } else if(js_Boot.__implements(widget1,flixel_addons_ui_interfaces_IResizable)) { var allow = true; var widgetr = widget1; if(axis == "vertical") { if(object_size > widgetr.get_width()) { allow = allowGrow; } else if(object_size < widgetr.get_width()) { allow = allowShrink; } if(allow) { widgetr.resize(widgetr.get_width(),object_size); } } else if(axis == "horizontal") { if(object_size > widgetr.get_height()) { allow = allowGrow; } else if(object_size < widgetr.get_height()) { allow = allowShrink; } if(allow) { widgetr.resize(object_size,widgetr.get_height()); } } } last_pos = pos + object_size + space_size; switch(pos_prop) { case "x": widget1.set_x(pos); break; case "y": widget1.set_y(pos); break; } } } } ,_checkFailure: function(data) { var target = flixel_addons_ui_U.xml_str(data,"target",true); var property = flixel_addons_ui_U.xml_str(data,"property",true); var compare = flixel_addons_ui_U.xml_str(data,"compare",true); var value = flixel_addons_ui_U.xml_str(data,"value",true); var thing = this.getAsset(target); if(thing == null) { return false; } var prop_f = 0; var val_f = 0; var p = flixel_addons_ui_U.perc_to_float(value); switch(property) { case "h":case "height": prop_f = thing.get_height(); break; case "w":case "width": prop_f = thing.get_width(); break; } if(isNaN(p)) { if(flixel_addons_ui_U.isStrNum(value)) { val_f = parseFloat(value); } else { return false; } } else { switch(property) { case "h":case "height": val_f = p * this.screenHeight(); break; case "w":case "width": val_f = p * this.screenWidth(); break; } } var return_val = false; switch(compare) { case "<": if(prop_f < val_f) { this.failed_by = val_f - prop_f; return_val = true; } break; case "<=": if(prop_f <= val_f) { this.failed_by = val_f - prop_f; return_val = true; } break; case "=":case "==": if(prop_f == val_f) { this.failed_by = Math.abs(prop_f - val_f); return_val = true; } break; case ">": if(prop_f > val_f) { this.failed_by = prop_f - val_f; return_val = true; } break; case ">=": if(prop_f >= val_f) { this.failed_by = prop_f - val_f; return_val = true; } break; } return return_val; } ,_resizeThing: function(fo_r,bounds) { var do_resize = false; var ww = fo_r.get_width(); var hh = fo_r.get_height(); if(ww < bounds.min_width) { do_resize = true; ww = bounds.min_width; } else if(ww > bounds.max_width) { do_resize = true; ww = bounds.max_width; } if(hh < bounds.min_height) { do_resize = true; hh = bounds.min_height; } else if(hh > bounds.max_height) { do_resize = true; hh = bounds.max_height; } if(do_resize) { fo_r.resize(ww,hh); } } ,_postLoadThing: function(type,data) { if(type == "load_if") { if(this._loadTest(data)) { if(data.firstElement() != null) { var subNode = data.elements(); while(subNode.hasNext()) { var subNode1 = subNode.next(); if(subNode1.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element but found " + _$Xml_XmlType_$Impl_$.toString(subNode1.nodeType)); } var nodeType = subNode1.nodeName.toLowerCase(); if(subNode1.nodeType != Xml.Document && subNode1.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Invalid nodeType " + _$Xml_XmlType_$Impl_$.toString(subNode1.nodeType)); } var this1 = subNode1; this._postLoadThing(nodeType,this1); } } } return; } if(this._loadTest(data) == false) { return; } var name = flixel_addons_ui_U.xml_name(data); var thing = this.getAsset(name); var isGroup = type == "group"; if(isGroup) { thing = this.getGroup(name); } if(type == "align") { this._alignThing(data); } if(type == "change") { this._changeThing(data); } if(type == "position") { this._loadPosition(data,thing); return; } if(type == "cursor") { this._loadCursor(data); } if(thing == null && !isGroup) { return; } if(!isGroup) { var use_def = flixel_addons_ui_U.xml_str(data,"use_def",true); var definition = null; if(use_def != "") { definition = this.getDefinition(use_def); } if(js_Boot.__implements(thing,flixel_addons_ui_interfaces_IResizable)) { var ww = this._getDataSize("w",flixel_addons_ui_U.xml_str(data,"width")); var hh = this._getDataSize("h",flixel_addons_ui_U.xml_str(data,"height")); if(ww == 0 || ww == thing.get_width()) { ww = null; } if(hh == 0 || hh == thing.get_height()) { hh = null; } var bounds = this.calcMaxMinSize(data); if(bounds != null) { if(ww != null) { if(ww < bounds.min_width) { ww = bounds.min_width; } if(ww > bounds.max_width) { ww = bounds.max_width; } bounds.min_width = bounds.max_width = ww; } if(hh != null) { if(hh < bounds.min_height) { hh = bounds.min_height; } if(hh > bounds.max_height) { hh = bounds.max_height; } bounds.min_height = bounds.max_height = hh; } this._resizeThing(js_Boot.__cast(thing , flixel_addons_ui_interfaces_IResizable),bounds); } } var X = -thing.x; var Y = -thing.y; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var _g = thing; _g.set_x(_g.x + X); var _g1 = thing; _g1.set_y(_g1.y + Y); this._loadPosition(data,thing); } var send_to = flixel_addons_ui_U.xml_str(data,"send_to",true,""); if(send_to != "") { switch(send_to) { case "back":case "bottom": this._sendTo(thing,-1); break; case "front":case "top": this._sendTo(thing,1); break; } } if(!isGroup && ((thing) instanceof flixel_addons_ui_FlxUI)) { var fui_thing = thing; if(fui_thing._postLoaded == false) { fui_thing.getEvent("post_load",this,null); } } } ,_loadTileTest: function(data) { var tiles_w = flixel_addons_ui_U.xml_i(data,"tiles_w",2); var tiles_h = flixel_addons_ui_U.xml_i(data,"tiles_h",2); var w = this._loadWidth(data); var h = this._loadHeight(data); var bounds = this.calcMaxMinSize(data); if(w < bounds.min_width) { w = bounds.min_width; } if(h < bounds.min_height) { h = bounds.min_height; } var tileWidth = w / tiles_w | 0; var tileHeight = h / tiles_h | 0; if(tileWidth < tileHeight) { tileHeight = tileWidth; } else if(tileHeight < tileWidth) { tileWidth = tileHeight; } var totalw = tileWidth * tiles_w; var totalh = tileHeight * tiles_h; if(totalw > bounds.max_width) { tileWidth = bounds.max_width / tiles_w | 0; } if(totalh > bounds.max_height) { tileHeight = bounds.max_height / tiles_h | 0; } if(tileWidth < tileHeight) { tileHeight = tileWidth; } else if(tileHeight < tileWidth) { tileWidth = tileHeight; } if(tileWidth < 2) { tileWidth = 2; } if(tileHeight < 2) { tileHeight = 2; } var color1 = flixel_util__$FlxColor_FlxColor_$Impl_$.fromString(flixel_addons_ui_U.xml_str(data,"color1",true,"0x808080")); var color2 = flixel_util__$FlxColor_FlxColor_$Impl_$.fromString(flixel_addons_ui_U.xml_str(data,"color2",true,"0xc4c4c4")); var baseTileSize = flixel_addons_ui_U.xml_i(data,"base_tile_size",-1); var floorToEven = flixel_addons_ui_U.xml_bool(data,"floor_to_even",false); var ftt = new flixel_addons_ui_FlxUITileTest(0,0,tileWidth,tileHeight,tiles_w,tiles_h,color1,color2,floorToEven); ftt.baseTileSize = baseTileSize; return ftt; } ,_loadString: function(data,attributeName) { var string = flixel_addons_ui_U.xml_str(data,attributeName); var context = flixel_addons_ui_U.xml_str(data,"context",true,"ui"); var code = flixel_addons_ui_U.xml_str(data,"code",true,""); string = this.getText(string,context,true,code); return string; } ,_loadText: function(data) { var text = flixel_addons_ui_U.xml_str(data,"text"); var context = flixel_addons_ui_U.xml_str(data,"context",true,"ui"); var code = flixel_addons_ui_U.xml_str(data,"code",true,""); text = this.getText(text,context,true,code); var W = this._loadWidth(data,100) | 0; var H = this._loadHeight(data,-1) | 0; var the_font = this._loadFontFace(data); var input = flixel_addons_ui_U.xml_bool(data,"input"); if(input) { throw new js__$Boot_HaxeError(new openfl_errors_Error("FlxUI._loadText(): <text> with input has been deprecated. Use <input_text> instead.")); } var align = flixel_addons_ui_U.xml_str(data,"align"); if(align == "") { align = null; } var size = this._loadHeight(data,8,"size","floor") | 0; var color = this._loadColor(data); var border = this._loadBorder(data); var ftu = new flixel_addons_ui_FlxUIText(0,0,W,text,size); ftu.setFormat(the_font,size,color,align); border.apply(ftu); ftu.drawFrame(); var ft = ftu; if(haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(data,"param")) { var params = null; if(haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(data,"param")) { params = []; var _g = 0; var _g1 = haxe_xml__$Access_NodeListAccess_$Impl_$.resolve(data,"param"); while(_g < _g1.length) { var param = _g1[_g]; ++_g; if(haxe_xml__$Access_HasAttribAccess_$Impl_$.resolve(param,"type") && haxe_xml__$Access_HasAttribAccess_$Impl_$.resolve(param,"value")) { var type = haxe_xml__$Access_AttribAccess_$Impl_$.resolve(param,"type"); type = type.toLowerCase(); var valueStr = haxe_xml__$Access_AttribAccess_$Impl_$.resolve(param,"value"); var value = valueStr; var sort = flixel_addons_ui_U.xml_i(param,"sort",-1); switch(type) { case "bool":case "boolean": var str = new String(valueStr); str = str.toLowerCase(); if(str == "true" || str == "1") { value = true; } else { value = false; } break; case "color":case "hex": var return_val = flixel_util__$FlxColor_FlxColor_$Impl_$.fromString(valueStr); if(return_val == null) { throw new js__$Boot_HaxeError("U.parseHex() unable to parse hex String " + valueStr); } value = return_val; break; case "float": value = parseFloat(valueStr); break; case "int": value = Std.parseInt(valueStr); break; case "string": value = new String(valueStr); break; } params.push({ sort : sort, value : value}); } } params.sort(flixel_addons_ui_FlxUI.sortParams); var _g2 = 0; var _g3 = params.length; while(_g2 < _g3) { var i = _g2++; params[i] = params[i].value; } } var params1 = params; var ihp = ft; ihp.set_params(params1); } if(H > 0 && ft.get_height() != H) { if(js_Boot.__implements(ft,flixel_addons_ui_interfaces_IResizable)) { var r = ft; r.resize(r.get_width(),H); } } ftu.set_text(" "); ftu.set_text(text); return ft; } ,_loadInputText: function(data) { var text = flixel_addons_ui_U.xml_str(data,"text"); var context = flixel_addons_ui_U.xml_str(data,"context",true,"ui"); var code = flixel_addons_ui_U.xml_str(data,"code",true,""); text = this.getText(text,context,true,code); var W = this._loadWidth(data,100) | 0; var H = this._loadHeight(data,-1) | 0; var the_font = this._loadFontFace(data); var align = flixel_addons_ui_U.xml_str(data,"align"); if(align == "") { align = null; } var size = this._loadHeight(data,8,"size") | 0; var color = this._loadColor(data); var border = this._loadBorder(data); var str = flixel_addons_ui_U.xml_str(data,"background",true,"0x00000000"); var safe = true; var default_color = 0; if(default_color == null) { default_color = 0; } if(safe == null) { safe = false; } var return_val = flixel_util__$FlxColor_FlxColor_$Impl_$.fromString(str); if(return_val == null) { if(!safe) { throw new js__$Boot_HaxeError("U.parseHex() unable to parse hex String " + str); } else { return_val = default_color; } } var backgroundColor = return_val; var passwordMode = flixel_addons_ui_U.xml_bool(data,"password_mode"); var fti = new flixel_addons_ui_FlxUIInputText(0,0,W,text,size,color,backgroundColor); fti.set_passwordMode(passwordMode); var force_case = flixel_addons_ui_U.xml_str(data,"force_case",true,""); var forceCase; switch(force_case) { case "lower":case "lower_case":case "lowercase": forceCase = 2; break; case "l":case "u": throw new js__$Boot_HaxeError(new openfl_errors_Error("FlxUI._loadInputText(): 1 letter values have been deprecated (force_case attribute).")); case "upper":case "upper_case":case "uppercase": forceCase = 1; break; default: forceCase = 0; } var filter = flixel_addons_ui_U.xml_str(data,"filter",true,""); var filterMode; while(filter.indexOf("_") != -1) filter = StringTools.replace(filter,"_",""); switch(filter) { case "a":case "an":case "n": throw new js__$Boot_HaxeError(new openfl_errors_Error("FlxUI._loadInputText(): 1 letter values have been deprecated (filter attribute).")); case "alpha":case "onlyalpha": filterMode = 1; break; case "alphanum":case "alphanumeric":case "onlyalphanumeric": filterMode = 3; break; case "num":case "numeric":case "onlynumeric": filterMode = 2; break; default: filterMode = 0; } fti.setFormat(the_font,size,color,align); fti.set_forceCase(forceCase); fti.set_filterMode(filterMode); border.apply(fti); fti.drawFrame(); var ft = fti; if(haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(data,"param")) { var params = null; if(haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(data,"param")) { params = []; var _g = 0; var _g1 = haxe_xml__$Access_NodeListAccess_$Impl_$.resolve(data,"param"); while(_g < _g1.length) { var param = _g1[_g]; ++_g; if(haxe_xml__$Access_HasAttribAccess_$Impl_$.resolve(param,"type") && haxe_xml__$Access_HasAttribAccess_$Impl_$.resolve(param,"value")) { var type = haxe_xml__$Access_AttribAccess_$Impl_$.resolve(param,"type"); type = type.toLowerCase(); var valueStr = haxe_xml__$Access_AttribAccess_$Impl_$.resolve(param,"value"); var value = valueStr; var sort = flixel_addons_ui_U.xml_i(param,"sort",-1); switch(type) { case "bool":case "boolean": var str1 = new String(valueStr); str1 = str1.toLowerCase(); if(str1 == "true" || str1 == "1") { value = true; } else { value = false; } break; case "color":case "hex": var return_val1 = flixel_util__$FlxColor_FlxColor_$Impl_$.fromString(valueStr); if(return_val1 == null) { throw new js__$Boot_HaxeError("U.parseHex() unable to parse hex String " + valueStr); } value = return_val1; break; case "float": value = parseFloat(valueStr); break; case "int": value = Std.parseInt(valueStr); break; case "string": value = new String(valueStr); break; } params.push({ sort : sort, value : value}); } } params.sort(flixel_addons_ui_FlxUI.sortParams); var _g2 = 0; var _g3 = params.length; while(_g2 < _g3) { var i = _g2++; params[i] = params[i].value; } } var params1 = params; var ihp = ft; ihp.set_params(params1); } if(H > 0 && ft.get_height() != H) { if(js_Boot.__implements(ft,flixel_addons_ui_interfaces_IResizable)) { var r = ft; r.resize(r.get_width(),H); } } return ft; } ,_loadRadioGroup: function(data) { var frg = null; var dot_src = flixel_addons_ui_U.xml_str(data,"dot_src",true); var radio_src = flixel_addons_ui_U.xml_str(data,"radio_src",true); var labels = []; var names = []; var W = this._loadWidth(data,11,"radio_width"); var H = this._loadHeight(data,11,"radio_height"); var scrollH = this._loadHeight(data,0,"height"); var scrollW = this._loadHeight(data,0,"width"); var labelW = this._loadWidth(data,100,"label_width"); var _g = 0; var _g1 = haxe_xml__$Access_NodeListAccess_$Impl_$.resolve(data,"radio"); while(_g < _g1.length) { var radioNode = _g1[_g]; ++_g; var name = flixel_addons_ui_U.xml_name(radioNode); var label = flixel_addons_ui_U.xml_str(radioNode,"label"); var context = flixel_addons_ui_U.xml_str(radioNode,"context",true,"ui"); var code = flixel_addons_ui_U.xml_str(radioNode,"code",true,""); label = this.getText(label,context,true,code); names.push(name); labels.push(label); } names.reverse(); labels.reverse(); var y_space = this._loadHeight(data,25,"y_space"); var params = null; if(haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(data,"param")) { params = []; var _g2 = 0; var _g11 = haxe_xml__$Access_NodeListAccess_$Impl_$.resolve(data,"param"); while(_g2 < _g11.length) { var param = _g11[_g2]; ++_g2; if(haxe_xml__$Access_HasAttribAccess_$Impl_$.resolve(param,"type") && haxe_xml__$Access_HasAttribAccess_$Impl_$.resolve(param,"value")) { var type = haxe_xml__$Access_AttribAccess_$Impl_$.resolve(param,"type"); type = type.toLowerCase(); var valueStr = haxe_xml__$Access_AttribAccess_$Impl_$.resolve(param,"value"); var value = valueStr; var sort = flixel_addons_ui_U.xml_i(param,"sort",-1); switch(type) { case "bool":case "boolean": var str = new String(valueStr); str = str.toLowerCase(); if(str == "true" || str == "1") { value = true; } else { value = false; } break; case "color":case "hex": var return_val = flixel_util__$FlxColor_FlxColor_$Impl_$.fromString(valueStr); if(return_val == null) { throw new js__$Boot_HaxeError("U.parseHex() unable to parse hex String " + valueStr); } value = return_val; break; case "float": value = parseFloat(valueStr); break; case "int": value = Std.parseInt(valueStr); break; case "string": value = new String(valueStr); break; } params.push({ sort : sort, value : value}); } } params.sort(flixel_addons_ui_FlxUI.sortParams); var _g21 = 0; var _g3 = params.length; while(_g21 < _g3) { var i = _g21++; params[i] = params[i].value; } } var params1 = params; var radio_asset = null; if(radio_src != "") { radio_asset = flixel_addons_ui_U.gfx(radio_src); } else if(haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(data,"box")) { if(flixel_addons_ui_U.xml_str(haxe_xml__$Access_NodeAccess_$Impl_$.resolve(data,"box"),"slice9") != "") { radio_asset = this._load9SliceSprite(haxe_xml__$Access_NodeAccess_$Impl_$.resolve(data,"box")); } else { radio_asset = this._loadSprite(haxe_xml__$Access_NodeAccess_$Impl_$.resolve(data,"box")); } } var dot_asset = null; if(dot_src != "") { dot_asset = flixel_addons_ui_U.gfx(dot_src); } else if(haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(data,"dot")) { if(flixel_addons_ui_U.xml_str(haxe_xml__$Access_NodeAccess_$Impl_$.resolve(data,"dot"),"slice9") != "") { dot_asset = this._load9SliceSprite(haxe_xml__$Access_NodeAccess_$Impl_$.resolve(data,"dot")); } else { dot_asset = this._loadSprite(haxe_xml__$Access_NodeAccess_$Impl_$.resolve(data,"dot")); } } var prevOffset = null; var nextOffset = null; if(haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(data,"button")) { var _g22 = 0; var _g31 = haxe_xml__$Access_NodeListAccess_$Impl_$.resolve(data,"button"); while(_g22 < _g31.length) { var btnNode = _g31[_g22]; ++_g22; var name1 = flixel_addons_ui_U.xml_name(btnNode); if(name1 == "previous" || name1 == "prev") { var X = flixel_addons_ui_U.xml_f(btnNode,"x"); var Y = flixel_addons_ui_U.xml_f(btnNode,"y"); if(Y == null) { Y = 0; } if(X == null) { X = 0; } var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; prevOffset = point; } else if(name1 == "next") { var X1 = flixel_addons_ui_U.xml_f(btnNode,"x"); var Y1 = flixel_addons_ui_U.xml_f(btnNode,"y"); if(Y1 == null) { Y1 = 0; } if(X1 == null) { X1 = 0; } var point1 = flixel_math_FlxPoint._pool.get().set(X1,Y1); point1._inPool = false; nextOffset = point1; } } } frg = new flixel_addons_ui_FlxUIRadioGroup(0,0,names,labels,null,y_space,W,H,labelW,null,prevOffset,nextOffset); frg.set_params(params1); if(radio_asset != "" && radio_asset != null) { frg.loadGraphics(radio_asset,dot_asset); } var text_x = this._loadWidth(data,0,"text_x") | 0; var text_y = this._loadHeight(data,0,"text_y") | 0; var radios = frg.getRadios(); var i1 = 0; var styleSet = false; var radioList = data.elementsNamed("radio"); var radioNode1 = null; var _g23 = 0; var _g32 = radios.length; while(_g23 < _g32) { var k = _g23++; var fo = radios[radios.length - 1 - k]; radioNode1 = radioList.hasNext() ? radioList.next() : null; if(fo != null) { if(((fo) instanceof flixel_addons_ui_FlxUICheckBox)) { var fc = js_Boot.__cast(fo , flixel_addons_ui_FlxUICheckBox); var t = this.formatButtonText(data,fc); if(t != null && styleSet == false) { var fd = flixel_addons_ui_FontDef.copyFromFlxText(t); var bd = new flixel_addons_ui_BorderDef(t.borderStyle,t.borderColor,t.borderSize,t.borderQuality); frg.set_activeStyle(new flixel_addons_ui_CheckStyle(16777215,fd,flixel_text__$FlxText_FlxTextAlign_$Impl_$.fromOpenFL(t._defaultFormat.align),t.color,bd)); styleSet = true; } fc.set_textX(text_x); fc.set_textY(text_y); ++i1; if(radioNode1 != null) { if(radioNode1.nodeType != Xml.Document && radioNode1.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Invalid nodeType " + _$Xml_XmlType_$Impl_$.toString(radioNode1.nodeType)); } var this1 = radioNode1; this._loadTooltip(fc,this1); } } } } if(scrollW != 0) { frg.fixedSize = true; frg.set_width(scrollW); } if(scrollH != 0) { frg.fixedSize = true; frg.set_height(scrollH); } return frg; } ,_loadCheckBox: function(data) { var fc = null; var label = flixel_addons_ui_U.xml_str(data,"label"); var context = flixel_addons_ui_U.xml_str(data,"context",true,"ui"); var code = flixel_addons_ui_U.xml_str(data,"code",true,""); var checked = flixel_addons_ui_U.xml_bool(data,"checked",false); label = this.getText(label,context,true,code); var labelW = this._loadWidth(data,100,"label_width"); var check_src = flixel_addons_ui_U.xml_str(data,"check_src",true); var box_src = flixel_addons_ui_U.xml_str(data,"box_src",true); var params = null; if(haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(data,"param")) { params = []; var _g = 0; var _g1 = haxe_xml__$Access_NodeListAccess_$Impl_$.resolve(data,"param"); while(_g < _g1.length) { var param = _g1[_g]; ++_g; if(haxe_xml__$Access_HasAttribAccess_$Impl_$.resolve(param,"type") && haxe_xml__$Access_HasAttribAccess_$Impl_$.resolve(param,"value")) { var type = haxe_xml__$Access_AttribAccess_$Impl_$.resolve(param,"type"); type = type.toLowerCase(); var valueStr = haxe_xml__$Access_AttribAccess_$Impl_$.resolve(param,"value"); var value = valueStr; var sort = flixel_addons_ui_U.xml_i(param,"sort",-1); switch(type) { case "bool":case "boolean": var str = new String(valueStr); str = str.toLowerCase(); if(str == "true" || str == "1") { value = true; } else { value = false; } break; case "color":case "hex": var return_val = flixel_util__$FlxColor_FlxColor_$Impl_$.fromString(valueStr); if(return_val == null) { throw new js__$Boot_HaxeError("U.parseHex() unable to parse hex String " + valueStr); } value = return_val; break; case "float": value = parseFloat(valueStr); break; case "int": value = Std.parseInt(valueStr); break; case "string": value = new String(valueStr); break; } params.push({ sort : sort, value : value}); } } params.sort(flixel_addons_ui_FlxUI.sortParams); var _g2 = 0; var _g3 = params.length; while(_g2 < _g3) { var i = _g2++; params[i] = params[i].value; } } var params1 = params; var box_asset = null; var check_asset = null; if(box_src != "") { box_asset = flixel_addons_ui_U.gfx(box_src); } else if(haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(data,"box")) { if(flixel_addons_ui_U.xml_str(haxe_xml__$Access_NodeAccess_$Impl_$.resolve(data,"box"),"slice9") != "") { box_asset = this._load9SliceSprite(haxe_xml__$Access_NodeAccess_$Impl_$.resolve(data,"box")); } else { box_asset = this._loadSprite(haxe_xml__$Access_NodeAccess_$Impl_$.resolve(data,"box")); } } if(check_src != "") { check_asset = flixel_addons_ui_U.gfx(check_src); } else if(haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(data,"check")) { if(flixel_addons_ui_U.xml_str(haxe_xml__$Access_NodeAccess_$Impl_$.resolve(data,"check"),"slice9") != "") { check_asset = this._load9SliceSprite(haxe_xml__$Access_NodeAccess_$Impl_$.resolve(data,"check")); } else { check_asset = this._loadSprite(haxe_xml__$Access_NodeAccess_$Impl_$.resolve(data,"check")); } } fc = new flixel_addons_ui_FlxUICheckBox(0,0,box_asset,check_asset,label,labelW,params1); this.formatButtonText(data,fc); var text_x = this._loadWidth(data,0,"text_x") | 0; var text_y = this._loadHeight(data,0,"text_y") | 0; fc.set_textX(text_x); fc.set_textY(text_y); fc.set_text(label); fc.set_checked(checked); return fc; } ,_loadDropDownMenu: function(data) { var fud = null; var label = flixel_addons_ui_U.xml_str(data,"label"); var context = flixel_addons_ui_U.xml_str(data,"context",true,"ui"); var code = flixel_addons_ui_U.xml_str(data,"code",true,""); label = this.getText(label,context,true,code); var back_def = flixel_addons_ui_U.xml_str(data,"back_def",true); var panel_def = flixel_addons_ui_U.xml_str(data,"panel_def",true); var button_def = flixel_addons_ui_U.xml_str(data,"button_def",true); var label_def = flixel_addons_ui_U.xml_str(data,"label_def",true); var back_asset = null; var panel_asset = null; var button_asset = null; var label_asset = null; if(back_def != "") { back_asset = this._loadSprite(this.getDefinition(back_def)); } if(panel_def != "") { panel_asset = this._load9SliceSprite(this.getDefinition(panel_def)); } if(button_def != "") { try { button_asset = this._loadButton(this.getDefinition(button_def),false,false); } catch( e ) { haxe_CallStack.lastException = e; var e1 = ((e) instanceof js__$Boot_HaxeError) ? e.val : e; if(((e1) instanceof openfl_errors_Error)) { var e2 = e1; button_asset = null; } else { throw e; } } } if(label_def != "") { try { label_asset = this._loadText(this.getDefinition(label_def)); } catch( e3 ) { haxe_CallStack.lastException = e3; var e4 = ((e3) instanceof js__$Boot_HaxeError) ? e3.val : e3; if(((e4) instanceof openfl_errors_Error)) { var e5 = e4; label_asset = null; } else { throw e3; } } if(label_asset != null && label != "") { label_asset.set_text(label); } } var asset_list = null; var data_list = null; if(haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(data,"data")) { var _g = 0; var _g1 = haxe_xml__$Access_NodeListAccess_$Impl_$.resolve(data,"data"); while(_g < _g1.length) { var dataNode = _g1[_g]; ++_g; if(data_list == null) { data_list = []; } var namel = new flixel_addons_ui_StrNameLabel(flixel_addons_ui_U.xml_str(dataNode,"name",true),flixel_addons_ui_U.xml_str(dataNode,"label")); data_list.push(namel); } } else if(haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(data,"asset")) { var _g2 = 0; var _g11 = haxe_xml__$Access_NodeListAccess_$Impl_$.resolve(data,"asset"); while(_g2 < _g11.length) { var assetNode = _g11[_g2]; ++_g2; if(asset_list == null) { asset_list = []; } var def_name = flixel_addons_ui_U.xml_str(assetNode,"def",true); var name = flixel_addons_ui_U.xml_name(assetNode); var asset = null; try { asset = this._loadButton(this.getDefinition(def_name),false); } catch( e6 ) { haxe_CallStack.lastException = e6; var e7 = ((e6) instanceof js__$Boot_HaxeError) ? e6.val : e6; if(((e7) instanceof openfl_errors_Error)) { var e8 = e7; } else { throw e6; } } if(asset != null) { asset.name = name; if(asset_list == null) { asset_list = []; } asset_list.push(asset); } } } var header = new flixel_addons_ui_FlxUIDropDownHeader(120,back_asset,label_asset,button_asset); fud = new flixel_addons_ui_FlxUIDropDownMenu(0,0,data_list,null,header,panel_asset,asset_list); return fud; } ,_loadTest: function(data) { var result = true; var tmp; if(data.nodeType == Xml.Document) { tmp = "Document"; } else { if(data.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element but found " + _$Xml_XmlType_$Impl_$.toString(data.nodeType)); } tmp = data.nodeName; } if(tmp == "load_if") { result = this._loadTestSub(data); if(result == false) { return false; } } if(haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(data,"load_if")) { var _g = 0; var _g1 = haxe_xml__$Access_NodeListAccess_$Impl_$.resolve(data,"load_if"); while(_g < _g1.length) { var node = _g1[_g]; ++_g; var _this = node; if(_this.nodeType != Xml.Document && _this.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element or Document but found " + _$Xml_XmlType_$Impl_$.toString(_this.nodeType)); } if(_this.children[0] == null) { result = this._loadTestSub(node); if(result == false) { return false; } } } } return result; } ,_loadTestSub: function(node) { var matchValue = flixel_addons_ui_U.xml_bool(node,"is",true); var match = matchValue; var aspect_ratio = flixel_addons_ui_U.xml_f(node,"aspect_ratio",-1); if(aspect_ratio != -1) { match = true; var screen_ratio = js_Boot.__cast(flixel_FlxG.width , Float) / js_Boot.__cast(flixel_FlxG.height , Float); var diff = Math.abs(screen_ratio - aspect_ratio); if(haxe_xml__$Access_HasAttribAccess_$Impl_$.resolve(node,"tolerance")) { var tolerance = flixel_addons_ui_U.xml_f(node,"tolerance",0.1); if(diff > tolerance) { match = false; } } else if(haxe_xml__$Access_HasAttribAccess_$Impl_$.resolve(node,"tolerance_plus") || haxe_xml__$Access_HasAttribAccess_$Impl_$.resolve(node,"tolerance_minus")) { var tolerance_minus = flixel_addons_ui_U.xml_f(node,"tolerance_minus",-1); var tolerance_plus = flixel_addons_ui_U.xml_f(node,"tolerance_plus",-1); if(screen_ratio > aspect_ratio && tolerance_plus != -1) { if(diff > tolerance_plus) { match = false; } } if(screen_ratio < aspect_ratio && tolerance_minus != -1) { if(diff > tolerance_minus) { match = false; } } } if(match != matchValue) { return false; } } var resolution = flixel_addons_ui_U.xml_pt(node,"resolution",null); if(resolution != null) { match = true; var toleranceRes = flixel_addons_ui_U.xml_pt(node,"tolerance",null); if(toleranceRes == null) { toleranceRes = new flixel_math_FlxPoint(0,0); } var diffX = Math.abs(resolution.x - flixel_FlxG.width); var diffY = Math.abs(resolution.y - flixel_FlxG.height); if(diffX > toleranceRes.x || diffY > toleranceRes.y) { match = false; } if(match != matchValue) { return false; } } var haxeDef = flixel_addons_ui_U.xml_str(node,"haxedef",true,""); var haxeVal = flixel_addons_ui_U.xml_bool(node,"value",true); if(haxeDef != "") { match = true; var defValue = flixel_addons_ui_U.checkHaxedef(haxeDef); match = defValue == haxeVal; if(match != matchValue) { return false; } } var variable = flixel_addons_ui_U.xml_str(node,"variable",false,""); var variableType = flixel_addons_ui_U.xml_str(node,"type",true,"string"); if(variable != "") { match = true; var varData = this.parseVarValue(variable); if(varData != null) { match = this.checkVariable(varData.variable,varData.value,variableType,varData.op); } if(match != matchValue) { return false; } } return true; } ,parseVarValue: function(varString) { var arr = ["==","=","!=","!==","<",">","<=",">="]; var temp; var _g = 0; while(_g < arr.length) { var op = arr[_g]; ++_g; if(varString.indexOf(op) != -1) { temp = varString.split(op); if(temp != null && temp.length == 2) { return { variable : temp[0], value : temp[1], op : op}; } } } return null; } ,_loadLayout: function(data) { var name = flixel_addons_ui_U.xml_str(data,"name",true); var X = this._loadWidth(data,0,"x"); var Y = this._loadHeight(data,0,"y"); var _ui = this.createUI(data); _ui.set_x(X); _ui.set_y(Y); _ui.name = name; return _ui; } ,addToCleanup: function(str) { if(this._assetsToCleanUp == null) { return; } if(this._assetsToCleanUp.indexOf(str) == -1) { this._assetsToCleanUp.push(str); } } ,addToScaledAssets: function(str) { if(this._scaledAssets != null && this._scaledAssets.indexOf(str) == -1) { this._scaledAssets.push(str); } } ,cleanup: function() { var _g = 0; var _g1 = this._assetsToCleanUp; while(_g < _g1.length) { var key = _g1[_g]; ++_g; flixel_FlxG.bitmap.removeByKey(key); } this._assetsToCleanUp = null; this._scaledAssets = null; } ,createUI: function(data) { return new flixel_addons_ui_FlxUI(data,this,this,this._ptr_tongue,this.liveFilePath); } ,_loadTabMenu: function(data) { var back_def_str = flixel_addons_ui_U.xml_str(data,"back_def"); var back_def = this.getDefinition(back_def_str); if(back_def == null) { back_def = data; } back_def = flixel_addons_ui_FlxUI.consolidateData(back_def,data); var back_type = flixel_addons_ui_U.xml_str(data,"back_type",true,"chrome"); var backSprite; switch(back_type) { case "region": backSprite = new flixel_addons_ui_FlxUIRegion(); break; case "sprite": backSprite = this._loadSprite(back_def); break; default: backSprite = this._load9SliceSprite(back_def,"tab_menu"); } var tab_def = null; var stretch_tabs = flixel_addons_ui_U.xml_bool(data,"stretch_tabs",false); var stackToggled = "front"; var stackUntoggled = "back"; if(haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(data,"stacking")) { stackToggled = flixel_addons_ui_U.xml_str(haxe_xml__$Access_NodeAccess_$Impl_$.resolve(data,"stacking"),"toggled",true,"front"); stackUntoggled = flixel_addons_ui_U.xml_str(haxe_xml__$Access_NodeAccess_$Impl_$.resolve(data,"stacking"),"untoggled",true,"back"); } var tab_spacing_str = flixel_addons_ui_U.xml_str(data,"spacing",true,""); var tab_spacing = null; if(tab_spacing_str != "") { tab_spacing = this._loadWidth(data,0,"spacing"); } var tab_x = this._loadWidth(data,0,"tab_x"); var tab_y = this._loadHeight(data,0,"tab_y"); var X = tab_x; var Y = tab_y; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; var tab_offset = point; var tab_def_str = ""; if(haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(data,"tab")) { var _g = 0; var _g1 = haxe_xml__$Access_NodeListAccess_$Impl_$.resolve(data,"tab"); while(_g < _g1.length) { var tabNode = _g1[_g]; ++_g; var temp = flixel_addons_ui_U.xml_str(tabNode,"use_def"); if(temp != "") { tab_def_str = temp; } } if(tab_def_str != "") { tab_def = this.getDefinition(tab_def_str); } else { tab_def = haxe_xml__$Access_NodeAccess_$Impl_$.resolve(data,"tab"); } } var list_tabs = []; var name = ""; if(haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(data,"tab")) { var _g2 = 0; var _g11 = haxe_xml__$Access_NodeListAccess_$Impl_$.resolve(data,"tab"); while(_g2 < _g11.length) { var tab_node = _g11[_g2]; ++_g2; name = flixel_addons_ui_U.xml_name(tab_node); if(name != "") { var label = flixel_addons_ui_U.xml_str(tab_node,"label"); var context = flixel_addons_ui_U.xml_str(tab_node,"context",true,"ui"); var code = flixel_addons_ui_U.xml_str(tab_node,"code",true,""); label = this.getText(label,context,true,code); label = this.getText(label,context,true,code); var tab_info = flixel_addons_ui_FlxUI.consolidateData(tab_node,tab_def); var tab = this._loadButton(tab_info,true,true,"tab_menu"); tab.name = name; list_tabs.push(tab); this._loadTooltip(tab,tab_info); } } } if(list_tabs.length > 0) { if(tab_def == null || !haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(tab_def,"text")) { var _g3 = 0; while(_g3 < list_tabs.length) { var t = list_tabs[_g3]; ++_g3; if(((t) instanceof flixel_addons_ui_FlxUITypedButton)) { var tb = t; tb.label.set_color(16777215); if(((tb.label) instanceof flixel_addons_ui_FlxUIText)) { var labelText = tb.label; labelText.set_borderStyle(flixel_text_FlxTextBorderStyle.OUTLINE); labelText.set_borderColor(0); labelText.set_borderSize(1); labelText.set_borderQuality(1); } } } } if(tab_def == null || !haxe_xml__$Access_HasAttribAccess_$Impl_$.resolve(tab_def,"width")) { stretch_tabs = true; } } var tab_stacking = [stackToggled,stackUntoggled]; var fg = new flixel_addons_ui_FlxUITabMenu(backSprite,list_tabs,null,tab_offset,stretch_tabs,tab_spacing,tab_stacking); if(haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(data,"group")) { var _g4 = 0; var _g12 = haxe_xml__$Access_NodeListAccess_$Impl_$.resolve(data,"group"); while(_g4 < _g12.length) { var group_node = _g12[_g4]; ++_g4; name = flixel_addons_ui_U.xml_name(group_node); var _ui = new flixel_addons_ui_FlxUI(group_node,fg,this,this._ptr_tongue); if(list_tabs != null && list_tabs.length > 0) { var _g5 = _ui; _g5.set_y(_g5.y + list_tabs[0].get_height()); } _ui.name = name; fg.addGroup(_ui); } } return fg; } ,_loadNumericStepper: function(data,setCallback) { if(setCallback == null) { setCallback = true; } var stepSize = flixel_addons_ui_U.xml_f(data,"step",1); var defaultValue = flixel_addons_ui_U.xml_f(data,"value",0); var min = flixel_addons_ui_U.xml_f(data,"min",0); var max = flixel_addons_ui_U.xml_f(data,"max",10); var decimals = flixel_addons_ui_U.xml_i(data,"decimals",0); var percent = flixel_addons_ui_U.xml_bool(data,"percent"); var stack = flixel_addons_ui_U.xml_str(data,"stack",true,""); if(stack == "") { stack = flixel_addons_ui_U.xml_str(data,"stacking",true,""); } stack = stack.toLowerCase(); var stacking; switch(stack) { case "h":case "horizontal":case "horz": stacking = 1; break; case "v":case "vert":case "vertical": stacking = 0; break; default: stacking = 1; } var theText = null; var buttPlus = null; var buttMinus = null; if(haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(data,"text")) { theText = this._loadThing("text",haxe_xml__$Access_NodeAccess_$Impl_$.resolve(data,"text")); } if(haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(data,"plus")) { buttPlus = this._loadThing("button",haxe_xml__$Access_NodeAccess_$Impl_$.resolve(data,"plus")); } if(haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(data,"minus")) { buttMinus = this._loadThing("button",haxe_xml__$Access_NodeAccess_$Impl_$.resolve(data,"minus")); } var ns = new flixel_addons_ui_FlxUINumericStepper(0,0,stepSize,defaultValue,min,max,decimals,stacking,theText,buttPlus,buttMinus,percent); if(setCallback) { var params = null; if(haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(data,"param")) { params = []; var _g = 0; var _g1 = haxe_xml__$Access_NodeListAccess_$Impl_$.resolve(data,"param"); while(_g < _g1.length) { var param = _g1[_g]; ++_g; if(haxe_xml__$Access_HasAttribAccess_$Impl_$.resolve(param,"type") && haxe_xml__$Access_HasAttribAccess_$Impl_$.resolve(param,"value")) { var type = haxe_xml__$Access_AttribAccess_$Impl_$.resolve(param,"type"); type = type.toLowerCase(); var valueStr = haxe_xml__$Access_AttribAccess_$Impl_$.resolve(param,"value"); var value = valueStr; var sort = flixel_addons_ui_U.xml_i(param,"sort",-1); switch(type) { case "bool":case "boolean": var str = new String(valueStr); str = str.toLowerCase(); if(str == "true" || str == "1") { value = true; } else { value = false; } break; case "color":case "hex": var return_val = flixel_util__$FlxColor_FlxColor_$Impl_$.fromString(valueStr); if(return_val == null) { throw new js__$Boot_HaxeError("U.parseHex() unable to parse hex String " + valueStr); } value = return_val; break; case "float": value = parseFloat(valueStr); break; case "int": value = Std.parseInt(valueStr); break; case "string": value = new String(valueStr); break; } params.push({ sort : sort, value : value}); } } params.sort(flixel_addons_ui_FlxUI.sortParams); var _g2 = 0; var _g3 = params.length; while(_g2 < _g3) { var i = _g2++; params[i] = params[i].value; } } var params1 = params; ns.set_params(params1); } return ns; } ,getResizeRatio: function(data,defaultAxis) { if(defaultAxis == null) { defaultAxis = 1; } var str = flixel_addons_ui_U.xml_str(data,"resize_ratio_x",true); if(str == "") { str = flixel_addons_ui_U.xml_str(data,"resize_ratio_y",true); if(str == "") { var resize_ratio = flixel_addons_ui_U.xml_f(data,"resize_ratio",-1); return new flixel_math_FlxPoint(resize_ratio,defaultAxis); } else { return new flixel_math_FlxPoint(parseFloat(str),1); } } else { return new flixel_math_FlxPoint(parseFloat(str),0); } } ,_loadButton: function(data,setCallback,isToggle,load_code) { if(load_code == null) { load_code = ""; } if(isToggle == null) { isToggle = false; } if(setCallback == null) { setCallback = true; } var fb = null; var color = this._loadColor(data); var resize_ratio = flixel_addons_ui_U.xml_f(data,"resize_ratio",-1); var resize_point = this._loadCompass(data,"resize_point"); var resize_label = flixel_addons_ui_U.xml_bool(data,"resize_label",false); var label = flixel_addons_ui_U.xml_str(data,"label"); var sprite = null; var toggleSprite = null; if(haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(data,"sprite")) { var _g = 0; var _g1 = haxe_xml__$Access_NodeListAccess_$Impl_$.resolve(data,"sprite"); while(_g < _g1.length) { var spriteNode = _g1[_g]; ++_g; var forToggle = isToggle && flixel_addons_ui_U.xml_bool(spriteNode,"toggle"); if(forToggle) { toggleSprite = this._loadThing("sprite",spriteNode); } else { sprite = this._loadThing("sprite",spriteNode); } } } var context = flixel_addons_ui_U.xml_str(data,"context",true,"ui"); var code = flixel_addons_ui_U.xml_str(data,"code",true,""); label = this.getText(label,context,true,code); var W = this._loadWidth(data,0,"width") | 0; var H = this._loadHeight(data,0,"height") | 0; var params = null; if(haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(data,"param")) { params = []; var _g2 = 0; var _g11 = haxe_xml__$Access_NodeListAccess_$Impl_$.resolve(data,"param"); while(_g2 < _g11.length) { var param = _g11[_g2]; ++_g2; if(haxe_xml__$Access_HasAttribAccess_$Impl_$.resolve(param,"type") && haxe_xml__$Access_HasAttribAccess_$Impl_$.resolve(param,"value")) { var type = haxe_xml__$Access_AttribAccess_$Impl_$.resolve(param,"type"); type = type.toLowerCase(); var valueStr = haxe_xml__$Access_AttribAccess_$Impl_$.resolve(param,"value"); var value = valueStr; var sort = flixel_addons_ui_U.xml_i(param,"sort",-1); switch(type) { case "bool":case "boolean": var str = new String(valueStr); str = str.toLowerCase(); if(str == "true" || str == "1") { value = true; } else { value = false; } break; case "color":case "hex": var return_val = flixel_util__$FlxColor_FlxColor_$Impl_$.fromString(valueStr); if(return_val == null) { throw new js__$Boot_HaxeError("U.parseHex() unable to parse hex String " + valueStr); } value = return_val; break; case "float": value = parseFloat(valueStr); break; case "int": value = Std.parseInt(valueStr); break; case "string": value = new String(valueStr); break; } params.push({ sort : sort, value : value}); } } params.sort(flixel_addons_ui_FlxUI.sortParams); var _g21 = 0; var _g3 = params.length; while(_g21 < _g3) { var i = _g21++; params[i] = params[i].value; } } var params1 = params; if(sprite == null) { var useDefaultGraphic = haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(data,"graphic") == false; fb = new flixel_addons_ui_FlxUIButton(0,0,label,null,useDefaultGraphic,false,color); var fuib = fb; fuib._autoCleanup = false; } else { var tempGroup = null; if(label != "") { var labelTxt = new flixel_addons_ui_FlxUIText(0,0,80,label,8); labelTxt.setFormat(null,8,3355443,"center"); tempGroup = new flixel_group_FlxTypedSpriteGroup(); tempGroup.add(sprite); tempGroup.add(labelTxt); fb = new flixel_addons_ui_FlxUISpriteButton(0,0,tempGroup); } else { fb = new flixel_addons_ui_FlxUISpriteButton(0,0,sprite); } } fb.resize_ratio = resize_ratio; fb.resize_point = resize_point; fb.autoResizeLabel = resize_label; if(setCallback) { fb.set_params(params1); } if(haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(data,"graphic")) { var blank = flixel_addons_ui_U.xml_bool(haxe_xml__$Access_NodeAccess_$Impl_$.resolve(data,"graphic"),"blank"); if(blank) { fb.loadGraphicSlice9(["","",""],W,H,null,0,resize_ratio); } else { var graphic_names = null; var slice9_names = null; var frames = null; if(isToggle) { graphic_names = ["","","","","",""]; slice9_names = [null,null,null,null,null,null]; } else { graphic_names = ["","",""]; slice9_names = [null,null,null]; } var src_w = flixel_addons_ui_U.xml_i(haxe_xml__$Access_NodeAccess_$Impl_$.resolve(data,"graphic"),"src_w",0); var src_h = flixel_addons_ui_U.xml_i(haxe_xml__$Access_NodeAccess_$Impl_$.resolve(data,"graphic"),"src_h",0); var tileStr = flixel_addons_ui_U.xml_str(haxe_xml__$Access_NodeAccess_$Impl_$.resolve(data,"graphic"),"tile",true,""); var tile = 0; switch(tileStr) { case "h":case "horizontal": tile = 16; break; case "v":case "vertical": tile = 1; break; case "all":case "both":case "hv":case "true":case "vh": tile = 17; break; } var tile1 = tile; var frame_str = flixel_addons_ui_U.xml_str(haxe_xml__$Access_NodeAccess_$Impl_$.resolve(data,"graphic"),"frames",true); if(frame_str != "") { frames = []; var arr = frame_str.split(","); var _g4 = 0; while(_g4 < arr.length) { var numstr = arr[_g4]; ++_g4; frames.push(Std.parseInt(numstr)); } } var _g5 = 0; var _g12 = haxe_xml__$Access_NodeListAccess_$Impl_$.resolve(data,"graphic"); while(_g5 < _g12.length) { var graphicNode = _g12[_g5]; ++_g5; var graphic_name = flixel_addons_ui_U.xml_name(graphicNode); var image = flixel_addons_ui_U.xml_str(graphicNode,"image"); var slice9 = flixel_util_FlxStringUtil.toIntArray(flixel_addons_ui_U.xml_str(graphicNode,"slice9")); var tileStr1 = flixel_addons_ui_U.xml_str(graphicNode,"tile",true,""); var tile2 = 0; switch(tileStr1) { case "h":case "horizontal": tile2 = 16; break; case "v":case "vertical": tile2 = 1; break; case "all":case "both":case "hv":case "true":case "vh": tile2 = 17; break; } tile1 = tile2; var toggleState = flixel_addons_ui_U.xml_bool(graphicNode,"toggle"); toggleState = toggleState && isToggle; var igfx = flixel_addons_ui_U.gfx(image); switch(graphic_name) { case "all": var tilesTall = isToggle ? 6 : 3; var temp = null; if(src_h != 0) { var temp1 = flixel_addons_ui_U.getBmp(igfx); tilesTall = temp1.height / src_h | 0; } if(image != "") { graphic_names = [this.loadScaledSrc(graphicNode,"image","scale_src",1,tilesTall)]; } slice9_names = [this.load9SliceSprite_scaleSub(slice9,graphicNode,graphic_names[0],"image")]; temp = flixel_addons_ui_U.getBmp(graphic_names[0]); src_w = temp.width; src_h = temp.height / tilesTall | 0; break; case "active":case "highlight":case "hilight":case "hover":case "over": if(image != "") { if(!toggleState) { graphic_names[1] = this.loadScaledSrc(graphicNode,"image","scale_src"); } else { graphic_names[4] = this.loadScaledSrc(graphicNode,"image","scale_src"); } } if(!toggleState) { slice9_names[1] = this.load9SliceSprite_scaleSub(slice9,graphicNode,graphic_names[1],"image"); } else { slice9_names[4] = this.load9SliceSprite_scaleSub(slice9,graphicNode,graphic_names[4],"image"); } break; case "down":case "pressed":case "pushed": if(image != "") { if(!toggleState) { graphic_names[2] = this.loadScaledSrc(graphicNode,"image","scale_src"); } else { graphic_names[5] = this.loadScaledSrc(graphicNode,"image","scale_src"); } } if(!toggleState) { slice9_names[2] = this.load9SliceSprite_scaleSub(slice9,graphicNode,graphic_names[2],"image"); } else { slice9_names[5] = this.load9SliceSprite_scaleSub(slice9,graphicNode,graphic_names[5],"image"); } break; case "":case "inactive":case "normal":case "up": if(image != "") { if(!toggleState) { graphic_names[0] = this.loadScaledSrc(graphicNode,"image","scale_src"); } else { graphic_names[3] = this.loadScaledSrc(graphicNode,"image","scale_src"); } } if(!toggleState) { slice9_names[0] = this.load9SliceSprite_scaleSub(slice9,graphicNode,graphic_names[0],"image"); } else { slice9_names[3] = this.load9SliceSprite_scaleSub(slice9,graphicNode,graphic_names[3],"image"); } break; } if(graphic_names[0] != "") { if(graphic_names.length >= 3) { if(graphic_names[1] == "") { graphic_names[1] = graphic_names[0]; } if(graphic_names[2] == "") { graphic_names[2] = graphic_names[1]; } if(graphic_names.length >= 6) { if(graphic_names[3] == "") { graphic_names[3] = graphic_names[0]; } if(graphic_names[4] == "") { graphic_names[4] = graphic_names[1]; } if(graphic_names[5] == "") { graphic_names[5] = graphic_names[2]; } } } } } fb.loadGraphicSlice9(graphic_names,W,H,slice9_names,tile1,resize_ratio,isToggle,src_w,src_h,frames); } } else if(load_code == "tab_menu") { var graphic_names1 = ["flixel/flixel-ui/img/tab_back.png","flixel/flixel-ui/img/tab_back.png","flixel/flixel-ui/img/tab_back.png","flixel/flixel-ui/img/tab.png","flixel/flixel-ui/img/tab.png","flixel/flixel-ui/img/tab.png"]; var slice9_tab = flixel_util_FlxStringUtil.toIntArray("6,6,11,11"); var slice9_names1 = [slice9_tab,slice9_tab,slice9_tab,slice9_tab,slice9_tab,slice9_tab]; if(((fb) instanceof flixel_addons_ui_FlxUIButton)) { var fbui = fb; fbui.loadGraphicSlice9(graphic_names1,W,H,slice9_names1,0,resize_ratio,isToggle); } else if(((fb) instanceof flixel_addons_ui_FlxUISpriteButton)) { var fbuis = fb; fbuis.loadGraphicSlice9(graphic_names1,W,H,slice9_names1,0,resize_ratio,isToggle); } else { fb.loadGraphicSlice9(graphic_names1,W,H,slice9_names1,0,resize_ratio,isToggle); } } else { if(W <= 0) { W = 80; } if(H <= 0) { H = 20; } fb.loadGraphicSlice9(null,W,H,null,0,resize_ratio,isToggle); } if(sprite == null) { if(data != null && haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(data,"text")) { this.formatButtonText(data,fb); } else if(load_code == "tab_menu") { fb.up_color = 16777215; fb.down_color = 16777215; fb.over_color = 16777215; fb.up_toggle_color = 16777215; fb.down_toggle_color = 16777215; fb.over_toggle_color = 16777215; } else { fb.autoCenterLabel(); } } else { fb.autoCenterLabel(); } if(sprite != null && label != "") { if(data != null && haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(data,"text")) { this.formatButtonText(data,fb); } } var text_x = 0; var text_y = 0; if(data.get("text_x") != null) { text_x = this._loadWidth(data,0,"text_x") | 0; } else if(data.get("label_x") != null) { text_x = this._loadWidth(data,0,"label_x") | 0; } if(data.get("text_y") != null) { text_y = this._loadHeight(data,0,"text_y") | 0; } else if(data.get("label_y") != null) { text_y = this._loadHeight(data,0,"label_y") | 0; } if(((fb) instanceof flixel_addons_ui_FlxUISpriteButton)) { var fbs = fb; if(((fbs.label) instanceof flixel_group_FlxTypedSpriteGroup)) { var g = fbs.label; var _g6 = 0; var _g13 = g.group.members; while(_g6 < _g13.length) { var sprite1 = _g13[_g6]; ++_g6; if(((sprite1) instanceof flixel_addons_ui_FlxUIText)) { var _g7 = sprite1.offset; _g7.set_x(_g7.x - text_x); var _g8 = sprite1.offset; _g8.set_y(_g8.y - text_y); break; } } } else { var _g9 = fbs.label.offset; _g9.set_x(_g9.x - text_x); var _g10 = fbs.label.offset; _g10.set_y(_g10.y - text_y); if(toggleSprite != null) { var _g14 = toggleSprite.offset; _g14.set_x(_g14.x - text_x); var _g15 = toggleSprite.offset; _g15.set_y(_g15.y - text_y); } } } else { var fbu = fb; var _g16 = fbu.label.offset; _g16.set_x(_g16.x - text_x); var _g17 = fbu.label.offset; _g17.set_y(_g17.y - text_y); } if(sprite != null && toggleSprite != null) { fb.set_toggle_label(toggleSprite); } if(((fb) instanceof flixel_addons_ui_FlxUITypedButton)) { var fuitb = fb; if(fuitb._assetsToCleanup != null) { var _g18 = 0; var _g19 = fuitb._assetsToCleanup; while(_g18 < _g19.length) { var key = _g19[_g18]; ++_g18; this.addToCleanup(key); } } } return fb; } ,_loadRegion: function(data) { var bounds = this.calcMaxMinSize(data); var w = this._loadWidth(data) | 0; var h = this._loadHeight(data) | 0; if(bounds != null) { var pt = flixel_addons_ui_U.conformToBounds(new openfl_geom_Point(w,h),bounds); w = pt.x | 0; h = pt.y | 0; } var vis = flixel_addons_ui_U.xml_bool(data,"visible",true); var reg = new flixel_addons_ui_FlxUIRegion(0,0,w,h); reg.set_visible(vis); return reg; } ,_load9SliceSprite: function(data,load_code) { if(load_code == null) { load_code = ""; } var src = ""; var f9s = null; var resize = this.getResizeRatio(data); var color = this._loadColor(data); var resize_ratio = resize.x; var resize_point = this._loadCompass(data,"resize_point"); var resize_ratio_axis = resize.y | 0; var bounds = this.calcMaxMinSize(data); var data1 = data; var str = ""; if(data1.get("src") != null) { str = data1.get("src"); if(str == "" || str == null) { str = ""; } else { str = flixel_addons_ui_U.gfx(str); try { if(!openfl_utils_Assets.exists(str,"IMAGE")) { throw new js__$Boot_HaxeError("couldn't load bmp \"" + "src" + "\""); } } catch( msg ) { haxe_CallStack.lastException = msg; var msg1 = ((msg) instanceof js__$Boot_HaxeError) ? msg.val : msg; if(typeof(msg1) == "string") { var msg2 = msg1; } else { throw msg; } } } } src = str; var hasScaledSrc = haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(data,"scale_src"); if(hasScaledSrc) { var origSrc = src; src = this.loadScaledSrc(data,"src","scale_src"); if(src != origSrc) { this.addToCleanup(origSrc); } } if(src == "") { src = null; } if(src == null) { if(load_code == "tab_menu") { src = "flixel/flixel-ui/img/chrome_flat.png"; } } var rect_w = this._loadWidth(data) | 0; var rect_h = this._loadHeight(data) | 0; if(bounds != null) { if(rect_w < bounds.min_width) { rect_w = bounds.min_width | 0; } else if(rect_w > bounds.max_width) { rect_w = bounds.max_width; } if(rect_h < bounds.min_height) { rect_h = bounds.min_height | 0; } else if(rect_h > bounds.max_height) { rect_h = bounds.max_height | 0; } } if(rect_w == 0 || rect_h == 0) { return null; } var rc = new openfl_geom_Rectangle(0,0,rect_w,rect_h); var slice9 = flixel_util_FlxStringUtil.toIntArray(flixel_addons_ui_U.xml_str(data,"slice9")); var srcId = ""; var srcGraphic = src; if(hasScaledSrc) { slice9 = this.load9SliceSprite_scaleSub(slice9,data,src); srcId = src; var _this = flixel_FlxG.bitmap._cache; srcGraphic = __map_reserved[src] != null ? _this.getReserved(src) : _this.h[src]; } var smooth = flixel_addons_ui_U.xml_bool(data,"smooth",false); var tileStr = flixel_addons_ui_U.xml_str(data,"tile",true,""); var tile = 0; switch(tileStr) { case "h":case "horizontal": tile = 16; break; case "v":case "vertical": tile = 1; break; case "all":case "both":case "hv":case "true":case "vh": tile = 17; break; } var tile1 = tile; f9s = new flixel_addons_ui_FlxUI9SliceSprite(0,0,srcGraphic,rc,slice9,tile1,smooth,srcId,resize_ratio,resize_point,resize_ratio_axis,false,color); return f9s; } ,load9SliceSprite_scaleSub: function(slice9,data,src,srcString) { if(srcString == null) { srcString = "src"; } var data1 = data; var str = ""; if(data1.get(srcString) != null) { str = data1.get(srcString); if(str == "" || str == null) { str = ""; } else { str = flixel_addons_ui_U.gfx(str); try { if(!openfl_utils_Assets.exists(str,"IMAGE")) { throw new js__$Boot_HaxeError("couldn't load bmp \"" + srcString + "\""); } } catch( msg ) { haxe_CallStack.lastException = msg; var msg1 = ((msg) instanceof js__$Boot_HaxeError) ? msg.val : msg; if(typeof(msg1) == "string") { var msg2 = msg1; } else { throw msg; } } } } var origSrc = str; if(src == origSrc) { return slice9; } var srcAsset; var _this = flixel_FlxG.bitmap._cache; if((__map_reserved[src] != null ? _this.getReserved(src) : _this.h[src]) != null) { var _this1 = flixel_FlxG.bitmap._cache; srcAsset = (__map_reserved[src] != null ? _this1.getReserved(src) : _this1.h[src]).bitmap; } else { srcAsset = null; } if(srcAsset == null) { srcAsset = openfl_utils_Assets.getBitmapData(origSrc); } var origAsset = openfl_utils_Assets.getBitmapData(origSrc,false); var srcScaleFactorX = srcAsset.width / origAsset.width; var srcScaleFactorY = srcAsset.height / origAsset.height; if(Math.abs(1.0 - srcScaleFactorX) <= 0.001 && Math.abs(1.0 - srcScaleFactorY) <= 0.001) { return slice9; } if(slice9 != null) { slice9[0] = slice9[0] * srcScaleFactorX | 0; slice9[1] = slice9[1] * srcScaleFactorY | 0; var widthDiff = origAsset.width - slice9[2]; var heightDiff = origAsset.height - slice9[3]; widthDiff = widthDiff * srcScaleFactorX | 0; heightDiff = heightDiff * srcScaleFactorY | 0; slice9[2] = srcAsset.width - widthDiff | 0; slice9[3] = srcAsset.height - heightDiff | 0; } return slice9; } ,_loadTileRule: function(data) { var tileStr = flixel_addons_ui_U.xml_str(data,"tile",true,""); var tile = 0; switch(tileStr) { case "h":case "horizontal": tile = 16; break; case "v":case "vertical": tile = 1; break; case "all":case "both":case "hv":case "true":case "vh": tile = 17; break; } return tile; } ,_loadBox: function(data) { var fs = null; var thickness = this._loadWidth(data,1,"thickness") | 0; var bounds = this.calcMaxMinSize(data); if(bounds == null) { bounds = { min_width : -Infinity, min_height : -Infinity, max_width : Infinity, max_height : Infinity}; } var W = this._loadWidth(data) | 0; var H = this._loadHeight(data) | 0; if(bounds != null) { if(W < bounds.min_width) { W = bounds.min_width | 0; } else if(W > bounds.max_width) { W = bounds.max_width | 0; } if(H < bounds.min_height) { H = bounds.max_height | 0; } else if(H > bounds.max_height) { H = bounds.max_height | 0; } } var cstr = flixel_addons_ui_U.xml_str(data,"color",true,"0xff000000"); var C = 0; if(cstr != "") { var return_val = flixel_util__$FlxColor_FlxColor_$Impl_$.fromString(cstr); if(return_val == null) { throw new js__$Boot_HaxeError("U.parseHex() unable to parse hex String " + cstr); } C = return_val; } fs = new flixel_addons_ui_FlxUISprite(0,0); var key = W + "x" + H + ":" + C + ":" + thickness; var _this = flixel_FlxG.bitmap._cache; if((__map_reserved[key] != null ? _this.getReserved(key) : _this.h[key]) != null) { fs.loadGraphic(key); } else { fs.makeGraphic(W,H,C,false,key); var r = new openfl_geom_Rectangle(thickness,thickness,W - thickness * 2,H - thickness * 2); fs.graphic.bitmap.fillRect(r,0); } return fs; } ,_loadLine: function(data) { var axis = flixel_addons_ui_U.xml_str(data,"axis",true,"horizontal"); var thickness = this._loadWidth(data,-1,"thickness") | 0; var bounds = this.calcMaxMinSize(data); if(bounds == null) { bounds = { min_width : 1, min_height : 1, max_width : Infinity, max_height : Infinity}; } switch(axis) { case "h":case "horizontal":case "horz": bounds.max_height = thickness; bounds.min_height = thickness; break; case "v":case "vert":case "vertical": bounds.max_width = thickness; bounds.min_width = thickness; break; } var W = this._loadWidth(data) | 0; var H = this._loadHeight(data) | 0; if(bounds != null) { if(W < bounds.min_width) { W = bounds.min_width | 0; } else if(W > bounds.max_width) { W = bounds.max_width | 0; } if(H < bounds.min_height) { H = bounds.max_height | 0; } else if(H > bounds.max_height) { H = bounds.max_height | 0; } } var cstr = flixel_addons_ui_U.xml_str(data,"color",true,"0xff000000"); var C = 0; if(cstr != "") { var return_val = flixel_util__$FlxColor_FlxColor_$Impl_$.fromString(cstr); if(return_val == null) { throw new js__$Boot_HaxeError("U.parseHex() unable to parse hex String " + cstr); } C = return_val; } var lineAxis = axis == "horizontal" ? flixel_addons_ui_LineAxis.HORIZONTAL : flixel_addons_ui_LineAxis.VERTICAL; var lineLength = lineAxis == flixel_addons_ui_LineAxis.HORIZONTAL ? W : H; var lineThickness = thickness != -1 ? thickness : lineAxis == flixel_addons_ui_LineAxis.HORIZONTAL ? H : W; var fl = new flixel_addons_ui_FlxUILine(0,0,lineAxis,lineLength,lineThickness,C); return fl; } ,_loadBar: function(data) { var fb = null; var style = { filledColors : null, emptyColors : null, chunkSize : null, gradRotation : null, filledColor : null, emptyColor : null, borderColor : null, filledImgSrc : "", emptyImgSrc : ""}; var W = this._loadWidth(data,-1) | 0; var H = this._loadHeight(data,-1) | 0; var direction = flixel_addons_ui_U.xml_str(data,"fill_direction",true); var fillDir = flixel_ui_FlxBarFillDirection.TOP_TO_BOTTOM; switch(direction) { case "bottom_to_top": fillDir = flixel_ui_FlxBarFillDirection.BOTTOM_TO_TOP; break; case "horizontal_inside_out": fillDir = flixel_ui_FlxBarFillDirection.HORIZONTAL_INSIDE_OUT; break; case "horizontal_outside_in": fillDir = flixel_ui_FlxBarFillDirection.HORIZONTAL_OUTSIDE_IN; break; case "left_to_right": fillDir = flixel_ui_FlxBarFillDirection.LEFT_TO_RIGHT; break; case "right_to_left": fillDir = flixel_ui_FlxBarFillDirection.RIGHT_TO_LEFT; break; case "top_to_bottom": fillDir = flixel_ui_FlxBarFillDirection.TOP_TO_BOTTOM; break; case "vertical_inside_out": fillDir = flixel_ui_FlxBarFillDirection.VERTICAL_INSIDE_OUT; break; case "vertical_outside_in": fillDir = flixel_ui_FlxBarFillDirection.VERTICAL_OUTSIDE_IN; break; default: fillDir = flixel_ui_FlxBarFillDirection.LEFT_TO_RIGHT; } var parentRefStr = flixel_addons_ui_U.xml_str(data,"parent_ref",true); var parentRef = parentRefStr != "" ? this.getAsset(parentRefStr) : null; var variableName = flixel_addons_ui_U.xml_str(data,"variable"); var value = flixel_addons_ui_U.xml_f(data,"value",-1); var min = flixel_addons_ui_U.xml_f(data,"min",0); var max = flixel_addons_ui_U.xml_f(data,"max",100); if(value == -1) { value = max; } style.borderColor = flixel_addons_ui_U.xml_color(data,"border_color"); var showBorder = style.borderColor != null; style.filledColor = flixel_addons_ui_U.xml_color(data,"filled_color"); if(style.filledColor == null) { style.filledColor = flixel_addons_ui_U.xml_color(data,"color"); } style.emptyColor = flixel_addons_ui_U.xml_color(data,"empty_color"); style.filledColors = flixel_addons_ui_U.xml_colorArray(data,"filled_colors"); style.emptyColors = flixel_addons_ui_U.xml_colorArray(data,"empty_colors"); if(style.filledColors == null) { style.filledColors = flixel_addons_ui_U.xml_colorArray(data,"colors"); } style.filledImgSrc = this.loadScaledSrc(data,"src_filled"); style.emptyImgSrc = this.loadScaledSrc(data,"src_empty"); if(style.filledImgSrc == "") { style.filledImgSrc = this.loadScaledSrc(data,"src"); } style.chunkSize = flixel_addons_ui_U.xml_i(data,"chunk_size",1); style.gradRotation = flixel_addons_ui_U.xml_i(data,"rotation",90); if(style.filledImgSrc == "" && style.filledColor == null && style.filledColors == null) { style.filledColor = -65536; } if(W == -1 && H == -1) { fb = new flixel_addons_ui_FlxUIBar(0,0,fillDir,100,10,parentRef,variableName,min,max,showBorder); } else { fb = new flixel_addons_ui_FlxUIBar(0,0,fillDir,W,H,parentRef,variableName,min,max,showBorder); } fb.set_style(style); fb.resize(fb.barWidth,fb.barHeight); fb.set_value(value); return fb; } ,_loadSprite: function(data) { var src = ""; var fs = null; src = this.loadScaledSrc(data); var bounds = this.calcMaxMinSize(data); var resize = this.getResizeRatio(data,-1); var resize_ratio = resize.x; var resize_ratio_axis = resize.y | 0; var resize_point = this._loadCompass(data,"resize_point"); var W = this._loadWidth(data,-1) | 0; var H = this._loadHeight(data,-1) | 0; if(bounds != null) { if(W < bounds.min_width) { W = bounds.min_width | 0; } else if(W > bounds.max_width) { W = bounds.max_width | 0; } if(H < bounds.min_height) { H = bounds.max_height | 0; } else if(H > bounds.max_height) { H = bounds.max_height | 0; } } if(src != "") { if(W == -1 && H == -1) { fs = new flixel_addons_ui_FlxUISprite(0,0,src); } else { if(resize_ratio != -1 && (W == -1 || H == -1)) { if(resize_ratio_axis == -1) { if(W == -1) { resize_ratio_axis = 0; } if(H == -1) { resize_ratio_axis = 1; } } if(resize_ratio_axis == 1) { H = W * (1 / resize_ratio); } else if(resize_ratio_axis == 0) { W = H * (1 / resize_ratio); } } var smooth = this.loadSmooth(data,true); fs = new flixel_addons_ui_FlxUISprite(0,0,flixel_addons_ui_U.loadScaledImage(flixel_addons_ui_U.xml_str(data,"src"),W,H,smooth)); } } else { var cstr = flixel_addons_ui_U.xml_str(data,"color"); var C = 0; if(cstr != "") { var return_val = flixel_util__$FlxColor_FlxColor_$Impl_$.fromString(cstr); if(return_val == null) { throw new js__$Boot_HaxeError("U.parseHex() unable to parse hex String " + cstr); } C = return_val; } fs = new flixel_addons_ui_FlxUISprite(0,0); fs.makeGraphic(W,H,C); } fs.set_resize_point(resize_point); fs.set_resize_ratio(resize_ratio); fs.resize_ratio_axis = resize_ratio_axis; return fs; } ,loadSmooth: function(scaleNode,defaultValue) { var defaultStr = defaultValue ? "true" : "false"; var smoothStr = flixel_addons_ui_U.xml_str(scaleNode,"smooth",true,defaultStr); if(smoothStr == "") { smoothStr = flixel_addons_ui_U.xml_str(scaleNode,"antialias",true,defaultStr); } return flixel_addons_ui_U.boolify(smoothStr); } ,loadScaledSrc: function(data,attName,scaleName,tilesWide,tilesTall) { if(tilesTall == null) { tilesTall = 1; } if(tilesWide == null) { tilesWide = 1; } if(scaleName == null) { scaleName = "scale"; } if(attName == null) { attName = "src"; } var src = flixel_addons_ui_U.xml_str(data,attName); if(haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(data,scaleName)) { var _g = 0; var _g1 = haxe_xml__$Access_NodeListAccess_$Impl_$.resolve(data,scaleName); while(_g < _g1.length) { var scaleNode = _g1[_g]; ++_g; var ratio = flixel_addons_ui_U.xml_f(scaleNode,"screen_ratio",-1); var tolerance = flixel_addons_ui_U.xml_f(scaleNode,"tolerance",0.1); var actualRatio = flixel_FlxG.width / flixel_FlxG.height; if(ratio < 0 || ratio > 0 && Math.abs(ratio - actualRatio) <= tolerance) { var suffix = flixel_addons_ui_U.xml_str(scaleNode,"suffix"); var srcSuffix = src + suffix; var testAsset = null; var scale_ = -1; var smooth = this.loadSmooth(scaleNode,true); var to_height = this._loadHeight(scaleNode,-1,"to_height"); if(to_height != -1) { var testAsset1 = flixel_addons_ui_U.getBmp(flixel_addons_ui_U.gfx(src)); if(testAsset1 != null) { scale_ = to_height / testAsset1.height; } } else { scale_ = this._loadScale(scaleNode,-1); if(scale_ == -1) { scale_ = this._loadScale(scaleNode,-1,"value"); } } var scale_x = scale_ != -1 ? scale_ : this._loadScaleX(scaleNode,-1); var scale_y = scale_ != -1 ? scale_ : this._loadScaleY(scaleNode,-1); var sw = 0; var sh = 0; if(scale_x > 0 && scale_y > 0) { if(scale_x <= 0) { scale_x = 1.0; } if(scale_y <= 0) { scale_y = 1.0; } sw = this._loadWidth(scaleNode,-1); sh = this._loadHeight(scaleNode,-1); if(sw == -1 || sh == -1) { testAsset = openfl_utils_Assets.getBitmapData(flixel_addons_ui_U.gfx(src)); sw = testAsset.width; sh = testAsset.height; } sw *= scale_x; sh *= scale_y; } else { sw = this._loadWidth(scaleNode,-1); sh = this._loadHeight(scaleNode,-1); } if(sw != 0 && sh != 0) { if(tilesTall > 1 || tilesWide > 1) { testAsset = openfl_utils_Assets.getBitmapData(flixel_addons_ui_U.gfx(src)); var str = flixel_addons_ui_U.scaleAndStoreTileset(flixel_addons_ui_U.gfx(srcSuffix),scale_y,testAsset.width / tilesWide | 0,testAsset.height / tilesTall | 0,sw | 0,sh / tilesTall | 0,smooth); this.addToScaledAssets(str); return str; } else { var str1 = flixel_addons_ui_U.loadScaledImage(srcSuffix,sw,sh,smooth); this.addToScaledAssets(str1); return str1; } } break; } } } var data1 = data; var str2 = ""; if(data1.get(attName) != null) { str2 = data1.get(attName); if(str2 == "" || str2 == null) { str2 = ""; } else { str2 = flixel_addons_ui_U.gfx(str2); try { if(!openfl_utils_Assets.exists(str2,"IMAGE")) { throw new js__$Boot_HaxeError("couldn't load bmp \"" + attName + "\""); } } catch( msg ) { haxe_CallStack.lastException = msg; var msg1 = ((msg) instanceof js__$Boot_HaxeError) ? msg.val : msg; if(typeof(msg1) == "string") { var msg2 = msg1; } else { throw msg; } } } } return str2; } ,thisWidth: function() { return flixel_FlxG.width; } ,thisHeight: function() { return flixel_FlxG.height; } ,_getAnchorPos: function(thing,axis,str) { switch(str) { case "": return 0; case "bottom":case "down": return this.screenHeight(); case "center": if(axis == "x") { return this.screenWidth() / 2; } else if(axis == "y") { return this.screenHeight() / 2; } break; case "left": return 0; case "right": return this.screenWidth(); case "top":case "up": return 0; default: var perc = flixel_addons_ui_U.perc_to_float(str); if(!isNaN(perc)) { if(axis == "x") { return perc * this.screenWidth(); } else if(axis == "y") { return perc * this.screenHeight(); } } else { var r = new EReg("[\\w]+\\.[\\w]+",""); if(r.match(str)) { var wh = ""; if(axis == "x") { wh = "w"; } if(axis == "y") { wh = "h"; } var assetValue = this._getStretch(1,wh,str); return assetValue; } } } return 0; } ,getRound: function(node,defaultStr) { if(defaultStr == null) { defaultStr = ""; } var roundStr = flixel_addons_ui_U.xml_str(node,"round",true,defaultStr); switch(roundStr) { case "-1":case "down":case "floor": return flixel_addons_ui_Rounding.Floor; case "1":case "ceil":case "ceiling":case "up": return flixel_addons_ui_Rounding.Ceil; case "0":case "round":case "true": return flixel_addons_ui_Rounding.Round; } return flixel_addons_ui_Rounding.None; } ,doRound: function(f,round) { switch(round._hx_index) { case 0: return Math.floor(f); case 1: return Math.ceil(f); case 2: return Math.round(f); case 3: return f; } } ,calcMaxMinSize: function(data,width,height) { var min_w = 0; var min_h = 0; var max_w = Infinity; var max_h = Infinity; var temp_min_w = 0; var temp_min_h = 0; var temp_max_w = Infinity; var temp_max_h = Infinity; var round = flixel_addons_ui_Rounding.None; if(haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(data,"exact_size")) { var _g = 0; var _g1 = haxe_xml__$Access_NodeListAccess_$Impl_$.resolve(data,"exact_size"); while(_g < _g1.length) { var exactNode = _g1[_g]; ++_g; var exact_w_str = flixel_addons_ui_U.xml_str(exactNode,"width"); var exact_h_str = flixel_addons_ui_U.xml_str(exactNode,"height"); round = this.getRound(exactNode); min_w = this.doRound(this._getDataSize("w",exact_w_str,0),round); min_h = this.doRound(this._getDataSize("h",exact_h_str,0),round); max_w = this.doRound(min_w,round); max_h = this.doRound(min_h,round); } } else if(haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(data,"min_size")) { var _g2 = 0; var _g11 = haxe_xml__$Access_NodeListAccess_$Impl_$.resolve(data,"min_size"); while(_g2 < _g11.length) { var minNode = _g11[_g2]; ++_g2; var min_w_str = flixel_addons_ui_U.xml_str(minNode,"width"); var min_h_str = flixel_addons_ui_U.xml_str(minNode,"height"); round = this.getRound(minNode); temp_min_w = this.doRound(this._getDataSize("w",min_w_str,0),round); temp_min_h = this.doRound(this._getDataSize("h",min_h_str,0),round); if(temp_min_w > min_w) { min_w = temp_min_w; } if(temp_min_h > min_h) { min_h = temp_min_h; } } } else if(haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(data,"max_size")) { var _g3 = 0; var _g12 = haxe_xml__$Access_NodeListAccess_$Impl_$.resolve(data,"max_size"); while(_g3 < _g12.length) { var maxNode = _g12[_g3]; ++_g3; var max_w_str = flixel_addons_ui_U.xml_str(maxNode,"width"); var max_h_str = flixel_addons_ui_U.xml_str(maxNode,"height"); round = this.getRound(maxNode); temp_max_w = this.doRound(this._getDataSize("w",max_w_str,Infinity),round); temp_max_h = this.doRound(this._getDataSize("h",max_h_str,Infinity),round); if(temp_max_w < max_w) { max_w = temp_max_w; } if(temp_max_h < max_h) { max_h = temp_max_h; } } } else { return null; } if(width != null) { if(width > min_w) { min_w = width; } if(width < max_w) { max_w = width; } } if(height != null) { if(height > min_h) { min_h = height; } if(height < max_h) { max_h = height; } } if(max_w <= 0) { max_w = Infinity; } if(max_h <= 0) { max_h = Infinity; } return { min_width : min_w, min_height : min_h, max_width : max_w, max_height : max_h}; } ,_getDataSize: function(target,str,default_) { if(default_ == null) { default_ = 0; } if(flixel_addons_ui_U.isStrNum(str)) { return parseFloat(str); } var percf = flixel_addons_ui_U.perc_to_float(str); if(!isNaN(percf)) { switch(target) { case "h":case "height": return this.screenHeight() * percf; case "scale":case "scale_x":case "scale_y": return percf; case "w":case "width": return this.screenWidth() * percf; } } else { if(str.indexOf("stretch:") == 0) { str = StringTools.replace(str,"stretch:",""); var arr = str.split(","); var stretch_0 = this._getStretch(0,target,arr[0]); var stretch_1 = this._getStretch(1,target,arr[1]); if(stretch_0 != -1 && stretch_1 != -1) { return stretch_1 - stretch_0; } else { return default_; } } else if(str.indexOf("asset:") == 0) { str = StringTools.replace(str,"asset:",""); var assetValue = this._getStretch(1,target,str); return assetValue; } else { var r = new EReg("[\\w]+\\.[\\w]+",""); if(r.match(str)) { var assetValue1 = this._getStretch(1,target,str); return assetValue1; } } var ptStr = ""; if(str.indexOf("pt") == str.length - 2) { ptStr = HxOverrides.substr(str,0,str.length - 2); } if(ptStr != "" && flixel_addons_ui_U.isStrNum(ptStr)) { var tempNum = parseFloat(ptStr); switch(target) { case "h":case "height": return this._pointY * tempNum; case "w":case "width": return this._pointX * tempNum; } } } return default_; } ,_getOperation: function(str) { var list = ["+","-","*","/","^"]; var op = ""; var besti = Infinity; var _g = 0; while(_g < list.length) { var item = list[_g]; ++_g; var i = str.indexOf(item); if(i != -1) { if(i < besti) { besti = i; op = item; } } } var hasPoint = false; if(op != "") { if(str.indexOf(op) != -1) { var opindex = str.indexOf(op); if(opindex != str.length - 1) { var firstBit = HxOverrides.substr(str,0,opindex); var secondBit = HxOverrides.substr(str,opindex + 1,str.length - (opindex + 1)); var f = 0; var ptIndex = secondBit.indexOf("pt"); if(ptIndex != -1 && ptIndex == secondBit.length - 2) { var sansPt = StringTools.replace(secondBit,"pt",""); f = parseFloat(sansPt); hasPoint = true; } else { f = parseFloat(secondBit); } if(isNaN(f)) { f = this.getAssetProperty(1,"",secondBit); } if(f == 0 && secondBit != "0") { return null; } else { return [firstBit,op,f,hasPoint]; } } } } return null; } ,_doOperation: function(value,op,operand) { switch(op) { case "*": return value * operand; case "+": return value + operand; case "-": return value - operand; case "/": return value / operand; case "^": return Math.pow(value,operand); } return value; } ,_getStretch: function(index,target,str) { var arr = null; var op = ""; var operand = 0; var hasPoint = false; arr = this._getOperation(str); if(arr != null) { str = arr[0]; op = arr[1]; operand = arr[2]; hasPoint = arr[3]; if(hasPoint) { switch(target) { case "h":case "height": operand *= this._pointY; break; case "w":case "width": operand *= this._pointX; break; default: operand *= this._pointY; } } } var return_val = this.getAssetProperty(index,target,str); if(return_val != -1 && op != "") { return_val = this._doOperation(return_val,op,operand); } return return_val; } ,getAssetProperty: function(index,target,str) { var prop = ""; if(str.indexOf(".") != -1) { var arr = null; arr = str.split("."); str = arr[0]; prop = arr[1]; } var other = this.getAsset(str); var return_val = 0; if(other == null) { switch(str) { case "bottom":case "down": return_val = this.screenHeight(); break; case "left": return_val = 0; break; case "right": return_val = this.screenWidth(); break; case "top":case "up": return_val = 0; break; default: if(flixel_addons_ui_U.isStrNum(str)) { return_val = parseFloat(str); } else { return_val = -1; } } } else { switch(target) { case "h":case "height": if(prop == "") { if(index == 0) { return_val = other.y + other.get_height(); } if(index == 1) { return_val = other.y; } } else { switch(prop) { case "bottom":case "down": return_val = other.y + other.get_height(); break; case "center": return_val = other.y + other.get_height() / 2; break; case "halfheight": return_val = other.get_height() / 2; break; case "halfwidth": return_val = other.get_width() / 2; break; case "height": return_val = other.get_height(); break; case "right": return_val = other.x + other.get_width(); break; case "top":case "up":case "y": return_val = other.y; break; case "width": return_val = other.get_width(); break; case "left":case "x": return_val = other.x; break; } } break; case "w":case "width": if(prop == "") { if(index == 0) { return_val = other.x + other.get_width(); } if(index == 1) { return_val = other.x; } } else { switch(prop) { case "bottom":case "down": return_val = other.y + other.get_height(); break; case "center": return_val = other.x + other.get_width() / 2; break; case "halfheight": return_val = other.get_height() / 2; break; case "halfwidth": return_val = other.get_width() / 2; break; case "height": return_val = other.get_height(); break; case "right": return_val = other.x + other.get_width(); break; case "top":case "up":case "y": return_val = other.y; break; case "width": return_val = other.get_width(); break; case "left":case "x": return_val = other.x; break; } } break; default: switch(prop) { case "bottom":case "down": return_val = other.y + other.get_height(); break; case "centerx": return_val = other.x + other.get_width() / 2; break; case "centery": return_val = other.y + other.get_height() / 2; break; case "halfheight": return_val = other.get_height() / 2; break; case "halfwidth": return_val = other.get_width() / 2; break; case "height": return_val = other.get_height(); break; case "right": return_val = other.x + other.get_width(); break; case "top":case "up":case "y": return_val = other.y; break; case "width": return_val = other.get_width(); break; case "left":case "x": return_val = other.x; break; } } } return return_val; } ,_loadCursor: function(data) { if(haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(data,"list")) { if(this.cursorLists == null) { this.cursorLists = []; } var _g = 0; var _g1 = haxe_xml__$Access_NodeListAccess_$Impl_$.resolve(data,"list"); while(_g < _g1.length) { var lNode = _g1[_g]; ++_g; var ids = flixel_addons_ui_U.xml_str(lNode,"ids"); var arr = ids.split(","); if(arr != null && arr.length > 0) { var list = []; var _g2 = 0; while(_g2 < arr.length) { var str = arr[_g2]; ++_g2; var widget = this.getAsset(str); if(widget != null) { list.push(widget); } } this.cursorLists.push(list); } } } } ,_loadPosition: function(data,thing) { var X = this._loadWidth(data,0,"x"); var Y = this._loadHeight(data,0,"y"); var ctrX = flixel_addons_ui_U.xml_bool(data,"center_x"); var ctrY = flixel_addons_ui_U.xml_bool(data,"center_y"); var center_on = flixel_addons_ui_U.xml_str(data,"center_on"); var center_on_x = flixel_addons_ui_U.xml_str(data,"center_on_x"); var center_on_y = flixel_addons_ui_U.xml_str(data,"center_on_y"); var anchor_x_str = ""; var anchor_y_str = ""; var anchor_x = 0; var anchor_y = 0; var anchor_x_flush = ""; var anchor_y_flush = ""; if(haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(data,"anchor")) { anchor_x_str = flixel_addons_ui_U.xml_str(haxe_xml__$Access_NodeAccess_$Impl_$.resolve(data,"anchor"),"x"); anchor_y_str = flixel_addons_ui_U.xml_str(haxe_xml__$Access_NodeAccess_$Impl_$.resolve(data,"anchor"),"y"); var rounding = this.getRound(haxe_xml__$Access_NodeAccess_$Impl_$.resolve(data,"anchor")); anchor_x = this._getAnchorPos(thing,"x",anchor_x_str); anchor_y = this._getAnchorPos(thing,"y",anchor_y_str); anchor_x = this.doRound(anchor_x,rounding); anchor_y = this.doRound(anchor_y,rounding); anchor_x_flush = flixel_addons_ui_U.xml_str(haxe_xml__$Access_NodeAccess_$Impl_$.resolve(data,"anchor"),"x-flush",true); anchor_y_flush = flixel_addons_ui_U.xml_str(haxe_xml__$Access_NodeAccess_$Impl_$.resolve(data,"anchor"),"y-flush",true); } if(anchor_x_str != "" || anchor_y_str != "") { switch(anchor_x_flush) { case "center": anchor_x -= thing.get_width() / 2; break; case "left": break; case "right": anchor_x -= thing.get_width(); break; } switch(anchor_y_flush) { case "bottom":case "down": anchor_y -= thing.get_height(); break; case "center": anchor_y -= thing.get_height() / 2; break; case "top":case "up": break; } if(anchor_x_str != "") { thing.set_x(anchor_x); } if(anchor_y_str != "") { thing.set_y(anchor_y); } } if(ctrX || ctrY) { var X1 = ctrX; var Y1 = ctrY; if(Y1 == null) { Y1 = true; } if(X1 == null) { X1 = true; } if(X1) { thing.set_x((flixel_FlxG.width - thing.get_width()) / 2); } if(Y1) { thing.set_y((flixel_FlxG.height - thing.get_height()) / 2); } } if(center_on != "") { var other = this.getAsset(center_on); if(other != null) { var fb1 = js_Boot.__cast(other , flixel_FlxObject); var fb2 = js_Boot.__cast(thing , flixel_FlxObject); fb2.set_x(fb1.x + (fb1.get_width() - fb2.get_width()) / 2); fb2.set_y(fb1.y + (fb1.get_height() - fb2.get_height()) / 2); } } else { if(center_on_x != "") { var other1 = this.getAsset(center_on_x); if(other1 != null) { var fb11 = js_Boot.__cast(other1 , flixel_FlxObject); var fb21 = js_Boot.__cast(thing , flixel_FlxObject); var centerX = true; var centerY = false; if(centerY == null) { centerY = true; } if(centerX == null) { centerX = true; } if(centerX) { fb21.set_x(fb11.x + (fb11.get_width() - fb21.get_width()) / 2); } if(centerY) { fb21.set_y(fb11.y + (fb11.get_height() - fb21.get_height()) / 2); } } } if(center_on_y != "") { var other2 = this.getAsset(center_on_y); if(other2 != null) { var fb12 = js_Boot.__cast(other2 , flixel_FlxObject); var fb22 = js_Boot.__cast(thing , flixel_FlxObject); var centerX1 = false; var centerY1 = true; if(centerY1 == null) { centerY1 = true; } if(centerX1 == null) { centerX1 = true; } if(centerX1) { fb22.set_x(fb12.x + (fb12.get_width() - fb22.get_width()) / 2); } if(centerY1) { fb22.set_y(fb12.y + (fb12.get_height() - fb22.get_height()) / 2); } } } } var X2 = X; var Y2 = Y; if(Y2 == null) { Y2 = 0; } if(X2 == null) { X2 = 0; } var _g = thing; _g.set_x(_g.x + X2); var _g1 = thing; _g1.set_y(_g1.y + Y2); } ,_loadBorder: function(data) { var borderDef = flixel_addons_ui_BorderDef.fromXML(data); var round = this.getRound(data,"floor"); var dataSize = this._getDataSize("h",flixel_addons_ui_U.xml_str(data,"border_size"),1); var border_size = this.doRound(dataSize,round) | 0; borderDef.size = border_size; return borderDef; } ,_loadColor: function(data,colorName,_default) { if(_default == null) { _default = -1; } if(colorName == null) { colorName = "color"; } var colorStr = flixel_addons_ui_U.xml_str(data,colorName); var tmp; if(colorStr == "") { var _this = data; if(_this.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element but found " + _$Xml_XmlType_$Impl_$.toString(_this.nodeType)); } tmp = _this.nodeName == colorName; } else { tmp = false; } if(tmp) { colorStr = flixel_addons_ui_U.xml_str(data,"value"); } var color = _default; if(colorStr != "") { var return_val = flixel_util__$FlxColor_FlxColor_$Impl_$.fromString(colorStr); if(return_val == null) { throw new js__$Boot_HaxeError("U.parseHex() unable to parse hex String " + colorStr); } color = return_val; } return color; } ,_loadFontDef: function(data) { var fd = flixel_addons_ui_FontDef.fromXML(data); var fontSize = this._loadHeight(data,8,"size") | 0; fd.format.size = flixel_addons_ui_FlxUI.fontSize(fd.file,fontSize); fd.set_size(fontSize); return fd; } ,_loadFontFace: function(data) { var fontFace = flixel_addons_ui_U.xml_str(data,"font"); var fontStyle = flixel_addons_ui_U.xml_str(data,"style"); var the_font = null; if(fontFace != "") { the_font = flixel_addons_ui_FlxUI.font(fontFace,fontStyle); } return the_font; } ,_onFinishLoad: function() { if(this._ptr != null) { this._ptr.getEvent("finish_load",this,null); } } ,getText: function(flag,context,safe,code) { if(code == null) { code = ""; } if(safe == null) { safe = true; } if(context == null) { context = "data"; } var str = ""; if(this._ptr_tongue != null) { str = this._ptr_tongue.get(flag,context,safe); return this.formatFromCode(str,code); } else if(this.getTextFallback != null) { str = this.getTextFallback(flag,context,safe); return this.formatFromCode(str,code); } return flag; } ,formatFromCode: function(str,code) { switch(code) { case "fu": return flixel_addons_ui_U.FU(str); case "fu_": return flixel_addons_ui_U.FU_(str); case "l": return str.toLowerCase(); case "u": return str.toUpperCase(); } return str; } ,formatButtonText: function(data,button) { if(data != null && haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(data,"text")) { var textNode = haxe_xml__$Access_NodeAccess_$Impl_$.resolve(data,"text"); var use_def = flixel_addons_ui_U.xml_str(textNode,"use_def",true); var text_def = null; if(use_def != "") { text_def = this.getDefinition(use_def); } var info = flixel_addons_ui_FlxUI.consolidateData(textNode,text_def); var the_font = this._loadFontFace(info); var size = this._loadHeight(info,8,"size","floor") | 0; var color = this._loadColor(info); var labelWidth = flixel_addons_ui_U.xml_f(info,"width"); var border = this._loadBorder(info); var align = flixel_addons_ui_U.xml_str(info,"align",true); if(align == "") { align = null; } var the_label = null; var fb = null; var fsb = null; var ifb = null; if(((button) instanceof flixel_addons_ui_FlxUICheckBox) == false) { ifb = button; if(align == "" || align == null) { align = "center"; } } else { var cb = button; ifb = cb.button; align = "left"; } if(ifb != null) { if(((ifb) instanceof flixel_addons_ui_FlxUIButton)) { fb = ifb; the_label = fb.label; } else if(((ifb) instanceof flixel_addons_ui_FlxUISpriteButton)) { fsb = ifb; if(((fsb.label) instanceof flixel_text_FlxText)) { the_label = fsb.label; } else if(((fsb.label) instanceof flixel_group_FlxTypedSpriteGroup)) { var fsg = fsb.label; var _g = 0; var _g1 = fsg.group.members; while(_g < _g1.length) { var fs = _g1[_g]; ++_g; if(((fs) instanceof flixel_text_FlxText)) { the_label = fs; break; } } } } ifb.up_color = color; ifb.down_color = 0; ifb.over_color = 0; } if(the_label != null) { if(labelWidth != 0) { the_label.set_width(labelWidth); the_label.resetHelpers(); } if(fb != null) { fb.setLabelFormat(the_font,size,color,align); } else { the_label.setFormat(the_font,size,color,align); } the_label.set_borderStyle(border.style); the_label.set_borderColor(border.color); the_label.set_borderSize(border.size); the_label.set_borderQuality(border.quality); if(((the_label) instanceof flixel_addons_ui_FlxUIText)) { var ftu = the_label; ftu.drawFrame(); } if(fb != null) { fb.autoCenterLabel(); } if(fsb != null) { fsb.autoCenterLabel(); } } var _g2 = 0; var _g11 = haxe_xml__$Access_NodeListAccess_$Impl_$.resolve(info,"color"); while(_g2 < _g11.length) { var textColorNode = _g11[_g2]; ++_g2; var color1 = this._loadColor(textColorNode); var vis = flixel_addons_ui_U.xml_bool(textColorNode,"visible",true); var state_name = flixel_addons_ui_U.xml_name(textColorNode); var toggle = flixel_addons_ui_U.xml_bool(textColorNode,"toggle"); switch(state_name) { case "active":case "hilight":case "hover":case "over": if(!toggle) { ifb.over_color = color1; ifb.over_visible = vis; } else { ifb.over_toggle_color = color1; ifb.over_toggle_visible = vis; } break; case "down":case "pressed":case "pushed": if(!toggle) { ifb.down_color = color1; ifb.down_visible = vis; } else { ifb.down_toggle_color = color1; ifb.down_toggle_visible = vis; } break; case "":case "inactive":case "normal":case "up": if(!toggle) { ifb.up_color = color1; ifb.up_visible = vis; } else { ifb.up_toggle_color = color1; ifb.up_toggle_visible = vis; } break; } } if(ifb.over_color == 0) { ifb.over_color = ifb.up_color; } if(ifb.down_color == 0) { ifb.down_color = ifb.over_color; } if(ifb.up_toggle_color == 0) { ifb.up_toggle_color = ifb.up_color; } if(ifb.over_toggle_color == 0) { ifb.over_toggle_color = ifb.over_color; } if(ifb.down_toggle_color == 0) { ifb.down_toggle_color = ifb.down_color; } if(the_label != null) { the_label.set_visible(ifb.up_visible); the_label.set_color(ifb.up_color); } return the_label; } return null; } ,__class__: flixel_addons_ui_FlxUI ,__properties__: $extend(flixel_addons_ui_FlxUIGroup.prototype.__properties__,{set_currMode:"set_currMode",get_currMode:"get_currMode",set_focus:"set_focus",set_tongue:"set_tongue",get_tongue:"get_tongue",get_isRoot:"get_isRoot"}) }); var flixel_addons_ui_Rounding = $hxEnums["flixel.addons.ui.Rounding"] = { __ename__ : "flixel.addons.ui.Rounding", __constructs__ : ["Floor","Ceil","Round","None"] ,Floor: {_hx_index:0,__enum__:"flixel.addons.ui.Rounding",toString:$estr} ,Ceil: {_hx_index:1,__enum__:"flixel.addons.ui.Rounding",toString:$estr} ,Round: {_hx_index:2,__enum__:"flixel.addons.ui.Rounding",toString:$estr} ,None: {_hx_index:3,__enum__:"flixel.addons.ui.Rounding",toString:$estr} }; var flixel_addons_ui_interfaces_IResizable = function() { }; $hxClasses["flixel.addons.ui.interfaces.IResizable"] = flixel_addons_ui_interfaces_IResizable; flixel_addons_ui_interfaces_IResizable.__name__ = "flixel.addons.ui.interfaces.IResizable"; flixel_addons_ui_interfaces_IResizable.__isInterface__ = true; flixel_addons_ui_interfaces_IResizable.prototype = { get_width: null ,set_width: null ,get_height: null ,set_height: null ,resize: null ,__class__: flixel_addons_ui_interfaces_IResizable ,__properties__: {set_height:"set_height",get_height:"get_height",set_width:"set_width",get_width:"get_width"} }; var flixel_addons_ui_FlxUISprite = function(X,Y,SimpleGraphic) { if(Y == null) { Y = 0; } if(X == null) { X = 0; } this._originalKey = ""; this.resize_ratio_axis = 1; this.recycled = false; this.ptr_owner = null; this.broadcastToFlxUI = true; flixel_FlxSprite.call(this,X,Y,SimpleGraphic); }; $hxClasses["flixel.addons.ui.FlxUISprite"] = flixel_addons_ui_FlxUISprite; flixel_addons_ui_FlxUISprite.__name__ = "flixel.addons.ui.FlxUISprite"; flixel_addons_ui_FlxUISprite.__interfaces__ = [flixel_addons_ui_interfaces_IResizable,flixel_addons_ui_interfaces_IFlxUIWidget]; flixel_addons_ui_FlxUISprite.__super__ = flixel_FlxSprite; flixel_addons_ui_FlxUISprite.prototype = $extend(flixel_FlxSprite.prototype,{ broadcastToFlxUI: null ,name: null ,ptr_owner: null ,recycled: null ,resize_ratio: null ,resize_ratio_axis: null ,set_resize_ratio: function(r) { this.resize_ratio = r; return r; } ,resize_point: null ,set_resize_point: function(r) { if(r != null) { var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; this.resize_point = point; this.resize_point.set_x(r.x); this.resize_point.set_y(r.y); } return this.resize_point; } ,recycle: function(data) { this.recycled = true; } ,resize: function(w,h) { var old_width = this.get_width(); var old_height = this.get_height(); if(this.resize_ratio > 0) { var effective_ratio = w / h; if(Math.abs(effective_ratio - this.resize_ratio) > 0.0001) { if(this.resize_ratio_axis == 1) { h = w * (1 / this.resize_ratio); } else { w = h * (1 / this.resize_ratio); } } } if(this._originalKey != "" && this._originalKey != null) { var newKey = flixel_addons_ui_U.loadScaledImage(this._originalKey,w,h); if(newKey != "" && newKey != null) { this.loadFromScaledGraphic(newKey); } } var diff_w = this.get_width() - old_width; var diff_h = this.get_height() - old_height; if(this.resize_point != null) { var delta_x = diff_w * this.resize_point.x; var delta_y = diff_h * this.resize_point.y; var _g = this; _g.set_x(_g.x - delta_x); var _g1 = this; _g1.set_y(_g1.y - delta_y); } } ,loadGraphicAtScale: function(GraphicKey,W,H) { this.loadGraphic(GraphicKey,false); this.resize(W,H); } ,loadGraphic: function(Graphic,Animated,Width,Height,Unique,Key) { if(Unique == null) { Unique = false; } if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Animated == null) { Animated = false; } var sprite = flixel_FlxSprite.prototype.loadGraphic.call(this,Graphic,Animated,Width,Height,Unique,Key); this._originalKey = this.graphic.assetsKey; if(this._originalKey == null) { this._originalKey = this.graphic.key; } return sprite; } ,destroy: function() { this.ptr_owner = null; flixel_FlxSprite.prototype.destroy.call(this); } ,loadFromScaledGraphic: function(Graphic,Animated,Width,Height,Unique,Key) { if(Unique == null) { Unique = false; } if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Animated == null) { Animated = false; } flixel_FlxSprite.prototype.loadGraphic.call(this,Graphic,Animated,Width,Height,Unique,Key); } ,_originalKey: null ,__class__: flixel_addons_ui_FlxUISprite ,__properties__: $extend(flixel_FlxSprite.prototype.__properties__,{set_resize_point:"set_resize_point",set_resize_ratio:"set_resize_ratio"}) }); var openfl_geom_Point = function(x,y) { if(y == null) { y = 0; } if(x == null) { x = 0; } this.x = x; this.y = y; }; $hxClasses["openfl.geom.Point"] = openfl_geom_Point; openfl_geom_Point.__name__ = "openfl.geom.Point"; openfl_geom_Point.__limeVector2 = null; openfl_geom_Point.distance = function(pt1,pt2) { var dx = pt1.x - pt2.x; var dy = pt1.y - pt2.y; return Math.sqrt(dx * dx + dy * dy); }; openfl_geom_Point.interpolate = function(pt1,pt2,f) { return new openfl_geom_Point(pt2.x + f * (pt1.x - pt2.x),pt2.y + f * (pt1.y - pt2.y)); }; openfl_geom_Point.polar = function(len,angle) { return new openfl_geom_Point(len * Math.cos(angle),len * Math.sin(angle)); }; openfl_geom_Point.prototype = { x: null ,y: null ,add: function(v) { return new openfl_geom_Point(v.x + this.x,v.y + this.y); } ,clone: function() { return new openfl_geom_Point(this.x,this.y); } ,copyFrom: function(sourcePoint) { this.x = sourcePoint.x; this.y = sourcePoint.y; } ,equals: function(toCompare) { if(toCompare != null && toCompare.x == this.x) { return toCompare.y == this.y; } else { return false; } } ,normalize: function(thickness) { if(this.x == 0 && this.y == 0) { return; } else { var norm = thickness / Math.sqrt(this.x * this.x + this.y * this.y); this.x *= norm; this.y *= norm; } } ,offset: function(dx,dy) { this.x += dx; this.y += dy; } ,setTo: function(xa,ya) { this.x = xa; this.y = ya; } ,subtract: function(v) { return new openfl_geom_Point(this.x - v.x,this.y - v.y); } ,toString: function() { return "(x=" + this.x + ", y=" + this.y + ")"; } ,__toLimeVector2: function() { if(openfl_geom_Point.__limeVector2 == null) { openfl_geom_Point.__limeVector2 = new lime_math_Vector2(); } var _this = openfl_geom_Point.__limeVector2; _this.x = this.x; _this.y = this.y; return openfl_geom_Point.__limeVector2; } ,get_length: function() { return Math.sqrt(this.x * this.x + this.y * this.y); } ,__class__: openfl_geom_Point ,__properties__: {get_length:"get_length"} }; var openfl_geom_Rectangle = function(x,y,width,height) { if(height == null) { height = 0; } if(width == null) { width = 0; } if(y == null) { y = 0; } if(x == null) { x = 0; } this.x = x; this.y = y; this.width = width; this.height = height; }; $hxClasses["openfl.geom.Rectangle"] = openfl_geom_Rectangle; openfl_geom_Rectangle.__name__ = "openfl.geom.Rectangle"; openfl_geom_Rectangle.__limeRectangle = null; openfl_geom_Rectangle.prototype = { height: null ,width: null ,x: null ,y: null ,clone: function() { return new openfl_geom_Rectangle(this.x,this.y,this.width,this.height); } ,contains: function(x,y) { if(x >= this.x && y >= this.y && x < this.get_right()) { return y < this.get_bottom(); } else { return false; } } ,containsPoint: function(point) { return this.contains(point.x,point.y); } ,containsRect: function(rect) { if(rect.width <= 0 || rect.height <= 0) { if(rect.x > this.x && rect.y > this.y && rect.get_right() < this.get_right()) { return rect.get_bottom() < this.get_bottom(); } else { return false; } } else if(rect.x >= this.x && rect.y >= this.y && rect.get_right() <= this.get_right()) { return rect.get_bottom() <= this.get_bottom(); } else { return false; } } ,copyFrom: function(sourceRect) { this.x = sourceRect.x; this.y = sourceRect.y; this.width = sourceRect.width; this.height = sourceRect.height; } ,equals: function(toCompare) { if(toCompare == this) { return true; } else if(toCompare != null && this.x == toCompare.x && this.y == toCompare.y && this.width == toCompare.width) { return this.height == toCompare.height; } else { return false; } } ,inflate: function(dx,dy) { this.x -= dx; this.width += dx * 2; this.y -= dy; this.height += dy * 2; } ,inflatePoint: function(point) { this.inflate(point.x,point.y); } ,intersection: function(toIntersect) { var x0 = this.x < toIntersect.x ? toIntersect.x : this.x; var x1 = this.get_right() > toIntersect.get_right() ? toIntersect.get_right() : this.get_right(); if(x1 <= x0) { return new openfl_geom_Rectangle(); } var y0 = this.y < toIntersect.y ? toIntersect.y : this.y; var y1 = this.get_bottom() > toIntersect.get_bottom() ? toIntersect.get_bottom() : this.get_bottom(); if(y1 <= y0) { return new openfl_geom_Rectangle(); } return new openfl_geom_Rectangle(x0,y0,x1 - x0,y1 - y0); } ,intersects: function(toIntersect) { var x0 = this.x < toIntersect.x ? toIntersect.x : this.x; var x1 = this.get_right() > toIntersect.get_right() ? toIntersect.get_right() : this.get_right(); if(x1 <= x0) { return false; } var y0 = this.y < toIntersect.y ? toIntersect.y : this.y; var y1 = this.get_bottom() > toIntersect.get_bottom() ? toIntersect.get_bottom() : this.get_bottom(); return y1 > y0; } ,isEmpty: function() { if(!(this.width <= 0)) { return this.height <= 0; } else { return true; } } ,offset: function(dx,dy) { this.x += dx; this.y += dy; } ,offsetPoint: function(point) { this.x += point.x; this.y += point.y; } ,setEmpty: function() { this.x = this.y = this.width = this.height = 0; } ,setTo: function(xa,ya,widtha,heighta) { this.x = xa; this.y = ya; this.width = widtha; this.height = heighta; } ,toString: function() { return "(x=" + this.x + ", y=" + this.y + ", width=" + this.width + ", height=" + this.height + ")"; } ,union: function(toUnion) { if(this.width == 0 || this.height == 0) { return toUnion.clone(); } else if(toUnion.width == 0 || toUnion.height == 0) { return this.clone(); } var x0 = this.x > toUnion.x ? toUnion.x : this.x; var x1 = this.get_right() < toUnion.get_right() ? toUnion.get_right() : this.get_right(); var y0 = this.y > toUnion.y ? toUnion.y : this.y; var y1 = this.get_bottom() < toUnion.get_bottom() ? toUnion.get_bottom() : this.get_bottom(); return new openfl_geom_Rectangle(x0,y0,x1 - x0,y1 - y0); } ,__contract: function(x,y,width,height) { if(this.width == 0 && this.height == 0) { return; } var offsetX = 0.0; var offsetY = 0.0; var offsetRight = 0.0; var offsetBottom = 0.0; if(this.x < x) { offsetX = x - this.x; } if(this.y < y) { offsetY = y - this.y; } if(this.get_right() > x + width) { offsetRight = x + width - this.get_right(); } if(this.get_bottom() > y + height) { offsetBottom = y + height - this.get_bottom(); } this.x += offsetX; this.y += offsetY; this.width += offsetRight - offsetX; this.height += offsetBottom - offsetY; } ,__expand: function(x,y,width,height) { if(this.width == 0 && this.height == 0) { this.x = x; this.y = y; this.width = width; this.height = height; return; } var cacheRight = this.get_right(); var cacheBottom = this.get_bottom(); if(this.x > x) { this.x = x; this.width = cacheRight - x; } if(this.y > y) { this.y = y; this.height = cacheBottom - y; } if(cacheRight < x + width) { this.width = x + width - this.x; } if(cacheBottom < y + height) { this.height = y + height - this.y; } } ,__toLimeRectangle: function() { if(openfl_geom_Rectangle.__limeRectangle == null) { openfl_geom_Rectangle.__limeRectangle = new lime_math_Rectangle(); } openfl_geom_Rectangle.__limeRectangle.setTo(this.x,this.y,this.width,this.height); return openfl_geom_Rectangle.__limeRectangle; } ,__transform: function(rect,m) { var tx0 = m.a * this.x + m.c * this.y; var tx1 = tx0; var ty0 = m.b * this.x + m.d * this.y; var ty1 = ty0; var tx = m.a * (this.x + this.width) + m.c * this.y; var ty = m.b * (this.x + this.width) + m.d * this.y; if(tx < tx0) { tx0 = tx; } if(ty < ty0) { ty0 = ty; } if(tx > tx1) { tx1 = tx; } if(ty > ty1) { ty1 = ty; } tx = m.a * (this.x + this.width) + m.c * (this.y + this.height); ty = m.b * (this.x + this.width) + m.d * (this.y + this.height); if(tx < tx0) { tx0 = tx; } if(ty < ty0) { ty0 = ty; } if(tx > tx1) { tx1 = tx; } if(ty > ty1) { ty1 = ty; } tx = m.a * this.x + m.c * (this.y + this.height); ty = m.b * this.x + m.d * (this.y + this.height); if(tx < tx0) { tx0 = tx; } if(ty < ty0) { ty0 = ty; } if(tx > tx1) { tx1 = tx; } if(ty > ty1) { ty1 = ty; } rect.setTo(tx0 + m.tx,ty0 + m.ty,tx1 - tx0,ty1 - ty0); } ,get_bottom: function() { return this.y + this.height; } ,set_bottom: function(b) { this.height = b - this.y; return b; } ,get_bottomRight: function() { return new openfl_geom_Point(this.x + this.width,this.y + this.height); } ,set_bottomRight: function(p) { this.width = p.x - this.x; this.height = p.y - this.y; return p.clone(); } ,get_left: function() { return this.x; } ,set_left: function(l) { this.width -= l - this.x; this.x = l; return l; } ,get_right: function() { return this.x + this.width; } ,set_right: function(r) { this.width = r - this.x; return r; } ,get_size: function() { return new openfl_geom_Point(this.width,this.height); } ,set_size: function(p) { this.width = p.x; this.height = p.y; return p.clone(); } ,get_top: function() { return this.y; } ,set_top: function(t) { this.height -= t - this.y; this.y = t; return t; } ,get_topLeft: function() { return new openfl_geom_Point(this.x,this.y); } ,set_topLeft: function(p) { this.x = p.x; this.y = p.y; return p.clone(); } ,__class__: openfl_geom_Rectangle ,__properties__: {set_topLeft:"set_topLeft",get_topLeft:"get_topLeft",set_top:"set_top",get_top:"get_top",set_size:"set_size",get_size:"get_size",set_right:"set_right",get_right:"get_right",set_left:"set_left",get_left:"get_left",set_bottomRight:"set_bottomRight",get_bottomRight:"get_bottomRight",set_bottom:"set_bottom",get_bottom:"get_bottom"} }; var flixel_addons_ui_FlxUI9SliceSprite = function(X,Y,Graphic,Rect,Slice9,Tile,Smooth,Id,Ratio,Resize_point,Resize_axis,DeferResize,Color) { if(Color == null) { Color = -1; } if(DeferResize == null) { DeferResize = false; } if(Resize_axis == null) { Resize_axis = 1; } if(Ratio == null) { Ratio = -1; } if(Id == null) { Id = ""; } if(Smooth == null) { Smooth = false; } if(Tile == null) { Tile = 0; } this._asset_id = ""; this._smooth = false; this._tile = 0; this._slice9 = null; this.paintScale9_id = ""; flixel_addons_ui_FlxUISprite.call(this,X,Y,null); this.set_color(Color); this._slice9 = Slice9; this._tile = Tile; this._smooth = Smooth; this._asset_id = ""; if(Graphic == null) { Graphic = "flixel/flixel-ui/img/chrome.png"; } if(typeof(Graphic) == "string") { this._asset_id = Graphic; this._raw_pixels = null; } else if(((Graphic) instanceof openfl_display_BitmapData)) { this._asset_id = Id; this._raw_pixels = Graphic; } else if(((Graphic) instanceof flixel_graphics_FlxGraphic)) { var fg = Graphic; this._asset_id = fg.key; this._raw_pixels = fg.bitmap; } this.set_resize_ratio(Ratio); this.resize_ratio_axis = Resize_axis; if(Resize_point != null) { this.set_resize_point(Resize_point); } if(DeferResize) { var pt = flixel_addons_ui_U.applyResize(this.resize_ratio,this.resize_ratio_axis,Rect.width,Rect.height); this.set_width(pt.x); this.set_height(pt.y); } else { this.resize(Rect.width,Rect.height); } }; $hxClasses["flixel.addons.ui.FlxUI9SliceSprite"] = flixel_addons_ui_FlxUI9SliceSprite; flixel_addons_ui_FlxUI9SliceSprite.__name__ = "flixel.addons.ui.FlxUI9SliceSprite"; flixel_addons_ui_FlxUI9SliceSprite.__interfaces__ = [flixel_addons_ui_interfaces_IFlxUIWidget,flixel_addons_ui_interfaces_IResizable]; flixel_addons_ui_FlxUI9SliceSprite.sectionCache = null; flixel_addons_ui_FlxUI9SliceSprite.cacheCounter = null; flixel_addons_ui_FlxUI9SliceSprite._staticRects = null; flixel_addons_ui_FlxUI9SliceSprite.getRectFromString = function(str) { var coords = str.split(","); var rect = null; if(coords != null && coords.length == 4) { var x_ = Std.parseInt(coords[0]); var y_ = Std.parseInt(coords[1]); var w_ = Std.parseInt(coords[2]); var h_ = Std.parseInt(coords[3]); rect = new openfl_geom_Rectangle(x_,y_,w_,h_); } return rect; }; flixel_addons_ui_FlxUI9SliceSprite.getRectIntsFromString = function(str) { var coords = str.split(","); if(coords != null && coords.length == 4) { var x1 = Std.parseInt(coords[0]); var y1 = Std.parseInt(coords[1]); var x2 = Std.parseInt(coords[2]); var y2 = Std.parseInt(coords[3]); return [x1,y1,x2,y2]; } return null; }; flixel_addons_ui_FlxUI9SliceSprite.paintScale9 = function(g,assetID,scale9,rc,tile,smooth,raw) { if(smooth == null) { smooth = false; } if(tile == null) { tile = 0; } if(scale9 != null) { var w; var h; if(raw == null) { var assetBmp = flixel_addons_ui_U.getBmp(assetID); if(assetBmp != null) { w = assetBmp.width; h = assetBmp.height; } else { var _this = flixel_FlxG.bitmap._cache; var assetFlx = __map_reserved[assetID] != null ? _this.getReserved(assetID) : _this.h[assetID]; w = assetFlx.width; h = assetFlx.height; } } else { w = raw.width; h = raw.height; } var x1 = scale9[0]; var y1 = scale9[1]; var x2 = scale9[2]; var y2 = scale9[3]; if(flixel_addons_ui_FlxUI9SliceSprite._staticRects == null) { flixel_addons_ui_FlxUI9SliceSprite._staticRects = new haxe_ds_StringMap(); var this1 = flixel_addons_ui_FlxUI9SliceSprite._staticRects; var _this1 = flixel_math_FlxRect._pool.get(); var X = 0; var Y = 0; var Width = 0; var Height = 0; if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } _this1.x = X; _this1.y = Y; _this1.width = Width; _this1.height = Height; var rect = _this1; rect._inPool = false; var value = rect; var _this2 = this1; if(__map_reserved["top.left"] != null) { _this2.setReserved("top.left",value); } else { _this2.h["top.left"] = value; } var this2 = flixel_addons_ui_FlxUI9SliceSprite._staticRects; var _this3 = flixel_math_FlxRect._pool.get(); var X1 = 0; var Y1 = 0; var Width1 = 0; var Height1 = 0; if(Height1 == null) { Height1 = 0; } if(Width1 == null) { Width1 = 0; } if(Y1 == null) { Y1 = 0; } if(X1 == null) { X1 = 0; } _this3.x = X1; _this3.y = Y1; _this3.width = Width1; _this3.height = Height1; var rect1 = _this3; rect1._inPool = false; var value1 = rect1; var _this4 = this2; if(__map_reserved["top"] != null) { _this4.setReserved("top",value1); } else { _this4.h["top"] = value1; } var this3 = flixel_addons_ui_FlxUI9SliceSprite._staticRects; var _this5 = flixel_math_FlxRect._pool.get(); var X2 = 0; var Y2 = 0; var Width2 = 0; var Height2 = 0; if(Height2 == null) { Height2 = 0; } if(Width2 == null) { Width2 = 0; } if(Y2 == null) { Y2 = 0; } if(X2 == null) { X2 = 0; } _this5.x = X2; _this5.y = Y2; _this5.width = Width2; _this5.height = Height2; var rect2 = _this5; rect2._inPool = false; var value2 = rect2; var _this6 = this3; if(__map_reserved["top.right"] != null) { _this6.setReserved("top.right",value2); } else { _this6.h["top.right"] = value2; } var this4 = flixel_addons_ui_FlxUI9SliceSprite._staticRects; var _this7 = flixel_math_FlxRect._pool.get(); var X3 = 0; var Y3 = 0; var Width3 = 0; var Height3 = 0; if(Height3 == null) { Height3 = 0; } if(Width3 == null) { Width3 = 0; } if(Y3 == null) { Y3 = 0; } if(X3 == null) { X3 = 0; } _this7.x = X3; _this7.y = Y3; _this7.width = Width3; _this7.height = Height3; var rect3 = _this7; rect3._inPool = false; var value3 = rect3; var _this8 = this4; if(__map_reserved["left"] != null) { _this8.setReserved("left",value3); } else { _this8.h["left"] = value3; } var this5 = flixel_addons_ui_FlxUI9SliceSprite._staticRects; var _this9 = flixel_math_FlxRect._pool.get(); var X4 = 0; var Y4 = 0; var Width4 = 0; var Height4 = 0; if(Height4 == null) { Height4 = 0; } if(Width4 == null) { Width4 = 0; } if(Y4 == null) { Y4 = 0; } if(X4 == null) { X4 = 0; } _this9.x = X4; _this9.y = Y4; _this9.width = Width4; _this9.height = Height4; var rect4 = _this9; rect4._inPool = false; var value4 = rect4; var _this10 = this5; if(__map_reserved["middle"] != null) { _this10.setReserved("middle",value4); } else { _this10.h["middle"] = value4; } var this6 = flixel_addons_ui_FlxUI9SliceSprite._staticRects; var _this11 = flixel_math_FlxRect._pool.get(); var X5 = 0; var Y5 = 0; var Width5 = 0; var Height5 = 0; if(Height5 == null) { Height5 = 0; } if(Width5 == null) { Width5 = 0; } if(Y5 == null) { Y5 = 0; } if(X5 == null) { X5 = 0; } _this11.x = X5; _this11.y = Y5; _this11.width = Width5; _this11.height = Height5; var rect5 = _this11; rect5._inPool = false; var value5 = rect5; var _this12 = this6; if(__map_reserved["right"] != null) { _this12.setReserved("right",value5); } else { _this12.h["right"] = value5; } var this7 = flixel_addons_ui_FlxUI9SliceSprite._staticRects; var _this13 = flixel_math_FlxRect._pool.get(); var X6 = 0; var Y6 = 0; var Width6 = 0; var Height6 = 0; if(Height6 == null) { Height6 = 0; } if(Width6 == null) { Width6 = 0; } if(Y6 == null) { Y6 = 0; } if(X6 == null) { X6 = 0; } _this13.x = X6; _this13.y = Y6; _this13.width = Width6; _this13.height = Height6; var rect6 = _this13; rect6._inPool = false; var value6 = rect6; var _this14 = this7; if(__map_reserved["bottom.left"] != null) { _this14.setReserved("bottom.left",value6); } else { _this14.h["bottom.left"] = value6; } var this8 = flixel_addons_ui_FlxUI9SliceSprite._staticRects; var _this15 = flixel_math_FlxRect._pool.get(); var X7 = 0; var Y7 = 0; var Width7 = 0; var Height7 = 0; if(Height7 == null) { Height7 = 0; } if(Width7 == null) { Width7 = 0; } if(Y7 == null) { Y7 = 0; } if(X7 == null) { X7 = 0; } _this15.x = X7; _this15.y = Y7; _this15.width = Width7; _this15.height = Height7; var rect7 = _this15; rect7._inPool = false; var value7 = rect7; var _this16 = this8; if(__map_reserved["bottom"] != null) { _this16.setReserved("bottom",value7); } else { _this16.h["bottom"] = value7; } var this9 = flixel_addons_ui_FlxUI9SliceSprite._staticRects; var _this17 = flixel_math_FlxRect._pool.get(); var X8 = 0; var Y8 = 0; var Width8 = 0; var Height8 = 0; if(Height8 == null) { Height8 = 0; } if(Width8 == null) { Width8 = 0; } if(Y8 == null) { Y8 = 0; } if(X8 == null) { X8 = 0; } _this17.x = X8; _this17.y = Y8; _this17.width = Width8; _this17.height = Height8; var rect8 = _this17; rect8._inPool = false; var value8 = rect8; var _this18 = this9; if(__map_reserved["bottom.right"] != null) { _this18.setReserved("bottom.right",value8); } else { _this18.h["bottom.right"] = value8; } } var _this19 = flixel_addons_ui_FlxUI9SliceSprite._staticRects; var _this20 = __map_reserved["top.left"] != null ? _this19.getReserved("top.left") : _this19.h["top.left"]; var X9 = 0; var Y9 = 0; var Width9 = x1; var Height9 = y1; if(Height9 == null) { Height9 = 0; } if(Width9 == null) { Width9 = 0; } if(Y9 == null) { Y9 = 0; } if(X9 == null) { X9 = 0; } _this20.x = X9; _this20.y = Y9; _this20.width = Width9; _this20.height = Height9; var _this21 = flixel_addons_ui_FlxUI9SliceSprite._staticRects; var _this22 = __map_reserved["top"] != null ? _this21.getReserved("top") : _this21.h["top"]; var X10 = x1; var Y10 = 0; var Width10 = x2 - x1; var Height10 = y1; if(Height10 == null) { Height10 = 0; } if(Width10 == null) { Width10 = 0; } if(Y10 == null) { Y10 = 0; } if(X10 == null) { X10 = 0; } _this22.x = X10; _this22.y = Y10; _this22.width = Width10; _this22.height = Height10; var _this23 = flixel_addons_ui_FlxUI9SliceSprite._staticRects; var _this24 = __map_reserved["top.right"] != null ? _this23.getReserved("top.right") : _this23.h["top.right"]; var X11 = x2; var Y11 = 0; var Width11 = w - x2; var Height11 = y1; if(Height11 == null) { Height11 = 0; } if(Width11 == null) { Width11 = 0; } if(Y11 == null) { Y11 = 0; } if(X11 == null) { X11 = 0; } _this24.x = X11; _this24.y = Y11; _this24.width = Width11; _this24.height = Height11; var _this25 = flixel_addons_ui_FlxUI9SliceSprite._staticRects; var _this26 = __map_reserved["left"] != null ? _this25.getReserved("left") : _this25.h["left"]; var X12 = 0; var Y12 = y1; var Width12 = x1; var Height12 = y2 - y1; if(Height12 == null) { Height12 = 0; } if(Width12 == null) { Width12 = 0; } if(Y12 == null) { Y12 = 0; } if(X12 == null) { X12 = 0; } _this26.x = X12; _this26.y = Y12; _this26.width = Width12; _this26.height = Height12; var _this27 = flixel_addons_ui_FlxUI9SliceSprite._staticRects; var _this28 = __map_reserved["middle"] != null ? _this27.getReserved("middle") : _this27.h["middle"]; var X13 = x1; var Y13 = y1; var Width13 = x2 - x1; var Height13 = y2 - y1; if(Height13 == null) { Height13 = 0; } if(Width13 == null) { Width13 = 0; } if(Y13 == null) { Y13 = 0; } if(X13 == null) { X13 = 0; } _this28.x = X13; _this28.y = Y13; _this28.width = Width13; _this28.height = Height13; var _this29 = flixel_addons_ui_FlxUI9SliceSprite._staticRects; var _this30 = __map_reserved["right"] != null ? _this29.getReserved("right") : _this29.h["right"]; var X14 = x2; var Y14 = y1; var Width14 = w - x2; var Height14 = y2 - y1; if(Height14 == null) { Height14 = 0; } if(Width14 == null) { Width14 = 0; } if(Y14 == null) { Y14 = 0; } if(X14 == null) { X14 = 0; } _this30.x = X14; _this30.y = Y14; _this30.width = Width14; _this30.height = Height14; var _this31 = flixel_addons_ui_FlxUI9SliceSprite._staticRects; var _this32 = __map_reserved["bottom.left"] != null ? _this31.getReserved("bottom.left") : _this31.h["bottom.left"]; var X15 = 0; var Y15 = y2; var Width15 = x1; var Height15 = h - y2; if(Height15 == null) { Height15 = 0; } if(Width15 == null) { Width15 = 0; } if(Y15 == null) { Y15 = 0; } if(X15 == null) { X15 = 0; } _this32.x = X15; _this32.y = Y15; _this32.width = Width15; _this32.height = Height15; var _this33 = flixel_addons_ui_FlxUI9SliceSprite._staticRects; var _this34 = __map_reserved["bottom"] != null ? _this33.getReserved("bottom") : _this33.h["bottom"]; var X16 = x1; var Y16 = y2; var Width16 = x2 - x1; var Height16 = h - y2; if(Height16 == null) { Height16 = 0; } if(Width16 == null) { Width16 = 0; } if(Y16 == null) { Y16 = 0; } if(X16 == null) { X16 = 0; } _this34.x = X16; _this34.y = Y16; _this34.width = Width16; _this34.height = Height16; var _this35 = flixel_addons_ui_FlxUI9SliceSprite._staticRects; var _this36 = __map_reserved["bottom.right"] != null ? _this35.getReserved("bottom.right") : _this35.h["bottom.right"]; var X17 = x2; var Y17 = y2; var Width17 = w - x2; var Height17 = h - y2; if(Height17 == null) { Height17 = 0; } if(Width17 == null) { Width17 = 0; } if(Y17 == null) { Y17 = 0; } if(X17 == null) { X17 = 0; } _this36.x = X17; _this36.y = Y17; _this36.width = Width17; _this36.height = Height17; if(flixel_addons_ui_FlxUI9SliceSprite.cacheCounter == null) { flixel_addons_ui_FlxUI9SliceSprite.cacheCounter = new haxe_ds_StringMap(); } var uniqueID = flixel_addons_ui_FlxUI9SliceSprite.makePaintScale9Id(assetID,scale9,rc); var _this37 = flixel_addons_ui_FlxUI9SliceSprite.cacheCounter; var sectionCounter = __map_reserved[uniqueID] != null ? _this37.getReserved(uniqueID) : _this37.h[uniqueID]; if(sectionCounter == null) { sectionCounter = { useCount : 0, subKeys : []}; var _g = 0; while(_g < 9) { var i = _g++; var rect9; switch(i) { case 0: var _this38 = flixel_addons_ui_FlxUI9SliceSprite._staticRects; rect9 = __map_reserved["top.left"] != null ? _this38.getReserved("top.left") : _this38.h["top.left"]; break; case 1: var _this39 = flixel_addons_ui_FlxUI9SliceSprite._staticRects; rect9 = __map_reserved["top"] != null ? _this39.getReserved("top") : _this39.h["top"]; break; case 2: var _this40 = flixel_addons_ui_FlxUI9SliceSprite._staticRects; rect9 = __map_reserved["top.right"] != null ? _this40.getReserved("top.right") : _this40.h["top.right"]; break; case 3: var _this41 = flixel_addons_ui_FlxUI9SliceSprite._staticRects; rect9 = __map_reserved["left"] != null ? _this41.getReserved("left") : _this41.h["left"]; break; case 4: var _this42 = flixel_addons_ui_FlxUI9SliceSprite._staticRects; rect9 = __map_reserved["middle"] != null ? _this42.getReserved("middle") : _this42.h["middle"]; break; case 5: var _this43 = flixel_addons_ui_FlxUI9SliceSprite._staticRects; rect9 = __map_reserved["right"] != null ? _this43.getReserved("right") : _this43.h["right"]; break; case 6: var _this44 = flixel_addons_ui_FlxUI9SliceSprite._staticRects; rect9 = __map_reserved["bottom.left"] != null ? _this44.getReserved("bottom.left") : _this44.h["bottom.left"]; break; case 7: var _this45 = flixel_addons_ui_FlxUI9SliceSprite._staticRects; rect9 = __map_reserved["bottom"] != null ? _this45.getReserved("bottom") : _this45.h["bottom"]; break; case 8: var _this46 = flixel_addons_ui_FlxUI9SliceSprite._staticRects; rect9 = __map_reserved["bottom.right"] != null ? _this46.getReserved("bottom.right") : _this46.h["bottom.right"]; break; default: var _this47 = flixel_addons_ui_FlxUI9SliceSprite._staticRects; rect9 = __map_reserved["top.left"] != null ? _this47.getReserved("top.left") : _this47.h["top.left"]; } var cacheId = assetID + "_" + rect9.x + "_" + rect9.y + "_" + rect9.width + "_" + rect9.height + "_"; sectionCounter.subKeys.push(cacheId); } var _this48 = flixel_addons_ui_FlxUI9SliceSprite.cacheCounter; if(__map_reserved[uniqueID] != null) { _this48.setReserved(uniqueID,sectionCounter); } else { _this48.h[uniqueID] = sectionCounter; } } flixel_addons_ui_FlxUI9SliceSprite.paintCompoundBitmap(g,assetID,flixel_addons_ui_FlxUI9SliceSprite._staticRects,rc,tile,smooth,raw); return uniqueID; } return ""; }; flixel_addons_ui_FlxUI9SliceSprite.makePaintScale9Id = function(assetId,slice9,rect) { var tmp = assetId + "_" + slice9.join(",") + "_"; var value = rect.x; var _this = flixel_util_LabelValuePair._pool.get(); _this.label = "x"; _this.value = value; var value1 = rect.y; var _this1 = flixel_util_LabelValuePair._pool.get(); _this1.label = "y"; _this1.value = value1; var value2 = rect.width; var _this2 = flixel_util_LabelValuePair._pool.get(); _this2.label = "w"; _this2.value = value2; var value3 = rect.height; var _this3 = flixel_util_LabelValuePair._pool.get(); _this3.label = "h"; _this3.value = value3; return tmp + flixel_util_FlxStringUtil.getDebugString([_this,_this1,_this2,_this3]); }; flixel_addons_ui_FlxUI9SliceSprite.paintCompoundBitmap = function(g,assetID,sourceRects,targetRect,tile,smooth,raw) { if(smooth == null) { smooth = false; } if(tile == null) { tile = 0; } targetRect.x = targetRect.x | 0; targetRect.y = targetRect.y | 0; targetRect.width = targetRect.width | 0; targetRect.height = targetRect.height | 0; var tl = __map_reserved["top.left"] != null ? sourceRects.getReserved("top.left") : sourceRects.h["top.left"]; if(tl != null) { var _this = flixel_addons_ui_FlxUI9SliceSprite._staticFlxRect2; var X = 0; var Y = 0; var Width = tl.width; var Height = tl.height; if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } _this.x = X; _this.y = Y; _this.width = Width; _this.height = Height; flixel_addons_ui_FlxUI9SliceSprite.paintBitmapSection(g,assetID,tl,flixel_addons_ui_FlxUI9SliceSprite._staticFlxRect2,null,0,smooth,raw); } var tr = __map_reserved["top.right"] != null ? sourceRects.getReserved("top.right") : sourceRects.h["top.right"]; if(tr != null) { var _this1 = flixel_addons_ui_FlxUI9SliceSprite._staticFlxRect2; var X1 = targetRect.width - tr.width; var Y1 = 0; var Width1 = tr.width; var Height1 = tr.height; if(Height1 == null) { Height1 = 0; } if(Width1 == null) { Width1 = 0; } if(Y1 == null) { Y1 = 0; } if(X1 == null) { X1 = 0; } _this1.x = X1; _this1.y = Y1; _this1.width = Width1; _this1.height = Height1; flixel_addons_ui_FlxUI9SliceSprite.paintBitmapSection(g,assetID,tr,flixel_addons_ui_FlxUI9SliceSprite._staticFlxRect2,null,0,smooth,raw); } var t = __map_reserved["top"] != null ? sourceRects.getReserved("top") : sourceRects.h["top"]; if(t != null) { var _this2 = flixel_addons_ui_FlxUI9SliceSprite._staticFlxRect2; var X2 = tl.width; var Y2 = 0; var Width2 = targetRect.width - tl.width - tr.width; var Height2 = t.height; if(Height2 == null) { Height2 = 0; } if(Width2 == null) { Width2 = 0; } if(Y2 == null) { Y2 = 0; } if(X2 == null) { X2 = 0; } _this2.x = X2; _this2.y = Y2; _this2.width = Width2; _this2.height = Height2; flixel_addons_ui_FlxUI9SliceSprite.paintBitmapSection(g,assetID,t,flixel_addons_ui_FlxUI9SliceSprite._staticFlxRect2,null,tile & 16,smooth,raw); } var bl = __map_reserved["bottom.left"] != null ? sourceRects.getReserved("bottom.left") : sourceRects.h["bottom.left"]; if(bl != null) { var _this3 = flixel_addons_ui_FlxUI9SliceSprite._staticFlxRect2; var X3 = 0; var Y3 = targetRect.height - bl.height; var Width3 = bl.width; var Height3 = bl.height; if(Height3 == null) { Height3 = 0; } if(Width3 == null) { Width3 = 0; } if(Y3 == null) { Y3 = 0; } if(X3 == null) { X3 = 0; } _this3.x = X3; _this3.y = Y3; _this3.width = Width3; _this3.height = Height3; flixel_addons_ui_FlxUI9SliceSprite.paintBitmapSection(g,assetID,bl,flixel_addons_ui_FlxUI9SliceSprite._staticFlxRect2,null,0,smooth,raw); } var br = __map_reserved["bottom.right"] != null ? sourceRects.getReserved("bottom.right") : sourceRects.h["bottom.right"]; if(br != null) { var _this4 = flixel_addons_ui_FlxUI9SliceSprite._staticFlxRect2; var X4 = targetRect.width - br.width; var Y4 = targetRect.height - br.height; var Width4 = br.width; var Height4 = br.height; if(Height4 == null) { Height4 = 0; } if(Width4 == null) { Width4 = 0; } if(Y4 == null) { Y4 = 0; } if(X4 == null) { X4 = 0; } _this4.x = X4; _this4.y = Y4; _this4.width = Width4; _this4.height = Height4; flixel_addons_ui_FlxUI9SliceSprite.paintBitmapSection(g,assetID,br,flixel_addons_ui_FlxUI9SliceSprite._staticFlxRect2,null,0,smooth,raw); } var b = __map_reserved["bottom"] != null ? sourceRects.getReserved("bottom") : sourceRects.h["bottom"]; if(b != null) { var _this5 = flixel_addons_ui_FlxUI9SliceSprite._staticFlxRect2; var X5 = bl.width; var Y5 = targetRect.height - b.height; var Width5 = targetRect.width - bl.width - br.width; var Height5 = b.height; if(Height5 == null) { Height5 = 0; } if(Width5 == null) { Width5 = 0; } if(Y5 == null) { Y5 = 0; } if(X5 == null) { X5 = 0; } _this5.x = X5; _this5.y = Y5; _this5.width = Width5; _this5.height = Height5; flixel_addons_ui_FlxUI9SliceSprite.paintBitmapSection(g,assetID,b,flixel_addons_ui_FlxUI9SliceSprite._staticFlxRect2,null,tile & 16,smooth,raw); } var l = __map_reserved["left"] != null ? sourceRects.getReserved("left") : sourceRects.h["left"]; if(l != null) { var _this6 = flixel_addons_ui_FlxUI9SliceSprite._staticFlxRect2; var X6 = 0; var Y6 = tl.height; var Width6 = l.width; var Height6 = targetRect.height - tl.height - bl.height; if(Height6 == null) { Height6 = 0; } if(Width6 == null) { Width6 = 0; } if(Y6 == null) { Y6 = 0; } if(X6 == null) { X6 = 0; } _this6.x = X6; _this6.y = Y6; _this6.width = Width6; _this6.height = Height6; flixel_addons_ui_FlxUI9SliceSprite.paintBitmapSection(g,assetID,l,flixel_addons_ui_FlxUI9SliceSprite._staticFlxRect2,null,tile & 1,smooth,raw); } var r = __map_reserved["right"] != null ? sourceRects.getReserved("right") : sourceRects.h["right"]; if(r != null) { var _this7 = flixel_addons_ui_FlxUI9SliceSprite._staticFlxRect2; var X7 = targetRect.width - r.width; var Y7 = tr.height; var Width7 = r.width; var Height7 = targetRect.height - tl.height - bl.height; if(Height7 == null) { Height7 = 0; } if(Width7 == null) { Width7 = 0; } if(Y7 == null) { Y7 = 0; } if(X7 == null) { X7 = 0; } _this7.x = X7; _this7.y = Y7; _this7.width = Width7; _this7.height = Height7; flixel_addons_ui_FlxUI9SliceSprite.paintBitmapSection(g,assetID,r,flixel_addons_ui_FlxUI9SliceSprite._staticFlxRect2,null,tile & 1,smooth,raw); } var m = __map_reserved["middle"] != null ? sourceRects.getReserved("middle") : sourceRects.h["middle"]; if(m != null) { var _this8 = flixel_addons_ui_FlxUI9SliceSprite._staticFlxRect2; var X8 = l.width; var Y8 = t.height; var Width8 = targetRect.width - l.width - r.width; var Height8 = targetRect.height - t.height - b.height; if(Height8 == null) { Height8 = 0; } if(Width8 == null) { Width8 = 0; } if(Y8 == null) { Y8 = 0; } if(X8 == null) { X8 = 0; } _this8.x = X8; _this8.y = Y8; _this8.width = Width8; _this8.height = Height8; flixel_addons_ui_FlxUI9SliceSprite.paintBitmapSection(g,assetID,m,flixel_addons_ui_FlxUI9SliceSprite._staticFlxRect2,null,tile,smooth,raw); } }; flixel_addons_ui_FlxUI9SliceSprite.paintBitmapSection = function(g,assetId,src,dst,srcData,tile,smooth,raw) { if(smooth == null) { smooth = false; } if(tile == null) { tile = 0; } if(srcData == null) { if(raw != null) { srcData = raw; } else { srcData = flixel_addons_ui_U.getBmp(assetId); } } src.x = src.x | 0; src.y = src.y | 0; src.width = src.width | 0; src.height = src.height | 0; dst.x = dst.x | 0; dst.y = dst.y | 0; dst.width = dst.width | 0; dst.height = dst.height | 0; var section = null; var cacheId = null; if(flixel_addons_ui_FlxUI9SliceSprite.useSectionCache == true && assetId != null) { if(flixel_addons_ui_FlxUI9SliceSprite.sectionCache == null) { flixel_addons_ui_FlxUI9SliceSprite.sectionCache = new haxe_ds_StringMap(); } cacheId = assetId + "_" + src.x + "_" + src.y + "_" + src.width + "_" + src.height + "_"; var _this = flixel_addons_ui_FlxUI9SliceSprite.sectionCache; section = __map_reserved[cacheId] != null ? _this.getReserved(cacheId) : _this.h[cacheId]; } if(section == null) { var fillcolor = 16777215; section = new openfl_display_BitmapData(src.width | 0,src.height | 0,true,fillcolor); flixel_addons_ui_FlxUI9SliceSprite._staticRect2.x = src.x; flixel_addons_ui_FlxUI9SliceSprite._staticRect2.y = src.y; flixel_addons_ui_FlxUI9SliceSprite._staticRect2.width = src.width; flixel_addons_ui_FlxUI9SliceSprite._staticRect2.height = src.height; section.copyPixels(srcData,flixel_addons_ui_FlxUI9SliceSprite._staticRect2,flixel_addons_ui_FlxUI9SliceSprite._staticPointZero); if(flixel_addons_ui_FlxUI9SliceSprite.useSectionCache == true && cacheId != null) { var _this1 = flixel_addons_ui_FlxUI9SliceSprite.sectionCache; if(__map_reserved[cacheId] != null) { _this1.setReserved(cacheId,section); } else { _this1.h[cacheId] = section; } } flixel_addons_ui_FlxUI9SliceSprite.bitmapsCreated++; } if(dst.width > 0 && dst.height > 0) { flixel_addons_ui_FlxUI9SliceSprite._staticRect2.x = dst.x; flixel_addons_ui_FlxUI9SliceSprite._staticRect2.y = dst.y; flixel_addons_ui_FlxUI9SliceSprite._staticRect2.width = dst.width; flixel_addons_ui_FlxUI9SliceSprite._staticRect2.height = dst.height; flixel_addons_ui_FlxUI9SliceSprite.bitmapFillRect(g,flixel_addons_ui_FlxUI9SliceSprite._staticRect2,section,tile,smooth); } }; flixel_addons_ui_FlxUI9SliceSprite.bitmapFillRect = function(g,dst,section,tile,smooth_) { if(smooth_ == null) { smooth_ = false; } if(tile == null) { tile = 0; } var final_pixels = new openfl_display_BitmapData(dst.width | 0,dst.height | 0,true,0); flixel_addons_ui_FlxUI9SliceSprite._staticMatrix.identity(); flixel_addons_ui_FlxUI9SliceSprite._staticRect.x = 0; flixel_addons_ui_FlxUI9SliceSprite._staticRect.y = 0; flixel_addons_ui_FlxUI9SliceSprite._staticRect.width = section.width; flixel_addons_ui_FlxUI9SliceSprite._staticRect.height = section.height; if((tile & 16) == 0) { flixel_addons_ui_FlxUI9SliceSprite._staticMatrix.scale(dst.width / section.width,1.0); flixel_addons_ui_FlxUI9SliceSprite._staticRect.width = dst.width; } if((tile & 1) == 0) { flixel_addons_ui_FlxUI9SliceSprite._staticMatrix.scale(1.0,dst.height / section.height); flixel_addons_ui_FlxUI9SliceSprite._staticRect.height = dst.height; } if(section.width == dst.width && section.height == dst.height) { flixel_addons_ui_FlxUI9SliceSprite._staticPoint.x = 0; flixel_addons_ui_FlxUI9SliceSprite._staticPoint.y = 0; final_pixels.copyPixels(section,section.rect,flixel_addons_ui_FlxUI9SliceSprite._staticPoint); } else if(smooth_) { final_pixels.draw(section,flixel_addons_ui_FlxUI9SliceSprite._staticMatrix,null,null,null,true); } else { final_pixels.draw(section,flixel_addons_ui_FlxUI9SliceSprite._staticMatrix,null,null,null,false); } if(tile != 0) { if((tile & 16) == 16) { flixel_addons_ui_FlxUI9SliceSprite._staticPoint.x = 0; flixel_addons_ui_FlxUI9SliceSprite._staticPoint.y = 0; while(flixel_addons_ui_FlxUI9SliceSprite._staticPoint.x < dst.width) { flixel_addons_ui_FlxUI9SliceSprite._staticPoint.x += flixel_addons_ui_FlxUI9SliceSprite._staticRect.width; final_pixels.copyPixels(final_pixels,flixel_addons_ui_FlxUI9SliceSprite._staticRect,flixel_addons_ui_FlxUI9SliceSprite._staticPoint); } } if((tile & 1) == 1) { flixel_addons_ui_FlxUI9SliceSprite._staticPoint.x = 0; flixel_addons_ui_FlxUI9SliceSprite._staticPoint.y = 0; flixel_addons_ui_FlxUI9SliceSprite._staticRect.width = final_pixels.width; while(flixel_addons_ui_FlxUI9SliceSprite._staticPoint.y < dst.height) { flixel_addons_ui_FlxUI9SliceSprite._staticPoint.y += flixel_addons_ui_FlxUI9SliceSprite._staticRect.height; final_pixels.copyPixels(final_pixels,flixel_addons_ui_FlxUI9SliceSprite._staticRect,flixel_addons_ui_FlxUI9SliceSprite._staticPoint); } } } flixel_addons_ui_FlxUI9SliceSprite._staticPoint.x = dst.x; flixel_addons_ui_FlxUI9SliceSprite._staticPoint.y = dst.y; g.copyPixels(final_pixels,final_pixels.rect,flixel_addons_ui_FlxUI9SliceSprite._staticPoint); final_pixels = flixel_util_FlxDestroyUtil.dispose(final_pixels); }; flixel_addons_ui_FlxUI9SliceSprite.__super__ = flixel_addons_ui_FlxUISprite; flixel_addons_ui_FlxUI9SliceSprite.prototype = $extend(flixel_addons_ui_FlxUISprite.prototype,{ _bmpCanvas: null ,paintScale9_id: null ,_slice9: null ,_tile: null ,_smooth: null ,_asset_id: null ,_raw_pixels: null ,destroy: function() { this.noLongerUsingCachedID(this.paintScale9_id); flixel_addons_ui_FlxUISprite.prototype.destroy.call(this); } ,resize: function(w,h) { if((w | 0) < 1) { w = 1; } if((h | 0) < 1) { h = 1; } var old_width = this.get_width(); var old_height = this.get_height(); var pt = flixel_addons_ui_U.applyResize(this.resize_ratio,this.resize_ratio_axis,w,h); w = pt.x; h = pt.y; var iw = pt.x | 0; var ih = pt.y | 0; if(this._slice9 == null || this._slice9 == []) { this._slice9 = [4,4,7,7]; } var key = this._asset_id + "_" + this._slice9.join(",") + "_" + iw + "x" + ih + "_" + this._tile + "_" + Std.string(this._smooth); var _this = flixel_FlxG.bitmap._cache; if((__map_reserved[key] != null ? _this.getReserved(key) : _this.h[key]) != null) { this.loadGraphic(key,false,iw,ih); } else { var bmpCanvas = new openfl_display_BitmapData(w | 0,h | 0); flixel_addons_ui_FlxUI9SliceSprite._staticFlxRect.x = 0; flixel_addons_ui_FlxUI9SliceSprite._staticFlxRect.y = 0; flixel_addons_ui_FlxUI9SliceSprite._staticFlxRect.width = w; flixel_addons_ui_FlxUI9SliceSprite._staticFlxRect.height = h; var oldID = this.paintScale9_id; var newID = flixel_addons_ui_FlxUI9SliceSprite.makePaintScale9Id(this._asset_id,this._slice9,flixel_addons_ui_FlxUI9SliceSprite._staticFlxRect); if(newID != oldID) { this.paintScale9_id = flixel_addons_ui_FlxUI9SliceSprite.paintScale9(bmpCanvas,this._asset_id,this._slice9,flixel_addons_ui_FlxUI9SliceSprite._staticFlxRect,this._tile,this._smooth,this._raw_pixels); var key1 = this.paintScale9_id; var _this1 = flixel_addons_ui_FlxUI9SliceSprite.cacheCounter; var sectionCounter = __map_reserved[key1] != null ? _this1.getReserved(key1) : _this1.h[key1]; sectionCounter.useCount++; this.noLongerUsingCachedID(oldID); } this.loadGraphic(bmpCanvas,false,bmpCanvas.width,bmpCanvas.height,false,key); } var diff_w = this.get_width() - old_width; var diff_h = this.get_height() - old_height; if(this.resize_point != null) { var delta_x = diff_w * this.resize_point.x; var delta_y = diff_h * this.resize_point.y; var _g = this; _g.set_x(_g.x - delta_x); var _g1 = this; _g1.set_y(_g1.y - delta_y); } } ,noLongerUsingCachedID: function(id) { var _this = flixel_addons_ui_FlxUI9SliceSprite.cacheCounter; if(__map_reserved[id] != null ? _this.existsReserved(id) : _this.h.hasOwnProperty(id)) { var _this1 = flixel_addons_ui_FlxUI9SliceSprite.cacheCounter; var oldCounter = __map_reserved[id] != null ? _this1.getReserved(id) : _this1.h[id]; oldCounter.useCount--; if(oldCounter.useCount <= 0) { this.purgeSections(id); } } } ,purgeSections: function(id) { var _this = flixel_addons_ui_FlxUI9SliceSprite.cacheCounter; var counter = __map_reserved[id] != null ? _this.getReserved(id) : _this.h[id]; if(counter != null) { var _g = 0; var _g1 = counter.subKeys; while(_g < _g1.length) { var key = _g1[_g]; ++_g; flixel_addons_ui_FlxUI9SliceSprite.sectionCache.remove(key); } counter.subKeys = null; flixel_addons_ui_FlxUI9SliceSprite.cacheCounter.remove(id); } } ,__class__: flixel_addons_ui_FlxUI9SliceSprite }); var flixel_addons_ui_FlxUIAssets = function() { }; $hxClasses["flixel.addons.ui.FlxUIAssets"] = flixel_addons_ui_FlxUIAssets; flixel_addons_ui_FlxUIAssets.__name__ = "flixel.addons.ui.FlxUIAssets"; var flixel_ui_FlxBar = function(x,y,direction,width,height,parentRef,variable,min,max,showBorder) { if(showBorder == null) { showBorder = false; } if(max == null) { max = 100; } if(min == null) { min = 0; } if(variable == null) { variable = ""; } if(height == null) { height = 10; } if(width == null) { width = 100; } if(y == null) { y = 0; } if(x == null) { x = 0; } this._maxPercent = 100; this.numDivisions = 100; this.killOnEmpty = false; this.fixedPosition = true; flixel_FlxSprite.call(this,x,y); direction = direction == null ? flixel_ui_FlxBarFillDirection.LEFT_TO_RIGHT : direction; this.barWidth = width; this.barHeight = height; this._filledBarPoint = new openfl_geom_Point(); this._filledBarRect = new openfl_geom_Rectangle(); if(flixel_FlxG.renderBlit) { this._zeroOffset = new openfl_geom_Point(); this._emptyBarRect = new openfl_geom_Rectangle(); this.makeGraphic(width,height,0,true); } else { var _this = flixel_math_FlxRect._pool.get(); var X = 0; var Y = 0; var Width = 0; var Height = 0; if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } _this.x = X; _this.y = Y; _this.width = Width; _this.height = Height; var rect = _this; rect._inPool = false; this._filledFlxRect = rect; } if(parentRef != null) { this.parent = parentRef; this.parentVariable = variable; } this.set_fillDirection(direction); this.createFilledBar(-16756480,-16714752,showBorder); this.setRange(min,max); }; $hxClasses["flixel.ui.FlxBar"] = flixel_ui_FlxBar; flixel_ui_FlxBar.__name__ = "flixel.ui.FlxBar"; flixel_ui_FlxBar.__super__ = flixel_FlxSprite; flixel_ui_FlxBar.prototype = $extend(flixel_FlxSprite.prototype,{ fixedPosition: null ,pxPerPercent: null ,positionOffset: null ,killOnEmpty: null ,value: null ,min: null ,max: null ,range: null ,pct: null ,numDivisions: null ,emptyCallback: null ,filledCallback: null ,parent: null ,parentVariable: null ,barWidth: null ,barHeight: null ,frontFrames: null ,fillDirection: null ,_fillHorizontal: null ,_frontFrame: null ,_filledFlxRect: null ,_emptyBar: null ,_emptyBarRect: null ,_filledBar: null ,_zeroOffset: null ,_filledBarRect: null ,_filledBarPoint: null ,_maxPercent: null ,destroy: function() { this.positionOffset = flixel_util_FlxDestroyUtil.put(this.positionOffset); if(flixel_FlxG.renderBlit) { this._frontFrame = null; this._filledFlxRect = flixel_util_FlxDestroyUtil.put(this._filledFlxRect); } else { this._emptyBarRect = null; this._zeroOffset = null; this._emptyBar = flixel_util_FlxDestroyUtil.dispose(this._emptyBar); this._filledBar = flixel_util_FlxDestroyUtil.dispose(this._filledBar); } this._filledBarRect = null; this._filledBarPoint = null; this.parent = null; this.positionOffset = null; this.emptyCallback = null; this.filledCallback = null; flixel_FlxSprite.prototype.destroy.call(this); } ,trackParent: function(offsetX,offsetY) { this.fixedPosition = false; var X = offsetX; var Y = offsetY; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; this.positionOffset = point; if(Object.prototype.hasOwnProperty.call(this.parent,"scrollFactor")) { this.scrollFactor.set_x(this.parent.scrollFactor.x); this.scrollFactor.set_y(this.parent.scrollFactor.y); } } ,setParent: function(parentRef,variable,track,offsetX,offsetY) { if(offsetY == null) { offsetY = 0; } if(offsetX == null) { offsetX = 0; } if(track == null) { track = false; } this.parent = parentRef; this.parentVariable = variable; if(track) { this.trackParent(offsetX,offsetY); } this.updateValueFromParent(); } ,stopTrackingParent: function(posX,posY) { this.fixedPosition = true; this.set_x(posX); this.set_y(posY); } ,setCallbacks: function(onEmpty,onFilled,killOnEmpty) { if(killOnEmpty == null) { killOnEmpty = false; } this.emptyCallback = onEmpty != null ? onEmpty : this.emptyCallback; this.filledCallback = onFilled != null ? onFilled : this.filledCallback; this.killOnEmpty = killOnEmpty; } ,setRange: function(min,max) { if(max <= min) { throw new js__$Boot_HaxeError("FlxBar: max cannot be less than or equal to min"); } this.min = min; this.max = max; this.range = max - min; this.pct = this.range / this._maxPercent; this.pxPerPercent = this._fillHorizontal ? this.barWidth / this._maxPercent : this.barHeight / this._maxPercent; if(!isNaN(this.get_value())) { this.set_value(Math.max(min,Math.min(this.get_value(),max))); } else { this.set_value(min); } } ,createFilledBar: function(empty,fill,showBorder,border) { if(border == null) { border = -1; } if(showBorder == null) { showBorder = false; } this.createColoredEmptyBar(empty,showBorder,border); this.createColoredFilledBar(fill,showBorder,border); return this; } ,createColoredEmptyBar: function(empty,showBorder,border) { if(border == null) { border = -1; } if(showBorder == null) { showBorder = false; } if(flixel_FlxG.renderTile) { var emptyKey = "empty: " + this.barWidth + "x" + this.barHeight + ":" + ("0x" + StringTools.hex(empty >> 24 & 255,2) + StringTools.hex(empty >> 16 & 255,2) + StringTools.hex(empty >> 8 & 255,2) + StringTools.hex(empty & 255,2)); if(showBorder) { emptyKey += ",border: " + ("0x" + StringTools.hex(border >> 24 & 255,2) + StringTools.hex(border >> 16 & 255,2) + StringTools.hex(border >> 8 & 255,2) + StringTools.hex(border & 255,2)); } var _this = flixel_FlxG.bitmap._cache; if((__map_reserved[emptyKey] != null ? _this.getReserved(emptyKey) : _this.h[emptyKey]) == null) { var emptyBar = null; if(showBorder) { emptyBar = new openfl_display_BitmapData(this.barWidth,this.barHeight,true,border); emptyBar.fillRect(new openfl_geom_Rectangle(1,1,this.barWidth - 2,this.barHeight - 2),empty); } else { emptyBar = new openfl_display_BitmapData(this.barWidth,this.barHeight,true,empty); } flixel_FlxG.bitmap.add(emptyBar,false,emptyKey); } var _this1 = flixel_FlxG.bitmap._cache; this.set_frames((__map_reserved[emptyKey] != null ? _this1.getReserved(emptyKey) : _this1.h[emptyKey]).get_imageFrame()); } else { if(showBorder) { this._emptyBar = new openfl_display_BitmapData(this.barWidth,this.barHeight,true,border); this._emptyBar.fillRect(new openfl_geom_Rectangle(1,1,this.barWidth - 2,this.barHeight - 2),empty); } else { this._emptyBar = new openfl_display_BitmapData(this.barWidth,this.barHeight,true,empty); } this._emptyBarRect.setTo(0,0,this.barWidth,this.barHeight); this.updateEmptyBar(); } return this; } ,createColoredFilledBar: function(fill,showBorder,border) { if(border == null) { border = -1; } if(showBorder == null) { showBorder = false; } if(flixel_FlxG.renderTile) { var filledKey = "filled: " + this.barWidth + "x" + this.barHeight + ":" + ("0x" + StringTools.hex(fill >> 24 & 255,2) + StringTools.hex(fill >> 16 & 255,2) + StringTools.hex(fill >> 8 & 255,2) + StringTools.hex(fill & 255,2)); if(showBorder) { filledKey += ",border: " + ("0x" + StringTools.hex(border >> 24 & 255,2) + StringTools.hex(border >> 16 & 255,2) + StringTools.hex(border >> 8 & 255,2) + StringTools.hex(border & 255,2)); } var _this = flixel_FlxG.bitmap._cache; if((__map_reserved[filledKey] != null ? _this.getReserved(filledKey) : _this.h[filledKey]) == null) { var filledBar = null; if(showBorder) { filledBar = new openfl_display_BitmapData(this.barWidth,this.barHeight,true,border); filledBar.fillRect(new openfl_geom_Rectangle(1,1,this.barWidth - 2,this.barHeight - 2),fill); } else { filledBar = new openfl_display_BitmapData(this.barWidth,this.barHeight,true,fill); } flixel_FlxG.bitmap.add(filledBar,false,filledKey); } var _this1 = flixel_FlxG.bitmap._cache; this.set_frontFrames((__map_reserved[filledKey] != null ? _this1.getReserved(filledKey) : _this1.h[filledKey]).get_imageFrame()); } else { if(showBorder) { this._filledBar = new openfl_display_BitmapData(this.barWidth,this.barHeight,true,border); this._filledBar.fillRect(new openfl_geom_Rectangle(1,1,this.barWidth - 2,this.barHeight - 2),fill); } else { this._filledBar = new openfl_display_BitmapData(this.barWidth,this.barHeight,true,fill); } this._filledBarRect.setTo(0,0,this.barWidth,this.barHeight); this.updateFilledBar(); } return this; } ,createGradientBar: function(empty,fill,chunkSize,rotation,showBorder,border) { if(border == null) { border = -1; } if(showBorder == null) { showBorder = false; } if(rotation == null) { rotation = 180; } if(chunkSize == null) { chunkSize = 1; } this.createGradientEmptyBar(empty,chunkSize,rotation,showBorder,border); this.createGradientFilledBar(fill,chunkSize,rotation,showBorder,border); return this; } ,createGradientEmptyBar: function(empty,chunkSize,rotation,showBorder,border) { if(border == null) { border = -1; } if(showBorder == null) { showBorder = false; } if(rotation == null) { rotation = 180; } if(chunkSize == null) { chunkSize = 1; } if(flixel_FlxG.renderTile) { var emptyKey = "Gradient:" + this.barWidth + "x" + this.barHeight + ",colors:["; var _g = 0; while(_g < empty.length) { var col = empty[_g]; ++_g; emptyKey += "0x" + StringTools.hex(col >> 24 & 255,2) + StringTools.hex(col >> 16 & 255,2) + StringTools.hex(col >> 8 & 255,2) + StringTools.hex(col & 255,2) + ","; } emptyKey += "],chunkSize: " + chunkSize + ",rotation: " + rotation; if(showBorder) { emptyKey += ",border: " + ("0x" + StringTools.hex(border >> 24 & 255,2) + StringTools.hex(border >> 16 & 255,2) + StringTools.hex(border >> 8 & 255,2) + StringTools.hex(border & 255,2)); } var _this = flixel_FlxG.bitmap._cache; if((__map_reserved[emptyKey] != null ? _this.getReserved(emptyKey) : _this.h[emptyKey]) == null) { var emptyBar = null; if(showBorder) { emptyBar = new openfl_display_BitmapData(this.barWidth,this.barHeight,true,border); flixel_util_FlxGradient.overlayGradientOnBitmapData(emptyBar,this.barWidth - 2,this.barHeight - 2,empty,1,1,chunkSize,rotation); } else { emptyBar = flixel_util_FlxGradient.createGradientBitmapData(this.barWidth,this.barHeight,empty,chunkSize,rotation); } flixel_FlxG.bitmap.add(emptyBar,false,emptyKey); } var _this1 = flixel_FlxG.bitmap._cache; this.set_frames((__map_reserved[emptyKey] != null ? _this1.getReserved(emptyKey) : _this1.h[emptyKey]).get_imageFrame()); } else { if(showBorder) { this._emptyBar = new openfl_display_BitmapData(this.barWidth,this.barHeight,true,border); flixel_util_FlxGradient.overlayGradientOnBitmapData(this._emptyBar,this.barWidth - 2,this.barHeight - 2,empty,1,1,chunkSize,rotation); } else { this._emptyBar = flixel_util_FlxGradient.createGradientBitmapData(this.barWidth,this.barHeight,empty,chunkSize,rotation); } this._emptyBarRect.setTo(0,0,this.barWidth,this.barHeight); this.updateEmptyBar(); } return this; } ,createGradientFilledBar: function(fill,chunkSize,rotation,showBorder,border) { if(border == null) { border = -1; } if(showBorder == null) { showBorder = false; } if(rotation == null) { rotation = 180; } if(chunkSize == null) { chunkSize = 1; } if(flixel_FlxG.renderTile) { var filledKey = "Gradient:" + this.barWidth + "x" + this.barHeight + ",colors:["; var _g = 0; while(_g < fill.length) { var col = fill[_g]; ++_g; filledKey += "0x" + StringTools.hex(col >> 24 & 255,2) + StringTools.hex(col >> 16 & 255,2) + StringTools.hex(col >> 8 & 255,2) + StringTools.hex(col & 255,2) + ","; } filledKey += "],chunkSize: " + chunkSize + ",rotation: " + rotation; if(showBorder) { filledKey += ",border: " + ("0x" + StringTools.hex(border >> 24 & 255,2) + StringTools.hex(border >> 16 & 255,2) + StringTools.hex(border >> 8 & 255,2) + StringTools.hex(border & 255,2)); } var _this = flixel_FlxG.bitmap._cache; if((__map_reserved[filledKey] != null ? _this.getReserved(filledKey) : _this.h[filledKey]) == null) { var filledBar = null; if(showBorder) { filledBar = new openfl_display_BitmapData(this.barWidth,this.barHeight,true,border); flixel_util_FlxGradient.overlayGradientOnBitmapData(filledBar,this.barWidth - 2,this.barHeight - 2,fill,1,1,chunkSize,rotation); } else { filledBar = flixel_util_FlxGradient.createGradientBitmapData(this.barWidth,this.barHeight,fill,chunkSize,rotation); } flixel_FlxG.bitmap.add(filledBar,false,filledKey); } var _this1 = flixel_FlxG.bitmap._cache; this.set_frontFrames((__map_reserved[filledKey] != null ? _this1.getReserved(filledKey) : _this1.h[filledKey]).get_imageFrame()); } else { if(showBorder) { this._filledBar = new openfl_display_BitmapData(this.barWidth,this.barHeight,true,border); flixel_util_FlxGradient.overlayGradientOnBitmapData(this._filledBar,this.barWidth - 2,this.barHeight - 2,fill,1,1,chunkSize,rotation); } else { this._filledBar = flixel_util_FlxGradient.createGradientBitmapData(this.barWidth,this.barHeight,fill,chunkSize,rotation); } this._filledBarRect.setTo(0,0,this.barWidth,this.barHeight); this.updateFilledBar(); } return this; } ,createImageBar: function(empty,fill,emptyBackground,fillBackground) { if(fillBackground == null) { fillBackground = -16711936; } if(emptyBackground == null) { emptyBackground = -16777216; } this.createImageEmptyBar(empty,emptyBackground); this.createImageFilledBar(fill,fillBackground); return this; } ,createImageEmptyBar: function(empty,emptyBackground) { if(emptyBackground == null) { emptyBackground = -16777216; } if(empty != null) { var emptyGraphic = flixel_FlxG.bitmap.add(empty); if(flixel_FlxG.renderTile) { this.set_frames(emptyGraphic.get_imageFrame()); } else { this._emptyBar = emptyGraphic.bitmap.clone(); this.barWidth = this._emptyBar.width; this.barHeight = this._emptyBar.height; this._emptyBarRect.setTo(0,0,this.barWidth,this.barHeight); if(this.graphic == null || (this.frame.sourceSize.x != this.barWidth || this.frame.sourceSize.y != this.barHeight)) { this.makeGraphic(this.barWidth,this.barHeight,0,true); } this.updateEmptyBar(); } } else { this.createColoredEmptyBar(emptyBackground); } return this; } ,createImageFilledBar: function(fill,fillBackground) { if(fillBackground == null) { fillBackground = -16711936; } if(fill != null) { var filledGraphic = flixel_FlxG.bitmap.add(fill); if(flixel_FlxG.renderTile) { this.set_frontFrames(filledGraphic.get_imageFrame()); } else { this._filledBar = filledGraphic.bitmap.clone(); this._filledBarRect.setTo(0,0,this.barWidth,this.barHeight); if(this.graphic == null || (this.frame.sourceSize.x != this.barWidth || this.frame.sourceSize.y != this.barHeight)) { this.makeGraphic(this.barWidth,this.barHeight,0,true); } this.pxPerPercent = this._fillHorizontal ? this.barWidth / this._maxPercent : this.barHeight / this._maxPercent; this.updateFilledBar(); } } else { this.createColoredFilledBar(fillBackground); } return this; } ,set_fillDirection: function(direction) { this.fillDirection = direction; switch(direction._hx_index) { case 2:case 3:case 6:case 7: this._fillHorizontal = false; break; case 0:case 1:case 4:case 5: this._fillHorizontal = true; break; } return this.fillDirection; } ,updateValueFromParent: function() { this.set_value(Reflect.getProperty(this.parent,this.parentVariable)); } ,updateBar: function() { this.updateEmptyBar(); this.updateFilledBar(); } ,updateEmptyBar: function() { if(flixel_FlxG.renderBlit) { this.get_pixels().copyPixels(this._emptyBar,this._emptyBarRect,this._zeroOffset); this.dirty = true; } } ,updateFilledBar: function() { this._filledBarRect.width = this.barWidth; this._filledBarRect.height = this.barHeight; var fraction = (this.get_value() - this.min) / this.range; var percent = fraction * this._maxPercent; var maxScale = this._fillHorizontal ? this.barWidth : this.barHeight; var scaleInterval = maxScale / this.numDivisions; var interval = Math.round((fraction * maxScale / scaleInterval | 0) * scaleInterval); if(this._fillHorizontal) { this._filledBarRect.width = interval | 0; } else { this._filledBarRect.height = interval | 0; } if(percent > 0) { switch(this.fillDirection._hx_index) { case 1: this._filledBarRect.x = this.barWidth - this._filledBarRect.width; this._filledBarPoint.x = this.barWidth - this._filledBarRect.width; break; case 0:case 2: break; case 3: this._filledBarRect.y = this.barHeight - this._filledBarRect.height; this._filledBarPoint.y = this.barHeight - this._filledBarRect.height; break; case 4: this._filledBarRect.x = this.barWidth / 2 - this._filledBarRect.width / 2 | 0; this._filledBarPoint.x = this.barWidth / 2 - this._filledBarRect.width / 2 | 0; break; case 5: this._filledBarRect.width = maxScale - interval | 0; this._filledBarPoint.x = (this.barWidth - this._filledBarRect.width) / 2 | 0; break; case 6: this._filledBarRect.y = this.barHeight / 2 - this._filledBarRect.height / 2 | 0; this._filledBarPoint.y = this.barHeight / 2 - this._filledBarRect.height / 2 | 0; break; case 7: this._filledBarRect.height = maxScale - interval | 0; this._filledBarPoint.y = (this.barHeight - this._filledBarRect.height) / 2 | 0; break; } if(flixel_FlxG.renderBlit) { this.get_pixels().copyPixels(this._filledBar,this._filledBarRect,this._filledBarPoint,null,null,true); } else if(this.get_frontFrames() != null) { var _this = this._filledFlxRect; var FlashRect = this._filledBarRect; _this.x = FlashRect.x; _this.y = FlashRect.y; _this.width = FlashRect.width; _this.height = FlashRect.height; var _this1 = _this; _this1.x = Math.round(_this1.x); _this1.y = Math.round(_this1.y); _this1.width = Math.round(_this1.width); _this1.height = Math.round(_this1.height); if((percent | 0) > 0) { this._frontFrame = this.get_frontFrames().get_frame().clipTo(this._filledFlxRect,this._frontFrame); } } } if(flixel_FlxG.renderBlit) { this.dirty = true; } } ,update: function(elapsed) { if(this.parent != null) { if(Reflect.getProperty(this.parent,this.parentVariable) != this.get_value()) { this.updateValueFromParent(); } if(!this.fixedPosition) { this.set_x(this.parent.x + this.positionOffset.x); this.set_y(this.parent.y + this.positionOffset.y); } } flixel_FlxSprite.prototype.update.call(this,elapsed); } ,draw: function() { flixel_FlxSprite.prototype.draw.call(this); if(!flixel_FlxG.renderTile) { return; } if(this.alpha == 0) { return; } if(this.get_percent() > 0 && this._frontFrame.type != 2) { var _g = 0; var _g1 = this.get_cameras(); while(_g < _g1.length) { var camera = _g1[_g]; ++_g; if(!camera.visible || !camera.exists || !this.isOnScreen(camera)) { continue; } this.getScreenPosition(this._point,camera).subtractPoint(this.offset); this._frontFrame.prepareMatrix(this._matrix,0,this.flipX,this.flipY); this._matrix.translate(-this.origin.x,-this.origin.y); this._matrix.scale(this.scale.x,this.scale.y); if(this.angle != 0) { var _this = this._matrix; var cos = this._cosAngle; var sin = this._sinAngle; var a1 = _this.a * cos - _this.b * sin; _this.b = _this.a * sin + _this.b * cos; _this.a = a1; var c1 = _this.c * cos - _this.d * sin; _this.d = _this.c * sin + _this.d * cos; _this.c = c1; var tx1 = _this.tx * cos - _this.ty * sin; _this.ty = _this.tx * sin + _this.ty * cos; _this.tx = tx1; } var _this1 = this._point; var X = this.origin.x; var Y = this.origin.y; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var _g2 = _this1; _g2.set_x(_g2.x + X); var _g3 = _this1; _g3.set_y(_g3.y + Y); if(this.isPixelPerfectRender(camera)) { var _this2 = this._point; _this2.set_x(Math.floor(_this2.x)); _this2.set_y(Math.floor(_this2.y)); } this._matrix.translate(this._point.x,this._point.y); camera.drawPixels(this._frontFrame,null,this._matrix,this.colorTransform,this.blend,this.antialiasing,this.shader); } } } ,set_pixels: function(Pixels) { if(flixel_FlxG.renderTile) { return Pixels; } else { return flixel_FlxSprite.prototype.set_pixels.call(this,Pixels); } } ,toString: function() { var value = this.min; var _this = flixel_util_LabelValuePair._pool.get(); _this.label = "min"; _this.value = value; var value1 = this.max; var _this1 = flixel_util_LabelValuePair._pool.get(); _this1.label = "max"; _this1.value = value1; var value2 = this.range; var _this2 = flixel_util_LabelValuePair._pool.get(); _this2.label = "range"; _this2.value = value2; var value3 = this.pct; var _this3 = flixel_util_LabelValuePair._pool.get(); _this3.label = "%"; _this3.value = value3; var value4 = this.pxPerPercent; var _this4 = flixel_util_LabelValuePair._pool.get(); _this4.label = "px/%"; _this4.value = value4; var value5 = this.get_value(); var _this5 = flixel_util_LabelValuePair._pool.get(); _this5.label = "value"; _this5.value = value5; return flixel_util_FlxStringUtil.getDebugString([_this,_this1,_this2,_this3,_this4,_this5]); } ,get_percent: function() { if(this.get_value() > this.max) { return this._maxPercent; } return Math.floor((this.get_value() - this.min) / this.range * this._maxPercent); } ,set_percent: function(newPct) { if(newPct >= 0 && newPct <= this._maxPercent) { this.set_value(this.pct * newPct); } return newPct; } ,set_value: function(newValue) { this.value = Math.max(this.min,Math.min(newValue,this.max)); if(this.get_value() == this.min && this.emptyCallback != null) { this.emptyCallback(); } if(this.get_value() == this.max && this.filledCallback != null) { this.filledCallback(); } if(this.get_value() == this.min && this.killOnEmpty) { this.kill(); } this.updateBar(); return newValue; } ,get_value: function() { return this.value; } ,set_numDivisions: function(newValue) { this.numDivisions = newValue > 0 ? newValue : 100; this.updateFilledBar(); return newValue; } ,get_frontFrames: function() { if(flixel_FlxG.renderTile) { return this.frontFrames; } return null; } ,set_frontFrames: function(value) { if(flixel_FlxG.renderTile) { this.frontFrames = value; this._frontFrame = value != null ? value.get_frame().copyTo(this._frontFrame) : null; } else { this.createImageFilledBar(value.get_frame().paint()); } return value; } ,get_backFrames: function() { if(flixel_FlxG.renderTile) { return this.frames; } return null; } ,set_backFrames: function(value) { if(flixel_FlxG.renderTile) { this.set_frames(value); } else { this.createImageEmptyBar(value.get_frame().paint()); } return value; } ,__class__: flixel_ui_FlxBar ,__properties__: $extend(flixel_FlxSprite.prototype.__properties__,{set_fillDirection:"set_fillDirection",set_backFrames:"set_backFrames",get_backFrames:"get_backFrames",set_frontFrames:"set_frontFrames",get_frontFrames:"get_frontFrames",set_numDivisions:"set_numDivisions",set_value:"set_value",get_value:"get_value",set_percent:"set_percent",get_percent:"get_percent"}) }); var flixel_addons_ui_interfaces_IHasParams = function() { }; $hxClasses["flixel.addons.ui.interfaces.IHasParams"] = flixel_addons_ui_interfaces_IHasParams; flixel_addons_ui_interfaces_IHasParams.__name__ = "flixel.addons.ui.interfaces.IHasParams"; flixel_addons_ui_interfaces_IHasParams.__isInterface__ = true; flixel_addons_ui_interfaces_IHasParams.prototype = { params: null ,set_params: null ,__class__: flixel_addons_ui_interfaces_IHasParams ,__properties__: {set_params:"set_params"} }; var flixel_addons_ui_FlxUIBar = function(x,y,direction,width,height,parentRef,variable,min,max,showBorder) { if(showBorder == null) { showBorder = false; } if(max == null) { max = 100; } if(min == null) { min = 0; } if(variable == null) { variable = ""; } if(height == null) { height = 10; } if(width == null) { width = 100; } if(y == null) { y = 0; } if(x == null) { x = 0; } flixel_ui_FlxBar.call(this,x,y,direction,width,height,parentRef,variable,min,max,showBorder); }; $hxClasses["flixel.addons.ui.FlxUIBar"] = flixel_addons_ui_FlxUIBar; flixel_addons_ui_FlxUIBar.__name__ = "flixel.addons.ui.FlxUIBar"; flixel_addons_ui_FlxUIBar.__interfaces__ = [flixel_addons_ui_interfaces_IHasParams,flixel_addons_ui_interfaces_IFlxUIWidget,flixel_addons_ui_interfaces_IResizable]; flixel_addons_ui_FlxUIBar.__super__ = flixel_ui_FlxBar; flixel_addons_ui_FlxUIBar.prototype = $extend(flixel_ui_FlxBar.prototype,{ name: null ,style: null ,params: null ,broadcastToFlxUI: null ,clone: function() { var w = this.get_width() | 0; var h = this.get_height() | 0; var showBorder = this.style != null && this.style.borderColor != null; if(showBorder) { w -= 2; h -= 2; } var b = new flixel_addons_ui_FlxUIBar(this.x,this.y,this.fillDirection,w,h,this.parent,this.parentVariable,this.min,this.max,showBorder); b.set_style(this.style); b.set_value(this.get_value()); return b; } ,set_style: function(Style) { this.style = Style; this.resize(this.barWidth,this.barHeight); return this.style; } ,resize: function(w,h) { this.set_width(w); this.set_height(h); this.barWidth = this.get_width() | 0; this.barHeight = this.get_height() | 0; if(flixel_FlxG.renderBlit) { this.makeGraphic(this.barWidth,this.barHeight,0,true); } var showBorder = this.style.borderColor != null; var ec = this.style.emptyColor == null ? -16777216 : this.style.emptyColor; var fc = this.style.filledColor == null ? -65536 : this.style.filledColor; var bc = this.style.borderColor == null ? -16777216 : this.style.borderColor; if(this.style.filledColor != null) { this.createFilledBar(ec,fc,showBorder,bc); } if(this.style.filledColors != null) { var ecs = this.style.emptyColors == null ? [-16777216] : this.style.emptyColors; var fcs = this.style.filledColors == null ? [-65536] : this.style.filledColors; var chunk = this.style.chunkSize == null ? 1 : this.style.chunkSize; var gradRot = this.style.emptyImgSrc == null ? 180 : this.style.gradRotation; this.createGradientBar(ecs,fcs,chunk,gradRot,showBorder,bc); } if(this.style.filledImgSrc != "") { this.createImageBar(this.style.emptyImgSrc,this.style.filledImgSrc,ec,fc); } this.setRange(this.min,this.max); this.set_value(this.get_value()); } ,set_params: function(p) { this.params = p; return this.params; } ,__class__: flixel_addons_ui_FlxUIBar ,__properties__: $extend(flixel_ui_FlxBar.prototype.__properties__,{set_params:"set_params",set_style:"set_style"}) }); var flixel_input_IFlxInput = function() { }; $hxClasses["flixel.input.IFlxInput"] = flixel_input_IFlxInput; flixel_input_IFlxInput.__name__ = "flixel.input.IFlxInput"; flixel_input_IFlxInput.__isInterface__ = true; flixel_input_IFlxInput.prototype = { get_justReleased: null ,get_released: null ,get_pressed: null ,get_justPressed: null ,__class__: flixel_input_IFlxInput ,__properties__: {get_justPressed:"get_justPressed",get_pressed:"get_pressed",get_released:"get_released",get_justReleased:"get_justReleased"} }; var flixel_ui_FlxTypedButton = function(X,Y,OnClick) { if(Y == null) { Y = 0; } if(X == null) { X = 0; } this.lastStatus = -1; this.maxInputMovement = Infinity; this.mouseButtons = [-1]; this.allowSwiping = true; this.statusAnimations = ["normal","highlight","pressed"]; this.labelAlphas = [0.8,1.0,0.5]; var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; var point1 = flixel_math_FlxPoint._pool.get().set(0,0); point1._inPool = false; var point2 = flixel_math_FlxPoint._pool.get().set(0,1); point2._inPool = false; this.labelOffsets = [point,point1,point2]; flixel_FlxSprite.call(this,X,Y); this.loadDefaultGraphic(); this.onUp = new flixel_ui__$FlxButton_FlxButtonEvent(OnClick); this.onDown = new flixel_ui__$FlxButton_FlxButtonEvent(); this.onOver = new flixel_ui__$FlxButton_FlxButtonEvent(); this.onOut = new flixel_ui__$FlxButton_FlxButtonEvent(); this.set_status(0); this.scrollFactor.set(); openfl_Lib.get_current().stage.addEventListener("mouseUp",$bind(this,this.onUpEventListener)); this.input = new flixel_input_FlxInput(0); }; $hxClasses["flixel.ui.FlxTypedButton"] = flixel_ui_FlxTypedButton; flixel_ui_FlxTypedButton.__name__ = "flixel.ui.FlxTypedButton"; flixel_ui_FlxTypedButton.__interfaces__ = [flixel_input_IFlxInput]; flixel_ui_FlxTypedButton.__super__ = flixel_FlxSprite; flixel_ui_FlxTypedButton.prototype = $extend(flixel_FlxSprite.prototype,{ label: null ,labelOffsets: null ,labelAlphas: null ,statusAnimations: null ,allowSwiping: null ,mouseButtons: null ,maxInputMovement: null ,status: null ,onUp: null ,onDown: null ,onOver: null ,onOut: null ,_spriteLabel: null ,input: null ,currentInput: null ,lastStatus: null ,graphicLoaded: function() { flixel_FlxSprite.prototype.graphicLoaded.call(this); this.setupAnimation("normal",0); this.setupAnimation("highlight",1); this.setupAnimation("pressed",2); } ,loadDefaultGraphic: function() { this.loadGraphic("flixel/images/ui/button.png",true,80,20); } ,setupAnimation: function(animationName,frameIndex) { frameIndex = Math.min(frameIndex,this.animation._sprite.numFrames - 1) | 0; this.animation.add(animationName,[frameIndex]); } ,destroy: function() { this.set_label(flixel_util_FlxDestroyUtil.destroy(this.label)); this._spriteLabel = null; this.onUp = flixel_util_FlxDestroyUtil.destroy(this.onUp); this.onDown = flixel_util_FlxDestroyUtil.destroy(this.onDown); this.onOver = flixel_util_FlxDestroyUtil.destroy(this.onOver); this.onOut = flixel_util_FlxDestroyUtil.destroy(this.onOut); this.labelOffsets = flixel_util_FlxDestroyUtil.putArray(this.labelOffsets); this.labelAlphas = null; this.currentInput = null; this.input = null; openfl_Lib.get_current().stage.removeEventListener("mouseUp",$bind(this,this.onUpEventListener)); flixel_FlxSprite.prototype.destroy.call(this); } ,update: function(elapsed) { flixel_FlxSprite.prototype.update.call(this,elapsed); if(this.visible) { this.updateButton(); if(this.lastStatus != this.status) { this.updateStatusAnimation(); this.lastStatus = this.status; } } this.input.update(); } ,updateStatusAnimation: function() { this.animation.play(this.statusAnimations[this.status]); } ,draw: function() { flixel_FlxSprite.prototype.draw.call(this); if(this._spriteLabel != null && this._spriteLabel.visible) { this._spriteLabel.set_cameras(this.get_cameras()); this._spriteLabel.draw(); } } ,stampOnAtlas: function(atlas) { var buttonNode = atlas.addNode(this.graphic.bitmap,this.graphic.key); var result = buttonNode != null; if(buttonNode != null) { var buttonFrames = this.frames; var X = buttonFrames.tileSize.x; var Y = buttonFrames.tileSize.y; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; var tileSize = point; var tileFrames = buttonNode.getTileFrames(tileSize); this.set_frames(tileFrames); } if(result && this.label != null) { var labelNode = atlas.addNode(this.label.graphic.bitmap,this.label.graphic.key); result = result && labelNode != null; if(labelNode != null) { this.label.set_frames(labelNode.getImageFrame()); } } return result; } ,updateButton: function() { var overlapFound = this.checkMouseOverlap(); if(!overlapFound) { overlapFound = this.checkTouchOverlap(); } if(this.currentInput != null && this.currentInput.get_justReleased() && overlapFound) { this.onUpHandler(); } if(this.status != 0 && (!overlapFound || this.currentInput != null && this.currentInput.get_justReleased())) { this.onOutHandler(); } } ,checkMouseOverlap: function() { var overlap = false; var _g = 0; var _g1 = this.get_cameras(); while(_g < _g1.length) { var camera = _g1[_g]; ++_g; var _g2 = 0; var _g11 = this.mouseButtons; while(_g2 < _g11.length) { var buttonID = _g11[_g2]; ++_g2; var button = flixel_input_mouse_FlxMouseButton.getByID(buttonID); if(button != null && this.checkInput(flixel_FlxG.mouse,button,button.justPressedPosition,camera)) { overlap = true; } } } return overlap; } ,checkTouchOverlap: function() { var overlap = false; var _g = 0; var _g1 = this.get_cameras(); while(_g < _g1.length) { var camera = _g1[_g]; ++_g; var _g2 = 0; var _g11 = flixel_FlxG.touches.list; while(_g2 < _g11.length) { var touch = _g11[_g2]; ++_g2; if(this.checkInput(touch,touch,touch.justPressedPosition,camera)) { overlap = true; } } } return overlap; } ,checkInput: function(pointer,input,justPressedPosition,camera) { var tmp; if(this.maxInputMovement != Infinity) { var X = 0; var Y = 0; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; var point1 = point; point1._weak = true; tmp = justPressedPosition.distanceTo(pointer.getScreenPosition(null,point1)) > this.maxInputMovement; } else { tmp = false; } if(tmp && input == this.currentInput) { this.currentInput = null; } else if(this.overlapsPoint(pointer.getWorldPosition(camera,this._point),true,camera)) { this.updateStatus(input); return true; } return false; } ,updateStatus: function(input) { if(input.get_justPressed()) { this.currentInput = input; this.onDownHandler(); } else if(this.status == 0) { if(this.allowSwiping && input.get_pressed()) { this.onDownHandler(); } else { this.onOverHandler(); } } } ,updateLabelPosition: function() { if(this._spriteLabel != null) { this._spriteLabel.set_x((this.pixelPerfectPosition ? Math.floor(this.x) : this.x) + this.labelOffsets[this.status].x); this._spriteLabel.set_y((this.pixelPerfectPosition ? Math.floor(this.y) : this.y) + this.labelOffsets[this.status].y); } } ,updateLabelAlpha: function() { if(this._spriteLabel != null && this.labelAlphas.length > this.status) { this._spriteLabel.set_alpha(this.alpha * this.labelAlphas[this.status]); } } ,onUpEventListener: function(_) { if(this.visible && this.exists && this.active && this.status == 2) { this.onUpHandler(); } } ,onUpHandler: function() { this.set_status(0); this.input.release(); this.currentInput = null; var _this = this.onUp; if(_this.callback != null) { _this.callback(); } if(_this.sound != null) { _this.sound.play(true); } } ,onDownHandler: function() { this.set_status(2); this.input.press(); var _this = this.onDown; if(_this.callback != null) { _this.callback(); } if(_this.sound != null) { _this.sound.play(true); } } ,onOverHandler: function() { if(!flixel_FlxG.mouse.enabled) { this.set_status(0); return; } this.set_status(1); var _this = this.onOver; if(_this.callback != null) { _this.callback(); } if(_this.sound != null) { _this.sound.play(true); } } ,onOutHandler: function() { this.set_status(0); this.input.release(); var _this = this.onOut; if(_this.callback != null) { _this.callback(); } if(_this.sound != null) { _this.sound.play(true); } } ,set_label: function(Value) { if(Value != null) { Value.scrollFactor.put(); Value.scrollFactor = this.scrollFactor; } this.label = Value; this._spriteLabel = this.label; this.updateLabelPosition(); return Value; } ,set_status: function(Value) { this.status = Value; this.updateLabelAlpha(); return this.status; } ,set_alpha: function(Value) { flixel_FlxSprite.prototype.set_alpha.call(this,Value); this.updateLabelAlpha(); return this.alpha; } ,set_x: function(Value) { flixel_FlxSprite.prototype.set_x.call(this,Value); this.updateLabelPosition(); return this.x; } ,set_y: function(Value) { flixel_FlxSprite.prototype.set_y.call(this,Value); this.updateLabelPosition(); return this.y; } ,get_justReleased: function() { return this.input.current == -1; } ,get_released: function() { var _this = this.input; if(_this.current != 0) { return _this.current == -1; } else { return true; } } ,get_pressed: function() { var _this = this.input; if(_this.current != 1) { return _this.current == 2; } else { return true; } } ,get_justPressed: function() { return this.input.current == 2; } ,__class__: flixel_ui_FlxTypedButton ,__properties__: $extend(flixel_FlxSprite.prototype.__properties__,{get_justPressed:"get_justPressed",get_pressed:"get_pressed",get_released:"get_released",get_justReleased:"get_justReleased",set_status:"set_status",set_label:"set_label"}) }); var flixel_addons_ui_interfaces_ICursorPointable = function() { }; $hxClasses["flixel.addons.ui.interfaces.ICursorPointable"] = flixel_addons_ui_interfaces_ICursorPointable; flixel_addons_ui_interfaces_ICursorPointable.__name__ = "flixel.addons.ui.interfaces.ICursorPointable"; flixel_addons_ui_interfaces_ICursorPointable.__isInterface__ = true; var flixel_addons_ui_interfaces_IFlxUIClickable = function() { }; $hxClasses["flixel.addons.ui.interfaces.IFlxUIClickable"] = flixel_addons_ui_interfaces_IFlxUIClickable; flixel_addons_ui_interfaces_IFlxUIClickable.__name__ = "flixel.addons.ui.interfaces.IFlxUIClickable"; flixel_addons_ui_interfaces_IFlxUIClickable.__isInterface__ = true; flixel_addons_ui_interfaces_IFlxUIClickable.prototype = { set_skipButtonUpdate: null ,skipButtonUpdate: null ,__class__: flixel_addons_ui_interfaces_IFlxUIClickable ,__properties__: {set_skipButtonUpdate:"set_skipButtonUpdate"} }; var flixel_addons_ui_interfaces_IFlxUIButton = function() { }; $hxClasses["flixel.addons.ui.interfaces.IFlxUIButton"] = flixel_addons_ui_interfaces_IFlxUIButton; flixel_addons_ui_interfaces_IFlxUIButton.__name__ = "flixel.addons.ui.interfaces.IFlxUIButton"; flixel_addons_ui_interfaces_IFlxUIButton.__isInterface__ = true; flixel_addons_ui_interfaces_IFlxUIButton.__interfaces__ = [flixel_util_IFlxDestroyable,flixel_addons_ui_interfaces_IHasParams,flixel_addons_ui_interfaces_IFlxUIWidget]; flixel_addons_ui_interfaces_IFlxUIButton.prototype = { set_toggled: null ,set_toggle_label: null ,get_justMousedOver: null ,get_mouseIsOver: null ,get_mouseIsOut: null ,get_justMousedOut: null ,set_status: null ,up_color: null ,over_color: null ,down_color: null ,up_toggle_color: null ,over_toggle_color: null ,down_toggle_color: null ,up_visible: null ,over_visible: null ,down_visible: null ,up_toggle_visible: null ,over_toggle_visible: null ,down_toggle_visible: null ,resize_ratio: null ,resize_point: null ,has_toggle: null ,toggled: null ,toggle_label: null ,autoResizeLabel: null ,autoCenterLabel: null ,loadGraphicSlice9: null ,loadGraphicsMultiple: null ,loadGraphicsUpOverDown: null ,forceStateHandler: null ,status: null ,__class__: flixel_addons_ui_interfaces_IFlxUIButton ,__properties__: {set_status:"set_status",get_justMousedOut:"get_justMousedOut",get_mouseIsOut:"get_mouseIsOut",get_mouseIsOver:"get_mouseIsOver",get_justMousedOver:"get_justMousedOver",set_toggle_label:"set_toggle_label",set_toggled:"set_toggled"} }; var flixel_addons_ui_FlxUITypedButton = function(X,Y,OnClick) { if(Y == null) { Y = 0; } if(X == null) { X = 0; } this._centerLabelOffset = null; this._src_h = 0; this._src_w = 0; this._no_graphic = false; this._assetsToCleanup = []; this._autoCleanup = true; this.autoResizeLabel = false; this.skipButtonUpdate = false; this.round_labels = true; this.down_toggle_visible = true; this.over_toggle_visible = true; this.up_toggle_visible = true; this.down_visible = true; this.over_visible = true; this.up_visible = true; this.down_toggle_color = null; this.over_toggle_color = null; this.up_toggle_color = null; this.down_color = null; this.over_color = null; this.up_color = null; this.broadcastToFlxUI = true; this.toggled = false; this.has_toggle = false; this.tile = 0; this.resize_point = null; this.resize_ratio_axis = 1; this.resize_ratio = -1; flixel_ui_FlxTypedButton.call(this,X,Y,OnClick); var X1 = 0; var Y1 = 0; if(Y1 == null) { Y1 = 0; } if(X1 == null) { X1 = 0; } var point = flixel_math_FlxPoint._pool.get().set(X1,Y1); point._inPool = false; this._centerLabelOffset = point; this.statusAnimations[3] = "normal_toggled"; this.statusAnimations[4] = "highlight_toggled"; this.statusAnimations[5] = "pressed_toggled"; var _g = []; _g.push(1); _g.push(1); _g.push(1); this.labelAlphas = _g; this.inputOver = new flixel_input_FlxInput(0); }; $hxClasses["flixel.addons.ui.FlxUITypedButton"] = flixel_addons_ui_FlxUITypedButton; flixel_addons_ui_FlxUITypedButton.__name__ = "flixel.addons.ui.FlxUITypedButton"; flixel_addons_ui_FlxUITypedButton.__interfaces__ = [flixel_addons_ui_interfaces_ICursorPointable,flixel_addons_ui_interfaces_IHasParams,flixel_addons_ui_interfaces_IFlxUIClickable,flixel_addons_ui_interfaces_IFlxUIWidget,flixel_addons_ui_interfaces_IResizable,flixel_addons_ui_interfaces_IFlxUIButton]; flixel_addons_ui_FlxUITypedButton.__super__ = flixel_ui_FlxTypedButton; flixel_addons_ui_FlxUITypedButton.prototype = $extend(flixel_ui_FlxTypedButton.prototype,{ name: null ,resize_ratio: null ,resize_ratio_axis: null ,resize_point: null ,tile: null ,has_toggle: null ,toggled: null ,set_toggled: function(b) { this.toggled = b; this.updateStatusAnimation(); return this.toggled; } ,broadcastToFlxUI: null ,inputOver: null ,get_justMousedOver: function() { return this.inputOver.current == 2; } ,get_justMousedOut: function() { return this.inputOver.current == -1; } ,get_mouseIsOver: function() { var _this = this.inputOver; if(_this.current != 1) { return _this.current == 2; } else { return true; } } ,get_mouseIsOut: function() { var _this = this.inputOver; if(_this.current != 0) { return _this.current == -1; } else { return true; } } ,up_color: null ,over_color: null ,down_color: null ,up_toggle_color: null ,over_toggle_color: null ,down_toggle_color: null ,up_visible: null ,over_visible: null ,down_visible: null ,up_toggle_visible: null ,over_toggle_visible: null ,down_toggle_visible: null ,toggle_label: null ,set_toggle_label: function(f) { if(this.label != null) { this.toggle_label = f; return this.toggle_label; } return null; } ,set_visible: function(Value) { if(this.visible && Value == false) { this.inputOver.release(); } return flixel_ui_FlxTypedButton.prototype.set_visible.call(this,Value); } ,round_labels: null ,skipButtonUpdate: null ,set_skipButtonUpdate: function(b) { this.skipButtonUpdate = b; return this.skipButtonUpdate; } ,params: null ,set_params: function(p) { this.params = p; return this.params; } ,destroy: function() { this.resize_point = flixel_util_FlxDestroyUtil.put(this.resize_point); flixel_ui_FlxTypedButton.prototype.destroy.call(this); } ,autoResizeLabel: null ,graphicLoaded: function() { flixel_ui_FlxTypedButton.prototype.graphicLoaded.call(this); this.setupAnimation("normal_toggled",3); this.setupAnimation("highlight_toggled",4); this.setupAnimation("pressed_toggled",5); if(this._autoCleanup) { this.cleanup(); } } ,copyGraphic: function(other) { this._src_w = other._src_w; this._src_h = other._src_h; this._frame_indeces = flixel_addons_ui_U.copy_shallow_arr_i(other._frame_indeces); this.tile = other.tile; this.resize_ratio = other.resize_ratio; if(other._centerLabelOffset == null) { this._centerLabelOffset = null; } else { this._centerLabelOffset = new flixel_math_FlxPoint(other._centerLabelOffset.x,other._centerLabelOffset.y); } this._no_graphic = other._no_graphic; if(other._slice9_arrays != null) { this._slice9_arrays = other._slice9_arrays.slice(); } if(other._slice9_assets != null) { this._slice9_assets = other._slice9_assets.slice(); } if(this._slice9_arrays == null || this._slice9_assets == null) { this.loadGraphic(other.graphic,true,other.get_width(),other.get_height()); } else { this.resize(other.get_width(),other.get_height()); } } ,copyStyle: function(other) { this.up_color = other.up_color; this.over_color = other.over_color; this.down_color = other.down_color; this.up_toggle_color = other.up_toggle_color; this.over_toggle_color = other.over_toggle_color; this.down_toggle_color = other.over_toggle_color; this.up_visible = other.up_visible; this.over_visible = other.over_visible; this.down_visible = other.down_visible; this.up_toggle_visible = other.up_toggle_visible; this.over_toggle_visible = other.over_toggle_visible; this.down_toggle_visible = other.down_toggle_visible; var ctPt = other.getCenterLabelOffset(); this.setCenterLabelOffset(ctPt.x,ctPt.y); var i = 0; var _g = 0; var _g1 = other.labelOffsets; while(_g < _g1.length) { var flxPt = _g1[_g]; ++_g; this.labelOffsets[i].set_x(flxPt.x); this.labelOffsets[i].set_y(flxPt.y); ++i; } i = 0; var _g2 = 0; var _g3 = other.labelAlphas; while(_g2 < _g3.length) { var alpha = _g3[_g2]; ++_g2; this.labelAlphas[i] = alpha; ++i; } } ,setAllLabelOffsets: function(X,Y) { var _g = 0; var _g1 = this.labelOffsets; while(_g < _g1.length) { var labelOffset = _g1[_g]; ++_g; labelOffset.set(X,Y); } } ,update: function(elapsed) { flixel_ui_FlxTypedButton.prototype.update.call(this,elapsed); var tmp; if(this.status == 0) { var _this = this.inputOver; tmp = _this.current == 1 || _this.current == 2; } else { tmp = false; } if(tmp && this.input.current == -1 == false) { this.inputOver.release(); } this.inputOver.update(); if(this.label != null) { var theLabel = this.fetchAndShowCorrectLabel(); theLabel.set_x(this.x + this._centerLabelOffset.x + this.labelOffsets[this.status].x); theLabel.set_y(this.y + this._centerLabelOffset.y + this.labelOffsets[this.status].y); if(this.round_labels) { theLabel.set_x(theLabel.x + 0.5 | 0); theLabel.set_y(theLabel.y + 0.5 | 0); } theLabel.scrollFactor = this.scrollFactor; } } ,updateStatusAnimation: function() { if(this.has_toggle && this.toggled) { this.animation.play(this.statusAnimations[this.status + 3]); } else { flixel_ui_FlxTypedButton.prototype.updateStatusAnimation.call(this); } } ,draw: function() { flixel_ui_FlxTypedButton.prototype.draw.call(this); if(this.has_toggle && this.toggled && this.toggle_label != null && this.toggle_label.visible == true) { this.toggle_label.set_cameras(this.get_cameras()); this.toggle_label.draw(); } } ,resize: function(W,H) { this.doResize(W,H); } ,doResize: function(W,H,Redraw) { if(Redraw == null) { Redraw = true; } var old_width = this.get_width(); var old_height = this.get_height(); var label_diffx = 0; var label_diffy = 0; if(this.label != null) { label_diffx = this.get_width() - this._spriteLabel.get_width(); label_diffy = this.get_height() - this._spriteLabel.get_height(); } if(W <= 0) { W = 80; } if(H <= 0) { H = 20; } if(Redraw) { if(this._slice9_assets != null) { this.loadGraphicSlice9(this._slice9_assets,W | 0,H | 0,this._slice9_arrays,this.tile,this.resize_ratio,this.has_toggle,this._src_w,this._src_h,this._frame_indeces); } else if(this._no_graphic) { var upB; if(!this.has_toggle) { upB = new openfl_display_BitmapData(W | 0,H * 3 | 0,true,0); } else { upB = new openfl_display_BitmapData(W | 0,H * 6 | 0,true,0); } this.loadGraphicsUpOverDown(upB); } else { this.loadGraphicSlice9(null,W | 0,H | 0,null,this.tile); } } if(this.label != null && this.autoResizeLabel) { if(js_Boot.__implements(this.label,flixel_addons_ui_interfaces_IResizable)) { var targetW = W - label_diffx; var targetH = H - label_diffy; var ir = this.label; ir.resize(targetW,targetH); } } this.autoCenterLabel(); var diff_w = this.get_width() - old_width; var diff_h = this.get_height() - old_height; if(this.resize_point != null) { var delta_x = diff_w * this.resize_point.x; var delta_y = diff_h * this.resize_point.y; var _g = this; _g.set_x(_g.x - delta_x); var _g1 = this; _g1.set_y(_g1.y - delta_y); } } ,getBmp: function(asset) { return flixel_addons_ui_U.getBmp(asset); } ,loadGraphicsMultiple: function(assets,Key) { if(Key == null) { Key = ""; } this._slice9_assets = null; this._slice9_arrays = null; this.resize_ratio = -1; var key = ""; if(assets.length <= 3) { while(assets.length < 3) assets.push(null); if(assets[1] == null) { assets[1] = assets[0]; } if(assets[2] == null) { assets[2] = assets[1]; } key = assets.join(","); if(Key != "") { key = Key; } var _this = flixel_FlxG.bitmap._cache; if((__map_reserved[key] != null ? _this.getReserved(key) : _this.h[key]) != null) { this.loadGraphicsUpOverDown(key,false,key); } else { var pixels = this.assembleButtonFrames(this.getBmp(assets[0]),this.getBmp(assets[1]),this.getBmp(assets[2])); this.loadGraphicsUpOverDown(pixels,false,key); } } else if(assets.length <= 6) { while(assets.length < 6) assets.push(null); if(assets[4] == null) { assets[4] = assets[3]; } if(assets[5] == null) { assets[5] = assets[4]; } key = assets.join(","); if(Key != "") { key = Key; } var _this1 = flixel_FlxG.bitmap._cache; if((__map_reserved[key] != null ? _this1.getReserved(key) : _this1.h[key]) != null) { this.loadGraphicsUpOverDown(key,true,key); } else { var pixels_normal = this.assembleButtonFrames(this.getBmp(assets[0]),this.getBmp(assets[1]),this.getBmp(assets[2])); var pixels_toggle = this.assembleButtonFrames(this.getBmp(assets[3]),this.getBmp(assets[4]),this.getBmp(assets[5])); var pixels1 = this.combineToggleBitmaps(pixels_normal,pixels_toggle); this.loadGraphicsUpOverDown(pixels1,true,key); pixels_normal.dispose(); pixels_toggle.dispose(); } } } ,loadGraphicsUpOverDown: function(asset,for_toggle,key) { if(for_toggle == null) { for_toggle = false; } this._slice9_assets = null; this._slice9_arrays = null; this.resize_ratio = -1; if(for_toggle) { this.has_toggle = true; } var upB = null; var overB = null; var downB = null; var bd = null; if(((asset) instanceof openfl_display_BitmapData)) { bd = asset; } else if(typeof(asset) == "string") { bd = this.getBmp(asset); } upB = this.grabButtonFrame(bd,0,this.has_toggle,0,0,key); overB = this.grabButtonFrame(bd,1,this.has_toggle,0,0,key); downB = this.grabButtonFrame(bd,2,this.has_toggle,0,0,key); var normalGraphic = key; var tmp; if(!(key == null || key == "")) { var _this = flixel_FlxG.bitmap._cache; tmp = (__map_reserved[key] != null ? _this.getReserved(key) : _this.h[key]) != null == false; } else { tmp = true; } if(tmp) { normalGraphic = this.assembleButtonFrames(upB,overB,downB); } if(this.has_toggle) { var normalPixels = this.assembleButtonFrames(upB,overB,downB); upB = this.grabButtonFrame(bd,3,true,0,0,key); overB = this.grabButtonFrame(bd,4,true,0,0,key); downB = this.grabButtonFrame(bd,5,true,0,0,key); var togglePixels = this.assembleButtonFrames(upB,overB,downB); var combinedPixels = this.combineToggleBitmaps(normalPixels,togglePixels); normalPixels = flixel_util_FlxDestroyUtil.dispose(normalPixels); togglePixels = flixel_util_FlxDestroyUtil.dispose(togglePixels); this.loadGraphic(combinedPixels,true,upB.width,upB.height,false,key); } else { this.loadGraphic(normalGraphic,true,upB.width,upB.height,false,key); } } ,loadGraphicSlice9: function(assets,W,H,slice9,Tile,Resize_Ratio,isToggle,src_w,src_h,frame_indeces) { if(src_h == null) { src_h = 0; } if(src_w == null) { src_w = 0; } if(isToggle == null) { isToggle = false; } if(Resize_Ratio == null) { Resize_Ratio = -1; } if(Tile == null) { Tile = 0; } if(H == null) { H = 20; } if(W == null) { W = 80; } if(src_w != 0) { this._src_w = src_w; } if(src_h != 0) { this._src_h = src_h; } this.tile = Tile; this.has_toggle = isToggle; this.resize_ratio = Resize_Ratio; this._slice9_assets = assets; this._slice9_arrays = slice9; var key = ""; var arr_bmpData = []; var arr_flx9 = []; if(frame_indeces == null) { if(this.has_toggle) { frame_indeces = [0,1,2,3,4,5]; } else { frame_indeces = [0,1,2]; } } else { var max_index = 2; if(this.has_toggle) { max_index = 5; } while(frame_indeces.length < max_index + 1) frame_indeces.push(frame_indeces.length - 1); var _g = 0; var _g1 = frame_indeces.length; while(_g < _g1) { var i = _g++; if(frame_indeces[i] > 5) { frame_indeces[i] = 5; } else if(frame_indeces[i] < 0) { frame_indeces[i] = 0; } } } this._frame_indeces = frame_indeces; if(W == 0) { W = 80; } if(H == 0) { H = 20; } var pt = flixel_addons_ui_U.applyResize(this.resize_ratio,this.resize_ratio_axis,W,H); W = pt.x | 0; H = pt.y | 0; if(assets == null) { var temp; if(!isToggle) { assets = ["flixel/flixel-ui/img/button.png"]; slice9 = [flixel_util_FlxStringUtil.toIntArray("6,6,11,11")]; temp = this.getBmp(assets[0]); this._src_w = temp.width | 0; this._src_h = temp.height / 3 | 0; } else { assets = ["flixel/flixel-ui/img/button_toggle.png"]; slice9 = [flixel_util_FlxStringUtil.toIntArray("6,6,11,11")]; temp = this.getBmp(assets[0]); this._src_w = temp.width | 0; this._src_h = temp.height / 6 | 0; } temp = null; } if(!this.has_toggle && assets.length <= 3) { arr_bmpData = [null,null,null]; arr_flx9 = [null,null,null]; } else { this.has_toggle = true; arr_bmpData = [null,null,null,null,null,null]; arr_flx9 = [null,null,null,null,null,null]; } this._flashRect2.width = W; this._flashRect2.height = H; var midKey = key += Std.string(assets) + "_slice9=" + Std.string(slice9) + "_src=" + this._src_w + "x" + this._src_h; key += "_final=" + W + "x" + H + "_fi=" + Std.string(this._frame_indeces); if(assets.length == 1) { var all = this.getBmp(assets[0]); var keySuffix = "_all"; if(this._src_w == 0 || this._src_h == 0) { throw new js__$Boot_HaxeError(new openfl_errors_Error("Ambiguous situation! If you only provide one asset, you MUST provide src_w and src_h. Otherwise I can't tell if it's a stacked set of frames or a single frame.")); } var multiFrame = all.height > this._src_h; keySuffix += multiFrame ? "_multiframe" : ""; key += keySuffix; midKey += keySuffix; var _this = flixel_FlxG.bitmap._cache; if((__map_reserved[key] != null ? _this.getReserved(key) : _this.h[key]) != null) { this.loadGraphic(key,true,W,H); return; } if(multiFrame) { var _g2 = 0; var _g11 = arr_bmpData.length; while(_g2 < _g11) { var i1 = _g2++; arr_bmpData[i1] = this.grabButtonFrame(all,i1,this.has_toggle,this._src_w,this._src_h,midKey); } if(slice9 != null && slice9[0] != []) { var _g21 = 0; var _g3 = arr_bmpData.length; while(_g21 < _g3) { var i2 = _g21++; arr_flx9[i2] = new flixel_addons_ui_FlxUI9SliceSprite(0,0,arr_bmpData[i2],this._flashRect2,slice9[0],this.tile,false,assets[0] + ":" + i2,this.resize_ratio); arr_flx9[i2].set_resize_point(this.resize_point); } var _g4 = 0; var _g5 = arr_bmpData.length; while(_g4 < _g5) { var i3 = _g4++; arr_bmpData[i3] = arr_flx9[i3].get_pixels(); } W = arr_bmpData[0].width; H = arr_bmpData[0].height; } } else { arr_bmpData[0] = all; } } else { var _this1 = flixel_FlxG.bitmap._cache; if((__map_reserved[key] != null ? _this1.getReserved(key) : _this1.h[key]) != null) { this.loadGraphic(key,true,W,H); return; } if(!this.has_toggle) { while(assets.length < 3) assets.push(""); } else { while(assets.length < 6) assets.push(""); } if(assets[0] != "") { if(slice9 != null && slice9.length > 0 && slice9[0] != null && slice9[0].length > 0) { while(slice9.length < assets.length) slice9.push(null); if(slice9[0] != null) { arr_flx9[0] = new flixel_addons_ui_FlxUI9SliceSprite(0,0,assets[0],this._flashRect2,slice9[0],this.tile,false,"",this.resize_ratio); } else { arr_flx9[0] = new flixel_addons_ui_FlxUISprite(0,0,assets[0]); } arr_bmpData[0] = arr_flx9[0].get_pixels(); var _g6 = 1; var _g12 = assets.length; while(_g6 < _g12) { var i4 = _g6++; if(assets[i4] != "") { if(slice9[i4] != null) { arr_flx9[i4] = new flixel_addons_ui_FlxUI9SliceSprite(0,0,assets[i4],this._flashRect2,slice9[i4],this.tile,false,"",this.resize_ratio); } else { arr_flx9[i4] = new flixel_addons_ui_FlxUISprite(0,0,assets[i4]); } arr_bmpData[i4] = arr_flx9[i4].get_pixels(); } } W = arr_bmpData[0].width; H = arr_bmpData[0].height; } else { var _g7 = 0; var _g13 = assets.length; while(_g7 < _g13) { var i5 = _g7++; arr_bmpData[i5] = this.getBmp(assets[i5]); } W = arr_bmpData[0].width; H = arr_bmpData[0].height; } } else { if(W == 0) { W = 80; } if(H == 0) { H = 20; } arr_bmpData[0] = new openfl_display_BitmapData(W,H * 3,true,0); this._no_graphic = true; } } var normalPixels = null; if(!this.has_toggle) { normalPixels = this.assembleButtonFrames(arr_bmpData[frame_indeces[0]],arr_bmpData[frame_indeces[1]],arr_bmpData[frame_indeces[2]]); flixel_FlxG.bitmap.add(normalPixels,true,key); this.loadGraphic(key,true,W,H); } else { var normalPixels1 = this.assembleButtonFrames(arr_bmpData[frame_indeces[0]],arr_bmpData[frame_indeces[1]],arr_bmpData[frame_indeces[2]]); var togglePixels = this.assembleButtonFrames(arr_bmpData[frame_indeces[3]],arr_bmpData[frame_indeces[4]],arr_bmpData[frame_indeces[5]]); var combinedPixels = this.combineToggleBitmaps(normalPixels1,togglePixels); normalPixels1 = flixel_util_FlxDestroyUtil.dispose(normalPixels1); togglePixels = flixel_util_FlxDestroyUtil.dispose(togglePixels); flixel_FlxG.bitmap.add(combinedPixels,true,key); this.loadGraphic(key,true,W,H); } var _g8 = 0; var _g14 = arr_flx9.length; while(_g8 < _g14) { var i6 = _g8++; if(arr_flx9[i6] != null) { arr_flx9[i6].destroy(); arr_flx9[i6] = null; } } while(arr_flx9.length > 0) arr_flx9.pop(); arr_flx9 = null; while(arr_bmpData.length > 0) arr_bmpData.pop(); arr_bmpData = null; } ,autoCenterLabel: function() { if(this.label != null) { var offX = 0; var offY = 0; offX = this.get_width() - this._spriteLabel.get_width(); if(((this.label) instanceof flixel_addons_ui_FlxUIText)) { var tlabel = this.label; offX = (this.get_width() - tlabel.get_fieldWidth()) / 2; offY = (this.get_height() - tlabel.get_height()) / 2; } else { offX = (this.get_width() - this._spriteLabel.get_width()) / 2; offY = (this.get_height() - this._spriteLabel.get_height()) / 2; } this._centerLabelOffset.set_x(offX); this._centerLabelOffset.set_y(offY); } } ,setCenterLabelOffset: function(X,Y) { this._centerLabelOffset.set_x(X); this._centerLabelOffset.set_y(Y); } ,getCenterLabelOffset: function() { var X = this._centerLabelOffset.x; var Y = this._centerLabelOffset.y; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; return point; } ,forceStateHandler: function(event) { switch(event) { case "click_button": this.onUpHandler(); break; case "down_button": this.onDownHandler(); break; case "out_button": this.onOutHandler(); break; case "over_button": this.onOverHandler(); break; } } ,grabButtonFrame: function(all_frames,button_state,for_toggle,src_w,src_h,key) { if(src_h == null) { src_h = 0; } if(src_w == null) { src_w = 0; } if(for_toggle == null) { for_toggle = false; } var h = src_h; if(h == 0) { if(!for_toggle) { h = all_frames.height / 3 | 0; } else { h = all_frames.height / 6 | 0; } } var w = src_w; if(w == 0) { w = all_frames.width; } this._flashRect.x = 0; this._flashRect.y = button_state * h; this._flashRect.width = w; this._flashRect.height = h; if(this._flashRect.y >= all_frames.height) { var framesHigh = all_frames.height / h | 0; if(framesHigh == 4) { if(button_state == 4) { this._flashRect.y = 3 * h; } else if(button_state == 5) { this._flashRect.y = 2 * h; } } } var frameKey = key + "{x:" + this._flashRect.x + "y:" + this._flashRect.y + "w:" + this._flashRect.width + "h:" + this._flashRect.height + "}"; if(frameKey != null) { var _this = flixel_FlxG.bitmap._cache; if((__map_reserved[frameKey] != null ? _this.getReserved(frameKey) : _this.h[frameKey]) != null) { var _this1 = flixel_FlxG.bitmap._cache; return (__map_reserved[frameKey] != null ? _this1.getReserved(frameKey) : _this1.h[frameKey]).bitmap; } } var pixels = new openfl_display_BitmapData(w,h); pixels.copyPixels(all_frames,this._flashRect,this._flashPointZero); if(key != null) { flixel_FlxG.bitmap.add(pixels,true,frameKey); this.addToCleanup(frameKey); } return pixels; } ,combineToggleBitmaps: function(normal,toggle) { var combined = new openfl_display_BitmapData(normal.width,normal.height + toggle.height); combined.copyPixels(normal,normal.rect,this._flashPointZero); this._flashPoint.x = 0; this._flashPoint.y = normal.height; combined.copyPixels(toggle,toggle.rect,this._flashPoint); return combined; } ,assembleButtonFrames: function(upB,overB,downB) { var pixels; if(overB != null) { if(downB != null) { pixels = new openfl_display_BitmapData(upB.width,upB.height * 3); } else { pixels = new openfl_display_BitmapData(upB.width,upB.height * 2); } } else { pixels = new openfl_display_BitmapData(upB.width,upB.height); } pixels.copyPixels(upB,upB.rect,this._flashPointZero); if(overB != null) { this._flashPoint.x = 0; this._flashPoint.y = upB.height; pixels.copyPixels(overB,overB.rect,this._flashPoint); if(downB != null) { this._flashPoint.y = upB.height * 2; pixels.copyPixels(downB,downB.rect,this._flashPoint); } } return pixels; } ,updateButton: function() { if(!this.skipButtonUpdate) { flixel_ui_FlxTypedButton.prototype.updateButton.call(this); } } ,addToCleanup: function(str) { if(this._assetsToCleanup == null) { this._assetsToCleanup = []; } if(this._assetsToCleanup.indexOf(str) == -1) { this._assetsToCleanup.push(str); } } ,cleanup: function() { if(this._assetsToCleanup == null) { return; } var _g = 0; var _g1 = this._assetsToCleanup; while(_g < _g1.length) { var key = _g1[_g]; ++_g; flixel_FlxG.bitmap.removeByKey(key); } this._assetsToCleanup = null; } ,fetchAndShowCorrectLabel: function() { if(this.has_toggle) { if(this.toggled && this.toggle_label != null) { this._spriteLabel.set_visible(false); this.toggle_label.set_visible(true); return this.toggle_label; } else { if(this.toggle_label != null) { this.toggle_label.set_visible(false); } this._spriteLabel.set_visible(true); return this.label; } } return this.label; } ,onUpHandler: function() { if(this.has_toggle) { this.set_toggled(!this.toggled); } flixel_ui_FlxTypedButton.prototype.onUpHandler.call(this); if(this.label != null) { var theLabel = this.fetchAndShowCorrectLabel(); theLabel.set_visible(this.toggled ? this.up_toggle_visible : this.up_visible); var thecol = this.toggled ? this.up_toggle_color : this.up_color; if(thecol != null) { theLabel.set_color(thecol); } } if(this.broadcastToFlxUI) { flixel_addons_ui_FlxUI.event("click_button",this,null,this.params); } } ,onDownHandler: function() { flixel_ui_FlxTypedButton.prototype.onDownHandler.call(this); if(this.label != null) { var theLabel = this.fetchAndShowCorrectLabel(); theLabel.set_visible(this.toggled ? this.down_toggle_visible : this.down_visible); var thecol = this.toggled ? this.down_toggle_color : this.down_color; if(thecol != null) { theLabel.set_color(thecol); } } if(this.broadcastToFlxUI) { flixel_addons_ui_FlxUI.event("down_button",this,null,this.params); } } ,onOverHandler: function() { flixel_ui_FlxTypedButton.prototype.onOverHandler.call(this); this.inputOver.press(); if(this.label != null) { var theLabel = this.fetchAndShowCorrectLabel(); theLabel.set_visible(this.toggled ? this.over_toggle_visible : this.over_visible); var thecol = this.toggled ? this.over_toggle_color : this.over_color; if(thecol != null) { theLabel.set_color(thecol); } } if(this.broadcastToFlxUI) { flixel_addons_ui_FlxUI.event("over_button",this,null,this.params); } } ,onOutHandler: function() { flixel_ui_FlxTypedButton.prototype.onOutHandler.call(this); this.inputOver.release(); if(this.label != null) { var theLabel = this.fetchAndShowCorrectLabel(); theLabel.set_visible(this.toggled ? this.up_toggle_visible : this.up_visible); var thecol = this.toggled ? this.up_toggle_color : this.up_color; if(thecol != null) { theLabel.set_color(thecol); } } if(this.broadcastToFlxUI) { flixel_addons_ui_FlxUI.event("out_button",this,null,this.params); } } ,set_x: function(NewX) { flixel_ui_FlxTypedButton.prototype.set_x.call(this,NewX); if(this._spriteLabel != null) { this._spriteLabel.set_x(this.x + this._centerLabelOffset.x + this.labelOffsets[this.status].x); if(this.round_labels) { this._spriteLabel.set_x(this._spriteLabel.x + 0.5 | 0); } if(this.has_toggle && this.toggle_label != null) { this.toggle_label.set_x(this._spriteLabel.x); } } return NewX; } ,set_y: function(NewY) { flixel_ui_FlxTypedButton.prototype.set_y.call(this,NewY); if(this.label != null) { this._spriteLabel.set_y(this.y + this._centerLabelOffset.y + this.labelOffsets[this.status].y); if(this.round_labels) { this._spriteLabel.set_y(this._spriteLabel.y + 0.5 | 0); } if(this.has_toggle && this.toggle_label != null) { this.toggle_label.set_y(this._spriteLabel.y); } } return NewY; } ,_autoCleanup: null ,_assetsToCleanup: null ,_no_graphic: null ,_src_w: null ,_src_h: null ,_frame_indeces: null ,_slice9_arrays: null ,_slice9_assets: null ,_centerLabelOffset: null ,__class__: flixel_addons_ui_FlxUITypedButton ,__properties__: $extend(flixel_ui_FlxTypedButton.prototype.__properties__,{set_params:"set_params",set_skipButtonUpdate:"set_skipButtonUpdate",set_toggle_label:"set_toggle_label",get_justMousedOut:"get_justMousedOut",get_mouseIsOut:"get_mouseIsOut",get_mouseIsOver:"get_mouseIsOver",get_justMousedOver:"get_justMousedOver",set_toggled:"set_toggled"}) }); var flixel_addons_ui_interfaces_ILabeled = function() { }; $hxClasses["flixel.addons.ui.interfaces.ILabeled"] = flixel_addons_ui_interfaces_ILabeled; flixel_addons_ui_interfaces_ILabeled.__name__ = "flixel.addons.ui.interfaces.ILabeled"; flixel_addons_ui_interfaces_ILabeled.__isInterface__ = true; flixel_addons_ui_interfaces_ILabeled.prototype = { getLabel: null ,setLabel: null ,__class__: flixel_addons_ui_interfaces_ILabeled }; var flixel_addons_ui_FlxUIButton = function(X,Y,Label,OnClick,LoadDefaultGraphics,LoadBlank,Color) { if(Color == null) { Color = -1; } if(LoadBlank == null) { LoadBlank = false; } if(LoadDefaultGraphics == null) { LoadDefaultGraphics = true; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } this.down_toggle_style = null; this.over_toggle_style = null; this.up_toggle_style = null; this.down_style = null; this.over_style = null; this.up_style = null; flixel_addons_ui_FlxUITypedButton.call(this,X,Y,OnClick); this.set_color(Color); if(Label != null) { this.set_label(new flixel_addons_ui_FlxUIText(0,0,80,Label,8)); this.label.setFormat(null,8,3355443,"center"); } if(LoadBlank) { this._no_graphic = true; } if(LoadDefaultGraphics) { this.resize(this.get_width(),this.get_height()); } else if(this._no_graphic == false) { this.doResize(this.get_width(),this.get_height(),false); } else { this.doResize(this.get_width(),this.get_height(),true); } }; $hxClasses["flixel.addons.ui.FlxUIButton"] = flixel_addons_ui_FlxUIButton; flixel_addons_ui_FlxUIButton.__name__ = "flixel.addons.ui.FlxUIButton"; flixel_addons_ui_FlxUIButton.__interfaces__ = [flixel_addons_ui_interfaces_IFlxUIButton,flixel_addons_ui_interfaces_ILabeled]; flixel_addons_ui_FlxUIButton.__super__ = flixel_addons_ui_FlxUITypedButton; flixel_addons_ui_FlxUIButton.prototype = $extend(flixel_addons_ui_FlxUITypedButton.prototype,{ _noIconGraphicsBkup: null ,up_style: null ,over_style: null ,down_style: null ,up_toggle_style: null ,over_toggle_style: null ,down_toggle_style: null ,setLabelFormat: function(Font,Size,Color,Alignment,BorderStyle,BorderColor,Embedded) { if(Embedded == null) { Embedded = true; } if(BorderColor == null) { BorderColor = 0; } if(Color == null) { Color = -1; } if(Size == null) { Size = 8; } if(this.label != null) { this.label.setFormat(Font,Size,Color,Alignment,BorderStyle,BorderColor,Embedded); return this.label; } return null; } ,autoCenterLabel: function() { flixel_addons_ui_FlxUITypedButton.prototype.autoCenterLabel.call(this); } ,clone: function() { var newButton = new flixel_addons_ui_FlxUIButton(0,0,this.label == null ? null : this.label.text,this.onUp.callback,false); newButton.copyGraphic(this); newButton.copyStyle(this); return newButton; } ,copyStyle: function(other) { flixel_addons_ui_FlxUITypedButton.prototype.copyStyle.call(this,other); if(((other) instanceof flixel_addons_ui_FlxUIButton)) { var fuib = other; this.up_style = fuib.up_style; this.over_style = fuib.over_style; this.down_style = fuib.down_style; this.up_toggle_style = fuib.up_toggle_style; this.over_toggle_style = fuib.over_toggle_style; this.down_toggle_style = fuib.down_toggle_style; var t = fuib.label; var tf = t.textField.get_defaultTextFormat(); if(t._font.indexOf(flixel_system_FlxAssets.FONT_DEFAULT) == -1) { var fd = flixel_addons_ui_FontDef.copyFromFlxText(t); fd.apply(null,this.label); } else { var flxAlign = flixel_text__$FlxText_FlxTextAlign_$Impl_$.fromOpenFL(tf.align); this.label.setFormat(null,tf.size | 0,tf.color,flxAlign,t.borderStyle,t.borderColor,t.textField.set_embedFonts(true)); } } } ,setLabel: function(t) { this.set_label(t); return this.label; } ,getLabel: function() { return this.label; } ,resize: function(W,H) { flixel_addons_ui_FlxUITypedButton.prototype.resize.call(this,W,H); } ,addIcon: function(icon,X,Y,center) { if(center == null) { center = true; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } this._noIconGraphicsBkup = this.graphic.bitmap.clone(); var newBmp = this._noIconGraphicsBkup.clone(); var key = this.graphic.key + ",icon:" + icon.graphic.key; var newGraphic = flixel_FlxG.bitmap.add(newBmp,false,key); this.loadGraphic(newGraphic,true,this.get_width() | 0,this.get_height() | 0); var sx = X; var sy = Y; if(center) { sx = (this.get_width() - icon.get_width()) / 2 | 0; sy = (this.get_height() - icon.get_height()) / 2 | 0; } var _g = 0; var _g1 = this.numFrames; while(_g < _g1) { var i = _g++; this.stamp(icon,sx + (this.labelOffsets[i > 2 ? 2 : i].x | 0),sy + (i * this.get_height() | 0) + (this.labelOffsets[i > 2 ? 2 : i].y | 0)); } } ,removeIcon: function() { if(this._noIconGraphicsBkup != null) { this.graphic.bitmap.fillRect(this.graphic.bitmap.rect,0); this.graphic.bitmap.copyPixels(this._noIconGraphicsBkup,new openfl_geom_Rectangle(0,0,this._noIconGraphicsBkup.width,this._noIconGraphicsBkup.height),new openfl_geom_Point()); this.dirty = true; } } ,changeIcon: function(newIcon) { this.removeIcon(); this.addIcon(newIcon); } ,destroy: function() { this._noIconGraphicsBkup = flixel_util_FlxDestroyUtil.dispose(this._noIconGraphicsBkup); flixel_addons_ui_FlxUITypedButton.prototype.destroy.call(this); } ,loadDefaultGraphic: function() { } ,resetHelpers: function() { flixel_addons_ui_FlxUITypedButton.prototype.resetHelpers.call(this); if(this.label != null) { var tmp = this.label; var tmp1 = this.get_width() | 0; tmp.set_width(this.label.frameWidth = tmp1); this.label.set_fieldWidth(this.label.get_width()); this.label.set_size(this.label._defaultFormat.size | 0); } } ,onDownHandler: function() { flixel_addons_ui_FlxUITypedButton.prototype.onDownHandler.call(this); if(this.label != null) { if(this.toggled && this.down_toggle_style != null) { this.label.set_color(this.down_toggle_style.color); if(this.down_toggle_style.border != null) { this.label.set_borderStyle(this.down_toggle_style.border.style); this.label.set_borderColor(this.down_toggle_style.border.color); this.label.set_borderSize(this.down_toggle_style.border.size); this.label.set_borderQuality(this.down_toggle_style.border.quality); } } else if(!this.toggled && this.down_style != null) { this.label.set_color(this.down_style.color); if(this.down_style.border != null) { this.label.set_borderStyle(this.down_style.border.style); this.label.set_borderColor(this.down_style.border.color); this.label.set_borderSize(this.down_style.border.size); this.label.set_borderQuality(this.down_style.border.quality); } } } } ,onOverHandler: function() { flixel_addons_ui_FlxUITypedButton.prototype.onOverHandler.call(this); if(this.label != null) { if(this.toggled && this.over_toggle_style != null) { this.label.set_color(this.over_toggle_style.color); if(this.over_toggle_style.border != null) { this.label.set_borderStyle(this.over_toggle_style.border.style); this.label.set_borderColor(this.over_toggle_style.border.color); this.label.set_borderSize(this.over_toggle_style.border.size); this.label.set_borderQuality(this.over_toggle_style.border.quality); } } else if(!this.toggled && this.over_style != null) { this.label.set_color(this.over_style.color); if(this.over_style.border != null) { this.label.set_borderStyle(this.over_style.border.style); this.label.set_borderColor(this.over_style.border.color); this.label.set_borderSize(this.over_style.border.size); this.label.set_borderQuality(this.over_style.border.quality); } } } } ,onOutHandler: function() { flixel_addons_ui_FlxUITypedButton.prototype.onOutHandler.call(this); if(this.label != null) { if(this.toggled && this.up_toggle_style != null) { this.label.set_color(this.up_toggle_style.color); if(this.up_toggle_style.border != null) { this.label.set_borderStyle(this.up_toggle_style.border.style); this.label.set_borderColor(this.up_toggle_style.border.color); this.label.set_borderSize(this.up_toggle_style.border.size); this.label.set_borderQuality(this.up_toggle_style.border.quality); } } else if(!this.toggled && this.up_style != null) { this.label.set_color(this.up_style.color); if(this.up_style.border != null) { this.label.set_borderStyle(this.up_style.border.style); this.label.set_borderColor(this.up_style.border.color); this.label.set_borderSize(this.up_style.border.size); this.label.set_borderQuality(this.up_style.border.quality); } } } } ,onUpHandler: function() { flixel_addons_ui_FlxUITypedButton.prototype.onUpHandler.call(this); if(this.label != null) { if(this.toggled && this.up_toggle_style != null) { this.label.set_color(this.up_toggle_style.color); if(this.up_toggle_style.border != null) { this.label.set_borderStyle(this.up_toggle_style.border.style); this.label.set_borderColor(this.up_toggle_style.border.color); this.label.set_borderSize(this.up_toggle_style.border.size); this.label.set_borderQuality(this.up_toggle_style.border.quality); } } else if(!this.toggled && this.up_style != null) { this.label.set_color(this.up_style.color); if(this.up_style.border != null) { this.label.set_borderStyle(this.up_style.border.style); this.label.set_borderColor(this.up_style.border.color); this.label.set_borderSize(this.up_style.border.size); this.label.set_borderQuality(this.up_style.border.quality); } } } } ,__class__: flixel_addons_ui_FlxUIButton }); var flixel_addons_ui_FlxUICheckBox = function(X,Y,Box,Check,Label,LabelW,Params,Callback) { if(LabelW == null) { LabelW = 100; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } this.skipButtonUpdate = false; this.box_space = 2; this.textY = 0; this.textX = 0; this.checkbox_dirty = false; this.textIsClickable = true; this.checked = false; this.max_width = -1; flixel_addons_ui_FlxUIGroup.call(this); this.callback = Callback; this.set_params(Params); if(Box == null) { Box = "flixel/flixel-ui/img/check_box.png"; } if(((Box) instanceof flixel_FlxSprite)) { this.box = Box; } else { this.box = new flixel_FlxSprite(); this.box.loadGraphic(Box,true); } this.button = new flixel_addons_ui_FlxUIButton(0,0,Label,$bind(this,this._clickCheck)); this.button.label.setFormat(null,8,16777215,"left",flixel_text_FlxTextBorderStyle.OUTLINE); this.button.label.set_fieldWidth(LabelW); this.button.up_color = 16777215; this.button.down_color = 16777215; this.button.over_color = 16777215; this.button.up_toggle_color = 16777215; this.button.down_toggle_color = 16777215; this.button.over_toggle_color = 16777215; this.button.loadGraphicSlice9(["","",""],this.box.get_width() + this.box_space + LabelW | 0,this.box.get_height() | 0); this.max_width = this.box.get_width() + this.box_space + LabelW | 0; this.button.onUp.callback = $bind(this,this._clickCheck); if(Check == null) { Check = "flixel/flixel-ui/img/check_mark.png"; } if(((Check) instanceof flixel_FlxSprite)) { this.mark = Check; } else { this.mark = new flixel_FlxSprite(); this.mark.loadGraphic(Check); } this.add(this.box); this.add(this.mark); this.add(this.button); this.anchorLabelX(); this.anchorLabelY(); this.set_checked(false); this.button.setAllLabelOffsets(0,0); this.set_x(X); this.set_y(Y); this.set_textX(0); this.set_textY(0); }; $hxClasses["flixel.addons.ui.FlxUICheckBox"] = flixel_addons_ui_FlxUICheckBox; flixel_addons_ui_FlxUICheckBox.__name__ = "flixel.addons.ui.FlxUICheckBox"; flixel_addons_ui_FlxUICheckBox.__interfaces__ = [flixel_addons_ui_interfaces_ICursorPointable,flixel_addons_ui_interfaces_IHasParams,flixel_addons_ui_interfaces_IFlxUIClickable,flixel_addons_ui_interfaces_ILabeled]; flixel_addons_ui_FlxUICheckBox.__super__ = flixel_addons_ui_FlxUIGroup; flixel_addons_ui_FlxUICheckBox.prototype = $extend(flixel_addons_ui_FlxUIGroup.prototype,{ box: null ,mark: null ,button: null ,max_width: null ,checked: null ,params: null ,textIsClickable: null ,checkbox_dirty: null ,textX: null ,textY: null ,box_space: null ,skipButtonUpdate: null ,callback: null ,set_skipButtonUpdate: function(b) { this.skipButtonUpdate = b; this.button.set_skipButtonUpdate(this.skipButtonUpdate); return this.skipButtonUpdate; } ,set_params: function(p) { this.params = p; if(this.params == null) { this.params = []; } var nb = { name : "checked", value : false}; this.params.push(nb); return this.params; } ,set_color: function(Value) { if(this.button != null) { this.button.label.set_color(Value); } return flixel_addons_ui_FlxUIGroup.prototype.set_color.call(this,Value); } ,setLabel: function(t) { if(this.button == null) { return null; } this.button.set_label(t); return this.button.label; } ,getLabel: function() { if(this.button == null) { return null; } return this.button.label; } ,set_visible: function(Value) { this.visible = Value; return this.visible; } ,anchorTime: function(f) { this.anchorLabelY(); } ,set_textX: function(n) { this.textX = n; this.anchorLabelX(); return this.textX; } ,set_textY: function(n) { this.textY = n; this.anchorLabelY(); return this.textY; } ,anchorLabelX: function() { if(this.button != null) { this.button.label.offset.set_x(-(this.box.get_width() + this.box_space + this.textX)); } } ,anchorLabelY: function() { if(this.button != null) { this.button.set_y(this.box.y + (this.box.get_height() - this.button.get_height()) / 2 + this.textY); } } ,destroy: function() { flixel_addons_ui_FlxUIGroup.prototype.destroy.call(this); if(this.mark != null) { this.mark.destroy(); this.mark = null; } if(this.box != null) { this.box.destroy(); this.box = null; } if(this.button != null) { this.button.destroy(); this.button = null; } } ,get_text: function() { return this.button.label.text; } ,set_text: function(value) { this.button.label.set_text(value); this.checkbox_dirty = true; return value; } ,update: function(elapsed) { flixel_addons_ui_FlxUIGroup.prototype.update.call(this,elapsed); if(this.checkbox_dirty) { if(this.button.label != null) { if(((this.button.label) instanceof flixel_addons_ui_FlxUIText)) { var ftu = this.button.label; ftu.drawFrame(); } this.anchorLabelX(); this.anchorLabelY(); this.button.set_width(this.box.frameWidth + this.box_space + this.button.label.textField.get_textWidth()); this.checkbox_dirty = false; } } } ,set_checked: function(b) { this.mark.set_visible(b); return this.checked = b; } ,_clickCheck: function() { if(!this.visible) { return; } this.set_checked(!this.checked); if(this.callback != null) { this.callback(); } if(this.broadcastToFlxUI) { flixel_addons_ui_FlxUI.event("click_check_box",this,this.checked,this.params); } } ,__class__: flixel_addons_ui_FlxUICheckBox ,__properties__: $extend(flixel_addons_ui_FlxUIGroup.prototype.__properties__,{set_text:"set_text",get_text:"get_text",set_skipButtonUpdate:"set_skipButtonUpdate",set_textY:"set_textY",set_textX:"set_textX",set_params:"set_params",set_checked:"set_checked"}) }); var flixel_addons_ui_FlxUICursor = function(Callback,InputMethod,DefaultKeys,Asset) { if(DefaultKeys == null) { DefaultKeys = 1; } if(InputMethod == null) { InputMethod = 1; } this._clickTime = 0; this._clickPressed = false; this.lastMouseY = 0; this.lastMouseX = 0; this.inputMethod = 0; this.dispatchEvents = true; this.gamepadAutoConnect = flixel_addons_ui_GamepadAutoConnectPreference.FirstActive; this.listIndex = 0; this.location = -1; this.wrap = true; if(Asset == null) { if(flixel_FlxG.height < 400) { Asset = "flixel/flixel-ui/img/finger_small.png"; } else { Asset = "flixel/flixel-ui/img/finger_big.png"; } } flixel_addons_ui_FlxUISprite.call(this,0,0,Asset); this.inputMethod = InputMethod; this._lists = [{ x : 0, y : 0, width : 0, height : 0, widgets : []}]; this._widgets = this._lists[0].widgets; this.anchor = new flixel_addons_ui_Anchor(-2,0,"left","center","right","center"); this.setDefaultKeys(DefaultKeys); this.callback = Callback; this.scrollFactor.set(0,0); if(flixel_FlxG.mouse != null && ((flixel_FlxG.mouse) instanceof flixel_addons_ui_FlxUIMouse) == false) { this._newMouse = new flixel_addons_ui_FlxUIMouse(flixel_FlxG.mouse.cursorContainer); flixel_FlxG.set_mouse(this._newMouse); } else { this._newMouse = flixel_FlxG.mouse; } }; $hxClasses["flixel.addons.ui.FlxUICursor"] = flixel_addons_ui_FlxUICursor; flixel_addons_ui_FlxUICursor.__name__ = "flixel.addons.ui.FlxUICursor"; flixel_addons_ui_FlxUICursor.__super__ = flixel_addons_ui_FlxUISprite; flixel_addons_ui_FlxUICursor.prototype = $extend(flixel_addons_ui_FlxUISprite.prototype,{ callback: null ,wrap: null ,location: null ,listIndex: null ,ignoreNextInput: null ,findVisibleLocation: function(loc,forwardIfInvisible,wrap) { if(wrap == null) { wrap = true; } if(forwardIfInvisible == null) { forwardIfInvisible = true; } this.set_location(loc); if(this.location == -1) { return; } var wrapped = false; while(this._widgets[this.location] == null || this._widgets[this.location].visible == false) if(forwardIfInvisible) { if(this.location == this._widgets.length - 1) { if(wrap) { if(!wrapped) { wrapped = true; this.set_location(0); } else { this.set_location(-1); return; } } else { this.set_location(-1); return; } } else { var _g = this; _g.set_location(_g.location + 1); } } else if(this.location == 0) { if(wrap) { if(!wrapped) { wrapped = true; this.set_location(this._widgets.length - 1); } else { this.set_location(-1); return; } } else { this.set_location(-1); return; } } else { var _g1 = this; _g1.set_location(_g1.location - 1); } } ,getCurrentWidget: function() { if(this._widgets != null && this.location >= 0 && this.location < this._widgets.length) { return this._widgets[this.location]; } return null; } ,set_listIndex: function(i) { if(i >= this._lists.length) { i = this._lists.length - 1; } else if(i < 0) { i = 0; } this.listIndex = i; this.set_location(0); this._updateCursor(); return this.listIndex; } ,set_visible: function(b) { b = flixel_addons_ui_FlxUISprite.prototype.set_visible.call(this,b); return b; } ,set_location: function(i) { if(i >= this._widgets.length) { i = this._widgets.length - 1; } this.location = i; this._updateCursor(); return this.location; } ,gamepadAutoConnect: null ,set_gamepad: function(g) { this._gamepad = g; this.setDefaultKeys(this._defaultCode); var arr = [this.keysUp,this.keysDown,this.keysLeft,this.keysRight,this.keysClick]; var _g = 0; while(_g < arr.length) { var list = arr[_g]; ++_g; if(list != null) { var _g1 = 0; while(_g1 < list.length) { var keys = list[_g1]; ++_g1; if(((keys) instanceof flixel_addons_ui_FlxMultiGamepad)) { var fmg = keys; fmg.gamepad = this._gamepad; } } } } return g; } ,get_gamepad: function() { return this._gamepad; } ,_gamepad: null ,keysUp: null ,keysDown: null ,keysLeft: null ,keysRight: null ,keysClick: null ,anchor: null ,dispatchEvents: null ,inputMethod: null ,destroy: function() { flixel_addons_ui_FlxUISprite.prototype.destroy.call(this); if(flixel_FlxG.mouse == this._newMouse) { this._newMouse = null; } this.keysUp = flixel_util_FlxDestroyUtil.destroyArray(this.keysUp); this.keysDown = flixel_util_FlxDestroyUtil.destroyArray(this.keysDown); this.keysLeft = flixel_util_FlxDestroyUtil.destroyArray(this.keysLeft); this.keysRight = flixel_util_FlxDestroyUtil.destroyArray(this.keysRight); this.keysClick = flixel_util_FlxDestroyUtil.destroyArray(this.keysClick); this.anchor = flixel_util_FlxDestroyUtil.destroy(this.anchor); var _g = 0; var _g1 = this._lists; while(_g < _g1.length) { var l = _g1[_g]; ++_g; flixel_addons_ui_U.clearArraySoft(l.widgets); } flixel_addons_ui_U.clearArraySoft(this._lists); this._widgets = null; } ,update: function(elapsed) { if(this.get_gamepad() == null) { var g = this.getGamepad(false); if(g != null) { this.set_gamepad(g); } } if(this.lastMouseX != flixel_FlxG.mouse.x || this.lastMouseY != flixel_FlxG.mouse.y) { var oldVis = this.visible; this.jumpToXY(flixel_FlxG.mouse.x,flixel_FlxG.mouse.y); this.set_visible(oldVis); this.lastMouseX = flixel_FlxG.mouse.x; this.lastMouseY = flixel_FlxG.mouse.y; } this._checkKeys(); this._clickTime += elapsed; flixel_addons_ui_FlxUISprite.prototype.update.call(this,elapsed); } ,addWidgetsFromUI: function(ui) { if(ui.cursorLists != null) { var _g = 0; var _g1 = ui.cursorLists; while(_g < _g1.length) { var list = _g1[_g]; ++_g; this.addWidgetList(list); } this._widgets = this._lists[0].widgets; this.set_location(0); this.set_listIndex(0); } else { var _g2 = 0; var _g11 = ui.group.members; while(_g2 < _g11.length) { var widget = _g11[_g2]; ++_g2; if(js_Boot.__implements(widget,flixel_addons_ui_interfaces_ICursorPointable) || ((widget) instanceof flixel_addons_ui_FlxUIGroup)) { this.addWidget(widget); } } } } ,jumpTo: function(widget) { var listi = 0; var i = 0; if(this._lists != null) { var _g = 0; var _g1 = this._lists; while(_g < _g1.length) { var list = _g1[_g]; ++_g; i = list.widgets.indexOf(widget); if(i != -1) { this.set_listIndex(listi); this.set_location(i); return true; } ++listi; } } else { i = this._widgets.indexOf(widget); this.set_location(i); return true; } return false; } ,jumpToXY: function(X,Y) { var listi = 0; var bestd2 = Infinity; var bestli = -1; var besti = -1; if(this._lists != null) { var _g = 0; var _g1 = this._lists; while(_g < _g1.length) { var list = _g1[_g]; ++_g; var _g2 = 0; var _g11 = list.widgets.length; while(_g2 < _g11) { var i = _g2++; var w = list.widgets[i]; if(w.visible == true && X >= w.x && Y >= w.y && X <= w.x + w.get_width() && Y <= w.y + w.get_height()) { var dx = w.x + w.get_width() / 2 - X; var dy = w.y + w.get_height() / 2 - Y; var d2 = dx * dx + dy * dy; if(d2 < bestd2) { bestd2 = d2; bestli = listi; besti = i; } } } ++listi; } if(bestli != -1 && besti != -1) { this.set_listIndex(bestli); this.set_location(besti); return true; } } else { var _g3 = 0; var _g12 = this._widgets.length; while(_g3 < _g12) { var i1 = _g3++; var w1 = this._widgets[i1]; if(w1.visible == true && X >= w1.x && Y >= w1.y && X <= w1.x + w1.get_width() && Y <= w1.y + w1.get_height()) { var dx1 = w1.x + w1.get_width() / 2 - X; var dy1 = w1.y + w1.get_height() / 2 - Y; var d21 = dx1 * dx1 + dy1 * dy1; if(d21 < bestd2) { bestd2 = d21; besti = i1; } } } if(besti != -1) { this.set_location(besti); return true; } } return false; } ,addWidgetList: function(list) { var _g = 0; var _g1 = this._lists; while(_g < _g1.length) { var l = _g1[_g]; ++_g; if(flixel_util_FlxArrayUtil.equals(l.widgets,list)) { return; } } var x1 = Infinity; var y1 = Infinity; var x2 = -Infinity; var y2 = -Infinity; var _g2 = 0; while(_g2 < list.length) { var w = list[_g2]; ++_g2; if(w.x < x1) { x1 = w.x; } if(w.y < y1) { y1 = w.y; } if(w.x + w.get_width() > x2) { x2 = w.x; } if(w.y + w.get_height() > y2) { y2 = w.y; } } var theList = null; if(this._lists.length == 1 && this._lists[0].widgets != null && this._lists[0].widgets.length == 0) { this._lists[0].widgets = []; this._lists[0].x = x1 | 0; this._lists[0].y = y1 | 0; this._lists[0].width = x2 - x1 | 0; this._lists[0].height = y2 - y1 | 0; theList = this._lists[0]; } else { this._lists.push({ x : x1 | 0, y : y1 | 0, width : x2 - x1 | 0, height : y2 - y1 | 0, widgets : []}); theList = this._lists[this._lists.length - 1]; } var oldWidgets = this._widgets; this._widgets = theList.widgets; var _g3 = 0; while(_g3 < list.length) { var ifw = list[_g3]; ++_g3; this.addWidget(ifw); } this._widgets = oldWidgets; this._lists.sort($bind(this,this._sortXYWidgetList)); var _g4 = 0; var _g5 = this._lists; while(_g4 < _g5.length) { var widgetList = _g5[_g4]; ++_g4; widgetList.widgets.sort($bind(this,this._sortXYVisible)); } } ,addWidget: function(widget) { if(js_Boot.__implements(widget,flixel_addons_ui_interfaces_ICursorPointable)) { this._widgets.push(widget); } else if(((widget) instanceof flixel_addons_ui_FlxUIGroup)) { var g = widget; var _g = 0; var _g1 = g.group.members; while(_g < _g1.length) { var member = _g1[_g]; ++_g; if(js_Boot.__implements(member,flixel_addons_ui_interfaces_IFlxUIWidget)) { this.addWidget(member); } } } this._widgets.sort($bind(this,this._sortXYVisible)); } ,sortWidgets: function(method,list) { if(list == null) { list = this._widgets; } switch(method._hx_index) { case 0: list.sort($bind(this,this._sortXYVisible)); break; case 1: list.sort($bind(this,this._sortIDVisible)); break; } } ,clearWidgets: function() { flixel_util_FlxArrayUtil.clearArray(this._widgets); } ,removeWidget: function(widget,list) { if(list == null) { list = this._widgets; } var value = false; if(list != null) { if(list.indexOf(widget) != -1) { value = HxOverrides.remove(list,widget); list.sort($bind(this,this._sortXYVisible)); } } return value; } ,setDefaultKeys: function(code) { this._defaultCode = code; this._clearKeys(); this._newKeys(); if((code & 1) == 1) { this._addToKeys(this.keysRight,new flixel_addons_ui_FlxMultiKey(9,null,[16])); this._addToKeys(this.keysLeft,new flixel_addons_ui_FlxMultiKey(9,[16])); this._addToKeys(this.keysClick,new flixel_addons_ui_FlxMultiKey(13)); } if((code & 256) == 256) { this._addToKeys(this.keysRight,new flixel_addons_ui_FlxMultiKey(39)); this._addToKeys(this.keysLeft,new flixel_addons_ui_FlxMultiKey(37)); this._addToKeys(this.keysDown,new flixel_addons_ui_FlxMultiKey(40)); this._addToKeys(this.keysUp,new flixel_addons_ui_FlxMultiKey(38)); this._addToKeys(this.keysClick,new flixel_addons_ui_FlxMultiKey(13)); } if((code & 16) == 16) { this._addToKeys(this.keysRight,new flixel_addons_ui_FlxMultiKey(68)); this._addToKeys(this.keysLeft,new flixel_addons_ui_FlxMultiKey(65)); this._addToKeys(this.keysDown,new flixel_addons_ui_FlxMultiKey(83)); this._addToKeys(this.keysUp,new flixel_addons_ui_FlxMultiKey(87)); this._addToKeys(this.keysClick,new flixel_addons_ui_FlxMultiKey(13)); } if((code & 4096) == 4096) { this._addToKeys(this.keysRight,new flixel_addons_ui_FlxMultiKey(102)); this._addToKeys(this.keysLeft,new flixel_addons_ui_FlxMultiKey(100)); this._addToKeys(this.keysDown,new flixel_addons_ui_FlxMultiKey(98)); this._addToKeys(this.keysUp,new flixel_addons_ui_FlxMultiKey(104)); this._addToKeys(this.keysClick,new flixel_addons_ui_FlxMultiKey(13)); } if(this.get_gamepad() == null) { this._gamepad = this.getGamepad(); } if((code & 65536) == 65536) { this._addToKeys(this.keysLeft,new flixel_addons_ui_FlxMultiGamepad(this.get_gamepad(),13)); this._addToKeys(this.keysRight,new flixel_addons_ui_FlxMultiGamepad(this.get_gamepad(),14)); this._addToKeys(this.keysDown,new flixel_addons_ui_FlxMultiGamepad(this.get_gamepad(),12)); this._addToKeys(this.keysUp,new flixel_addons_ui_FlxMultiGamepad(this.get_gamepad(),11)); this._addToKeys(this.keysClick,new flixel_addons_ui_FlxMultiGamepad(this.get_gamepad(),0)); } if((code & 268435456) == 268435456) { this._addToKeys(this.keysLeft,new flixel_addons_ui_FlxMultiGamepad(this.get_gamepad(),4)); this._addToKeys(this.keysRight,new flixel_addons_ui_FlxMultiGamepad(this.get_gamepad(),5)); this._addToKeys(this.keysClick,new flixel_addons_ui_FlxMultiGamepad(this.get_gamepad(),0)); } if((code & 1048576) == 1048576) { this._addToKeys(this.keysLeft,new flixel_addons_ui_FlxMultiGamepadAnalogStick(this.get_gamepad(),{ id : 19, axis : flixel_addons_ui_XY.X, positive : false})); this._addToKeys(this.keysRight,new flixel_addons_ui_FlxMultiGamepadAnalogStick(this.get_gamepad(),{ id : 19, axis : flixel_addons_ui_XY.X, positive : true})); this._addToKeys(this.keysUp,new flixel_addons_ui_FlxMultiGamepadAnalogStick(this.get_gamepad(),{ id : 19, axis : flixel_addons_ui_XY.Y, positive : false})); this._addToKeys(this.keysDown,new flixel_addons_ui_FlxMultiGamepadAnalogStick(this.get_gamepad(),{ id : 19, axis : flixel_addons_ui_XY.Y, positive : true})); this._addToKeys(this.keysClick,new flixel_addons_ui_FlxMultiGamepad(this.get_gamepad(),0)); } if((code & 16777216) == 16777216) { this._addToKeys(this.keysLeft,new flixel_addons_ui_FlxMultiGamepadAnalogStick(this.get_gamepad(),{ id : 20, axis : flixel_addons_ui_XY.X, positive : false})); this._addToKeys(this.keysRight,new flixel_addons_ui_FlxMultiGamepadAnalogStick(this.get_gamepad(),{ id : 20, axis : flixel_addons_ui_XY.X, positive : true})); this._addToKeys(this.keysUp,new flixel_addons_ui_FlxMultiGamepadAnalogStick(this.get_gamepad(),{ id : 20, axis : flixel_addons_ui_XY.Y, positive : false})); this._addToKeys(this.keysDown,new flixel_addons_ui_FlxMultiGamepadAnalogStick(this.get_gamepad(),{ id : 20, axis : flixel_addons_ui_XY.Y, positive : true})); this._addToKeys(this.keysClick,new flixel_addons_ui_FlxMultiGamepad(this.get_gamepad(),0)); } } ,_lists: null ,_widgets: null ,_newMouse: null ,lastMouseX: null ,lastMouseY: null ,_clickPressed: null ,_defaultCode: null ,_rightAnchor: null ,_topAnchor: null ,_leftAnchor: null ,_bottomAnchor: null ,_clickTime: null ,getGamepad: function(exhaustive) { if(exhaustive == null) { exhaustive = true; } var gamepad; var _g = this.gamepadAutoConnect; switch(_g._hx_index) { case 0: gamepad = null; break; case 1: gamepad = flixel_FlxG.gamepads.getFirstActiveGamepad(); break; case 2: gamepad = flixel_FlxG.gamepads.lastActive; break; case 3: var i = _g.i; gamepad = flixel_FlxG.gamepads._activeGamepads[i]; break; } if(gamepad == null && exhaustive) { var _g2 = 0; var _g3 = flixel_FlxG.gamepads.get_numActiveGamepads(); while(_g2 < _g3) { var i1 = _g2++; gamepad = flixel_FlxG.gamepads._activeGamepads[i1]; if(gamepad != null) { return gamepad; } } } return gamepad; } ,_sortIDVisible: function(a,b) { if(a.visible && !b.visible) { return -1; } if(b.visible && !a.visible) { return 1; } if(a.ID < b.ID) { return -1; } if(a.ID > b.ID) { return 1; } return 0; } ,_sortXYWidgetList: function(a,b) { if(a.y < b.y) { return -1; } if(a.y > b.y) { return 1; } if(a.x < b.x) { return -1; } if(a.x > b.x) { return 1; } return 0; } ,_sortXYVisible: function(a,b) { if(a.visible && !b.visible) { return -1; } if(b.visible && !a.visible) { return 1; } if(a.y < b.y) { return -1; } if(a.y > b.y) { return 1; } if(a.x < b.x) { return -1; } if(a.x > b.x) { return 1; } return 0; } ,_addToKeys: function(keys,m) { var exists = false; var _g = 0; while(_g < keys.length) { var mk = keys[_g]; ++_g; if(m.equals(mk)) { exists = true; break; } } if(!exists) { keys.push(m); } } ,_clearKeys: function() { flixel_addons_ui_U.clearArray(this.keysUp); this.keysUp = null; flixel_addons_ui_U.clearArray(this.keysDown); this.keysDown = null; flixel_addons_ui_U.clearArray(this.keysLeft); this.keysLeft = null; flixel_addons_ui_U.clearArray(this.keysRight); this.keysRight = null; flixel_addons_ui_U.clearArray(this.keysClick); this.keysClick = null; } ,_newKeys: function() { this.keysUp = []; this.keysDown = []; this.keysLeft = []; this.keysRight = []; this.keysClick = []; } ,_checkKeys: function() { var wasInvisible = this.visible == false; var lastLocation = this.location; var _g = 0; var _g1 = this.keysUp; while(_g < _g1.length) { var key = _g1[_g]; ++_g; if(key.justPressed()) { this._doInput(0,-1); break; } } var _g2 = 0; var _g3 = this.keysDown; while(_g2 < _g3.length) { var key1 = _g3[_g2]; ++_g2; if(key1.justPressed()) { this._doInput(0,1); break; } } var _g4 = 0; var _g5 = this.keysLeft; while(_g4 < _g5.length) { var key2 = _g5[_g4]; ++_g4; if(key2.justPressed()) { this._doInput(-1,0); break; } } var _g6 = 0; var _g7 = this.keysRight; while(_g6 < _g7.length) { var key3 = _g7[_g6]; ++_g6; if(key3.justPressed()) { this._doInput(1,0); break; } } if(wasInvisible && this.visible && lastLocation != -1) { this.set_location(lastLocation); } if(this._clickKeysJustPressed()) { if(!this.ignoreNextInput) { this._clickPressed = true; this._clickTime = 0; this._doPress(); } else { this.ignoreNextInput = false; } } if(this._clickKeysPressed()) { this._clickPressed = true; this._doMouseMove(); } else if(this._clickTime > 0) { if(this._clickPressed) { this._doRelease(); this._clickPressed = false; } } } ,_clickKeysJustPressed: function() { var _g = 0; var _g1 = this.keysClick; while(_g < _g1.length) { var key = _g1[_g]; ++_g; if(key.justPressed()) { return true; } } return false; } ,_clickKeysPressed: function() { var _g = 0; var _g1 = this.keysClick; while(_g < _g1.length) { var key = _g1[_g]; ++_g; if(key.pressed()) { return true; } } return false; } ,_getWidgetPoint: function(Camera) { if(Camera == null) { Camera = flixel_FlxG.camera; } var currWidget = this._widgets[this.location]; if(currWidget == null) { return null; } var fo; var widgetPoint = null; if(((currWidget) instanceof flixel_FlxObject)) { fo = currWidget; widgetPoint = fo.getScreenPosition(); } var _g = widgetPoint; _g.set_x(_g.x * Camera.totalScaleX); var _g1 = widgetPoint; _g1.set_y(_g1.y * Camera.totalScaleY); if(widgetPoint == null) { var X = currWidget.x; var Y = currWidget.y; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; widgetPoint = point; } var _g2 = widgetPoint; _g2.set_x(_g2.x + currWidget.get_width() / 2); var _g3 = widgetPoint; _g3.set_y(_g3.y + currWidget.get_height() / 2); return widgetPoint; } ,_doMouseMove: function(pt) { var dispose = false; if(pt == null) { pt = this._getWidgetPoint(); if(pt == null) { return; } dispose = true; } if(this.dispatchEvents) { var _this = flixel_FlxG.mouse; _this._globalScreenX = pt.x / flixel_FlxG.scaleMode.scale.x | 0; _this._globalScreenY = pt.y / flixel_FlxG.scaleMode.scale.y | 0; _this.updatePositions(); if(this._newMouse != null) { this._newMouse.updateGlobalScreenPosition = false; } var tmp = openfl_Lib.get_current().stage; var pt1 = pt.x; var pt2 = pt.y; var tmp1 = openfl_Lib.get_current().stage; var _this1 = flixel_FlxG.keys.pressed; var tmp2 = _this1.keyManager.checkStatus(17,_this1.status); var _this2 = flixel_FlxG.keys.pressed; var tmp3 = _this2.keyManager.checkStatus(18,_this2.status); var _this3 = flixel_FlxG.keys.pressed; tmp.dispatchEvent(new openfl_events_MouseEvent("mouseMove",true,false,pt1,pt2,tmp1,tmp2,tmp3,_this3.keyManager.checkStatus(16,_this3.status))); } if(dispose) { pt.put(); } } ,_doPress: function(pt) { var currWidget = this._widgets[this.location]; if(currWidget == null) { return; } var dispose = false; if(pt == null) { pt = this._getWidgetPoint(); if(pt == null) { return; } dispose = true; } if(this.dispatchEvents) { var rawMouseX = pt.x * flixel_FlxG.camera.zoom; var rawMouseY = pt.y * flixel_FlxG.camera.zoom; var tmp = openfl_Lib.get_current().stage; var tmp1 = openfl_Lib.get_current().stage; var _this = flixel_FlxG.keys.pressed; var tmp2 = _this.keyManager.checkStatus(17,_this.status); var _this1 = flixel_FlxG.keys.pressed; var tmp3 = _this1.keyManager.checkStatus(18,_this1.status); var _this2 = flixel_FlxG.keys.pressed; tmp.dispatchEvent(new openfl_events_MouseEvent("mouseDown",true,false,rawMouseX,rawMouseY,tmp1,tmp2,tmp3,_this2.keyManager.checkStatus(16,_this2.status))); } if(this.callback != null) { this.callback("cursor_down",currWidget); } if(dispose) { pt.put(); } } ,_doRelease: function(pt) { var currWidget = this._widgets[this.location]; if(currWidget == null) { return; } var dispose = false; if(pt == null) { pt = this._getWidgetPoint(); if(pt == null) { return; } dispose = true; } var rawMouseX = pt.x * flixel_FlxG.camera.zoom; var rawMouseY = pt.y * flixel_FlxG.camera.zoom; if(this.dispatchEvents) { var tmp = openfl_Lib.get_current().stage; var tmp1 = openfl_Lib.get_current().stage; var _this = flixel_FlxG.keys.pressed; var tmp2 = _this.keyManager.checkStatus(17,_this.status); var _this1 = flixel_FlxG.keys.pressed; var tmp3 = _this1.keyManager.checkStatus(18,_this1.status); var _this2 = flixel_FlxG.keys.pressed; tmp.dispatchEvent(new openfl_events_MouseEvent("mouseUp",true,false,rawMouseX,rawMouseY,tmp1,tmp2,tmp3,_this2.keyManager.checkStatus(16,_this2.status))); if(this._clickPressed) { var tmp4 = openfl_Lib.get_current().stage; var tmp5 = openfl_Lib.get_current().stage; var _this3 = flixel_FlxG.keys.pressed; var tmp6 = _this3.keyManager.checkStatus(17,_this3.status); var _this4 = flixel_FlxG.keys.pressed; var tmp7 = _this4.keyManager.checkStatus(18,_this4.status); var _this5 = flixel_FlxG.keys.pressed; tmp4.dispatchEvent(new openfl_events_MouseEvent("click",true,false,rawMouseX,rawMouseY,tmp5,tmp6,tmp7,_this5.keyManager.checkStatus(16,_this5.status))); } } if(this.callback != null) { this.callback("cursor_click",currWidget); } if(dispose) { pt.put(); } if(this._newMouse != null) { this._newMouse.updateGlobalScreenPosition = true; var _this6 = this._newMouse; var newX = flixel_FlxG.game.get_mouseX() | 0; var newY = flixel_FlxG.game.get_mouseY() | 0; _this6._globalScreenX = newX / flixel_FlxG.scaleMode.scale.x | 0; _this6._globalScreenY = newY / flixel_FlxG.scaleMode.scale.y | 0; _this6.updatePositions(); } } ,_findNextY: function(Y,indexValue,listWidget,listLists) { var currX = 0; var currY = 0; var length = 0; if(listWidget != null) { currX = listWidget[indexValue].x | 0; currY = listWidget[indexValue].y | 0; length = listWidget.length; } else if(listLists != null) { currX = listLists[indexValue].x; currY = listLists[indexValue].y; length = listLists.length; } var nextX = 0; var nextY = 0; var dx = Infinity; var dy = Infinity; var bestdx = dx; var bestdy = dy; var besti = -1; var _g = 0; var _g1 = length; while(_g < _g1) { var i = _g++; if(i != indexValue) { if(listWidget != null) { nextX = listWidget[i].x | 0; nextY = listWidget[i].y | 0; } else if(listLists != null) { nextX = listLists[i].x; nextY = listLists[i].y; } dy = nextY - currY; if((dy < 0 ? -1 : 1) == (Y < 0 ? -1 : 1) && dy != 0) { dy = Math.abs(dy); if(dy < bestdy) { bestdy = dy; bestdx = Math.abs(currX - nextX); besti = i; } else if(dy == bestdy) { dx = Math.abs(currX - nextX); if(dx < bestdx) { bestdx = dx; besti = i; } } } } } return besti; } ,_wrapX: function(X,indexValue,listLength) { if(indexValue + X < 0) { indexValue = indexValue + X + listLength; } else if(indexValue + X >= listLength) { indexValue = indexValue + X - listLength; } return indexValue; } ,_wrapY: function(Y,indexValue,listWidget,listLists) { var dx = Infinity; var dy = Infinity; var bestdx = dx; var bestdy = dy; var besti = -1; bestdx = Infinity; bestdy = 0; var length = 0; var currX = 0; var currY = 0; if(listWidget != null) { length = listWidget.length; currX = listWidget[indexValue].x | 0; currY = listWidget[indexValue].y | 0; } if(listLists != null) { length = listLists.length; currX = listLists[indexValue].x; currY = listLists[indexValue].y; } var _g = 0; var _g1 = length; while(_g < _g1) { var i = _g++; if(i != this.location) { var xx = 0; var yy = 0; if(listWidget != null) { xx = listWidget[i].x | 0; yy = listWidget[i].y | 0; } else if(listLists != null) { xx = listLists[i].x | 0; yy = listLists[i].y | 0; } dy = yy - currY; if((dy < 0 ? -1 : 1) == (Y < 0 ? -1 : 1) == false && dy != 0) { dy = Math.abs(dy); if(dy > bestdy) { bestdy = dy; bestdx = Math.abs(currX - xx); besti = i; } else if(dy == bestdy) { dx = Math.abs(currX - xx); if(dx < bestdx) { bestdx = dx; besti = i; } } } } } if(besti != -1) { indexValue = besti; } return indexValue; } ,_doInput: function(X,Y,recursion) { if(recursion == null) { recursion = 0; } if(this.ignoreNextInput) { this.ignoreNextInput = false; return; } var currWidget = null; if(Y == 0) { if(this.location + X >= 0 && this.location + X < this._widgets.length) { this.set_location(this.location + X); } else if(this.wrap) { if(this._lists.length == 1) { this.set_location(this._wrapX(X,this.location,this._widgets.length)); } else { if(this.listIndex + X >= 0 && this.listIndex + X < this._lists.length) { this.set_listIndex(this.listIndex + X); } else { this.set_listIndex(this._wrapX(X,this.listIndex,this._lists.length)); } if(X == -1) { this.set_location(this._widgets.length - 1); } } } currWidget = this._widgets[this.location]; } else { var nextY = this._findNextY(Y,this.location,this._widgets,null); if(nextY != -1) { this.set_location(nextY); currWidget = this._widgets[this.location]; } else if(this.wrap) { if(this._lists.length == 1) { this.set_location(this._wrapY(Y,this.location,this._widgets,null)); currWidget = this._widgets[this.location]; } else { var nextListY = this._findNextY(Y,this.listIndex,null,this._lists); if(nextListY != -1) { this.set_listIndex(nextListY); currWidget = this._widgets[this.location]; } else { this.set_listIndex(this._wrapY(Y,this.listIndex,null,this._lists)); } if(Y == -1) { this.set_location(this._widgets.length - 1); } } currWidget = this._widgets[this.location]; } } if(currWidget != null && this._widgets != null) { if(currWidget.visible == false && recursion < this._widgets.length) { this._doInput(X,Y,recursion + 1); return; } } if(this.callback != null) { this.callback("cursor_jump",currWidget); } } ,_updateCursor: function() { this._widgets = this._lists[this.listIndex].widgets; if(this.location < 0 || this._lists == null || this._widgets == null) { this.set_visible(false); return; } this.set_visible(this.set_active(true)); var currWidget = this._widgets[this.location]; var flippedX = false; var flippedY = false; if(currWidget != null) { var target = currWidget; if(((target) instanceof flixel_FlxSprite)) { var fs = target; if(fs != null && fs.scrollFactor != null) { this.scrollFactor.set(fs.scrollFactor.x,fs.scrollFactor.y); } } if(((currWidget) instanceof flixel_addons_ui_FlxUICheckBox)) { var check = target; target = check.box; } this.anchor.anchorThing(this,target); if(this.x < 0) { this._flipAnchor("left",target); flippedX = true; } else if(this.x > flixel_FlxG.width + this.get_width()) { this._flipAnchor("right",target); flippedX = true; } if(this.y < 0) { this._flipAnchor("top",target); flippedY = true; } else if(this.y > flixel_FlxG.height + this.get_height()) { this._flipAnchor("bottom",target); flippedY = true; } this.set_flipX(flippedX); this.set_flipY(flippedY); } } ,_flipAnchor: function(AnchorDir,destination) { var theAnchor = null; switch(AnchorDir) { case "bottom": if(this.anchor.y.side == "bottom") { this._bottomAnchor = this.anchor.getFlipped(true,false,this._bottomAnchor); theAnchor = this._bottomAnchor; } break; case "left": if(this.anchor.x.side == "left") { this._leftAnchor = this.anchor.getFlipped(true,false,this._leftAnchor); theAnchor = this._leftAnchor; } break; case "right": if(this.anchor.x.side == "right") { this._topAnchor = this.anchor.getFlipped(true,false,this._rightAnchor); theAnchor = this._rightAnchor; } break; case "top": if(this.anchor.y.side == "top") { this._topAnchor = this.anchor.getFlipped(true,false,this._topAnchor); theAnchor = this._topAnchor; } break; } if(theAnchor != null) { theAnchor.anchorThing(this,destination); } } ,__class__: flixel_addons_ui_FlxUICursor ,__properties__: $extend(flixel_addons_ui_FlxUISprite.prototype.__properties__,{set_gamepad:"set_gamepad",get_gamepad:"get_gamepad",set_listIndex:"set_listIndex",set_location:"set_location"}) }); var flixel_addons_ui_GamepadAutoConnectPreference = $hxEnums["flixel.addons.ui.GamepadAutoConnectPreference"] = { __ename__ : "flixel.addons.ui.GamepadAutoConnectPreference", __constructs__ : ["Never","FirstActive","LastActive","GamepadID"] ,Never: {_hx_index:0,__enum__:"flixel.addons.ui.GamepadAutoConnectPreference",toString:$estr} ,FirstActive: {_hx_index:1,__enum__:"flixel.addons.ui.GamepadAutoConnectPreference",toString:$estr} ,LastActive: {_hx_index:2,__enum__:"flixel.addons.ui.GamepadAutoConnectPreference",toString:$estr} ,GamepadID: ($_=function(i) { return {_hx_index:3,i:i,__enum__:"flixel.addons.ui.GamepadAutoConnectPreference",toString:$estr}; },$_.__params__ = ["i"],$_) }; var flixel_addons_ui_SortMethod = $hxEnums["flixel.addons.ui.SortMethod"] = { __ename__ : "flixel.addons.ui.SortMethod", __constructs__ : ["XY","ID"] ,XY: {_hx_index:0,__enum__:"flixel.addons.ui.SortMethod",toString:$estr} ,ID: {_hx_index:1,__enum__:"flixel.addons.ui.SortMethod",toString:$estr} }; var flixel_addons_ui_FlxUIDropDownMenu = function(X,Y,DataList,Callback,Header,DropPanel,ButtonList,UIControlCallback) { if(Y == null) { Y = 0; } if(X == null) { X = 0; } this.dropDirection = flixel_addons_ui_FlxUIDropDownMenuDropDirection.Automatic; this.list = []; flixel_addons_ui_FlxUIGroup.call(this,X,Y); this.callback = Callback; this.header = Header; this.dropPanel = DropPanel; if(this.header == null) { this.header = new flixel_addons_ui_FlxUIDropDownHeader(); } if(this.dropPanel == null) { var rect = new openfl_geom_Rectangle(0,0,this.header.background.get_width(),this.header.background.get_height()); this.dropPanel = new flixel_addons_ui_FlxUI9SliceSprite(0,0,"flixel/flixel-ui/img/box.png",rect,[1,1,14,14]); } if(DataList != null) { var _g = 0; var _g1 = DataList.length; while(_g < _g1) { var i = _g++; var data = DataList[i]; this.list.push(this.makeListButton(i,data.label,data.name)); } this.selectSomething(DataList[0].name,DataList[0].label); } else if(ButtonList != null) { var _g2 = 0; while(_g2 < ButtonList.length) { var btn = ButtonList[_g2]; ++_g2; this.list.push(btn); btn.resize(this.header.background.get_width(),this.header.background.get_height()); btn.set_x(1); } } this.updateButtonPositions(); this.dropPanel.resize(this.header.background.get_width(),this.getPanelHeight()); this.dropPanel.set_visible(false); this.add(this.dropPanel); var _g3 = 0; var _g11 = this.list; while(_g3 < _g11.length) { var btn1 = _g11[_g3]; ++_g3; this.add(btn1); btn1.set_visible(false); } this.header.button.onUp.callback = $bind(this,this.onDropdown); this.add(this.header); }; $hxClasses["flixel.addons.ui.FlxUIDropDownMenu"] = flixel_addons_ui_FlxUIDropDownMenu; flixel_addons_ui_FlxUIDropDownMenu.__name__ = "flixel.addons.ui.FlxUIDropDownMenu"; flixel_addons_ui_FlxUIDropDownMenu.__interfaces__ = [flixel_addons_ui_interfaces_IHasParams,flixel_addons_ui_interfaces_IFlxUIClickable,flixel_addons_ui_interfaces_IFlxUIWidget]; flixel_addons_ui_FlxUIDropDownMenu.makeStrIdLabelArray = function(StringArray,UseIndexID) { if(UseIndexID == null) { UseIndexID = false; } var strIdArray = []; var _g = 0; var _g1 = StringArray.length; while(_g < _g1) { var i = _g++; var ID = StringArray[i]; if(UseIndexID) { ID = i == null ? "null" : "" + i; } strIdArray[i] = new flixel_addons_ui_StrNameLabel(ID,StringArray[i]); } return strIdArray; }; flixel_addons_ui_FlxUIDropDownMenu.__super__ = flixel_addons_ui_FlxUIGroup; flixel_addons_ui_FlxUIDropDownMenu.prototype = $extend(flixel_addons_ui_FlxUIGroup.prototype,{ skipButtonUpdate: null ,set_skipButtonUpdate: function(b) { this.skipButtonUpdate = b; this.header.button.set_skipButtonUpdate(b); return b; } ,_selectedId: null ,_selectedLabel: null ,get_selectedId: function() { return this._selectedId; } ,set_selectedId: function(str) { if(this._selectedId == str) { return str; } var i = 0; var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var btn = _g1[_g]; ++_g; if(btn != null && btn.name == str) { var item = this.list[i]; this._selectedId = str; if(item.label != null) { this._selectedLabel = item.label.text; this.header.text.set_text(item.label.text); } else { this._selectedLabel = ""; this.header.text.set_text(""); } return str; } ++i; } return str; } ,get_selectedLabel: function() { return this._selectedLabel; } ,set_selectedLabel: function(str) { if(this._selectedLabel == str) { return str; } var i = 0; var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var btn = _g1[_g]; ++_g; if(btn.label.text == str) { var item = this.list[i]; this._selectedId = item.name; this._selectedLabel = str; this.header.text.set_text(str); return str; } ++i; } return str; } ,header: null ,list: null ,dropPanel: null ,params: null ,set_params: function(p) { return this.params = p; } ,dropDirection: null ,set_dropDirection: function(dropDirection) { this.dropDirection = dropDirection; this.updateButtonPositions(); return dropDirection; } ,callback: null ,updateButtonPositions: function() { var buttonHeight = this.header.background.get_height(); this.dropPanel.set_y(this.header.background.y); if(this.dropsUp()) { var _g = this.dropPanel; _g.set_y(_g.y - this.getPanelHeight()); } else { var _g1 = this.dropPanel; _g1.set_y(_g1.y + buttonHeight); } var offset = this.dropPanel.y; var _g2 = 0; var _g11 = this.list; while(_g2 < _g11.length) { var button = _g11[_g2]; ++_g2; button.set_y(offset); offset += buttonHeight; } } ,set_visible: function(Value) { var vDropPanel = this.dropPanel.visible; var vButtons = []; var _g = 0; var _g1 = this.list.length; while(_g < _g1) { var i = _g++; if(this.list[i] != null) { vButtons.push(this.list[i].visible); } else { vButtons.push(false); } } flixel_addons_ui_FlxUIGroup.prototype.set_visible.call(this,Value); this.dropPanel.set_visible(vDropPanel); var _g2 = 0; var _g3 = this.list.length; while(_g2 < _g3) { var i1 = _g2++; if(this.list[i1] != null) { this.list[i1].set_visible(vButtons[i1]); } } return Value; } ,dropsUp: function() { if(this.dropDirection != flixel_addons_ui_FlxUIDropDownMenuDropDirection.Up) { if(this.dropDirection == flixel_addons_ui_FlxUIDropDownMenuDropDirection.Automatic) { return this.exceedsHeight(); } else { return false; } } else { return true; } } ,exceedsHeight: function() { return this.y + this.getPanelHeight() + this.header.background.get_height() > flixel_FlxG.height; } ,getPanelHeight: function() { return this.list.length * this.header.background.get_height(); } ,setData: function(DataList) { var i = 0; if(DataList != null) { var _g = 0; while(_g < DataList.length) { var data = DataList[_g]; ++_g; var recycled = false; if(this.list != null) { if(i <= this.list.length - 1) { var btn = this.list[i]; if(btn != null) { btn.label.set_text(data.label); this.list[i].name = data.name; recycled = true; } } } else { this.list = []; } if(!recycled) { var t = this.makeListButton(i,data.label,data.name); this.list.push(t); this.add(t); t.set_visible(false); } ++i; } if(this.list.length > DataList.length) { var _g1 = DataList.length; var _g2 = this.list.length; while(_g1 < _g2) { var j = _g1++; var b = this.list.pop(); b.set_visible(false); b.set_active(false); this.remove(b,true); b.destroy(); b = null; } } this.selectSomething(DataList[0].name,DataList[0].label); } this.dropPanel.resize(this.header.background.get_width(),this.getPanelHeight()); this.updateButtonPositions(); } ,selectSomething: function(name,label) { this.header.text.set_text(label); this.set_selectedId(name); this.set_selectedLabel(label); } ,makeListButton: function(i,Label,Name) { var t = new flixel_addons_ui_FlxUIButton(0,0,Label); t.broadcastToFlxUI = false; var f = $bind(this,this.onClickItem); var i1 = i; var tmp = function() { f(i1); }; t.onUp.callback = tmp; t.name = Name; t.loadGraphicSlice9(["flixel/flixel-ui/img/invis.png","flixel/flixel-ui/img/hilight.png","flixel/flixel-ui/img/hilight.png"],this.header.background.get_width() | 0,this.header.background.get_height() | 0,[[1,1,3,3],[1,1,3,3],[1,1,3,3]],0); var _g = t.labelOffsets[2]; _g.set_y(_g.y - 1); t.up_color = -16777216; t.over_color = -1; t.down_color = -1; t.resize(this.header.background.get_width() - 2,this.header.background.get_height() - 1); t.label.set_alignment("left"); t.autoCenterLabel(); t.set_x(1); var _g1 = 0; var _g11 = t.labelOffsets; while(_g1 < _g11.length) { var offset = _g11[_g1]; ++_g1; var _g2 = offset; _g2.set_x(_g2.x + 2); } return t; } ,changeLabelByIndex: function(i,NewLabel) { var btn = this.getBtnByIndex(i); if(btn != null && btn.label != null) { btn.label.set_text(NewLabel); } } ,changeLabelById: function(name,NewLabel) { var btn = this.getBtnById(name); if(btn != null && btn.label != null) { btn.label.set_text(NewLabel); } } ,getBtnByIndex: function(i) { if(i >= 0 && i < this.list.length) { return this.list[i]; } return null; } ,getBtnById: function(name) { var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var btn = _g1[_g]; ++_g; if(btn.name == name) { return btn; } } return null; } ,update: function(elapsed) { flixel_addons_ui_FlxUIGroup.prototype.update.call(this,elapsed); if(this.dropPanel.visible && flixel_FlxG.mouse._leftButton.current == 2) { if(!flixel_FlxG.mouse.overlaps(this)) { this.showList(false); } } } ,destroy: function() { flixel_addons_ui_FlxUIGroup.prototype.destroy.call(this); this.dropPanel = flixel_util_FlxDestroyUtil.destroy(this.dropPanel); this.list = flixel_util_FlxDestroyUtil.destroyArray(this.list); this.callback = null; } ,showList: function(b) { var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var button = _g1[_g]; ++_g; button.set_visible(b); button.set_active(b); } this.dropPanel.set_visible(b); flixel_addons_ui_FlxUI.forceFocus(b,this); } ,onDropdown: function() { if(this.dropPanel.visible) { this.showList(false); } else { this.showList(true); } } ,onClickItem: function(i) { var item = this.list[i]; this.selectSomething(item.name,item.label.text); this.showList(false); if(this.callback != null) { this.callback(item.name); } if(this.broadcastToFlxUI) { flixel_addons_ui_FlxUI.event("click_dropdown",this,item.name,this.params); } } ,__class__: flixel_addons_ui_FlxUIDropDownMenu ,__properties__: $extend(flixel_addons_ui_FlxUIGroup.prototype.__properties__,{set_dropDirection:"set_dropDirection",set_params:"set_params",set_selectedLabel:"set_selectedLabel",get_selectedLabel:"get_selectedLabel",set_selectedId:"set_selectedId",get_selectedId:"get_selectedId",set_skipButtonUpdate:"set_skipButtonUpdate"}) }); var flixel_addons_ui_FlxUIDropDownHeader = function(Width,Background,Text1,Button) { if(Width == null) { Width = 120; } flixel_addons_ui_FlxUIGroup.call(this); this.background = Background; this.text = Text1; this.button = Button; if(this.background == null) { this.background = new flixel_addons_ui_FlxUI9SliceSprite(0,0,"flixel/flixel-ui/img/box.png",new openfl_geom_Rectangle(0,0,Width,20),[1,1,14,14]); } if(this.button == null) { this.button = new flixel_addons_ui_FlxUISpriteButton(0,0,new flixel_FlxSprite(0,0,"flixel/flixel-ui/img/dropdown_mark.png")); this.button.loadGraphicSlice9(["flixel/flixel-ui/img/button_thin.png"],80,20,[flixel_util_FlxStringUtil.toIntArray("6,6,11,11")],0,-1,false,18,18); } this.button.resize(this.background.get_height(),this.background.get_height()); this.button.set_x(this.background.x + this.background.get_width() - this.button.get_width()); this.button.set_width(Width); var _g = this.button.offset; _g.set_x(_g.x - (Width - this.button.frameWidth)); this.button.set_x(this.offset.x); var _g1 = this.button.label.offset; _g1.set_x(_g1.x + this.button.offset.x); if(this.text == null) { this.text = new flixel_addons_ui_FlxUIText(0,0,this.background.get_width() | 0); } this.text.setPosition(2,4); this.text.set_color(-16777216); this.add(this.background); this.add(this.button); this.add(this.text); }; $hxClasses["flixel.addons.ui.FlxUIDropDownHeader"] = flixel_addons_ui_FlxUIDropDownHeader; flixel_addons_ui_FlxUIDropDownHeader.__name__ = "flixel.addons.ui.FlxUIDropDownHeader"; flixel_addons_ui_FlxUIDropDownHeader.__super__ = flixel_addons_ui_FlxUIGroup; flixel_addons_ui_FlxUIDropDownHeader.prototype = $extend(flixel_addons_ui_FlxUIGroup.prototype,{ background: null ,text: null ,button: null ,destroy: function() { flixel_addons_ui_FlxUIGroup.prototype.destroy.call(this); this.background = flixel_util_FlxDestroyUtil.destroy(this.background); this.text = flixel_util_FlxDestroyUtil.destroy(this.text); this.button = flixel_util_FlxDestroyUtil.destroy(this.button); } ,__class__: flixel_addons_ui_FlxUIDropDownHeader }); var flixel_addons_ui_FlxUIDropDownMenuDropDirection = $hxEnums["flixel.addons.ui.FlxUIDropDownMenuDropDirection"] = { __ename__ : "flixel.addons.ui.FlxUIDropDownMenuDropDirection", __constructs__ : ["Automatic","Down","Up"] ,Automatic: {_hx_index:0,__enum__:"flixel.addons.ui.FlxUIDropDownMenuDropDirection",toString:$estr} ,Down: {_hx_index:1,__enum__:"flixel.addons.ui.FlxUIDropDownMenuDropDirection",toString:$estr} ,Up: {_hx_index:2,__enum__:"flixel.addons.ui.FlxUIDropDownMenuDropDirection",toString:$estr} }; var flixel_addons_ui_FlxUIInputText = function(X,Y,Width,Text1,size,TextColor,BackgroundColor,EmbeddedFont) { this.broadcastToFlxUI = true; flixel_addons_ui_FlxInputText.call(this,X,Y,Width,Text1,size,TextColor,BackgroundColor,EmbeddedFont); }; $hxClasses["flixel.addons.ui.FlxUIInputText"] = flixel_addons_ui_FlxUIInputText; flixel_addons_ui_FlxUIInputText.__name__ = "flixel.addons.ui.FlxUIInputText"; flixel_addons_ui_FlxUIInputText.__interfaces__ = [flixel_addons_ui_interfaces_IHasParams,flixel_addons_ui_interfaces_IFlxUIWidget,flixel_addons_ui_interfaces_IResizable]; flixel_addons_ui_FlxUIInputText.__super__ = flixel_addons_ui_FlxInputText; flixel_addons_ui_FlxUIInputText.prototype = $extend(flixel_addons_ui_FlxInputText.prototype,{ name: null ,broadcastToFlxUI: null ,resize: function(w,h) { this.set_width(w); this.set_height(h); this.calcFrame(); } ,onChange: function(action) { flixel_addons_ui_FlxInputText.prototype.onChange.call(this,action); if(this.broadcastToFlxUI) { switch(action) { case "backspace":case "delete": flixel_addons_ui_FlxUI.event("delete_input_text",this,this.text,this.params); flixel_addons_ui_FlxUI.event("change_input_text",this,this.text,this.params); break; case "enter": flixel_addons_ui_FlxUI.event("enter_input_text",this,this.text,this.params); break; case "input": flixel_addons_ui_FlxUI.event("input_input_text",this,this.text,this.params); flixel_addons_ui_FlxUI.event("change_input_text",this,this.text,this.params); break; } } } ,__class__: flixel_addons_ui_FlxUIInputText }); var flixel_addons_ui_FlxUILine = function(X,Y,Axis,Length,Thickness,Color) { this.thickness = 1; this.length = 10; this.axis = flixel_addons_ui_LineAxis.HORIZONTAL; flixel_addons_ui_FlxUISprite.call(this,X,Y); this.makeGraphic(2,2,-1); this.set_color(Color); this.set_axis(Axis); this.set_length(Length); this.set_thickness(Thickness); }; $hxClasses["flixel.addons.ui.FlxUILine"] = flixel_addons_ui_FlxUILine; flixel_addons_ui_FlxUILine.__name__ = "flixel.addons.ui.FlxUILine"; flixel_addons_ui_FlxUILine.__interfaces__ = [flixel_addons_ui_interfaces_IResizable]; flixel_addons_ui_FlxUILine.__super__ = flixel_addons_ui_FlxUISprite; flixel_addons_ui_FlxUILine.prototype = $extend(flixel_addons_ui_FlxUISprite.prototype,{ axis: null ,length: null ,thickness: null ,set_axis: function(a) { this.axis = a; this.refresh(); return a; } ,set_length: function(l) { this.length = l; this.refresh(); return l; } ,set_thickness: function(t) { this.thickness = t; this.refresh(); return t; } ,refresh: function() { if(this.axis == flixel_addons_ui_LineAxis.HORIZONTAL) { this.scale.set(0.5 * this.length,0.5 * this.thickness); } else { this.scale.set(0.5 * this.thickness,0.5 * this.length); } this.updateHitbox(); } ,resize: function(width,height) { if(this.axis == flixel_addons_ui_LineAxis.HORIZONTAL) { this.set_length(width); this.set_thickness(height); } else { this.set_length(height); this.set_thickness(width); } } ,__class__: flixel_addons_ui_FlxUILine ,__properties__: $extend(flixel_addons_ui_FlxUISprite.prototype.__properties__,{set_thickness:"set_thickness",set_length:"set_length",set_axis:"set_axis"}) }); var flixel_addons_ui_LineAxis = $hxEnums["flixel.addons.ui.LineAxis"] = { __ename__ : "flixel.addons.ui.LineAxis", __constructs__ : ["HORIZONTAL","VERTICAL"] ,HORIZONTAL: {_hx_index:0,__enum__:"flixel.addons.ui.LineAxis",toString:$estr} ,VERTICAL: {_hx_index:1,__enum__:"flixel.addons.ui.LineAxis",toString:$estr} }; var flixel_addons_ui_FlxUIList = function(X,Y,Widgets,W,H,MoreString,Stacking,Spacing,PrevButtonOffset,NextButtonOffset,PrevButton,NextButton) { if(Spacing == null) { Spacing = 0; } if(Stacking == null) { Stacking = 1; } if(MoreString == null) { MoreString = "<X> more..."; } if(H == null) { H = 0; } if(W == null) { W = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } this._skipRefresh = false; this.scrollIndex = 0; this._skipRefresh = true; flixel_addons_ui_FlxUIGroup.call(this,X,Y); this.set_stacking(Stacking); this.set_spacing(Spacing); if(Widgets != null) { var _g = 0; while(_g < Widgets.length) { var widget = Widgets[_g]; ++_g; this.add(widget); } } this.prevButton = PrevButton; this.nextButton = NextButton; this.prevButtonOffset = PrevButtonOffset; this.nextButtonOffset = NextButtonOffset; this.set_moreString(MoreString); if(this.prevButton == null) { var f = $bind(this,this.onClick); var pButton = new flixel_addons_ui_FlxUIButton(0,0," ",function() { f(-1); }); if(this.stacking == 0) { pButton.loadGraphicsUpOverDown("flixel/flixel-ui/img/button_arrow_left.png"); pButton.label.set_width(pButton.label.set_fieldWidth(100)); pButton.label.set_text(this.getMoreString(0)); pButton.setAllLabelOffsets(pButton.get_width() - pButton.label.get_width(),pButton.get_height() + 2); pButton.label.set_alignment("right"); } else { pButton.loadGraphicsUpOverDown("flixel/flixel-ui/img/button_arrow_up.png"); pButton.label.set_width(pButton.label.set_fieldWidth(100)); pButton.label.set_text(this.getMoreString(0)); pButton.setAllLabelOffsets(0,0); pButton.setCenterLabelOffset(pButton.get_width() + 2,pButton.get_height() - pButton.label.get_height()); pButton.label.set_alignment("left"); } this.prevButton = pButton; } else { if(((this.prevButton) instanceof flixel_addons_ui_FlxUIButton)) { var fuib = this.prevButton; var f1 = $bind(this,this.onClick); var tmp = function() { f1(-1); }; fuib.onUp.callback = tmp; } if(((this.prevButton) instanceof flixel_addons_ui_FlxUISpriteButton)) { var fusb = this.prevButton; var f2 = $bind(this,this.onClick); var tmp1 = function() { f2(-1); }; fusb.onUp.callback = tmp1; } } if(this.nextButton == null) { var f3 = $bind(this,this.onClick); var nButton = new flixel_addons_ui_FlxUIButton(0,0," ",function() { f3(1); }); if(this.stacking == 0) { nButton.loadGraphicsUpOverDown("flixel/flixel-ui/img/button_arrow_right.png"); nButton.label.set_width(nButton.label.set_fieldWidth(100)); nButton.label.set_text(this.getMoreString(0)); nButton.setAllLabelOffsets(0,nButton.get_height() + 2); nButton.label.set_alignment("left"); } else { nButton.loadGraphicsUpOverDown("flixel/flixel-ui/img/button_arrow_down.png"); nButton.label.set_width(nButton.label.set_fieldWidth(100)); nButton.label.set_text(this.getMoreString(0)); nButton.setAllLabelOffsets(0,0); nButton.setCenterLabelOffset(nButton.get_width() + 2,0); nButton.label.set_alignment("left"); } this.nextButton = nButton; } else { if(((this.nextButton) instanceof flixel_addons_ui_FlxUIButton)) { var fuib1 = this.nextButton; var f4 = $bind(this,this.onClick); var tmp2 = function() { f4(1); }; fuib1.onUp.callback = tmp2; } if(((this.nextButton) instanceof flixel_addons_ui_FlxUISpriteButton)) { var fusb1 = this.nextButton; var f5 = $bind(this,this.onClick); var tmp3 = function() { f5(1); }; fusb1.onUp.callback = tmp3; } } if(this.prevButtonOffset == null) { var X1 = 0; var Y1 = 0; if(Y1 == null) { Y1 = 0; } if(X1 == null) { X1 = 0; } var point = flixel_math_FlxPoint._pool.get().set(X1,Y1); point._inPool = false; this.prevButtonOffset = point; } if(this.nextButtonOffset == null) { var X2 = 0; var Y2 = 0; if(Y2 == null) { Y2 = 0; } if(X2 == null) { X2 = 0; } var point1 = flixel_math_FlxPoint._pool.get().set(X2,Y2); point1._inPool = false; this.nextButtonOffset = point1; } this._skipRefresh = false; this.setSize(W,H); }; $hxClasses["flixel.addons.ui.FlxUIList"] = flixel_addons_ui_FlxUIList; flixel_addons_ui_FlxUIList.__name__ = "flixel.addons.ui.FlxUIList"; flixel_addons_ui_FlxUIList.__super__ = flixel_addons_ui_FlxUIGroup; flixel_addons_ui_FlxUIList.prototype = $extend(flixel_addons_ui_FlxUIGroup.prototype,{ scrollIndex: null ,set_scrollIndex: function(i) { this.scrollIndex = i; this.refreshList(); return i; } ,stacking: null ,set_stacking: function(Stacking) { this.stacking = Stacking; this.refreshList(); return Stacking; } ,spacing: null ,set_spacing: function(Spacing) { this.spacing = Spacing; this.refreshList(); return Spacing; } ,prevButtonOffset: null ,nextButtonOffset: null ,prevButton: null ,nextButton: null ,moreString: null ,set_moreString: function(str) { this.moreString = str; this.refreshList(); return this.moreString; } ,amountPrevious: null ,amountNext: null ,destroy: function() { this.prevButton = null; this.nextButton = null; this.prevButtonOffset.put(); this.nextButtonOffset.put(); this.prevButtonOffset = null; this.nextButtonOffset = null; flixel_addons_ui_FlxUIGroup.prototype.destroy.call(this); } ,setSize: function(W,H) { var flip = false; if(this._skipRefresh == false) { this._skipRefresh = true; flip = true; } this.set_width(W); this.set_height(H); if(flip) { this._skipRefresh = false; } this.refreshList(); } ,add: function(Object1) { flixel_addons_ui_FlxUIGroup.prototype.add.call(this,Object1); this.refreshList(); return Object1; } ,safeAdd: function(Object1) { return flixel_addons_ui_FlxUIGroup.prototype.add.call(this,Object1); } ,_skipRefresh: null ,getMoreString: function(i) { var newString = this.moreString; while(newString.indexOf("<X>") != -1) newString = StringTools.replace(newString,"<X>",i == null ? "null" : "" + i); return newString; } ,set_visible: function(Value) { flixel_addons_ui_FlxUIGroup.prototype.set_visible.call(this,Value); this.refreshList(); return Value; } ,onClick: function(i) { var _g = this; _g.set_scrollIndex(_g.scrollIndex + i); this.refreshList(); } ,refreshList: function() { if(this._skipRefresh) { return; } this.autoBounds = false; if(this.group.members.indexOf(this.prevButton) != -1) { this.remove(this.prevButton,true); } if(this.group.members.indexOf(this.nextButton) != -1) { this.remove(this.nextButton,true); } var XX = 0; var YY = 0; var i = 0; var inBounds = true; if(this.stacking == 0) { this.prevButton.set_x(this.prevButtonOffset.x - this.prevButton.get_width() - 2); this.prevButton.set_y(this.prevButtonOffset.y); this.nextButton.set_x(this.nextButtonOffset.x + this.get_width() + 2); this.nextButton.set_y(this.nextButtonOffset.y); } else { this.prevButton.set_x(this.prevButtonOffset.x); this.prevButton.set_y(this.prevButtonOffset.y - this.prevButton.get_height() - 2); this.nextButton.set_x(this.nextButtonOffset.x); this.nextButton.set_y(this.nextButtonOffset.y + this.get_height() + 2); } this.prevButton.set_x(this.prevButton.x | 0); this.prevButton.set_y(this.prevButton.y | 0); this.nextButton.set_x(this.nextButton.x | 0); this.nextButton.set_y(this.nextButton.y | 0); var highestIndex = 0; var _g = 0; var _g1 = this.group.members; while(_g < _g1.length) { var widget = _g1[_g]; ++_g; inBounds = false; if(i >= this.scrollIndex) { if(this.stacking == 1) { inBounds = YY + widget.get_height() <= this.get_height() || this.get_height() <= 0; } else { inBounds = XX + widget.get_width() <= this.get_width() || this.get_width() <= 0; } } if(inBounds) { highestIndex = i; widget.set_visible(widget.set_active(true)); widget.set_x(this.x + XX); widget.set_y(this.y + YY); if(this.stacking == 1) { YY += widget.get_height() + this.spacing; } else { XX += widget.get_width() + this.spacing; } } else { widget.set_x(widget.set_y(0)); widget.set_visible(widget.set_active(false)); } ++i; } this.amountPrevious = this.scrollIndex; this.amountNext = this.group.members.length - (highestIndex + 1); var fuibutton; if(this.amountPrevious > 0) { this.safeAdd(this.prevButton); if(((this.prevButton) instanceof flixel_addons_ui_FlxUIButton)) { fuibutton = this.prevButton; fuibutton.label.set_text(this.getMoreString(this.amountPrevious)); } } if(this.amountNext > 0) { this.safeAdd(this.nextButton); if(((this.nextButton) instanceof flixel_addons_ui_FlxUIButton)) { fuibutton = this.nextButton; fuibutton.label.set_text(this.getMoreString(this.amountNext)); } } } ,get_width: function() { return this.width; } ,get_height: function() { return this.height; } ,set_width: function(W) { this.width = W; this.refreshList(); return W; } ,set_height: function(H) { this.height = H; this.refreshList(); return H; } ,__class__: flixel_addons_ui_FlxUIList ,__properties__: $extend(flixel_addons_ui_FlxUIGroup.prototype.__properties__,{set_moreString:"set_moreString",set_spacing:"set_spacing",set_stacking:"set_stacking",set_scrollIndex:"set_scrollIndex"}) }); var flixel_input_FlxPointer = function() { this._globalScreenY = 0; this._globalScreenX = 0; this.screenY = 0; this.screenX = 0; this.y = 0; this.x = 0; }; $hxClasses["flixel.input.FlxPointer"] = flixel_input_FlxPointer; flixel_input_FlxPointer.__name__ = "flixel.input.FlxPointer"; flixel_input_FlxPointer.prototype = { x: null ,y: null ,screenX: null ,screenY: null ,_globalScreenX: null ,_globalScreenY: null ,getWorldPosition: function(Camera,point) { if(Camera == null) { Camera = flixel_FlxG.camera; } if(point == null) { var point1 = flixel_math_FlxPoint._pool.get().set(0,0); point1._inPool = false; point = point1; } this.getScreenPosition(Camera,flixel_input_FlxPointer._cachedPoint); point.set_x(flixel_input_FlxPointer._cachedPoint.x + Camera.scroll.x); point.set_y(flixel_input_FlxPointer._cachedPoint.y + Camera.scroll.y); return point; } ,getScreenPosition: function(Camera,point) { if(Camera == null) { Camera = flixel_FlxG.camera; } if(point == null) { var point1 = flixel_math_FlxPoint._pool.get().set(0,0); point1._inPool = false; point = point1; } point.set_x((this._globalScreenX - Camera.x + 0.5 * Camera.width * (Camera.zoom - Camera.initialZoom)) / Camera.zoom); point.set_y((this._globalScreenY - Camera.y + 0.5 * Camera.height * (Camera.zoom - Camera.initialZoom)) / Camera.zoom); return point; } ,getPositionInCameraView: function(Camera,point) { if(Camera == null) { Camera = flixel_FlxG.camera; } if(point == null) { var point1 = flixel_math_FlxPoint._pool.get().set(0,0); point1._inPool = false; point = point1; } point.set_x((this._globalScreenX - Camera.x) / Camera.zoom + Camera.viewOffsetX); point.set_y((this._globalScreenY - Camera.y) / Camera.zoom + Camera.viewOffsetY); return point; } ,getPosition: function(point) { if(point == null) { var point1 = flixel_math_FlxPoint._pool.get().set(0,0); point1._inPool = false; point = point1; } return point.set(this.x,this.y); } ,overlaps: function(ObjectOrGroup,Camera) { var _gthis = this; var result = false; var group = flixel_group_FlxTypedGroup.resolveGroup(ObjectOrGroup); if(group != null) { group.forEachExists(function(basic) { if(_gthis.overlaps(basic,Camera)) { result = true; return; } }); } else { this.getPosition(flixel_input_FlxPointer._cachedPoint); var object = ObjectOrGroup; result = object.overlapsPoint(flixel_input_FlxPointer._cachedPoint,true,Camera); } return result; } ,setGlobalScreenPositionUnsafe: function(newX,newY) { this._globalScreenX = newX / flixel_FlxG.scaleMode.scale.x | 0; this._globalScreenY = newY / flixel_FlxG.scaleMode.scale.y | 0; this.updatePositions(); } ,toString: function() { var value = this.x; var _this = flixel_util_LabelValuePair._pool.get(); _this.label = "x"; _this.value = value; var value1 = this.y; var _this1 = flixel_util_LabelValuePair._pool.get(); _this1.label = "y"; _this1.value = value1; return flixel_util_FlxStringUtil.getDebugString([_this,_this1]); } ,updatePositions: function() { this.getScreenPosition(flixel_FlxG.camera,flixel_input_FlxPointer._cachedPoint); this.screenX = flixel_input_FlxPointer._cachedPoint.x | 0; this.screenY = flixel_input_FlxPointer._cachedPoint.y | 0; this.getWorldPosition(flixel_FlxG.camera,flixel_input_FlxPointer._cachedPoint); this.x = flixel_input_FlxPointer._cachedPoint.x | 0; this.y = flixel_input_FlxPointer._cachedPoint.y | 0; } ,__class__: flixel_input_FlxPointer }; var flixel_input_IFlxInputManager = function() { }; $hxClasses["flixel.input.IFlxInputManager"] = flixel_input_IFlxInputManager; flixel_input_IFlxInputManager.__name__ = "flixel.input.IFlxInputManager"; flixel_input_IFlxInputManager.__isInterface__ = true; flixel_input_IFlxInputManager.__interfaces__ = [flixel_util_IFlxDestroyable]; flixel_input_IFlxInputManager.prototype = { reset: null ,update: null ,onFocus: null ,onFocusLost: null ,__class__: flixel_input_IFlxInputManager }; var flixel_input_mouse_FlxMouse = function(cursorContainer) { this._prevY = 0; this._prevX = 0; this._lastWheel = 0; this._lastY = 0; this._lastX = 0; this._visibleWhenFocusLost = true; this._wheelUsed = false; this._cursor = null; this.useSystemCursor = false; this.visible = true; this.wheel = 0; this.enabled = true; flixel_input_FlxPointer.call(this); this.cursorContainer = cursorContainer; this.cursorContainer.mouseChildren = false; this.cursorContainer.mouseEnabled = false; this._leftButton = new flixel_input_mouse_FlxMouseButton(-1); this._stage = openfl_Lib.get_current().stage; this._stage.addEventListener("mouseDown",($_=this._leftButton,$bind($_,$_.onDown))); this._stage.addEventListener("mouseUp",($_=this._leftButton,$bind($_,$_.onUp))); this._middleButton = new flixel_input_mouse_FlxMouseButton(-2); this._rightButton = new flixel_input_mouse_FlxMouseButton(-3); this._stage.addEventListener("middleMouseDown",($_=this._middleButton,$bind($_,$_.onDown))); this._stage.addEventListener("middleMouseUp",($_=this._middleButton,$bind($_,$_.onUp))); this._stage.addEventListener("rightMouseDown",($_=this._rightButton,$bind($_,$_.onDown))); this._stage.addEventListener("rightMouseUp",($_=this._rightButton,$bind($_,$_.onUp))); this._stage.addEventListener("mouseLeave",$bind(this,this.onMouseLeave)); this._stage.addEventListener("mouseWheel",$bind(this,this.onMouseWheel)); flixel_FlxG.signals.postGameStart.add($bind(this,this.onGameStart)); openfl_ui_Mouse.hide(); }; $hxClasses["flixel.input.mouse.FlxMouse"] = flixel_input_mouse_FlxMouse; flixel_input_mouse_FlxMouse.__name__ = "flixel.input.mouse.FlxMouse"; flixel_input_mouse_FlxMouse.__interfaces__ = [flixel_input_IFlxInputManager]; flixel_input_mouse_FlxMouse.__super__ = flixel_input_FlxPointer; flixel_input_mouse_FlxMouse.prototype = $extend(flixel_input_FlxPointer.prototype,{ enabled: null ,wheel: null ,cursorContainer: null ,visible: null ,useSystemCursor: null ,_leftButton: null ,_middleButton: null ,_rightButton: null ,_cursor: null ,_cursorBitmapData: null ,_wheelUsed: null ,_visibleWhenFocusLost: null ,_lastX: null ,_lastY: null ,_lastWheel: null ,_lastLeftButtonState: null ,_prevX: null ,_prevY: null ,_stage: null ,load: function(Graphic,Scale,XOffset,YOffset) { if(YOffset == null) { YOffset = 0; } if(XOffset == null) { XOffset = 0; } if(Scale == null) { Scale = 1; } if(this._cursor != null) { flixel_util_FlxDestroyUtil.removeChild(this.cursorContainer,this._cursor); } if(Graphic == null) { Graphic = new flixel_input_mouse__$FlxMouse_GraphicCursor(0,0); } if(js_Boot.__instanceof(Graphic,Class)) { this._cursor = Type.createInstance(Graphic,[]); } else if(((Graphic) instanceof openfl_display_BitmapData)) { this._cursor = new openfl_display_Bitmap(Graphic); } else if(typeof(Graphic) == "string") { var id = Graphic; this._cursor = new openfl_display_Bitmap(openfl_utils_Assets.exists(id) ? openfl_utils_Assets.getBitmapData(id,false) : null); } else { this._cursor = new openfl_display_Bitmap(new flixel_input_mouse__$FlxMouse_GraphicCursor(0,0)); } this._cursor.set_x(XOffset); this._cursor.set_y(YOffset); this._cursor.set_scaleX(Scale); this._cursor.set_scaleY(Scale); this.cursorContainer.addChild(this._cursor); } ,unload: function() { if(this._cursor != null) { if(this.cursorContainer.get_visible()) { this.load(); } else { this._cursor = flixel_util_FlxDestroyUtil.removeChild(this.cursorContainer,this._cursor); } } } ,destroy: function() { if(this._stage != null) { this._stage.removeEventListener("mouseDown",($_=this._leftButton,$bind($_,$_.onDown))); this._stage.removeEventListener("mouseUp",($_=this._leftButton,$bind($_,$_.onUp))); this._stage.removeEventListener("middleMouseDown",($_=this._middleButton,$bind($_,$_.onDown))); this._stage.removeEventListener("middleMouseUp",($_=this._middleButton,$bind($_,$_.onUp))); this._stage.removeEventListener("rightMouseDown",($_=this._rightButton,$bind($_,$_.onDown))); this._stage.removeEventListener("rightMouseUp",($_=this._rightButton,$bind($_,$_.onUp))); this._stage.removeEventListener("mouseLeave",$bind(this,this.onMouseLeave)); this._stage.removeEventListener("mouseWheel",$bind(this,this.onMouseWheel)); } this.cursorContainer = null; this._cursor = null; this._leftButton = flixel_util_FlxDestroyUtil.destroy(this._leftButton); this._middleButton = flixel_util_FlxDestroyUtil.destroy(this._middleButton); this._rightButton = flixel_util_FlxDestroyUtil.destroy(this._rightButton); this._cursorBitmapData = flixel_util_FlxDestroyUtil.dispose(this._cursorBitmapData); flixel_FlxG.signals.postGameStart.remove($bind(this,this.onGameStart)); } ,reset: function() { this._leftButton.reset(); this._middleButton.reset(); this._rightButton.reset(); } ,update: function() { this._prevX = this.x; this._prevY = this.y; var newX = flixel_FlxG.game.get_mouseX(); var newY = flixel_FlxG.game.get_mouseY(); this._globalScreenX = newX / flixel_FlxG.scaleMode.scale.x | 0; this._globalScreenY = newY / flixel_FlxG.scaleMode.scale.y | 0; this.updatePositions(); if(this.visible) { this.cursorContainer.set_x(flixel_FlxG.game.get_mouseX()); this.cursorContainer.set_y(flixel_FlxG.game.get_mouseY()); } this._leftButton.update(); this._middleButton.update(); this._rightButton.update(); if(!this._wheelUsed) { this.wheel = 0; } this._wheelUsed = false; } ,onFocus: function() { this.reset(); this.set_useSystemCursor(this.useSystemCursor); this.set_visible(this._visibleWhenFocusLost); } ,onFocusLost: function() { this._visibleWhenFocusLost = this.visible; if(this.visible) { this.set_visible(false); } openfl_ui_Mouse.show(); } ,onGameStart: function() { this.set_visible(this.visible); } ,onMouseWheel: function(flashEvent) { if(this.enabled) { this._wheelUsed = true; this.wheel = flashEvent.delta; } } ,onMouseLeave: function(_) { this._rightButton.onUp(); this._middleButton.onUp(); } ,get_justMoved: function() { if(this._prevX == this.x) { return this._prevY != this.y; } else { return true; } } ,get_pressed: function() { var _this = this._leftButton; if(_this.current != 1) { return _this.current == 2; } else { return true; } } ,get_justPressed: function() { return this._leftButton.current == 2; } ,get_justReleased: function() { return this._leftButton.current == -1; } ,get_justPressedTimeInTicks: function() { return this._leftButton.justPressedTimeInTicks; } ,get_pressedRight: function() { var _this = this._rightButton; if(_this.current != 1) { return _this.current == 2; } else { return true; } } ,get_justPressedRight: function() { return this._rightButton.current == 2; } ,get_justReleasedRight: function() { return this._rightButton.current == -1; } ,get_justPressedTimeInTicksRight: function() { return this._rightButton.justPressedTimeInTicks; } ,get_pressedMiddle: function() { var _this = this._middleButton; if(_this.current != 1) { return _this.current == 2; } else { return true; } } ,get_justPressedMiddle: function() { return this._middleButton.current == 2; } ,get_justReleasedMiddle: function() { return this._middleButton.current == -1; } ,get_justPressedTimeInTicksMiddle: function() { return this._middleButton.justPressedTimeInTicks; } ,showSystemCursor: function() { this.cursorContainer.set_visible(false); openfl_ui_Mouse.show(); } ,hideSystemCursor: function() { openfl_ui_Mouse.hide(); if(this.visible) { this.cursorContainer.set_visible(true); } } ,set_useSystemCursor: function(value) { if(value) { this.showSystemCursor(); } else { this.hideSystemCursor(); } return this.useSystemCursor = value; } ,showCursor: function() { if(this.useSystemCursor) { openfl_ui_Mouse.show(); } else { if(this._cursor == null) { this.load(); } this.cursorContainer.set_visible(true); openfl_ui_Mouse.hide(); } } ,hideCursor: function() { this.cursorContainer.set_visible(false); openfl_ui_Mouse.hide(); } ,set_visible: function(value) { if(value) { this.showCursor(); } else { this.hideCursor(); } return this.visible = value; } ,record: function() { if(this._lastX == this._globalScreenX && this._lastY == this._globalScreenY && this._lastLeftButtonState == this._leftButton.current && this._lastWheel == this.wheel) { return null; } this._lastX = this._globalScreenX; this._lastY = this._globalScreenY; this._lastLeftButtonState = this._leftButton.current; this._lastWheel = this.wheel; return new flixel_system_replay_MouseRecord(this._lastX,this._lastY,this._leftButton.current,this._lastWheel); } ,playback: function(record) { if((this._lastLeftButtonState == 1 || this._lastLeftButtonState == 2) && (record.button == 0 || record.button == -1)) { this._stage.dispatchEvent(new openfl_events_MouseEvent("mouseUp",true,false,record.x,record.y)); } this._lastLeftButtonState = this._leftButton.current = record.button; this.wheel = record.wheel; this._globalScreenX = record.x; this._globalScreenY = record.y; this.updatePositions(); } ,__class__: flixel_input_mouse_FlxMouse ,__properties__: {get_justPressedTimeInTicksMiddle:"get_justPressedTimeInTicksMiddle",get_justReleasedMiddle:"get_justReleasedMiddle",get_justPressedMiddle:"get_justPressedMiddle",get_pressedMiddle:"get_pressedMiddle",get_justPressedTimeInTicksRight:"get_justPressedTimeInTicksRight",get_justReleasedRight:"get_justReleasedRight",get_justPressedRight:"get_justPressedRight",get_pressedRight:"get_pressedRight",get_justPressedTimeInTicks:"get_justPressedTimeInTicks",get_justReleased:"get_justReleased",get_justPressed:"get_justPressed",get_pressed:"get_pressed",get_justMoved:"get_justMoved",set_useSystemCursor:"set_useSystemCursor",set_visible:"set_visible"} }); var flixel_addons_ui_FlxUIMouse = function(CursorContainer) { this.updateGlobalScreenPosition = true; flixel_input_mouse_FlxMouse.call(this,CursorContainer); }; $hxClasses["flixel.addons.ui.FlxUIMouse"] = flixel_addons_ui_FlxUIMouse; flixel_addons_ui_FlxUIMouse.__name__ = "flixel.addons.ui.FlxUIMouse"; flixel_addons_ui_FlxUIMouse.__super__ = flixel_input_mouse_FlxMouse; flixel_addons_ui_FlxUIMouse.prototype = $extend(flixel_input_mouse_FlxMouse.prototype,{ updateGlobalScreenPosition: null ,update: function() { var oldScreenX = this._globalScreenX; var oldScreenY = this._globalScreenY; flixel_input_mouse_FlxMouse.prototype.update.call(this); if(!this.updateGlobalScreenPosition) { this._globalScreenX = oldScreenX; this._globalScreenY = oldScreenY; } } ,__class__: flixel_addons_ui_FlxUIMouse }); var flixel_addons_ui_FlxUINumericStepper = function(X,Y,StepSize,DefaultValue,Min,Max,Decimals,Stack,TextField,ButtonPlus,ButtonMinus,IsPercent) { if(IsPercent == null) { IsPercent = false; } if(Stack == null) { Stack = 1; } if(Decimals == null) { Decimals = 0; } if(Max == null) { Max = 999; } if(Min == null) { Min = -999; } if(DefaultValue == null) { DefaultValue = 0; } if(StepSize == null) { StepSize = 1; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } this.isPercent = false; this.stack = 1; this.value = 0; this.max = 10; this.min = 0; this.decimals = 0; this.stepSize = 0; flixel_addons_ui_FlxUIGroup.call(this,X,Y); if(TextField == null) { TextField = new flixel_addons_ui_FlxUIInputText(0,0,25); } TextField.set_x(0); TextField.set_y(0); this.text_field = TextField; this.text_field.set_text(DefaultValue == null ? "null" : "" + DefaultValue); if(((this.text_field) instanceof flixel_addons_ui_FlxUIInputText)) { var fuit = this.text_field; fuit.set_lines(1); fuit.callback = $bind(this,this._onInputTextEvent); fuit.broadcastToFlxUI = false; } this.stepSize = StepSize; this.set_decimals(Decimals); this.set_min(Min); this.set_max(Max); this.set_value(DefaultValue); this.set_isPercent(IsPercent); var btnSize = 1 + TextField.get_height(); if(ButtonPlus == null) { ButtonPlus = new flixel_addons_ui_FlxUITypedButton(0,0); ButtonPlus.loadGraphicSlice9(["flixel/flixel-ui/img/button_thin.png"],btnSize,btnSize,[flixel_util_FlxStringUtil.toIntArray("2,2,15,15")],0,-1,false,18,18); ButtonPlus.set_label(new flixel_FlxSprite(0,0,"flixel/flixel-ui/img/plus_mark.png")); } if(ButtonMinus == null) { ButtonMinus = new flixel_addons_ui_FlxUITypedButton(0,0); ButtonMinus.loadGraphicSlice9(["flixel/flixel-ui/img/button_thin.png"],btnSize,btnSize,[flixel_util_FlxStringUtil.toIntArray("2,2,15,15")],0,-1,false,18,18); ButtonMinus.set_label(new flixel_FlxSprite(0,0,"flixel/flixel-ui/img/minus_mark.png")); } this.button_plus = ButtonPlus; this.button_minus = ButtonMinus; this.add(this.text_field); this.add(this.button_plus); this.add(this.button_minus); this.button_plus.onUp.callback = $bind(this,this._onPlus); this.button_plus.broadcastToFlxUI = false; this.button_minus.onUp.callback = $bind(this,this._onMinus); this.button_minus.broadcastToFlxUI = false; this.set_stack(Stack); }; $hxClasses["flixel.addons.ui.FlxUINumericStepper"] = flixel_addons_ui_FlxUINumericStepper; flixel_addons_ui_FlxUINumericStepper.__name__ = "flixel.addons.ui.FlxUINumericStepper"; flixel_addons_ui_FlxUINumericStepper.__interfaces__ = [flixel_addons_ui_interfaces_IHasParams,flixel_addons_ui_interfaces_IFlxUIClickable,flixel_addons_ui_interfaces_IFlxUIWidget]; flixel_addons_ui_FlxUINumericStepper.__super__ = flixel_addons_ui_FlxUIGroup; flixel_addons_ui_FlxUINumericStepper.prototype = $extend(flixel_addons_ui_FlxUIGroup.prototype,{ button_plus: null ,button_minus: null ,text_field: null ,stepSize: null ,decimals: null ,min: null ,max: null ,value: null ,stack: null ,isPercent: null ,params: null ,set_params: function(p) { this.params = p; return this.params; } ,skipButtonUpdate: null ,set_skipButtonUpdate: function(b) { this.skipButtonUpdate = b; this.button_plus.set_skipButtonUpdate(b); this.button_minus.set_skipButtonUpdate(b); return b; } ,set_color: function(Value) { this.color = Value; this.button_plus.set_color(Value); this.button_minus.set_color(Value); if(((this.text_field) instanceof flixel_addons_ui_FlxInputText)) { var fit = this.text_field; fit.set_backgroundColor(Value); } else { this.text_field.set_color(Value); } return Value; } ,set_min: function(f) { this.min = f; if(this.value < this.min) { this.set_value(this.min); } return this.min; } ,set_max: function(f) { this.max = f; if(this.value > this.max) { this.set_value(this.max); } return this.max; } ,set_value: function(f) { this.value = f; if(this.value < this.min) { this.value = this.min; } if(this.value > this.max) { this.value = this.max; } if(this.text_field != null) { var displayValue = this.value; if(this.isPercent) { displayValue *= 100; var tens = Math.pow(10,this.decimals); this.text_field.set_text(Std.string(Std.string(Math.round(displayValue * tens) / tens)) + "%"); } else { var tens1 = Math.pow(10,this.decimals); this.text_field.set_text(Std.string(Math.round(displayValue * tens1) / tens1)); } } return this.value; } ,set_decimals: function(i) { this.decimals = i; if(i < 0) { this.decimals = 0; } this.set_value(this.value); return this.decimals; } ,set_isPercent: function(b) { this.isPercent = b; this.set_value(this.value); return this.isPercent; } ,set_stack: function(s) { this.stack = s; var btnSize = 10; var offsetX = 0; var offsetY = 0; if(((this.text_field) instanceof flixel_addons_ui_FlxUIInputText)) { offsetX = 1; offsetY = 1; } switch(this.stack) { case 0: btnSize = 1 + this.text_field.get_height() / 2; if(this.button_plus.get_height() != btnSize) { this.button_plus.resize(btnSize,btnSize); } if(this.button_minus.get_height() != btnSize) { this.button_minus.resize(btnSize,btnSize); } this.button_plus.set_x(offsetX + this.text_field.x + this.text_field.get_width()); this.button_plus.set_y(-offsetY + this.text_field.y); this.button_minus.set_x(offsetX + this.text_field.x + this.text_field.get_width()); this.button_minus.set_y(offsetY + this.text_field.y + (this.text_field.get_height() - this.button_minus.get_height())); break; case 1: btnSize = 2 + this.text_field.get_height(); if(this.button_plus.get_height() != btnSize) { this.button_plus.resize(btnSize,btnSize); } if(this.button_minus.get_height() != btnSize) { this.button_minus.resize(btnSize,btnSize); } this.button_plus.set_x(offsetX + this.text_field.x + this.text_field.get_width()); this.button_plus.set_y(-offsetY + this.text_field.y); this.button_minus.set_x(this.button_plus.x + this.button_plus.get_width()); this.button_minus.set_y(this.button_plus.y); break; } return this.stack; } ,decimalize: function(f,digits) { var tens = Math.pow(10,digits); return Std.string(Math.round(f * tens) / tens); } ,_onInputTextEvent: function(text,action) { if(text == "") { text = Std.string(this.min); } var numDecimals = 0; var _g = 0; var _g1 = text.length; while(_g < _g1) { var i = _g++; var char = text.charAt(i); if(char == ".") { ++numDecimals; } } var justAddedDecimal = numDecimals == 1 && text.indexOf(".") == text.length - 1; if(!justAddedDecimal) { this.set_value(parseFloat(text)); this._doCallback("edit_numeric_stepper"); this._doCallback("change_numeric_stepper"); } } ,_onPlus: function() { var _g = this; _g.set_value(_g.value + this.stepSize); this._doCallback("click_numeric_stepper"); this._doCallback("change_numeric_stepper"); } ,_onMinus: function() { var _g = this; _g.set_value(_g.value - this.stepSize); this._doCallback("click_numeric_stepper"); this._doCallback("change_numeric_stepper"); } ,_doCallback: function(event_name) { if(this.broadcastToFlxUI) { flixel_addons_ui_FlxUI.event(event_name,this,this.value,this.params); } } ,__class__: flixel_addons_ui_FlxUINumericStepper ,__properties__: $extend(flixel_addons_ui_FlxUIGroup.prototype.__properties__,{set_skipButtonUpdate:"set_skipButtonUpdate",set_params:"set_params",set_isPercent:"set_isPercent",set_stack:"set_stack",set_value:"set_value",set_max:"set_max",set_min:"set_min",set_decimals:"set_decimals"}) }); var flixel_addons_ui_FlxUIRadioGroup = function(X,Y,ids_,labels_,callback_,y_space_,width_,height_,label_width_,MoreString,PrevButtonOffset,NextButtonOffset,PrevButton,NextButton) { if(MoreString == null) { MoreString = "<X> more..."; } if(label_width_ == null) { label_width_ = 100; } if(height_ == null) { height_ = 20; } if(width_ == null) { width_ = 100; } if(y_space_ == null) { y_space_ = 25; } this._clickable = true; this._selected = 0; this._y_space = 25; this._height = 20; this._width = 100; this._label_width = 100; this.fixedSize = false; flixel_addons_ui_FlxUIGroup.call(this); this._y_space = y_space_; this._width = width_; this._height = height_; this._label_width = label_width_; if(ids_ == null) { ids_ = []; } if(labels_ == null) { labels_ = []; } this.callback = callback_; this._list_radios = []; this._list_active = []; this._list = new flixel_addons_ui_FlxUIList(0,0,null,0,0,MoreString,1,0,PrevButtonOffset,NextButtonOffset,PrevButton,NextButton); this.add(this._list); this.updateRadios(ids_,labels_); this.loadGraphics(null,null); this.set_x(X); this.set_y(Y); }; $hxClasses["flixel.addons.ui.FlxUIRadioGroup"] = flixel_addons_ui_FlxUIRadioGroup; flixel_addons_ui_FlxUIRadioGroup.__name__ = "flixel.addons.ui.FlxUIRadioGroup"; flixel_addons_ui_FlxUIRadioGroup.__interfaces__ = [flixel_addons_ui_interfaces_IHasParams,flixel_addons_ui_interfaces_IFlxUIClickable]; flixel_addons_ui_FlxUIRadioGroup.__super__ = flixel_addons_ui_FlxUIGroup; flixel_addons_ui_FlxUIRadioGroup.prototype = $extend(flixel_addons_ui_FlxUIGroup.prototype,{ activeStyle: null ,set_activeStyle: function(b) { this.activeStyle = b; this.updateActives(); return this.activeStyle; } ,inactiveStyle: null ,set_inactiveStyle: function(b) { this.inactiveStyle = b; this.updateActives(); return this.inactiveStyle; } ,get_numRadios: function() { return this._list_radios.length; } ,skipButtonUpdate: null ,set_skipButtonUpdate: function(b) { this.skipButtonUpdate = b; var _g = 0; var _g1 = this._list_radios; while(_g < _g1.length) { var fcb = _g1[_g]; ++_g; fcb.set_skipButtonUpdate(b); } return this.skipButtonUpdate; } ,callback: null ,params: null ,set_params: function(p) { this.params = p; return this.params; } ,fixedSize: null ,set_width: function(Value) { flixel_addons_ui_FlxUIGroup.prototype.set_width.call(this,Value); if(this.fixedSize) { if(this._list != null) { this._list.set_width(Value); } } return Value; } ,set_height: function(Value) { flixel_addons_ui_FlxUIGroup.prototype.set_height.call(this,Value); if(this.fixedSize) { if(this._list != null) { this._list.set_height(Value); } } return Value; } ,loadGraphics: function(Box,Dot) { if(Box != null) { this._box_asset = Box; } else { this._box_asset = "flixel/flixel-ui/img/radio.png"; } if(Dot != null) { this._dot_asset = Dot; } else { this._dot_asset = "flixel/flixel-ui/img/radio_dot.png"; } if(((this._box_asset) instanceof flixel_FlxSprite)) { var fs = this._box_asset; this._box_asset = fs.graphic.key; } if(((this._dot_asset) instanceof flixel_FlxSprite)) { var fs1 = this._dot_asset; this._dot_asset = fs1.graphic.key; } var _g = 0; var _g1 = this._list_radios; while(_g < _g1.length) { var c = _g1[_g]; ++_g; c.box.loadGraphic(this._box_asset,true); c.mark.loadGraphic(this._dot_asset); } this._refreshRadios(); } ,destroy: function() { if(this._list_radios != null) { flixel_addons_ui_U.clearArray(this._list_radios); } if(this._list_active != null) { flixel_addons_ui_U.clearArray(this._list_active); } this._list_active = null; this._list_radios = null; this._list = null; this._ids = null; this._labels = null; flixel_addons_ui_FlxUIGroup.prototype.destroy.call(this); } ,updateLabel: function(i,label_) { if(i >= this._list_radios.length) { return false; } this._labels[i] = label_; var c = this._list_radios[i]; if(c != null) { c.button.set_width(this._label_width); c.set_text(label_); } return true; } ,updateId: function(i,id_) { if(i >= this._list_radios.length) { return false; } this._ids[i] = id_; return true; } ,show: function(b) { var _g = 0; var _g1 = this._list.group.members; while(_g < _g1.length) { var fo = _g1[_g]; ++_g; fo.set_visible(b); } } ,updateRadios: function(ids_,labels_) { this._ids = ids_; this._labels = labels_; var _g = 0; var _g1 = this._list_radios; while(_g < _g1.length) { var c = _g1[_g]; ++_g; c.set_visible(false); } this._refreshRadios(); } ,getRadios: function() { return this._list_radios; } ,getLabel: function(i) { if(i >= 0 && i < this._labels.length) { return this._labels[i]; } return null; } ,getId: function(i) { if(i >= 0 && i < this._ids.length) { return this._ids[i]; } return null; } ,getIsVisible: function(i) { if(i >= 0 && i < this._list_radios.length) { return this._list_radios[i].visible; } return false; } ,get_clickable: function() { return this._clickable; } ,set_clickable: function(b) { this._clickable = b; var _g = 0; var _g1 = this._list_radios; while(_g < _g1.length) { var c = _g1[_g]; ++_g; c.set_active(b); } return this._clickable; } ,get_selectedIndex: function() { return this._selected; } ,set_selectedIndex: function(i) { this._selected = i; var j = 0; var _g = 0; var _g1 = this._list_radios; while(_g < _g1.length) { var c = _g1[_g]; ++_g; c.set_checked(false); if(j == i) { c.set_checked(true); } ++j; } if(this._selected < 0 || this._selected >= this._list_radios.length) { this._selected = -1; } return this._selected; } ,get_selectedLabel: function() { return this._labels[this._selected]; } ,set_selectedLabel: function(str) { var i = 0; this._selected = -1; var _g = 0; var _g1 = this._list_radios; while(_g < _g1.length) { var c = _g1[_g]; ++_g; c.set_checked(false); if(this._labels[i] == str) { this._selected = i; c.set_checked(true); } ++i; } if(this._selected >= 0 && this._selected < this._labels.length) { return this._labels[this._selected]; } return null; } ,get_selectedId: function() { return this._ids[this._selected]; } ,set_selectedId: function(str) { var i = 0; this._selected = -1; var _g = 0; var _g1 = this._list_radios; while(_g < _g1.length) { var c = _g1[_g]; ++_g; c.set_checked(false); if(this._ids[i] == str) { this._selected = i; c.set_checked(true); } ++i; } if(this._selected >= 0 && this._selected < this._ids.length) { return this._ids[this._selected]; } return null; } ,setLineScroll: function(scroll,max_items) { this._list.set_scrollIndex(scroll); if(max_items != null) { if(this._list.stacking == 1) { this.set_height(this._y_space * max_items + 1); } } var X = this._list.amountPrevious; var Y = this._list.amountNext; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; return point; } ,setRadioActive: function(i,b) { if(i >= 0 && i < this._list_active.length) { this._list_active[i] = b; } this.updateActives(); } ,_list_active: null ,_list: null ,_box_asset: null ,_dot_asset: null ,_labels: null ,_ids: null ,_label_width: null ,_width: null ,_height: null ,_y_space: null ,_selected: null ,_clickable: null ,_list_radios: null ,_refreshRadios: function() { var xx = this.x; var yy = this.y; var i = 0; var maxX = 0; var maxY = 0; this._list._skipRefresh = true; var _g = 0; var _g1 = this._ids; while(_g < _g1.length) { var id = _g1[_g]; ++_g; var label = ""; if(this._labels != null && this._labels.length > i) { label = this._labels[i]; } else { label = "<" + id + ">"; } var c; if(this._list_radios.length > i) { c = this._list_radios[i]; c.set_visible(true); c.set_text(label); if(i == 0) { xx = c.x; yy = c.y; } else { c.set_x(xx | 0); c.set_y(yy | 0); } } else { c = new flixel_addons_ui_FlxUICheckBox(0,0,this._box_asset,this._dot_asset,label,this._label_width,[id,false]); c.broadcastToFlxUI = false; c.callback = (function(checkBox,f) { return function() { f[0](checkBox[0]); }; })([c],[$bind(this,this._onCheckBoxEvent)]); this._list.add(c); c.set_x(xx | 0); c.set_y(yy | 0); c.set_text(label); if(this._list_radios.length > 0) { c.button.copyStyle(this._list_radios[0].button); if(this.activeStyle == null) { this.set_activeStyle(this.makeActiveStyle()); } c.button.set_width(this._list_radios[0].button.get_width()); c.button.set_height(this._list_radios[0].button.get_height()); c.set_textX(this._list_radios[0].textX); c.set_textY(this._list_radios[0].textY); } this._list_radios.push(c); this._list_active.push(true); } if(xx + c.get_width() > maxX) { maxX = xx + c.get_width(); } if(yy + c.get_height() > maxY) { maxY = yy + c.get_height(); } yy += this._y_space; ++i; } if(this.fixedSize == false) { maxX += 5; maxY += 5; if(maxX > this._list.get_width()) { this._list.set_width(maxX); } if(maxY > this._list.get_height()) { this._list.set_height(maxY); } this.set_width(maxX); this.set_height(maxY); } this._list._skipRefresh = false; if(this.fixedSize == true) { this._list.refreshList(); } this.updateActives(); } ,updateActives: function() { var i = 0; var _g = 0; var _g1 = this._list_radios; while(_g < _g1.length) { var r = _g1[_g]; ++_g; r.set_active(this._list_active[i]); if(this._list_active[i] == false && this.inactiveStyle != null) { this.inactiveStyle.applyToCheck(r); } else if(this._list_active[i] == true && this.activeStyle != null) { this.activeStyle.applyToCheck(r); } ++i; } } ,makeActiveStyle: function() { if(this._list_radios.length > 0) { var btn = this._list_radios[0].button; var t = btn.label; var fd = flixel_addons_ui_FontDef.copyFromFlxText(t); var bd = new flixel_addons_ui_BorderDef(t.borderStyle,t.borderColor,t.borderSize,t.borderQuality); var cs = new flixel_addons_ui_CheckStyle(16777215,fd,flixel_text__$FlxText_FlxTextAlign_$Impl_$.fromOpenFL(t._defaultFormat.align),t.color,bd); return cs; } return null; } ,_onCheckBoxEvent: function(checkBox) { this._onClick(checkBox,true); } ,_onClick: function(checkBox,doCallback) { if(!this._clickable) { return false; } var i = 0; var _g = 0; var _g1 = this._list_radios; while(_g < _g1.length) { var c = _g1[_g]; ++_g; c.set_checked(false); if(checkBox == c) { this._selected = i; c.set_checked(true); } ++i; } if(doCallback) { if(this.callback != null) { this.callback(this.get_selectedId()); } if(this.broadcastToFlxUI) { flixel_addons_ui_FlxUI.event("click_radio_group",this,this._ids[this._selected],this.params); } } return true; } ,__class__: flixel_addons_ui_FlxUIRadioGroup ,__properties__: $extend(flixel_addons_ui_FlxUIGroup.prototype.__properties__,{set_params:"set_params",set_skipButtonUpdate:"set_skipButtonUpdate",get_numRadios:"get_numRadios",set_inactiveStyle:"set_inactiveStyle",set_activeStyle:"set_activeStyle",set_selectedIndex:"set_selectedIndex",get_selectedIndex:"get_selectedIndex",set_selectedLabel:"set_selectedLabel",get_selectedLabel:"get_selectedLabel",set_selectedId:"set_selectedId",get_selectedId:"get_selectedId",set_clickable:"set_clickable",get_clickable:"get_clickable"}) }); var flixel_addons_ui_CheckStyle = function(CheckColor,Font,Align,Color,Border) { this.checkColor = null; this.checkColor = CheckColor; flixel_addons_ui_ButtonLabelStyle.call(this,Font,Align,Color,Border); }; $hxClasses["flixel.addons.ui.CheckStyle"] = flixel_addons_ui_CheckStyle; flixel_addons_ui_CheckStyle.__name__ = "flixel.addons.ui.CheckStyle"; flixel_addons_ui_CheckStyle.__super__ = flixel_addons_ui_ButtonLabelStyle; flixel_addons_ui_CheckStyle.prototype = $extend(flixel_addons_ui_ButtonLabelStyle.prototype,{ checkColor: null ,applyToCheck: function(c) { if(this.checkColor != null) { c.set_color(this.checkColor); } this.apply(c.button.label); } ,__class__: flixel_addons_ui_CheckStyle }); var flixel_addons_ui_FlxUIRegion = function(X,Y,W,H) { if(H == null) { H = 16; } if(W == null) { W = 16; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } this.broadcastToFlxUI = true; flixel_FlxSprite.call(this,X,Y); this.makeGraphic(1,1,0); if(H < 1) { H = 1; } if(W < 1) { W = 1; } this.resize(W,H); }; $hxClasses["flixel.addons.ui.FlxUIRegion"] = flixel_addons_ui_FlxUIRegion; flixel_addons_ui_FlxUIRegion.__name__ = "flixel.addons.ui.FlxUIRegion"; flixel_addons_ui_FlxUIRegion.__interfaces__ = [flixel_addons_ui_interfaces_IResizable,flixel_addons_ui_interfaces_IFlxUIWidget]; flixel_addons_ui_FlxUIRegion.__super__ = flixel_FlxSprite; flixel_addons_ui_FlxUIRegion.prototype = $extend(flixel_FlxSprite.prototype,{ broadcastToFlxUI: null ,name: null ,resize: function(w,h) { this.set_width(w); this.set_height(h); } ,__class__: flixel_addons_ui_FlxUIRegion }); var flixel_addons_ui_FlxUISpriteButton = function(X,Y,Asset,OnClick) { if(Y == null) { Y = 0; } if(X == null) { X = 0; } flixel_addons_ui_FlxUITypedButton.call(this,X,Y,OnClick); this.up_color = this.over_color = this.down_color = this.up_toggle_color = this.over_toggle_color = this.down_toggle_color = -1; if(Asset != null) { this.set_label(Asset); } }; $hxClasses["flixel.addons.ui.FlxUISpriteButton"] = flixel_addons_ui_FlxUISpriteButton; flixel_addons_ui_FlxUISpriteButton.__name__ = "flixel.addons.ui.FlxUISpriteButton"; flixel_addons_ui_FlxUISpriteButton.__interfaces__ = [flixel_addons_ui_interfaces_IFlxUIButton]; flixel_addons_ui_FlxUISpriteButton.__super__ = flixel_addons_ui_FlxUITypedButton; flixel_addons_ui_FlxUISpriteButton.prototype = $extend(flixel_addons_ui_FlxUITypedButton.prototype,{ resize: function(W,H) { flixel_addons_ui_FlxUITypedButton.prototype.resize.call(this,W,H); this.autoCenterLabel(); } ,autoCenterLabel: function() { if(this.label != null) { if(((this.label) instanceof flixel_group_FlxTypedSpriteGroup)) { var g = this.label; var _g = 0; var _g1 = g.group.members; while(_g < _g1.length) { var sprite = _g1[_g]; ++_g; sprite.set_x(-sprite.get_width() / 2); sprite.set_y(-sprite.get_height() / 2); } var W = g.get_width(); var H = g.get_height(); var _g2 = 0; var _g3 = g.group.members; while(_g2 < _g3.length) { var sprite1 = _g3[_g2]; ++_g2; sprite1.set_x((W - sprite1.get_width()) / 2); sprite1.set_y((H - sprite1.get_height()) / 2); } } flixel_addons_ui_FlxUITypedButton.prototype.autoCenterLabel.call(this); } } ,__class__: flixel_addons_ui_FlxUISpriteButton }); var flixel_addons_ui_FlxUISubState = function(BGColor) { if(BGColor == null) { BGColor = 0; } this.getTextFallback = null; this._reload_countdown = 0; this._reload = false; this.reload_ui_on_resize = false; this._xml_id = ""; this.cursor = null; flixel_FlxSubState.call(this,BGColor); }; $hxClasses["flixel.addons.ui.FlxUISubState"] = flixel_addons_ui_FlxUISubState; flixel_addons_ui_FlxUISubState.__name__ = "flixel.addons.ui.FlxUISubState"; flixel_addons_ui_FlxUISubState.__interfaces__ = [flixel_addons_ui_interfaces_IFlxUIState]; flixel_addons_ui_FlxUISubState.__super__ = flixel_FlxSubState; flixel_addons_ui_FlxUISubState.prototype = $extend(flixel_FlxSubState.prototype,{ destroyed: null ,cursor: null ,_makeCursor: null ,tooltips: null ,_xml_id: null ,_ui: null ,_tongue: null ,reload_ui_on_resize: null ,_reload: null ,_reload_countdown: null ,getTextFallback: null ,forceScrollFactor: function(X,Y) { if(this._ui != null) { var _g = 0; var _g1 = this._ui.group.members; while(_g < _g1.length) { var w = _g1[_g]; ++_g; w.scrollFactor.set(X,Y); } if(this._ui.scrollFactor != null) { this._ui.scrollFactor.set(X,Y); } } } ,forceFocus: function(b,thing) { if(this._ui != null) { if(b) { this._ui.set_focus(thing); } else { this._ui.set_focus(null); } } } ,create: function() { if(flixel_addons_ui_FlxUIState.static_tongue != null) { this._tongue = flixel_addons_ui_FlxUIState.static_tongue; } if(this._makeCursor == true) { this.cursor = this.createCursor(); } this.tooltips = new flixel_addons_ui_FlxUITooltipManager(null,this); this._ui = this.createUI(null,this,null,this._tongue); this.add(this._ui); this._ui.getTextFallback = this.getTextFallback; if(this._xml_id != "" && this._xml_id != null) { var data = flixel_addons_ui_U.xml(this._xml_id); if(data == null) { data = flixel_addons_ui_U.xml(this._xml_id,"xml",true,""); } if(data != null) { this._ui.load(data); } } else { this._ui.load(null); } if(this.cursor != null && this._ui != null) { this.add(this.cursor); this.cursor.addWidgetsFromUI(this._ui); this.cursor.findVisibleLocation(0); } flixel_FlxG.mouse.set_visible(true); this.tooltips.init(); flixel_FlxSubState.prototype.create.call(this); this.cleanup(); if(((this._parentState) instanceof flixel_addons_ui_FlxUIState)) { this.reload_ui_on_resize = (js_Boot.__cast(this._parentState , flixel_addons_ui_FlxUIState)).reload_ui_on_resize; } } ,onCursorEvent: function(code,target) { this.getEvent(code,target,null); } ,onShowTooltip: function(t) { } ,onResize: function(Width,Height) { if(this.reload_ui_on_resize) { flixel_FlxG.scaleMode.onMeasure(Width,Height); this._reload_countdown = 5; this._reload = true; } } ,update: function(elapsed) { flixel_FlxSubState.prototype.update.call(this,elapsed); this.tooltips.update(elapsed); if(this._reload) { if(this._reload_countdown > 0) { this._reload_countdown--; if(this._reload_countdown == 0) { this.reloadUI(); } } } } ,destroy: function() { this.destroyed = true; if(this.tooltips != null) { this.tooltips.destroy(); this.tooltips = null; } if(this._ui != null) { this._ui.destroy(); this.remove(this._ui,true); this._ui = null; } flixel_FlxSubState.prototype.destroy.call(this); } ,getEvent: function(id,sender,data,params) { } ,getRequest: function(id,sender,data,params) { return null; } ,getText: function(Flag,Context,Safe) { if(Safe == null) { Safe = true; } if(Context == null) { Context = "ui"; } if(this._tongue != null) { return this._tongue.get(Flag,Context,Safe); } if(this.getTextFallback != null) { return this.getTextFallback(Flag,Context,Safe); } return Flag; } ,cleanup: function() { this._ui.cleanup(); } ,createCursor: function() { return new flixel_addons_ui_FlxUICursor($bind(this,this.onCursorEvent)); } ,createUI: function(data,ptr,superIndex_,tongue_,liveFilePath_) { if(liveFilePath_ == null) { liveFilePath_ = ""; } return new flixel_addons_ui_FlxUI(data,ptr,superIndex_,tongue_,liveFilePath_); } ,reloadUI: function() { if(this._ui != null) { this.remove(this._ui,true); this._ui.destroy(); this._ui = null; } this._ui = this.createUI(null,this,null,this._tongue); this.add(this._ui); var data = flixel_addons_ui_U.xml(this._xml_id); this._ui.load(data); this._reload = false; this._reload_countdown = 0; } ,__class__: flixel_addons_ui_FlxUISubState }); var flixel_addons_ui_FlxUITabMenu = function(back_,tabs_,tab_names_and_labels_,tab_offset,stretch_tabs,tab_spacing,tab_stacking) { if(stretch_tabs == null) { stretch_tabs = false; } this._selected_tab = -1; this._selected_tab_id = ""; this._tab_offset = null; this._tab_stacking = null; this._tab_spacing = null; this._stretch_tabs = false; flixel_addons_ui_FlxUIGroup.call(this); if(back_ == null) { back_ = new flixel_addons_ui_FlxUI9SliceSprite(0,0,"flixel/flixel-ui/img/chrome_flat.png",new openfl_geom_Rectangle(0,0,200,200)); } this._back = back_; this.add(this._back); if(tabs_ == null) { if(tab_names_and_labels_ != null) { tabs_ = []; var _g = 0; while(_g < tab_names_and_labels_.length) { var tdata = tab_names_and_labels_[_g]; ++_g; var fb = new flixel_addons_ui_FlxUIButton(0,0,tdata.label); fb.up_color = 16777215; fb.down_color = 16777215; fb.over_color = 16777215; fb.up_toggle_color = 16777215; fb.down_toggle_color = 16777215; fb.over_toggle_color = 16777215; fb.label.set_color(16777215); var _this = fb.label; _this.set_borderStyle(flixel_text_FlxTextBorderStyle.OUTLINE); _this.set_borderColor(0); _this.set_borderSize(1); _this.set_borderQuality(1); fb.name = tdata.name; var graphic_names = ["flixel/flixel-ui/img/tab_back.png","flixel/flixel-ui/img/tab_back.png","flixel/flixel-ui/img/tab_back.png","flixel/flixel-ui/img/tab.png","flixel/flixel-ui/img/tab.png","flixel/flixel-ui/img/tab.png"]; var slice9tab = flixel_util_FlxStringUtil.toIntArray("6,6,11,11"); var slice9_names = [slice9tab,slice9tab,slice9tab,slice9tab,slice9tab,slice9tab]; fb.loadGraphicSlice9(graphic_names,0,0,slice9_names,0,-1,true); tabs_.push(fb); } } } this._tabs = tabs_; this._stretch_tabs = stretch_tabs; this._tab_spacing = tab_spacing; this._tab_stacking = tab_stacking; if(this._tab_stacking == null) { this._tab_stacking = ["front","back"]; } this._tab_offset = tab_offset; var i = 0; var tab = null; var _g1 = 0; var _g11 = this._tabs; while(_g1 < _g11.length) { var t = _g11[_g1]; ++_g1; tab = t; this.add(tab); var tmp = (function(name,f) { return function() { f[0](name[0]); }; })([tab.name],[$bind(this,this._onTabEvent)]); tab.onUp.callback = tmp; ++i; } this.distributeTabs(); this._tab_groups = []; }; $hxClasses["flixel.addons.ui.FlxUITabMenu"] = flixel_addons_ui_FlxUITabMenu; flixel_addons_ui_FlxUITabMenu.__name__ = "flixel.addons.ui.FlxUITabMenu"; flixel_addons_ui_FlxUITabMenu.__interfaces__ = [flixel_addons_ui_interfaces_IEventGetter,flixel_addons_ui_interfaces_IFlxUIClickable,flixel_addons_ui_interfaces_IResizable]; flixel_addons_ui_FlxUITabMenu.__super__ = flixel_addons_ui_FlxUIGroup; flixel_addons_ui_FlxUITabMenu.prototype = $extend(flixel_addons_ui_FlxUIGroup.prototype,{ get_numTabs: function() { if(this._tabs != null) { return this._tabs.length; } return 0; } ,getEvent: function(name,sender,data,params) { } ,getRequest: function(name,sender,data,params) { return null; } ,skipButtonUpdate: null ,set_skipButtonUpdate: function(b) { this.skipButtonUpdate = b; var _g = 0; var _g1 = this._tabs; while(_g < _g1.length) { var tab = _g1[_g]; ++_g; var tabtyped = tab; tabtyped.set_skipButtonUpdate(b); } var _g2 = 0; var _g3 = this._tab_groups; while(_g2 < _g3.length) { var group = _g3[_g2]; ++_g2; var _g21 = 0; var _g31 = group.group.members; while(_g21 < _g31.length) { var sprite = _g31[_g21]; ++_g21; if(js_Boot.__implements(sprite,flixel_addons_ui_interfaces_IFlxUIClickable)) { var widget = sprite; widget.set_skipButtonUpdate(b); } } } return b; } ,get_width: function() { return this._back.get_width(); } ,get_height: function() { var fbt = this.getFirstTab(); if(fbt != null) { return this._back.y + this._back.get_height() - fbt.y; } return this._back.get_height(); } ,resize: function(W,H) { var ir; if(js_Boot.__implements(this._back,flixel_addons_ui_interfaces_IResizable)) { this.distributeTabs(W); ir = this._back; var fbt = this.getFirstTab(); if(fbt != null) { ir.resize(W,H - fbt.get_height()); } else { ir.resize(W,H); } } else { this.distributeTabs(); } } ,get_selected_tab: function() { return this._selected_tab; } ,set_selected_tab: function(i) { this.showTabInt(i); return this._selected_tab; } ,get_selected_tab_id: function() { return this._selected_tab_id; } ,set_selected_tab_id: function(str) { this.showTabId(str); return this._selected_tab_id; } ,destroy: function() { flixel_addons_ui_FlxUIGroup.prototype.destroy.call(this); flixel_addons_ui_U.clearArray(this._tab_groups); flixel_addons_ui_U.clearArray(this._tabs); this._back = null; this._tabs = null; this._tab_groups = null; } ,getTab: function(name,index) { if(name != null) { var _g = 0; var _g1 = this._tabs; while(_g < _g1.length) { var tab = _g1[_g]; ++_g; if(tab.name == name) { return tab; } } } if(index != null) { if(index < this._tabs.length) { return this._tabs[index]; } } return null; } ,getTabGroup: function(name,index) { if(name != null) { var _g = 0; var _g1 = this._tab_groups; while(_g < _g1.length) { var tabGroup = _g1[_g]; ++_g; if(tabGroup.name == name) { return tabGroup; } } } if(index != null) { if(index < this._tab_groups.length) { return this._tab_groups[index]; } } return null; } ,getBack: function() { return this._back; } ,replaceBack: function(newBack) { var i = this.group.members.indexOf(this._back); if(i != -1) { var oldBack = this._back; if(js_Boot.__implements(newBack,flixel_addons_ui_interfaces_IResizable)) { var ir = newBack; ir.resize(oldBack.get_width(),oldBack.get_height()); } this.group.members[i] = newBack; newBack.set_x(oldBack.x); newBack.set_y(oldBack.y); oldBack.destroy(); } } ,addGroup: function(g) { if(g == this) { return; } if(!this.hasThis(g)) { g.set_y(this._back.y - this.y); this.add(g); this._tab_groups.push(g); } this._showOnlyGroup(""); if(this._tab_groups.length == 1) { this.set_selected_tab(0); } if(this._selected_tab != -1) { this.set_selected_tab(this._selected_tab); } } ,_onTabEvent: function(name) { this.showTabId(name); var tab = this.getTab(name); var params = tab != null ? tab.params : null; if(this.broadcastToFlxUI) { flixel_addons_ui_FlxUI.event("tab_menu_click",this,name,params); } } ,stackTabs: function() { var _backx = this._back.x; var _backy = this._back.y; this.group.remove(this._back,true); var tab = null; var _g = 0; var _g1 = this._tabs; while(_g < _g1.length) { var t = _g1[_g]; ++_g; tab = t; if(tab.toggled) { this.group.remove(tab,true); } } this.group.add(this._back); var _g2 = 0; var _g3 = this._tabs; while(_g2 < _g3.length) { var t1 = _g3[_g2]; ++_g2; tab = t1; if(tab.toggled) { this.group.add(tab); } } var _g4 = 0; var _g5 = this._tab_groups; while(_g4 < _g5.length) { var group = _g5[_g4]; ++_g4; var tempX = group.x; var tempY = group.y; this.remove(group,true); this.add(group); group.set_x(tempX); group.set_y(tempY); } this._back.set_x(_backx); this._back.set_y(_backy); } ,showTabId: function(name) { this._selected_tab = -1; this._selected_tab_id = ""; var i = 0; var _g = 0; var _g1 = this._tabs; while(_g < _g1.length) { var tab = _g1[_g]; ++_g; tab.set_toggled(false); tab.forceStateHandler("out_button"); if(tab.name == name) { tab.set_toggled(true); this._selected_tab_id = name; this._selected_tab = i; } ++i; } this._showOnlyGroup(name); this.stackTabs(); } ,_back: null ,_tabs: null ,_tab_groups: null ,_stretch_tabs: null ,_tab_spacing: null ,_tab_stacking: null ,_tab_offset: null ,_selected_tab_id: null ,_selected_tab: null ,sortTabs: function(a,b) { if(a.name < b.name) { return -1; } else if(a.name > b.name) { return 1; } return -1; } ,showTabInt: function(i) { if(i >= 0 && this._tabs != null && this._tabs.length > i) { var _tab = this._tabs[i]; var name = _tab.name; this.showTabId(name); } else { this.showTabId(""); } } ,_showOnlyGroup: function(name) { var _g = 0; var _g1 = this._tab_groups; while(_g < _g1.length) { var group = _g1[_g]; ++_g; if(group.name == name) { group.set_visible(group.set_active(true)); } else { group.set_visible(group.set_active(false)); } } } ,getFirstTab: function() { var _the_tab = null; if(this._tabs != null && this._tabs.length > 0) { _the_tab = this._tabs[0]; } return _the_tab; } ,distributeTabs: function(W) { if(W == null) { W = -1; } var xx = 0; var tab_width = 0; if(W == -1) { W = this._back.get_width(); } var diff_size = 0; if(this._stretch_tabs) { tab_width = W / this._tabs.length; var tot_size = (tab_width | 0) * this._tabs.length; if(tot_size < W) { diff_size = W - tot_size; } } this._tabs.sort($bind(this,this.sortTabs)); var i = 0; var firstHeight = 0; var tab; var _g = 0; var _g1 = this._tabs; while(_g < _g1.length) { var t = _g1[_g]; ++_g; tab = t; tab.set_x(this.x + xx); tab.set_y(this.y); if(this._tab_offset != null) { var _g2 = tab; _g2.set_x(_g2.x + this._tab_offset.x); var _g3 = tab; _g3.set_y(_g3.y + this._tab_offset.y); } if(this._stretch_tabs) { var theHeight = tab.get_height(); if(i != 0) { theHeight = firstHeight; tab.resize_ratio = -1; } if(diff_size > 0) { tab.resize(tab_width + 1,theHeight); xx += (tab_width | 0) + 1; --diff_size; } else { tab.resize(tab_width,theHeight); xx += tab_width | 0; } } else if(this._tab_spacing != null) { xx += tab.get_width() + this._tab_spacing; } else { xx += tab.get_width(); } if(i == 0) { firstHeight = tab.get_height(); } ++i; } if(this._tabs != null && this._tabs.length > 0 && this._tabs[0] != null) { this._back.set_y(this._tabs[0].y + this._tabs[0].get_height() - 2); if(this._tab_offset != null) { var _g21 = this._back; _g21.set_y(_g21.y - this._tab_offset.y); } } this.calcBounds(); } ,__class__: flixel_addons_ui_FlxUITabMenu ,__properties__: $extend(flixel_addons_ui_FlxUIGroup.prototype.__properties__,{set_selected_tab_id:"set_selected_tab_id",get_selected_tab_id:"get_selected_tab_id",set_selected_tab:"set_selected_tab",get_selected_tab:"get_selected_tab",set_skipButtonUpdate:"set_skipButtonUpdate",get_numTabs:"get_numTabs"}) }); var flixel_addons_ui_FlxUIText = function(X,Y,FieldWidth,Text1,Size,EmbeddedFont) { if(EmbeddedFont == null) { EmbeddedFont = true; } if(Size == null) { Size = 8; } if(FieldWidth == null) { FieldWidth = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } this.minimumHeight = 1; this.broadcastToFlxUI = true; flixel_text_FlxText.call(this,X,Y,FieldWidth,Text1,Size,EmbeddedFont); }; $hxClasses["flixel.addons.ui.FlxUIText"] = flixel_addons_ui_FlxUIText; flixel_addons_ui_FlxUIText.__name__ = "flixel.addons.ui.FlxUIText"; flixel_addons_ui_FlxUIText.__interfaces__ = [flixel_addons_ui_interfaces_IHasParams,flixel_addons_ui_interfaces_IFlxUIWidget,flixel_addons_ui_interfaces_IResizable]; flixel_addons_ui_FlxUIText.__super__ = flixel_text_FlxText; flixel_addons_ui_FlxUIText.prototype = $extend(flixel_text_FlxText.prototype,{ broadcastToFlxUI: null ,name: null ,params: null ,minimumHeight: null ,resize: function(w,h) { var sign = 1; if(h < this.minimumHeight) { h = this.minimumHeight; } if(h < this.get_height()) { sign = -1; } this.set_width(w); this.set_height(h); this.textField.set_width(this.get_width()); var old_size = this._defaultFormat.size | 0; var diff = this.get_height() - this.graphic.bitmap.height; var failsafe = 0; var numLines = this.textField.get_numLines(); while(diff * sign > 0 && failsafe < 999) { ++failsafe; var _g = this; _g.set_size((_g._defaultFormat.size | 0) + sign); if(sign > 0 && this.textField.get_numLines() > numLines) { var _g1 = this; _g1.set_size((_g1._defaultFormat.size | 0) - sign); break; } this._regen = true; this.calcFrame(true); diff = h - this.graphic.bitmap.height; diff = h - this.graphic.bitmap.height; } if(failsafe >= 999) { this.set_size(old_size); } this.set_width(w); this.set_height(h); this._regen = true; this.calcFrame(true); } ,set_minimumHeight: function(H) { if(H < 1) { H = 1; } this.minimumHeight = H; return this.minimumHeight; } ,set_params: function(p) { this.params = p; return this.params; } ,clone: function() { var newText = new flixel_addons_ui_FlxUIText(); newText.set_width(this.get_width()); newText.set_height(this.get_height()); var theFont = this._font; theFont = flixel_addons_ui_FontFixer.fix(this._font); newText.setFormat(theFont,this._defaultFormat.size | 0,this.color); if(this._defaultFormat != null && this._defaultFormat.align != null) { newText.set_alignment(flixel_text__$FlxText_FlxTextAlign_$Impl_$.fromOpenFL(this._defaultFormat.align)); } var Color = this.borderColor; var Size = this.borderSize; var Quality = this.borderQuality; if(Quality == null) { Quality = 1; } if(Size == null) { Size = 1; } if(Color == null) { Color = 0; } newText.set_borderStyle(this.borderStyle); newText.set_borderColor(Color); newText.set_borderSize(Size); newText.set_borderQuality(Quality); newText.set_text(this.text); return newText; } ,__class__: flixel_addons_ui_FlxUIText ,__properties__: $extend(flixel_text_FlxText.prototype.__properties__,{set_minimumHeight:"set_minimumHeight",set_params:"set_params"}) }); var flixel_addons_ui_FlxUITileTest = function(X,Y,TileWidth,TileHeight,tilesWide,tilesTall,color1,color2,FloorToEven) { if(FloorToEven == null) { FloorToEven = false; } if(color2 == null) { color2 = 12895428; } if(color1 == null) { color1 = 8421504; } this.baseTileSize = -1; this.floorToEven = false; this._color2 = 0; this._color1 = 0; this._tilesTall = 2; this._tilesWide = 2; flixel_addons_ui_FlxUISprite.call(this,X,Y); this.tileWidth = TileWidth; this.tileHeight = TileHeight; this._tilesWide = tilesWide; this._tilesTall = tilesTall; this._color1 = color1; this._color2 = color2; this.floorToEven = FloorToEven; this.makeTiles(this.tileWidth,this.tileHeight,this._tilesWide,this._tilesTall,this._color1,this._color2); }; $hxClasses["flixel.addons.ui.FlxUITileTest"] = flixel_addons_ui_FlxUITileTest; flixel_addons_ui_FlxUITileTest.__name__ = "flixel.addons.ui.FlxUITileTest"; flixel_addons_ui_FlxUITileTest.__interfaces__ = [flixel_addons_ui_interfaces_IFlxUIWidget,flixel_addons_ui_interfaces_IResizable]; flixel_addons_ui_FlxUITileTest.__super__ = flixel_addons_ui_FlxUISprite; flixel_addons_ui_FlxUITileTest.prototype = $extend(flixel_addons_ui_FlxUISprite.prototype,{ tileWidth: null ,tileHeight: null ,get_widthInTiles: function() { return this._tilesWide; } ,get_heightInTiles: function() { return this._tilesTall; } ,_tilesWide: null ,_tilesTall: null ,_color1: null ,_color2: null ,floorToEven: null ,baseTileSize: null ,makeTiles: function(tileWidth,tileHeight,tilesWide,tilesTall,color1,color2) { if(color2 == null) { color2 = -3881788; } if(color1 == null) { color1 = -8355712; } var size = this.constrain(tileWidth * this._tilesWide,tileHeight * this._tilesTall); tileWidth = size.x | 0; tileHeight = size.y | 0; this.makeGraphic(tilesWide,tilesTall,color1); var canvas = this.get_pixels(); var j = 0; var _g = 0; var _g1 = tilesWide; while(_g < _g1) { var ix = _g++; var _g2 = 0; var _g11 = tilesTall; while(_g2 < _g11) { var iy = _g2++; if(j % 2 == 0) { canvas.setPixel(ix,iy,color2); } ++j; } if(tilesWide % 2 != 0) { ++j; } } this.set_pixels(canvas); this.scale.set(tileWidth,tileHeight); this.updateHitbox(); } ,constrain: function(w,h) { var tileWidth = w / this._tilesWide | 0; var tileHeight = h / this._tilesTall | 0; if(tileWidth < tileHeight) { tileHeight = tileWidth; } else if(tileHeight < tileWidth) { tileWidth = tileHeight; } if(this.floorToEven) { if(tileWidth % 2 == 1) { --tileWidth; tileHeight = tileWidth; } } if(this.baseTileSize > 0) { tileWidth = (tileWidth / this.baseTileSize | 0) * this.baseTileSize; tileHeight = tileWidth; } return new flixel_math_FlxPoint(tileWidth,tileHeight); } ,resize: function(w,h) { this.makeTiles(this.tileWidth,this.tileHeight,this._tilesWide,this._tilesTall,this._color1,this._color2); } ,__class__: flixel_addons_ui_FlxUITileTest ,__properties__: $extend(flixel_addons_ui_FlxUISprite.prototype.__properties__,{get_heightInTiles:"get_heightInTiles",get_widthInTiles:"get_widthInTiles"}) }); var flixel_addons_ui_FlxUITooltip = function(Width,Height,Anchor_,Style) { flixel_addons_ui_FlxUIGroup.call(this,0,0); if(Anchor_ == null) { Anchor_ = new flixel_addons_ui_Anchor(0,0,"left","top","right","top"); } Style = flixel_addons_ui_FlxUITooltip.styleFix(Style); this.refresh(Width,Height,"","",Anchor_,Style); this.setScrollFactor(0,0); }; $hxClasses["flixel.addons.ui.FlxUITooltip"] = flixel_addons_ui_FlxUITooltip; flixel_addons_ui_FlxUITooltip.__name__ = "flixel.addons.ui.FlxUITooltip"; flixel_addons_ui_FlxUITooltip.styleFix = function(Style,DefaultStyle) { if(Style == null) { Style = { titleFormat : null, bodyFormat : null, titleBorder : null, bodyBorder : null, titleOffset : null, bodyOffset : null, background : null, borderSize : -1, borderColor : null, arrow : null, titleWidth : -1, bodyWidth : -1, autoSizeHorizontal : null, autoSizeVertical : null, leftPadding : -1, rightPadding : -1, topPadding : -1, bottomPadding : -1}; } if(DefaultStyle != null) { if(Style.titleFormat == null) { Style.titleFormat = DefaultStyle.titleFormat; } if(Style.bodyFormat == null) { Style.bodyFormat = DefaultStyle.bodyFormat; } if(Style.titleBorder == null) { Style.titleBorder = DefaultStyle.titleBorder; } if(Style.bodyBorder == null) { Style.bodyBorder = DefaultStyle.bodyBorder; } if(Style.titleOffset == null) { Style.titleOffset = DefaultStyle.titleOffset; } if(Style.bodyOffset == null) { Style.bodyOffset = DefaultStyle.bodyOffset; } if(Style.background == null) { Style.background = DefaultStyle.background; } if(Style.borderColor == null) { Style.borderColor = DefaultStyle.borderColor; } if(Style.arrow == null) { Style.arrow = DefaultStyle.arrow; } if(Style.borderSize == null || Style.borderSize < 0) { Style.borderSize = DefaultStyle.borderSize; } if(Style.titleWidth == null || Style.titleWidth < 0) { Style.titleWidth = DefaultStyle.titleWidth; } if(Style.bodyWidth == null || Style.bodyWidth < 0) { Style.bodyWidth = DefaultStyle.bodyWidth; } if(Style.autoSizeHorizontal == null) { Style.autoSizeHorizontal = DefaultStyle.autoSizeHorizontal; } if(Style.autoSizeVertical == null) { Style.autoSizeVertical = DefaultStyle.autoSizeVertical; } if(Style.leftPadding == null || Style.leftPadding < 0) { Style.leftPadding = DefaultStyle.leftPadding; } if(Style.rightPadding == null || Style.rightPadding < 0) { Style.rightPadding = DefaultStyle.rightPadding; } if(Style.topPadding == null || Style.topPadding < 0) { Style.topPadding = DefaultStyle.topPadding; } if(Style.leftPadding == null || Style.bottomPadding < 0) { Style.bottomPadding = DefaultStyle.bottomPadding; } } if(DefaultStyle != null) { if(Style.titleFormat != null) { flixel_addons_ui_FlxUITooltip.fillFontDefNulls(Style.titleFormat,DefaultStyle.titleFormat); if(Style.titleFormat.format != null && DefaultStyle.titleFormat.format != null) { flixel_addons_ui_FlxUITooltip.fillFormatNulls(Style.titleFormat.format,DefaultStyle.titleFormat.format); } } if(Style.bodyFormat != null) { flixel_addons_ui_FlxUITooltip.fillFontDefNulls(Style.bodyFormat,DefaultStyle.bodyFormat); if(Style.bodyFormat.format != null && DefaultStyle.bodyFormat.format != null) { flixel_addons_ui_FlxUITooltip.fillFormatNulls(Style.bodyFormat.format,DefaultStyle.bodyFormat.format); } } } if(Style.titleFormat == null) { Style.titleFormat = new flixel_addons_ui_FontDef(null,null,null,new openfl_text_TextFormat(null,8,-16777216),null); } if(Style.bodyFormat == null) { Style.bodyFormat = new flixel_addons_ui_FontDef(null,null,null,new openfl_text_TextFormat(null,8,-16777216),null); } if(Style.titleBorder == null) { Style.titleBorder = new flixel_addons_ui_BorderDef(flixel_text_FlxTextBorderStyle.NONE,0,0,1); } if(Style.bodyBorder == null) { Style.bodyBorder = new flixel_addons_ui_BorderDef(flixel_text_FlxTextBorderStyle.NONE,0,0,1); } if(Style.titleOffset == null) { Style.titleOffset = new flixel_math_FlxPoint(0,0); } if(Style.bodyOffset == null) { Style.bodyOffset = new flixel_math_FlxPoint(0,0); } if(Style.background == null) { Style.background = 16777162; } if(Style.borderColor == null) { Style.borderColor = -16777216; } if(Style.arrow == null) { Style.arrow = "flixel/flixel-ui/img/tooltip_arrow.png"; } if(Style.borderSize == null || Style.borderSize < 0) { Style.borderSize = 1; } if(Style.titleWidth == null || Style.titleWidth < 0) { Style.titleWidth = 100; } if(Style.bodyWidth == null || Style.bodyWidth < 0) { Style.bodyWidth = 100; } if(Style.autoSizeHorizontal == null) { Style.autoSizeHorizontal = true; } if(Style.autoSizeVertical == null) { Style.autoSizeVertical = true; } if(Style.leftPadding == null || Style.leftPadding < 0) { Style.leftPadding = 0; } if(Style.rightPadding == null || Style.rightPadding < 0) { Style.rightPadding = 0; } if(Style.topPadding == null || Style.topPadding < 0) { Style.topPadding = 0; } if(Style.leftPadding == null || Style.bottomPadding < 0) { Style.bottomPadding = 0; } return Style; }; flixel_addons_ui_FlxUITooltip.cloneStyle = function(s) { var tf = s.titleFormat != null ? s.titleFormat.clone() : null; var bf = s.bodyFormat != null ? s.bodyFormat.clone() : null; var obj = { titleFormat : tf, bodyFormat : bf, borderSize : s.borderSize, titleWidth : s.titleWidth, bodyWidth : s.bodyWidth, background : s.background, borderColor : s.borderColor, arrow : s.arrow, titleOffset : s.titleOffset.copyTo(), bodyOffset : s.bodyOffset.copyTo(), titleBorder : s.titleBorder.clone(), bodyBorder : s.bodyBorder.clone(), autoSizeVertical : s.autoSizeVertical, autoSizeHorizontal : s.autoSizeHorizontal, leftPadding : s.leftPadding, rightPadding : s.rightPadding, topPadding : s.topPadding, bottomPadding : s.bottomPadding}; return obj; }; flixel_addons_ui_FlxUITooltip.fillFontDefNulls = function(a,b) { if(a.get_size() == 0) { a.set_size(b.get_size()); } if(a.name == null || a.name == "") { a.name = b.name; } if(a.file == null || a.file == "") { a.file = b.file; } if(a.extension == null || a.extension == "") { a.extension = b.extension; } if(a.border == null) { a.border = b.border != null ? b.border.clone() : null; } }; flixel_addons_ui_FlxUITooltip.fillFormatNulls = function(a,b) { if(a.align == null) { a.align = b.align; } if(a.blockIndent == null) { a.blockIndent = b.blockIndent; } if(a.bold == null) { a.bold = b.bold; } if(a.bullet == null) { a.bullet = b.bullet; } if(a.color == null) { a.color = b.color; } if(a.font == null) { a.font = b.font; } if(a.indent == null) { a.indent = b.indent; } if(a.italic == null) { a.italic = b.italic; } if(a.kerning == null) { a.kerning = b.kerning; } if(a.leading == null) { a.leading = b.leading; } if(a.leftMargin == null) { a.leftMargin = b.leftMargin; } if(a.letterSpacing == null) { a.letterSpacing = b.letterSpacing; } if(a.rightMargin == null) { a.rightMargin = b.rightMargin; } if(a.size == null) { a.size = b.size; } if(a.tabStops == null) { a.tabStops = b.tabStops; } if(a.target == null) { a.target = b.target; } if(a.underline == null) { a.underline = b.underline; } if(a.url == null) { a.url = b.url; } }; flixel_addons_ui_FlxUITooltip.__super__ = flixel_addons_ui_FlxUIGroup; flixel_addons_ui_FlxUITooltip.prototype = $extend(flixel_addons_ui_FlxUIGroup.prototype,{ style: null ,anchor: null ,title: null ,body: null ,show: function(obj,Title,Body,AutoSizeVertical,AutoSizeHorizontal,ShowArrow) { if(ShowArrow == null) { ShowArrow = true; } if(AutoSizeHorizontal == null) { AutoSizeHorizontal = true; } if(AutoSizeVertical == null) { AutoSizeVertical = true; } if(Body == null) { Body = ""; } if(Title == null) { Title = ""; } this.set_visible(true); this.set_active(true); this.set_x(0); this.set_y(0); this._bkg.set_x(0); this._bkg.set_y(0); this._arrow.set_x(0); this._arrow.set_y(0); this._arrowBkg.set_x(0); this._arrowBkg.set_y(0); this._arrowBkg = this.makeArrowBkg(this._arrowBkg); this._arrow.set_color(this.style.background); this._arrow.set_visible(this._arrowBkg.set_visible(ShowArrow)); if(this.style.titleWidth > 0) { this._titleText.set_width(this._titleText.textField.set_width(this.style.titleWidth) | 0); } if(this.style.bodyWidth > 0) { this._bodyText.set_width(this._bodyText.textField.set_width(this.style.bodyWidth) | 0); } if(this.style.titleFormat != null) { this.style.titleFormat.apply(null,this._titleText); } if(this.style.bodyFormat != null) { this.style.bodyFormat.apply(null,this._bodyText); } if(this.style.titleBorder != null) { this.style.titleBorder.apply(this._titleText); } if(this.style.bodyBorder != null) { this.style.bodyBorder.apply(this._bodyText); } this._titleText.set_text(Title); this._bodyText.set_text(Body); this._titleText.update(0); this._bodyText.update(0); var titleHeight = this._titleText.textField.get_textHeight() + 4 | 0; if(this.style.titleOffset != null) { this._titleText.set_x(this.style.titleOffset.x | 0); this._titleText.set_y(this.style.titleOffset.y | 0); } if(this.style.bodyOffset != null) { this._bodyText.set_x(this.style.bodyOffset.x | 0); this._bodyText.set_y(this._titleText.y + titleHeight + this.style.bodyOffset.y | 0); } var W = this._bkg.get_width() | 0; var H = this._bkg.get_height() | 0; if(AutoSizeHorizontal) { var tw = this._titleText.text != "" ? this._titleText.x + this._titleText.get_width() : 0; var bw = this._bodyText.text != "" ? this._bodyText.x + this._bodyText.get_width() : 0; W = Math.max(tw,bw) | 0; } if(AutoSizeVertical) { var th = this._titleText.text != "" ? this._titleText.y + this._titleText.get_height() : 0; var bh = this._bodyText.text != "" ? this._bodyText.y + this._bodyText.get_height() : 0; H = Math.max(th,bh) | 0; H = Math.max(H,this._arrowBkg.get_height()) | 0; } if(this.style.leftPadding == null) { this.style.leftPadding = 0; } if(this.style.rightPadding == null) { this.style.rightPadding = 0; } if(this.style.topPadding == null) { this.style.topPadding = 0; } if(this.style.bottomPadding == null) { this.style.bottomPadding = 0; } W += this.style.leftPadding + this.style.rightPadding; H += this.style.topPadding + this.style.bottomPadding; W = W | 0; H = H | 0; this.refreshBkg(W,H,this.style); var oldOffX = this._anchorArrow.x.offset | 0; var oldOffY = this._anchorArrow.y.offset | 0; this._anchorArrow.x.offset -= this.anchor.x.offset; this._anchorArrow.y.offset += this.anchor.y.offset; this._anchorArrow.x.offset = this._anchorArrow.x.offset | 0; this._anchorArrow.y.offset = this._anchorArrow.y.offset | 0; this._anchorArrow.anchorThing(this._arrow,this._bkg); this._anchorArrow.x.offset = oldOffX; this._anchorArrow.y.offset = oldOffY; if(this._arrow.x < 0) { var xx = Math.abs(this._arrow.x) | 0; var _g = this._bkg; _g.set_x(_g.x + xx); var _g1 = this._titleText; _g1.set_x(_g1.x + xx); var _g2 = this._bodyText; _g2.set_x(_g2.x + xx); this._arrow.set_x(0); } if(this._arrow.y < 0) { var yy = Math.abs(this._arrow.y) | 0; var _g3 = this._bkg; _g3.set_y(_g3.y + yy); var _g4 = this._titleText; _g4.set_y(_g4.y + yy); var _g5 = this._bodyText; _g5.set_y(_g5.y + yy); this._arrow.set_y(0); } if(this._titleText.text != "" && this._bodyText.text == "") { var tempH = H - (this.style.topPadding + this.style.bottomPadding); var titleOnlyOffset = (tempH - titleHeight) / 2 | 0; var _g6 = this._titleText; _g6.set_y(_g6.y + titleOnlyOffset); } var _g7 = this._titleText; _g7.set_x(_g7.x + this.style.leftPadding); var _g8 = this._bodyText; _g8.set_x(_g8.x + this.style.leftPadding); var _g9 = this._titleText; _g9.set_y(_g9.y + this.style.topPadding); var _g10 = this._bodyText; _g10.set_y(_g10.y + this.style.topPadding); if(this._titleText.text == "") { this._titleText.set_x(this._bkg.x); this._titleText.set_y(this._bkg.y); this._titleText.set_width(this._bkg.get_width()); } if(this._bodyText.text == "") { this._bodyText.set_x(this._bkg.x); this._bodyText.set_y(this._bkg.y); this._bodyText.set_width(this._bkg.get_width()); } this.anchor.anchorThing(this,obj); this.set_x(this.x | 0); this.set_y(this.y | 0); this._arrowBkg.set_x(this._arrow.x - this.style.borderSize | 0); this._arrowBkg.set_y(this._arrow.y - this.style.borderSize | 0); this._titleText.set_x(this._titleText.x | 0); this._bodyText.set_x(this._bodyText.x | 0); this._bkg.set_x(this._bkg.x | 0); this._bkg.set_y(this._bkg.y | 0); this._arrowBkg.set_x(this._arrowBkg.x | 0); this._arrowBkg.set_y(this._arrowBkg.y | 0); this._arrow.set_x(this._arrow.x | 0); this._arrow.set_y(this._arrow.y | 0); } ,get_height: function() { if(this.group.length == 0) { return 0; } var minY = Infinity; var maxY = -Infinity; var _g = 0; var _g1 = this._sprites; while(_g < _g1.length) { var member = _g1[_g]; ++_g; if(member == null) { continue; } if(((member) instanceof flixel_text_FlxText)) { continue; } var minMemberY = member.y; var maxMemberY = minMemberY + member.get_height(); if(maxMemberY > maxY) { maxY = maxMemberY; } if(minMemberY < minY) { minY = minMemberY; } } return maxY - minY; } ,hide: function() { this.set_visible(false); this.set_active(false); } ,set_anchor: function(a) { this.anchor = a; this._anchorArrow = this.getArrowAnchor(a,this._anchorArrow); if(this._arrowBkg != null) { this.makeArrowBkg(this._arrowBkg); } return a; } ,set_style: function(s) { this.style = s; return s; } ,set_title: function(t) { this.title = t; return t; } ,set_body: function(b) { this.body = b; return b; } ,_bkg: null ,_titleText: null ,_bodyText: null ,_arrow: null ,_arrowBkg: null ,_anchorArrow: null ,refresh: function(Width,Height,Title,Body,Anchor_,Style) { var newBkg = this._bkg == null; var newArrow = this._arrow == null; var newTitle = this._titleText == null; var newBody = this._bodyText == null; if(newBkg) { this._bkg = new flixel_FlxSprite(); } if(newArrow) { this._arrow = new flixel_FlxSprite(); } if(newTitle) { this._titleText = new flixel_addons_ui_FlxUIText(0,0,Width); if(Style.titleFormat != null) { Style.titleFormat.apply(null,this._titleText); } if(Style.titleBorder != null) { Style.titleBorder.apply(this._titleText); } } if(newBody) { this._bodyText = new flixel_addons_ui_FlxUIText(0,0,Width); if(Style.bodyFormat != null) { Style.bodyFormat.apply(null,this._bodyText); } if(Style.bodyBorder != null) { Style.bodyBorder.apply(this._bodyText); } } this._titleText.set_text(Title); this._bodyText.set_text(Body); this._arrow.set_color(Style.background); var test = flixel_FlxG.bitmap.add(Style.arrow); if(Style.arrow == null) { Style.arrow = "flixel/flixel-ui/img/tooltip_arrow.png"; flixel_FlxG.bitmap.add(Style.arrow); } this._arrow.loadGraphic(Style.arrow,true,test.height,test.height); if(newArrow) { this._arrow.animation.add("right",[0],0,false); this._arrow.animation.add("down",[1],0,false); this._arrow.animation.add("left",[2],0,false); this._arrow.animation.add("up",[3],0,false); } this.refreshBkg(Width,Height,Style); this.set_style(Style); if(newArrow && Style.borderSize > 0) { this._arrowBkg = new flixel_FlxSprite(); this.add(this._arrowBkg); } this.set_anchor(Anchor_); if(newBkg) { this.add(this._bkg); } if(newArrow) { this.add(this._arrow); } if(newTitle) { this.add(this._titleText); } if(newBody) { this.add(this._bodyText); } } ,refreshBkg: function(Width,Height,Style) { var key = this.getStyleKey(Width,Height,Style); var _this = flixel_FlxG.bitmap._cache; if((__map_reserved[key] != null ? _this.getReserved(key) : _this.h[key]) == null) { var pix = null; if(Style.borderSize > 0) { pix = new openfl_display_BitmapData(Width,Height,false,Style.borderColor); pix.fillRect(new openfl_geom_Rectangle(Style.borderSize,Style.borderSize,Width - Style.borderSize * 2,Height - Style.borderSize * 2),Style.background); } else { pix = new openfl_display_BitmapData(Width,Height,false,Style.background); } flixel_FlxG.bitmap.add(pix,true,key); } this._bkg.loadGraphic(key); } ,getStyleKey: function(W,H,Style) { var this1 = Style.background; var tmp = W + "," + H + "," + ("0x" + StringTools.hex(this1 >> 24 & 255,2) + StringTools.hex(this1 >> 16 & 255,2) + StringTools.hex(this1 >> 8 & 255,2) + StringTools.hex(this1 & 255,2)) + "," + Style.borderSize + ","; var this2 = Style.borderColor; return tmp + ("0x" + StringTools.hex(this2 >> 24 & 255,2) + StringTools.hex(this2 >> 16 & 255,2) + StringTools.hex(this2 >> 8 & 255,2) + StringTools.hex(this2 & 255,2)); } ,makeArrowBkg: function(b) { if(b == null) { b = new flixel_FlxSprite(); } var animName = this._arrow == null ? "null" : this._arrow.animation._curAnim == null ? "null" : this._arrow.animation._curAnim.name; var key = "arrowBkg:" + this.style.background + "," + this.style.borderSize + "," + this.style.borderColor + "," + animName; var _this = flixel_FlxG.bitmap._cache; if((__map_reserved[key] != null ? _this.getReserved(key) : _this.h[key]) == null) { var bs = this.style.borderSize; if(bs < 0 || bs == null) { bs = 0; } var W = this._arrow.get_width() + bs | 0; var H = this._arrow.get_height() + bs | 0; var bd = new openfl_display_BitmapData(W,H,true,0); flixel_FlxG.bitmap.add(bd,false,key); b.loadGraphic(key); var oldColor = this._arrow.color; this._arrow.set_color(this.style.borderColor); var m = new openfl_geom_Matrix(); m.identity(); b.stamp(this._arrow,0 * this.style.borderSize,0 * this.style.borderSize); b.stamp(this._arrow,this.style.borderSize,0 * this.style.borderSize); b.stamp(this._arrow,2 * this.style.borderSize,0 * this.style.borderSize); b.stamp(this._arrow,0 * this.style.borderSize,this.style.borderSize); b.stamp(this._arrow,2 * this.style.borderSize,this.style.borderSize); b.stamp(this._arrow,0 * this.style.borderSize,2 * this.style.borderSize); b.stamp(this._arrow,this.style.borderSize,2 * this.style.borderSize); b.stamp(this._arrow,2 * this.style.borderSize,2 * this.style.borderSize); this._arrow.set_color(oldColor); } b.loadGraphic(key); return b; } ,getArrowAnchor: function(a,result) { var touchHorz = a.x.side == "left" && a.x.flush == "right" || a.x.side == "right" && a.x.flush == "left"; var touchVert = a.y.side == "top" && a.y.flush == "bottom" || a.y.side == "bottom" && a.y.flush == "top"; var matchHorz = a.x.side == "left" && a.x.flush == "left" || a.x.side == "right" && a.x.flush == "right"; var matchVert = a.y.side == "top" && a.y.flush == "top" || a.y.side == "bottom" && a.y.flush == "bottom"; var touchBoth = touchHorz && touchVert; var matchBoth = matchHorz && matchVert; var off = this.style.borderSize; if(!touchBoth) { if(touchHorz) { result = a.getFlipped(true,false,result); if(result.x.flush == "left") { result.x.offset -= off; this._arrow.animation.play("right"); } if(result.x.flush == "right") { result.x.offset += off; this._arrow.animation.play("left"); } } if(touchVert) { result = a.getFlipped(false,true,result); if(result.y.flush == "top") { result.y.offset -= off; this._arrow.animation.play("down"); } if(result.y.flush == "bottom") { result.y.offset += off; this._arrow.animation.play("up"); } } } if(!matchBoth) { if(matchHorz) { if(result.x.flush == "left") { result.x.offset += off; } if(result.x.flush == "right") { result.x.offset -= off; } } if(matchVert) { if(result.y.flush == "top") { result.y.offset += off; } if(result.y.flush == "bottom") { result.y.offset -= off; } } } if(result != null) { return result; } return a; } ,__class__: flixel_addons_ui_FlxUITooltip ,__properties__: $extend(flixel_addons_ui_FlxUIGroup.prototype.__properties__,{set_body:"set_body",set_title:"set_title",set_anchor:"set_anchor",set_style:"set_style"}) }); var flixel_addons_ui_FlxUITooltipManager = function(State,SubState) { this.current = -1; this._init = false; this.delay = 0.1; this.showOnClick = false; this.defaultStyle = null; this.fixedPosition = null; this.defaultAnchor = null; this.autoFlipAnchor = true; if(State != null) { this.state = State; } else if(SubState != null) { this.subState = SubState; } this.list = []; this.tooltip = new flixel_addons_ui_FlxUITooltip(100,50); this.lastPosition = new flixel_math_FlxPoint(0,0); this.defaultAnchor = this.tooltip.anchor.clone(); this.defaultStyle = flixel_addons_ui_FlxUITooltip.cloneStyle(this.tooltip.style); }; $hxClasses["flixel.addons.ui.FlxUITooltipManager"] = flixel_addons_ui_FlxUITooltipManager; flixel_addons_ui_FlxUITooltipManager.__name__ = "flixel.addons.ui.FlxUITooltipManager"; flixel_addons_ui_FlxUITooltipManager.__interfaces__ = [flixel_util_IFlxDestroyable]; flixel_addons_ui_FlxUITooltipManager.prototype = { autoFlipAnchor: null ,defaultAnchor: null ,fixedPosition: null ,defaultStyle: null ,showOnClick: null ,delay: null ,showTooltipArrow: null ,cameras: null ,init: function() { var ui = this.state != null ? this.state._ui : this.subState != null ? this.subState._ui : null; if(ui == null) { return; } if(ui != null && ui.getDefinition("default:tooltip") != null) { var tt = ui._loadTooltipData(null); this.defaultStyle = flixel_addons_ui_FlxUITooltip.cloneStyle(tt.style); this.tooltip.set_style(this.defaultStyle); } } ,destroy: function() { flixel_util_FlxDestroyUtil.destroyArray(this.list); this.list = null; this.tooltip = null; this.lastPosition = null; this.state = null; this.subState = null; this.defaultAnchor = null; this.defaultStyle = null; } ,clear: function() { while(this.list.length > 0) { var entry = this.list.pop(); if(entry != null) { entry.destroy(); } } } ,hideCurrent: function() { if(this.current > 0) { this.hide(this.current); } } ,isVisible: function() { return this.current > 0; } ,doesCurrentTooltipBelongTo: function(thing,checkChildren) { if(checkChildren == null) { checkChildren = true; } if(((thing) instanceof flixel_addons_ui_FlxUIGroup)) { var i = this.findObj(thing); if(i != -1) { return i == this.current; } if(checkChildren) { var fuig = thing; var _g = 0; var _g1 = fuig.group.members; while(_g < _g1.length) { var member = _g1[_g]; ++_g; if(this.doesCurrentTooltipBelongTo(member)) { return true; } } } } else if(((thing) instanceof flixel_addons_ui_FlxUIButton)) { var i1 = this.findBtn(thing); if(i1 == -1) { return false; } return i1 == this.current; } else if(((thing) instanceof flixel_FlxObject)) { var i2 = this.findObj(thing); if(i2 == -1) { return false; } return i2 == this.current; } return false; } ,stickyTooltipFor: function(thing,sticky) { if(sticky == null) { sticky = true; } var i = this.findThing(thing); if(i != -1) { this.list[i].sticky = sticky; } } ,showTooltipFor: function(thing,value) { if(value == null) { value = true; } var i = this.findThing(thing); if(i != -1) { this.current = -1; if(value) { this.show(i); } else { this.hide(i); } } } ,enableTooltipFor: function(thing,enabled) { var i = this.findThing(thing); if(i >= 0 && i < this.list.length) { var entry = this.list[i]; entry.enabled = enabled; return true; } return false; } ,add: function(thing,data) { if(this._init) { data.style = flixel_addons_ui_FlxUITooltip.styleFix(data.style,this.defaultStyle); } var btn = null; var i = -1; if(js_Boot.__implements(thing,flixel_addons_ui_interfaces_IFlxUIButton)) { btn = thing; i = this.findBtn(btn); if(i == -1) { this.list.push(new flixel_addons_ui__$FlxUITooltipManager_FlxUITooltipEntry(btn,data)); } else { this.list[i].data = data; this.list[i].count = 0; } } else { i = this.findObj(thing); if(i == -1) { var b = new flixel_addons_ui_FlxUIButton(0,0,"",null,false,true); b.resize(thing.get_width(),thing.get_height()); btn = b; btn.set_x(thing.x); btn.set_y(thing.y); btn.set_width(thing.get_width()); btn.set_height(thing.get_height()); btn.scrollFactor.set(thing.scrollFactor.x,thing.scrollFactor.y); if(this.state != null) { this.state.add(btn); } else if(this.subState != null) { this.subState.add(btn); } this.list.push(new flixel_addons_ui__$FlxUITooltipManager_FlxUITooltipEntry(btn,data,thing)); } else { this.list[i].data = data; this.list[i].count = 0; this.list[i].btn.set_x(thing.x); this.list[i].btn.set_y(thing.y); this.list[i].btn.set_width(thing.get_width()); this.list[i].btn.set_height(thing.get_height()); this.list[i].btn.scrollFactor.set(thing.scrollFactor.x,thing.scrollFactor.y); } } } ,remove: function(thing) { var btn = null; var i = -1; if(js_Boot.__implements(thing,flixel_addons_ui_interfaces_IFlxUIButton)) { btn = thing; i = this.findBtn(btn); } else { i = this.findObj(thing); } if(i != -1) { if(this.current == i) { this.hide(this.current); } var entry = this.list[i]; this.list.splice(i,1); entry.destroy(); } } ,update: function(elapsed) { var _g = 0; var _g1 = this.list.length; while(_g < _g1) { var i = _g++; var btn = this.list[i].btn; var obj = this.list[i].obj; if(this.list[i].enabled == false) { if(this.current == i) { this.hide(i); } this.list[i].count = 0; continue; } if(obj != null) { btn.set_x(obj.x); btn.set_y(obj.y); btn.set_width(obj.get_width()); btn.set_height(obj.get_height()); btn.set_visible(obj.visible); } if(this.list[i].sticky == false && (false == btn.visible || btn.get_justMousedOut() || btn.get_mouseIsOut())) { this.list[i].count = 0; this.hide(i); } else if(btn.get_justMousedOver() || btn.get_mouseIsOver()) { if(btn.get_mouseIsOver()) { this.list[i].count += elapsed; } } if(this.list[i].count > this.delay || this.list[i].data.delay >= 0 && this.list[i].count > this.list[i].data.delay) { if(this.current != i) { this.show(i); } else if(this.list[i].data.moving) { this.show(i); } } } } ,_init: null ,list: null ,tooltip: null ,current: null ,lastPosition: null ,state: null ,subState: null ,hide: function(i) { if(this.current == i) { this.tooltip.hide(); if(this.state != null) { this.state.remove(this.tooltip,true); } if(this.subState != null) { this.subState.remove(this.tooltip,true); } this.current = -1; } } ,findThing: function(thing) { if(thing == null) { return -1; } var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var entry = _g1[_g]; ++_g; if(entry.obj == thing || js_Boot.__implements(thing,flixel_addons_ui_interfaces_IFlxUIButton) && js_Boot.__cast(thing , flixel_addons_ui_interfaces_IFlxUIButton) == entry.btn) { return this.list.indexOf(entry); } } return -1; } ,findBtn: function(btn) { if(btn == null) { return -1; } var _g = 0; var _g1 = this.list.length; while(_g < _g1) { var i = _g++; if(this.list[i] != null && this.list[i].btn == btn) { return i; } } return -1; } ,findObj: function(obj) { if(obj == null) { return -1; } var _g = 0; var _g1 = this.list.length; while(_g < _g1) { var i = _g++; if(this.list[i] != null && this.list[i].obj == obj) { return i; } } return -1; } ,set_fixedPosition: function(value) { this.fixedPosition = value; if(this.tooltip != null && this.tooltip.visible) { this.show(this.current); } return this.fixedPosition; } ,set_showTooltipArrow: function(b) { this.showTooltipArrow = b; if(this.tooltip != null && this.tooltip.visible) { this.tooltip._arrow.set_visible(this.tooltip._arrowBkg.set_visible(b)); } return this.showTooltipArrow; } ,show: function(i) { if(i < 0 || i >= this.list.length) { return; } var btn = this.list[i].btn; if(btn.visible == false || this.list[i].obj != null && this.list[i].obj.visible == false) { return; } if(this.current == i) { var deltaX = btn.x - this.lastPosition.x; var deltaY = btn.y - this.lastPosition.y; this.lastPosition.set_x(btn.x); this.lastPosition.set_y(btn.y); var _g = this.tooltip; _g.set_x(_g.x + deltaX); var _g1 = this.tooltip; _g1.set_y(_g1.y + deltaY); return; } this.current = i; var data = this.list[i].data; if(data.init != true) { data.style = flixel_addons_ui_FlxUITooltip.styleFix(data.style,this.defaultStyle); data.init = true; } var autoSizeVertical = true; var autoSizeHorizontal = true; if(data.style != null) { this.tooltip.set_style(data.style); autoSizeVertical = data.style.autoSizeVertical; autoSizeHorizontal = data.style.autoSizeHorizontal; } if(data.anchor != null) { this.tooltip.set_anchor(data.anchor); } else if(this.defaultAnchor != null) { this.tooltip.set_anchor(this.defaultAnchor); } if(this.state != null) { this.state.add(this.tooltip); } if(this.subState != null) { this.subState.add(this.tooltip); } this.tooltip.show(btn,data.title,data.body,autoSizeVertical,autoSizeHorizontal); if(this.fixedPosition != null) { this.fixedPosition.anchor.anchorThing(this.tooltip,this.fixedPosition.object); } if(this.autoFlipAnchor) { if(this.checkAutoFlip(this.tooltip,this.fixedPosition != null ? this.fixedPosition.anchor : null)) { if(this.fixedPosition != null) { this.fixedPosition.anchor.anchorThing(this.tooltip,this.fixedPosition.object); } else { this.tooltip.show(btn,data.title,data.body,autoSizeVertical,autoSizeHorizontal,this.showTooltipArrow); } } } this.lastPosition.set(btn.x,btn.y); if(this.state != null) { this.state.onShowTooltip(this.tooltip); } else if(this.subState != null) { this.subState.onShowTooltip(this.tooltip); } } ,checkAutoFlip: function(tooltip,anchor) { var flipX = tooltip.x < 0 || tooltip.x + tooltip.get_width() > flixel_FlxG.width; var flipY = tooltip.y < 0 || tooltip.y + tooltip.get_height() > flixel_FlxG.height; if(flipX || flipY) { if(anchor == null) { anchor = tooltip.anchor; } anchor.getFlipped(flipX,flipY,anchor); return true; } return false; } ,set_cameras: function(value) { this.tooltip.set_cameras(value); return this.cameras = value; } ,__class__: flixel_addons_ui_FlxUITooltipManager ,__properties__: {set_cameras:"set_cameras",set_showTooltipArrow:"set_showTooltipArrow",set_fixedPosition:"set_fixedPosition"} }; var flixel_addons_ui__$FlxUITooltipManager_FlxUITooltipEntry = function(Btn,Data,Obj) { this.sticky = false; this.btn = Btn; this.data = Data; this.obj = Obj; this.count = 0; this.enabled = true; if(this.data != null) { if(this.data.delay == null) { this.data.delay = -1; } if(this.data.moving == null) { this.data.moving = false; } } }; $hxClasses["flixel.addons.ui._FlxUITooltipManager.FlxUITooltipEntry"] = flixel_addons_ui__$FlxUITooltipManager_FlxUITooltipEntry; flixel_addons_ui__$FlxUITooltipManager_FlxUITooltipEntry.__name__ = "flixel.addons.ui._FlxUITooltipManager.FlxUITooltipEntry"; flixel_addons_ui__$FlxUITooltipManager_FlxUITooltipEntry.__interfaces__ = [flixel_util_IFlxDestroyable]; flixel_addons_ui__$FlxUITooltipManager_FlxUITooltipEntry.prototype = { obj: null ,btn: null ,count: null ,data: null ,enabled: null ,sticky: null ,destroy: function() { this.count = 0; this.obj = null; this.btn = null; this.data.anchor = null; this.data.style = null; this.data = null; } ,__class__: flixel_addons_ui__$FlxUITooltipManager_FlxUITooltipEntry }; var flixel_addons_ui_FontDef = function(Name,Extension,File1,Format,Border) { if(File1 == null) { File1 = ""; } if(Extension == null) { Extension = ".ttf"; } this._size = 0; this.name = Name; this.extension = Extension; this.file = File1; this.format = Format; if(this.format == null) { this.format = new openfl_text_TextFormat(); } this.border = Border; if(this.border == null) { this.border = new flixel_addons_ui_BorderDef(flixel_text_FlxTextBorderStyle.NONE,0); } }; $hxClasses["flixel.addons.ui.FontDef"] = flixel_addons_ui_FontDef; flixel_addons_ui_FontDef.__name__ = "flixel.addons.ui.FontDef"; flixel_addons_ui_FontDef.copyFromTextField = function(t) { var dtf = t.get_defaultTextFormat(); var fd = new flixel_addons_ui_FontDef(""); fd.fromStr(dtf.font); fd.format.font = dtf.font; fd.format.size = dtf.size; fd.format.color = dtf.color; fd.format.bold = dtf.bold; fd.format.italic = dtf.italic; fd.format.underline = dtf.underline; fd.format.url = dtf.url; fd.format.letterSpacing = dtf.letterSpacing; fd.format.leading = dtf.leading; fd.format.target = dtf.target; fd.format.align = dtf.align; return fd; }; flixel_addons_ui_FontDef.copyFromFlxText = function(t) { var fd = flixel_addons_ui_FontDef.copyFromTextField(t.textField); fd.fromStr(t._font); fd.border.style = t.borderStyle; fd.border.color = t.borderColor; fd.border.quality = t.borderQuality; fd.border.size = t.borderSize; return fd; }; flixel_addons_ui_FontDef.fromXML = function(data) { var fontFace = flixel_addons_ui_U.xml_str(data,"font"); var fontStyle = flixel_addons_ui_U.xml_str(data,"style"); var fontFile = null; if(fontFace != "") { fontFile = flixel_addons_ui_FlxUI.font(fontFace,fontStyle); } var fontStyle1 = flixel_addons_ui_U.xml_str(data,"style"); var fontSize = flixel_addons_ui_FlxUI.fontSize(fontFile,flixel_addons_ui_U.xml_i(data,"size",8)); var fontColor = flixel_addons_ui_U.xml_color(data,"color",true,-1); var fontAlign = flixel_addons_ui_U.xml_str(data,"align"); var align; switch(fontAlign.toLowerCase()) { case "center": align = 0; break; case "justify": align = 2; break; case "left": align = 3; break; case "right": align = 4; break; default: align = 3; } var fd = new flixel_addons_ui_FontDef(flixel_addons_ui_U.xml_str(data,"font"),".ttf",fontFile); fd.format.color = fontColor; fd.format.size = fontSize; fd.format.align = align; fd.set_size(fontSize); fd.setFontStyle(fontStyle1); fd.border = flixel_addons_ui_BorderDef.fromXML(data); return fd; }; flixel_addons_ui_FontDef.prototype = { name: null ,extension: null ,file: null ,format: null ,border: null ,get_size: function() { if(this.format != null) { this._size = this.format.size | 0; } return this._size; } ,set_size: function(i) { if(this.format != null) { this.format.size = i; } this._size = i; return this._size; } ,clone: function() { var newBorder = this.border == null ? null : this.border.clone(); var newFormat = this.format == null ? null : new openfl_text_TextFormat(this.format.font,this.format.size,this.format.color,this.format.bold,this.format.italic,this.format.underline,this.format.url,this.format.target,this.format.align,this.format.leftMargin,this.format.rightMargin,this.format.indent,this.format.leading); if(this.format != null) { newFormat.letterSpacing = this.format.letterSpacing; } var newThis = new flixel_addons_ui_FontDef(this.name,this.extension,this.file,newFormat,newBorder); newThis.set_size(this.get_size()); return newThis; } ,applyTxt: function(textField) { textField.setTextFormat(this.format); return textField; } ,applyFlx: function(flxText) { var flxTxtAlign = null; if(this.format.align != null) { switch(this.format.align) { case 0: flxTxtAlign = "center"; break; case 2: flxTxtAlign = "justify"; break; case 3: flxTxtAlign = "left"; break; case 4: flxTxtAlign = "right"; break; default: flxTxtAlign = "left"; } } var font = this.file == "" || this.file == null ? null : this.file; flxText.setFormat(font,this.format.size | 0,this.format.color,flxTxtAlign,this.border.style,this.border.color); flxText.textField.get_defaultTextFormat().leading = this.format.leading; flxText.textField.get_defaultTextFormat().letterSpacing = this.format.letterSpacing; return flxText; } ,apply: function(textField,flxText) { if(textField != null) { textField.setTextFormat(this.format); } if(flxText != null) { this.applyFlx(flxText); } } ,fromStr: function(str,recursion) { if(recursion == null) { recursion = 0; } if(recursion > 3) { return; } str = flixel_addons_ui_FontFixer.fix(str); var style = this.getFontStyle(str); this.setFontStyle(style); var extension = ""; var _g = 0; var _g1 = flixel_addons_ui_FontDef.EXTENSIONS; while(_g < _g1.length) { var ext = _g1[_g]; ++_g; if(str.indexOf(ext) != -1) { if(openfl_utils_Assets.exists(str + extension,"FONT")) { this.name = StringTools.replace(str,extension,""); this.file = str; extension = ext; break; } } } if(extension == "") { var _g2 = 0; var _g3 = flixel_addons_ui_FontDef.EXTENSIONS; while(_g2 < _g3.length) { var ext1 = _g3[_g2]; ++_g2; if(openfl_utils_Assets.exists(str + ext1,"FONT")) { extension = ext1; this.name = str; this.file = str + extension; extension = ext1; break; } } } else { str = this.stripFontExtensions(str); var fontStyle = this.getFontStyle(str); if(fontStyle != "") { str = HxOverrides.substr(str,str.length - 1,1); this.fromStr(str,recursion + 1); return; } else { this.fromStr(str,recursion + 1); return; } } this.setFontStyle(style); } ,_size: null ,stripFontExtensions: function(str) { if(str == null) { return str; } var _g = 0; var _g1 = flixel_addons_ui_FontDef.EXTENSIONS; while(_g < _g1.length) { var ext = _g1[_g]; ++_g; if(str != null && str.indexOf(ext) != -1) { str = StringTools.replace(str,ext,""); } } return str; } ,getFontExtension: function(str) { if(str == null) { return ""; } var _g = 0; var _g1 = flixel_addons_ui_FontDef.EXTENSIONS; while(_g < _g1.length) { var ext = _g1[_g]; ++_g; if(str.indexOf(ext) != -1) { return ext; } } return str; } ,fixFontName: function() { var fontStyle = this.getFontStyle(this.file); var extension = this.getFontExtension(this.file); var fontbase = this.stripFontExtensions(this.file); if(fontStyle != "") { fontbase = HxOverrides.substr(fontbase,0,fontbase.length - 1); } var styleStr = ""; if(this.format.bold && this.format.italic) { styleStr = "z"; } else if(this.format.bold) { styleStr = "b"; } else if(this.format.italic) { styleStr = "i"; } this.file = fontbase + styleStr + extension; } ,getFontStyle: function(str) { if(str == null) { return ""; } str = this.stripFontExtensions(str); var lastChar = HxOverrides.substr(str,str.length - 1,1); if(lastChar != "" && lastChar != null) { lastChar = lastChar.toLowerCase(); switch(lastChar) { case "b": return "b"; case "i": return "i"; case "z": return "z"; default: return ""; } } return ""; } ,setFontStyle: function(str) { str = str.toLowerCase(); switch(str) { case "b":case "bold": this.format.bold = true; this.format.italic = false; break; case "all":case "bi":case "bold-italic":case "bolditalic":case "both":case "ib":case "italicbold":case "z": this.format.bold = true; this.format.italic = true; break; case "i":case "italic": this.format.bold = false; this.format.italic = true; break; default: this.format.bold = false; this.format.italic = false; } this.fixFontName(); } ,toString: function() { return "{name:" + this.name + ",size:" + this.get_size() + ",file:" + this.file + ",extension:" + this.extension + ",format:" + Std.string(this.format) + ",border:" + Std.string(this.border) + "}"; } ,__class__: flixel_addons_ui_FontDef ,__properties__: {set_size:"set_size",get_size:"get_size"} }; var flixel_addons_ui_FontFixer = function() { }; $hxClasses["flixel.addons.ui.FontFixer"] = flixel_addons_ui_FontFixer; flixel_addons_ui_FontFixer.__name__ = "flixel.addons.ui.FontFixer"; flixel_addons_ui_FontFixer.name2File = null; flixel_addons_ui_FontFixer.init = function() { if(flixel_addons_ui_FontFixer.name2File == null) { flixel_addons_ui_FontFixer.name2File = new haxe_ds_StringMap(); } }; flixel_addons_ui_FontFixer.fix = function(font) { flixel_addons_ui_FontFixer.init(); if(font.indexOf(".ttf") == -1) { var _this = flixel_addons_ui_FontFixer.name2File; if(__map_reserved[font] != null ? _this.existsReserved(font) : _this.h.hasOwnProperty(font)) { var _this1 = flixel_addons_ui_FontFixer.name2File; font = __map_reserved[font] != null ? _this1.getReserved(font) : _this1.h[font]; } } return font; }; flixel_addons_ui_FontFixer.add = function(file,name) { if(name == null) { name = ""; } flixel_addons_ui_FontFixer.init(); var tmp; if(name != "") { var _this = flixel_addons_ui_FontFixer.name2File; tmp = __map_reserved[name] != null ? _this.existsReserved(name) : _this.h.hasOwnProperty(name); } else { tmp = false; } if(tmp) { var _this1 = flixel_addons_ui_FontFixer.name2File; if(__map_reserved[name] != null) { return _this1.getReserved(name); } else { return _this1.h[name]; } } if(!openfl_utils_Assets.exists(file,"FONT")) { return file; } var font = openfl_utils_Assets.getFont(file); if(font == null) { return file; } if(name == "") { name = font.name; } var _this2 = flixel_addons_ui_FontFixer.name2File; if(__map_reserved[name] != null) { _this2.setReserved(name,file); } else { _this2.h[name] = file; } return flixel_addons_ui_FontFixer.fix(file); }; var flixel_addons_ui_StrNameLabel = function(Name,Label) { if(Label == null) { Label = ""; } if(Name == null) { Name = ""; } this.name = Name; this.label = Label; }; $hxClasses["flixel.addons.ui.StrNameLabel"] = flixel_addons_ui_StrNameLabel; flixel_addons_ui_StrNameLabel.__name__ = "flixel.addons.ui.StrNameLabel"; flixel_addons_ui_StrNameLabel.sortByLabel = function(a,b) { if(a.label < b.label) { return -1; } if(a.label > b.label) { return 1; } return 0; }; flixel_addons_ui_StrNameLabel.sortByName = function(a,b) { if(a.name < b.name) { return -1; } if(a.name > b.name) { return 1; } return 0; }; flixel_addons_ui_StrNameLabel.prototype = { name: null ,label: null ,copy: function() { return new flixel_addons_ui_StrNameLabel(this.name,this.label); } ,toString: function() { var value = this.name; var _this = flixel_util_LabelValuePair._pool.get(); _this.label = "name"; _this.value = value; var value1 = this.label; var _this1 = flixel_util_LabelValuePair._pool.get(); _this1.label = "label"; _this1.value = value1; return flixel_util_FlxStringUtil.getDebugString([_this,_this1]); } ,__class__: flixel_addons_ui_StrNameLabel }; var flixel_addons_ui_U = function() { }; $hxClasses["flixel.addons.ui.U"] = flixel_addons_ui_U; flixel_addons_ui_U.__name__ = "flixel.addons.ui.U"; flixel_addons_ui_U.xml_str = function(data,att,lower_case,default_str) { if(default_str == null) { default_str = ""; } if(lower_case == null) { lower_case = false; } if(data.get(att) != null) { if(lower_case) { return data.get(att).toLowerCase(); } else { return data.get(att); } } return default_str; }; flixel_addons_ui_U.xml_name = function(data) { var name = flixel_addons_ui_U.xml_str(data,"name",true,""); if(name == "") { name = flixel_addons_ui_U.xml_str(data,"id",true,""); } return name; }; flixel_addons_ui_U.xml_color = function(data,att,cast32Bit,defaultColor) { if(cast32Bit == null) { cast32Bit = true; } var col = null; var str = flixel_addons_ui_U.xml_str(data,att,true); if(str != "") { var cast32Bit1 = cast32Bit; var return_val = flixel_util__$FlxColor_FlxColor_$Impl_$.fromString(str); if(return_val == null) { throw new js__$Boot_HaxeError("U.parseHex() unable to parse hex String " + str); } col = return_val; } if(col == null && defaultColor != null) { col = defaultColor; } return col; }; flixel_addons_ui_U.xml_iArray = function(data,att) { var arr = flixel_addons_ui_U.xml_strArray(data,att); var ints = null; if(arr != null && arr.length > 0) { ints = []; var _g = 0; var _g1 = arr.length; while(_g < _g1) { var i = _g++; ints[i] = Std.parseInt(arr[i]); } } return ints; }; flixel_addons_ui_U.xml_fArray = function(data,att) { var arr = flixel_addons_ui_U.xml_strArray(data,att); var fs = null; if(arr != null && arr.length > 0) { fs = []; var _g = 0; var _g1 = arr.length; while(_g < _g1) { var i = _g++; fs[i] = parseFloat(arr[i]); } } return fs; }; flixel_addons_ui_U.xml_strArray = function(data,att,lowerCase,default_) { if(lowerCase == null) { lowerCase = true; } var str = flixel_addons_ui_U.xml_str(data,att,lowerCase); if(str != "") { var arr = str.split(","); return arr; } else { return default_; } }; flixel_addons_ui_U.xml_colorArray = function(data,att,cast32Bit) { if(cast32Bit == null) { cast32Bit = true; } var arr = flixel_addons_ui_U.xml_strArray(data,att); var cols = null; if(arr != null && arr.length > 0) { cols = []; var _g = 0; var _g1 = arr.length; while(_g < _g1) { var i = _g++; var str = arr[i]; var cast32Bit1 = cast32Bit; var return_val = flixel_util__$FlxColor_FlxColor_$Impl_$.fromString(str); if(return_val == null) { throw new js__$Boot_HaxeError("U.parseHex() unable to parse hex String " + str); } cols[i] = return_val; } } return cols; }; flixel_addons_ui_U.perc_to_float = function(str) { if(str.lastIndexOf("%") == str.length - 1) { str = HxOverrides.substr(str,0,str.length - 1); var r = new EReg("([0-9]+)?(\\.)?([0-9]*)?",""); if(r.match(str)) { var match = r.matchedPos(); if(match.pos == 0 && match.len == str.length) { var perc_float = parseFloat(str); perc_float /= 100; return perc_float; } } } return NaN; }; flixel_addons_ui_U.isStrNum = function(str) { if(str == null || str == "") { return false; } var r = new EReg("-?([0-9]+)?(\\.)?([0-9]*)?",""); if(r.match(str)) { var p = r.matchedPos(); if(p.pos == 0 && p.len == str.length) { return true; } } return false; }; flixel_addons_ui_U.isStrInt = function(str) { var r = new EReg("[0-9]+",""); if(r.match(str)) { var p = r.matchedPos(); if(p.pos == 0 && p.len == str.length) { return true; } } return false; }; flixel_addons_ui_U.isStrFloat = function(str) { var r = new EReg("[0-9]+\\.[0-9]+",""); if(r.match(str)) { var p = r.matchedPos(); if(p.pos == 0 && p.len == str.length) { return true; } } return false; }; flixel_addons_ui_U.xml_f = function(data,att,default_) { if(default_ == null) { default_ = 0; } if(data.get(att) != null) { return parseFloat(data.get(att)); } return default_; }; flixel_addons_ui_U.xml_i = function(data,att,default_) { if(default_ == null) { default_ = 0; } if(data.get(att) != null) { return Std.parseInt(data.get(att)); } return default_; }; flixel_addons_ui_U.xml_pt = function(data,att,default_) { if(data.get(att) != null) { return flixel_addons_ui_U.pointify(data.get(att)); } return default_; }; flixel_addons_ui_U.boolify = function(str) { str = str.toLowerCase(); if(str == "true" || str == "1") { return true; } return false; }; flixel_addons_ui_U.pointify = function(str) { var pt = null; if(str != null) { var arr = ["(",")"," ","=",":"]; var _g = 0; while(_g < arr.length) { var thing = arr[_g]; ++_g; while(str.indexOf(thing) != -1) str = StringTools.replace(str,thing,""); } if(str.indexOf(",") == -1) { if(str.indexOf("x") != -1) { str = StringTools.replace(str,"x",","); } } arr = str.split(","); if(arr.length == 2) { pt = new flixel_math_FlxPoint(parseFloat(arr[0]),parseFloat(arr[1])); } } return pt; }; flixel_addons_ui_U.compareStringVars = function(variable,otherValue,type,op) { if(op == null) { op = "=="; } switch(type) { case "bool": var ba = flixel_addons_ui_U.boolify(variable); var bb = flixel_addons_ui_U.boolify(otherValue); if(op == "==" || op == "=") { return ba == bb; } else if(op == "!==" || op == "!=") { return ba != bb; } break; case "float": var fa = parseFloat(variable); var fb = parseFloat(otherValue); if(op == "==" || op == "=") { return fa == fb; } else if(op == "!==" || op == "!=") { return fa != fb; } else if(op == "<") { return fa < fb; } else if(op == ">") { return fa > fb; } else if(op == "<=") { return fa <= fb; } else if(op == ">=") { return fa >= fb; } break; case "int": var ia = Std.parseInt(variable); var ib = Std.parseInt(otherValue); if(op == "==" || op == "=") { return ia == ib; } else if(op == "!==" || op == "!=") { return ia != ib; } else if(op == "<") { return ia < ib; } else if(op == ">") { return ia > ib; } else if(op == "<=") { return ia <= ib; } else if(op == ">=") { return ia >= ib; } break; case "string": if(op == "==" || op == "=") { return variable == otherValue; } if(op == "!==" || op == "!=") { return variable != otherValue; } break; } return false; }; flixel_addons_ui_U.xml_bool = function(data,att,default_) { if(default_ == null) { default_ = false; } if(data.get(att) != null) { var str = data.get(att); str = str.toLowerCase(); if(str == "true" || str == "1") { return true; } return false; } return default_; }; flixel_addons_ui_U.xml_gfx = function(data,att,test) { if(test == null) { test = true; } var str = ""; if(data.get(att) != null) { str = data.get(att); if(str == "" || str == null) { str = ""; } else { str = flixel_addons_ui_U.gfx(str); if(test) { try { if(!openfl_utils_Assets.exists(str,"IMAGE")) { throw new js__$Boot_HaxeError("couldn't load bmp \"" + att + "\""); } } catch( msg ) { haxe_CallStack.lastException = msg; var msg1 = ((msg) instanceof js__$Boot_HaxeError) ? msg.val : msg; if(typeof(msg1) == "string") { var msg2 = msg1; } else { throw msg; } } } } } return str; }; flixel_addons_ui_U.center = function(fb1,fb2,centerX,centerY) { if(centerY == null) { centerY = true; } if(centerX == null) { centerX = true; } if(centerX) { fb2.set_x(fb1.x + (fb1.get_width() - fb2.get_width()) / 2); } if(centerY) { fb2.set_y(fb1.y + (fb1.get_height() - fb2.get_height()) / 2); } }; flixel_addons_ui_U.test_int = function(i1,test,i2) { switch(test) { case "!=": return i1 != i2; case "<": return i1 < i2; case "<=": return i1 <= i2; case "==": return i1 == i2; case ">": return i1 > i2; case ">=": return i1 >= i2; default: return false; } }; flixel_addons_ui_U.test_float = function(f1,test,f2) { switch(test) { case "!=": return f1 != f2; case "<": return f1 < f2; case "<=": return f1 <= f2; case "==": return f1 == f2; case ">": return f1 > f2; case ">=": return f1 >= f2; default: return false; } }; flixel_addons_ui_U.padDigits = function(i,d,padChar) { if(padChar == null) { padChar = "0"; } var f = i; var str = ""; var num_digits = 0; while(f >= 1) { f /= 10; ++num_digits; } if(i == 0) { num_digits = 1; } if(num_digits < d) { var _g = 0; var _g1 = d - num_digits; while(_g < _g1) { var temp = _g++; str += padChar; } } return str + (i == null ? "null" : "" + i); }; flixel_addons_ui_U.conformToBounds = function(pt,maxMin) { if(maxMin != null) { if(pt.x < maxMin.min_width) { pt.x = maxMin.min_width; } if(pt.y < maxMin.min_height) { pt.y = maxMin.min_height; } if(pt.x > maxMin.max_width) { pt.x = maxMin.max_width; } if(pt.x > maxMin.max_height) { pt.y = maxMin.max_height; } } return pt; }; flixel_addons_ui_U.parseHex = function(str,cast32Bit,safe,default_color) { if(default_color == null) { default_color = 0; } if(safe == null) { safe = false; } if(cast32Bit == null) { cast32Bit = false; } var return_val = flixel_util__$FlxColor_FlxColor_$Impl_$.fromString(str); if(return_val == null) { if(!safe) { throw new js__$Boot_HaxeError("U.parseHex() unable to parse hex String " + str); } else { return_val = default_color; } } return return_val; }; flixel_addons_ui_U.hexChar2dec = function(hex_char) { switch(hex_char) { case "0":case "1":case "10":case "2":case "3":case "4":case "5":case "6":case "7":case "8":case "9": return Std.parseInt(hex_char); case "A":case "a": return 10; case "C":case "c": return 12; case "E":case "e": return 14; case "B":case "b": return 11; case "D":case "d": return 13; case "F":case "f": return 15; default: throw new js__$Boot_HaxeError("U.hexChar2dec() illegal char(" + hex_char + ")"); } }; flixel_addons_ui_U.hex2dec = function(hex_str) { var length = hex_str.length; var place_mult = 1; var sum = 0; var i = length - 1; while(i >= 0) { var char_hex = HxOverrides.substr(hex_str,i,1); var char_int; switch(char_hex) { case "0":case "1":case "10":case "2":case "3":case "4":case "5":case "6":case "7":case "8":case "9": char_int = Std.parseInt(char_hex); break; case "A":case "a": char_int = 10; break; case "C":case "c": char_int = 12; break; case "E":case "e": char_int = 14; break; case "B":case "b": char_int = 11; break; case "D":case "d": char_int = 13; break; case "F":case "f": char_int = 15; break; default: throw new js__$Boot_HaxeError("U.hexChar2dec() illegal char(" + char_hex + ")"); } sum += char_int * place_mult; place_mult *= 16; --i; } return sum; }; flixel_addons_ui_U.hex2rgb = function(hex) { return [hex >> 16 & 255,hex >> 8 & 255,hex & 255]; }; flixel_addons_ui_U.applyResize = function(resize_ratio,resize_ratio_axis,w,h,pt) { if(pt == null) { pt = new flixel_math_FlxPoint(); } if(resize_ratio > 0) { var effective_ratio = w / h; if(Math.abs(effective_ratio - resize_ratio) > 0.0001) { if(resize_ratio_axis == 1) { h = w * (1 / resize_ratio); } else { w = h * (1 / resize_ratio); } } } var iw = w | 0; if(iw < 1) { w = 1; } var ih = h | 0; if(ih < 1) { h = 1; } pt.set(w,h); return pt; }; flixel_addons_ui_U.rgb2hex = function(r,g,b) { return r << 16 | g << 8 | b; }; flixel_addons_ui_U.interpolate = function(hex1,hex2,amt) { if(amt < 0) { amt = 0; } else if(amt > 1) { amt = 1; } var a1 = 1 - amt; var c1r = hex1 >> 16 & 255; var c1g = hex1 >> 8 & 255; var c1b = hex1 & 255; var c2r = hex2 >> 16 & 255; var c2g = hex2 >> 8 & 255; var c2b = hex2 & 255; var c3r = c1r * a1 + c2r * amt | 0; var c3g = c1g * a1 + c2g * amt | 0; var c3b = c1b * a1 + c2b * amt | 0; return c3r << 16 | c3g << 8 | c3b; }; flixel_addons_ui_U.getLocList = function(xmin,ymin,xmax,ymax) { var list = []; var _g = ymin; var _g1 = ymax + 1; while(_g < _g1) { var yy = _g++; var _g2 = xmin; var _g11 = xmax + 1; while(_g2 < _g11) { var xx = _g2++; var X = xx; var Y = yy; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; list.push(point); } } return list; }; flixel_addons_ui_U.disposeXML = function(thing) { }; flixel_addons_ui_U.copyAccess = function(fast) { var x = Xml.parse(haxe_xml_Printer.print(fast)).firstElement(); if(x.nodeType != Xml.Document && x.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Invalid nodeType " + _$Xml_XmlType_$Impl_$.toString(x.nodeType)); } var this1 = x; return this1; }; flixel_addons_ui_U.copyXml = function(data) { return Xml.parse(haxe_xml_Printer.print(data)).firstElement(); }; flixel_addons_ui_U.getXML = function(str,folder) { if(folder == null) { folder = ""; } var id = str; if(folder != "") { id = folder + "/" + id; } return flixel_addons_ui_U.xml(id); }; flixel_addons_ui_U.json = function(str,extension,dir) { if(dir == null) { dir = "assets/json/"; } if(extension == null) { extension = "json"; } var json_str = openfl_utils_Assets.getText(dir + str + "." + extension); if(json_str != "" && json_str != null) { var the_json = JSON.parse(json_str); return the_json; } return null; }; flixel_addons_ui_U.field = function(object,field,_default) { if(object == null) { return null; } if(Object.prototype.hasOwnProperty.call(object,field)) { var thing = Reflect.field(object,field); if(thing == null) { return _default; } return thing; } return _default; }; flixel_addons_ui_U.xml = function(id,extension,getAccess,dir) { if(dir == null) { dir = "assets/xml/"; } if(getAccess == null) { getAccess = true; } if(extension == null) { extension = "xml"; } if(id.indexOf("raw:") == 0 || id.indexOf("RAW:") == 0) { id = HxOverrides.substr(id,4,id.length - 4); dir = ""; } var thePath = dir + id + "." + extension; var exists = openfl_utils_Assets.exists(thePath,"TEXT"); if(!exists) { return null; } var str = openfl_utils_Assets.getText(dir + id + "." + extension); if(str == null) { return null; } var the_xml = Xml.parse(str); if(getAccess) { var x = the_xml.firstElement(); if(x.nodeType != Xml.Document && x.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Invalid nodeType " + _$Xml_XmlType_$Impl_$.toString(x.nodeType)); } var this1 = x; var fast = this1; return fast; } else { return the_xml.firstElement(); } }; flixel_addons_ui_U.clearArraySoft = function(array) { if(array == null) { return; } var i = array.length - 1; while(i >= 0) { array[i] = null; array.splice(i,1); --i; } array = null; }; flixel_addons_ui_U.clearArray = function(array) { if(array == null) { return; } var i = array.length - 1; while(i >= 0) { flixel_addons_ui_U.destroyThing(array[i]); array[i] = null; array.splice(i,1); --i; } array = null; }; flixel_addons_ui_U.destroyThing = function(thing) { if(thing == null) { return; } if(((thing) instanceof Array)) { flixel_addons_ui_U.clearArray(thing); } else if(js_Boot.__implements(thing,flixel_util_IFlxDestroyable)) { var idstr = js_Boot.__cast(thing , flixel_util_IFlxDestroyable); idstr.destroy(); idstr = null; } else if(((thing) instanceof flixel_FlxBasic)) { var fb = js_Boot.__cast(thing , flixel_FlxBasic); fb.destroy(); fb = null; } thing = null; }; flixel_addons_ui_U.fontStr = function(str,style) { if(style == null) { style = ""; } var style1 = style; if(style1 == null) { style1 = ""; } style1 = style1.toLowerCase(); var suffix = ""; switch(style1) { case "b":case "bold": suffix = "b"; break; case "bi":case "bold-italic":case "boldi":case "bolditalic":case "ib":case "ibold":case "italic-bold":case "italicbold":case "z": suffix = "z"; break; case "i":case "italic": suffix = "i"; break; case "":case "none":case "normal":case "regular": suffix = ""; break; } if(str.indexOf("assets/fonts/") != 0) { return "assets/fonts/" + str + suffix; } else { return str + suffix; } }; flixel_addons_ui_U.font = function(str,style,extension) { if(extension == null) { extension = ".ttf"; } if(style == null) { style = ""; } var ostr = str; var style1 = style; if(style1 == null) { style1 = ""; } style1 = style1.toLowerCase(); var suffix = ""; switch(style1) { case "b":case "bold": suffix = "b"; break; case "bi":case "bold-italic":case "boldi":case "bolditalic":case "ib":case "ibold":case "italic-bold":case "italicbold":case "z": suffix = "z"; break; case "i":case "italic": suffix = "i"; break; case "":case "none":case "normal":case "regular": suffix = ""; break; } if(str.indexOf("assets/fonts/") != 0) { str = "assets/fonts/" + str + suffix; } else { str += suffix; } if(str.indexOf(extension) == -1) { str += extension; } str = flixel_addons_ui_FontFixer.add(str); var exists = openfl_utils_Assets.exists(str,"FONT"); if(!exists && extension == ".ttf") { var alt = flixel_addons_ui_U.font(ostr,style,".otf"); if(openfl_utils_Assets.exists(alt,"FONT")) { return alt; } } return str; }; flixel_addons_ui_U._font = function(str,style) { if(style == null) { style = ""; } style = style.toLowerCase(); var suffix = ""; switch(style) { case "b":case "bold": suffix = "b"; break; case "bi":case "bold-italic":case "boldi":case "bolditalic":case "ib":case "ibold":case "italic-bold":case "italicbold":case "z": suffix = "z"; break; case "i":case "italic": suffix = "i"; break; case "":case "none":case "normal":case "regular": suffix = ""; break; } if(str.indexOf("assets/fonts/") != 0) { return "assets/fonts/" + str + suffix; } return str + suffix; }; flixel_addons_ui_U.fsx = function(data) { return new flixel_addons_ui_FlxUISprite(0,0,data); }; flixel_addons_ui_U.fs = function(data) { return new flixel_FlxSprite(0,0,data); }; flixel_addons_ui_U.FU = function(str) { return HxOverrides.substr(str,0,1).toUpperCase() + HxOverrides.substr(str,1,str.length - 1); }; flixel_addons_ui_U.FUL = function(str) { return HxOverrides.substr(str,0,1).toUpperCase() + HxOverrides.substr(str,1,str.length - 1).toLowerCase(); }; flixel_addons_ui_U.getBmp = function(asset) { var str = null; if(typeof(asset) == "string") { str = asset; } else if(((asset) instanceof flixel_graphics_FlxGraphic)) { var fg = asset; str = fg.key; } else if(((asset) instanceof openfl_display_BitmapData)) { var bmp = asset; return bmp; } var _this = flixel_FlxG.bitmap._cache; if((__map_reserved[str] != null ? _this.getReserved(str) : _this.h[str]) != null) { var _this1 = flixel_FlxG.bitmap._cache; var cg = __map_reserved[str] != null ? _this1.getReserved(str) : _this1.h[str]; if(cg.bitmap != null) { return cg.bitmap; } } return openfl_utils_Assets.getBitmapData(str,false); }; flixel_addons_ui_U.checkHaxedef = function(str) { str = str.toLowerCase(); switch(str) { case "android": break; case "console-pc":case "console_pc": break; case "cpp": break; case "demo": break; case "desktop": break; case "flash": break; case "html5": return true; case "ios": break; case "js": return true; case "legacy":case "lime_legacy": break; case "lime_next":case "next": var val = true; return val; case "linux": break; case "mac": break; case "mobile": break; case "neko": break; case "ps3": break; case "ps4": break; case "sys": break; case "tvos": break; case "vita": break; case "web": return true; case "wiiu": break; case "windows": break; case "xbox1": break; } return false; }; flixel_addons_ui_U.copy_shallow_arr = function(src) { if(src == null) { return null; } var arr = []; if(src == null) { return arr; } var _g = 0; while(_g < src.length) { var thing = src[_g]; ++_g; arr.push(thing); } return arr; }; flixel_addons_ui_U.copy_arr_arr_i = function(src) { if(src == null) { return null; } var arrarr = []; var _g = 0; while(_g < src.length) { var arri = src[_g]; ++_g; var temp = []; var _g1 = 0; while(_g1 < arri.length) { var i = arri[_g1]; ++_g1; temp.push(i); } arrarr.push(temp); } return arrarr; }; flixel_addons_ui_U.copy_shallow_arr_i = function(src) { if(src == null) { return null; } var arr = []; var _g = 0; while(_g < src.length) { var thing = src[_g]; ++_g; arr.push(thing); } return arr; }; flixel_addons_ui_U.copy_shallow_arr_str = function(src) { if(src == null) { return null; } var arr = []; var _g = 0; while(_g < src.length) { var thing = src[_g]; ++_g; arr.push(thing); } return arr; }; flixel_addons_ui_U.FU_ = function(str) { var arr = str.split(" "); var str1 = ""; var _g = 0; var _g1 = arr.length; while(_g < _g1) { var i = _g++; str1 += flixel_addons_ui_U.FU(arr[i]); if(i != arr.length - 1) { str1 += " "; } } return str1; }; flixel_addons_ui_U.xml_blend = function(x,att) { return flixel_addons_ui_U.blendModeFromString(flixel_addons_ui_U.xml_str(x,att,true,"normal")); }; flixel_addons_ui_U.blendModeFromString = function(str) { str = str.toLowerCase(); switch(str) { case "add": return 0; case "alpha": return 1; case "darken": return 2; case "difference": return 3; case "erase": return 4; case "hardlight": return 5; case "invert": return 6; case "layer": return 7; case "lighten": return 8; case "multiply": return 9; case "normal": return 10; case "overlay": return 11; case "screen": return 12; case "subtract": return 14; default: return 10; } }; flixel_addons_ui_U.scaleTileBmp = function(orig_id,scale,origW,origH,W,H,smooth) { if(smooth == null) { smooth = true; } if(H == null) { H = -1; } if(W == null) { W = -1; } var orig = openfl_utils_Assets.getBitmapData(orig_id,false); if(orig == null) { var _this = flixel_FlxG.bitmap._cache; if((__map_reserved[orig_id] != null ? _this.getReserved(orig_id) : _this.h[orig_id]) != null) { var _this1 = flixel_FlxG.bitmap._cache; orig = (__map_reserved[orig_id] != null ? _this1.getReserved(orig_id) : _this1.h[orig_id]).bitmap; } else { return null; } } var widthInTiles = orig.width / origW | 0; var heightInTiles = orig.height / origH | 0; if(W == -1) { W = origW * scale | 0; } if(H == -1) { H = origH * scale | 0; scale = H / origH; } if(Math.abs(scale - 1.0) > 0.001) { var scaled = new openfl_display_BitmapData(W * widthInTiles | 0,H * heightInTiles | 0,true,0); var rect = new openfl_geom_Rectangle(); var pt = new openfl_geom_Point(); var matrix = new openfl_geom_Matrix(); matrix.scale(scale,scale); var _g = 0; var _g1 = heightInTiles; while(_g < _g1) { var tiley = _g++; var _g2 = 0; var _g11 = widthInTiles; while(_g2 < _g11) { var tilex = _g2++; var tile = new openfl_display_BitmapData(origW,origH,true,0); rect.setTo(tilex * origW,tiley * origH,origW,origH); pt.setTo(0,0); tile.copyPixels(orig,rect,pt); var scaleTile = new openfl_display_BitmapData(W,H,true,0); scaleTile.draw(tile,matrix,null,null,null,smooth); pt.setTo(tilex * W,tiley * H); scaled.copyPixels(scaleTile,scaleTile.rect,pt); } } return scaled; } else { return orig.clone(); } }; flixel_addons_ui_U.scaleAndStoreTileset = function(orig_id,scale,OrigW,OrigH,TileW,TileH,Smooth) { if(Smooth == null) { Smooth = true; } if(TileH == null) { TileH = -1; } if(TileW == null) { TileW = -1; } var assetKey = orig_id + "_x" + scale; var _this = flixel_FlxG.bitmap._cache; if((__map_reserved[assetKey] != null ? _this.getReserved(assetKey) : _this.h[assetKey]) != null == false) { var bmp = flixel_addons_ui_U.scaleTileBmp(orig_id,scale,OrigW,OrigH,TileW,TileH,Smooth); flixel_FlxG.bitmap.add(bmp,false,assetKey); } return assetKey; }; flixel_addons_ui_U.loadScaledImage = function(src,W,H,smooth) { if(smooth == null) { smooth = true; } var bmpSrc = flixel_addons_ui_U.gfx(src); var testBmp = openfl_utils_Assets.getBitmapData(bmpSrc,false); if(testBmp != null) { if(W < 0) { W = testBmp.width; } if(H < 0) { H = testBmp.height; } var diff = Math.abs(W - testBmp.width) + Math.abs(H - testBmp.height); if(diff > 0.01) { var scaleKey = bmpSrc + "_" + (W | 0) + "x" + (H | 0); var _this = flixel_FlxG.bitmap._cache; if((__map_reserved[scaleKey] != null ? _this.getReserved(scaleKey) : _this.h[scaleKey]) == null) { var scaledBmp = new openfl_display_BitmapData(W | 0,H | 0,true,0); var m = flixel_addons_ui_U.getMatrix(); m.identity(); m.scale(W / testBmp.width,H / testBmp.height); scaledBmp.draw(testBmp,m,null,null,null,smooth); flixel_FlxG.bitmap.add(scaledBmp,true,scaleKey); } return scaleKey; } else { return bmpSrc; } } return null; }; flixel_addons_ui_U.loadImageScaleToHeight = function(src,Height,Smooth,checkFlxBitmap) { if(checkFlxBitmap == null) { checkFlxBitmap = false; } if(Smooth == null) { Smooth = true; } var bmpSrc = flixel_addons_ui_U.gfx(src); var testBmp = null; if(!checkFlxBitmap) { testBmp = openfl_utils_Assets.getBitmapData(bmpSrc,false); } else { var _this = flixel_FlxG.bitmap._cache; var flximg = __map_reserved[bmpSrc] != null ? _this.getReserved(bmpSrc) : _this.h[bmpSrc]; testBmp = flximg != null ? flximg.bitmap : null; } var ratio = testBmp != null ? Height / testBmp.height : 1.0; return flixel_addons_ui_U.loadMonoScaledImage(bmpSrc,ratio,Smooth,checkFlxBitmap); }; flixel_addons_ui_U.loadMonoScaledImage = function(src,Scale,smooth,checkFlxBitmap,fixAlphaChannel) { if(fixAlphaChannel == null) { fixAlphaChannel = false; } if(checkFlxBitmap == null) { checkFlxBitmap = false; } if(smooth == null) { smooth = true; } var bmpSrc = flixel_addons_ui_U.gfx(src); var testBmp = null; if(!checkFlxBitmap) { testBmp = openfl_utils_Assets.getBitmapData(bmpSrc,false); if(testBmp == null) { testBmp = openfl_utils_Assets.getBitmapData(bmpSrc,true); } } else { var _this = flixel_FlxG.bitmap._cache; var flximg = __map_reserved[bmpSrc] != null ? _this.getReserved(bmpSrc) : _this.h[bmpSrc]; testBmp = flximg != null ? flximg.bitmap : null; } if(testBmp != null) { if(Scale <= 0) { throw new js__$Boot_HaxeError("Error! Scale must be positive & > 0! (Scale was = " + Scale + ")"); } if(Math.abs(Scale - 1.00) > 0.001) { var scaleKey = bmpSrc + "_ScaleX" + Scale; var _this1 = flixel_FlxG.bitmap._cache; if((__map_reserved[scaleKey] != null ? _this1.getReserved(scaleKey) : _this1.h[scaleKey]) == null) { var scaledBmp = new openfl_display_BitmapData(testBmp.width * Scale | 0,testBmp.height * Scale | 0,true,0); var m = flixel_addons_ui_U.getMatrix(); m.identity(); m.scale(Scale,Scale); scaledBmp.draw(testBmp,m,null,null,null,smooth); if(fixAlphaChannel) { var black = new openfl_display_BitmapData(scaledBmp.width,scaledBmp.height,true,-16777216); black.copyPixels(scaledBmp,scaledBmp.rect,new openfl_geom_Point(),null,null,true); black.copyChannel(scaledBmp,scaledBmp.rect,new openfl_geom_Point(0,0),8,8); var temp = scaledBmp; scaledBmp = black; temp.dispose(); } flixel_FlxG.bitmap.add(scaledBmp,true,scaleKey); } return scaleKey; } else { flixel_FlxG.bitmap.add(testBmp,false,bmpSrc); return bmpSrc; } } return null; }; flixel_addons_ui_U.gfx = function(id,dir1,dir2,dir3,dir4,suppressError) { if(suppressError == null) { suppressError = false; } if(dir4 == null) { dir4 = ""; } if(dir3 == null) { dir3 = ""; } if(dir2 == null) { dir2 = ""; } if(dir1 == null) { dir1 = ""; } if(id != null) { id = id.toLowerCase(); } var prefix = ""; if(dir1 != "") { prefix = dir1 + "/"; if(dir2 != "") { prefix += dir2 + "/"; if(dir3 != "") { prefix += dir3 + "/"; if(dir4 != "") { prefix += dir4 + "/"; } } } } if(prefix != "") { id = prefix + id; } if(id.indexOf("raw:") != 0) { id = StringTools.replace(id,"-","_"); } return flixel_addons_ui_U.get_gfx(id); }; flixel_addons_ui_U.bmpToArrayIntLayer = function(color_index,bd) { var p; var arr = []; var w = bd.width; var h = bd.height; var _g = 0; var _g1 = h; while(_g < _g1) { var r = _g++; var _g2 = 0; var _g11 = w; while(_g2 < _g11) { var c = _g2++; p = bd.getPixel(c,r); if(p == color_index) { p = 1; } else { p = 0; } arr.push(p); } } return arr; }; flixel_addons_ui_U.bmpToCSVLayer = function(color_index,bd) { var p; var csv = ""; var w = bd.width; var h = bd.height; var _g = 0; var _g1 = h; while(_g < _g1) { var r = _g++; var _g2 = 0; var _g11 = w; while(_g2 < _g11) { var c = _g2++; p = bd.getPixel(c,r); if(p == color_index) { p = 1; } else { p = 0; } if(c == 0) { if(r == 0) { csv += p; } else { csv += "\n" + p; } } else { csv += ", " + p; } } } return csv; }; flixel_addons_ui_U.get_gfx = function(str) { var return_str = ""; var suffix = ""; if(str.indexOf(".jpg") != -1) { suffix = ".jpg"; } else { suffix = ".png"; } if(str != null && str.length > 4 && str.indexOf(suffix) != -1) { str = HxOverrides.substr(str,0,str.length - 4); } if(str.indexOf("raw:") == 0 || str.indexOf("RAW:") == 0) { str = HxOverrides.substr(str,4,str.length - 4); return_str = str + suffix; } if(str != null && str.indexOf("assets/gfx/") == 0) { return_str = str + suffix; } if(return_str == "") { return_str = "assets/gfx/" + str + suffix; } if(return_str.indexOf(".stitch.txt" + suffix) != -1) { return_str = StringTools.replace(return_str,".stitch.txt" + suffix,".stitch.txt"); } return return_str; }; flixel_addons_ui_U.sfx = function(str) { var extension = ""; extension = ".ogg"; if(str.indexOf("RAW:") == 0) { str = HxOverrides.substr(str,4,str.length - 4); return str + extension; } return "assets/sfx/" + str + extension; }; flixel_addons_ui_U.intStr_to_arr = function(str) { var arr = str.split(","); var str_arr = []; var _g = 0; while(_g < arr.length) { var s = arr[_g]; ++_g; if(s.indexOf("-") == -1) { str_arr.push(Std.parseInt(s)); } else { var range = str.split("-"); var lo = -1; var hi = -1; if(range != null && range.length == 2) { lo = Std.parseInt(range[0]); hi = Std.parseInt(range[1]) + 1; if(lo >= 0 && hi > lo) { var _g1 = lo; var _g11 = hi; while(_g1 < _g11) { var i = _g1++; str_arr.push(i); } } } } } return str_arr; }; flixel_addons_ui_U.intStr_to_arrStr = function(str) { var arr = str.split(","); var str_arr = []; var _g = 0; while(_g < arr.length) { var s = arr[_g]; ++_g; if(s.indexOf("-") == -1) { str_arr.push(Std.string(Std.parseInt(s))); } else { var range = str.split("-"); var lo = -1; var hi = -1; if(range != null && range.length == 2) { lo = Std.parseInt(range[0]); hi = Std.parseInt(range[1]) + 1; if(lo >= 0 && hi > lo) { var _g1 = lo; var _g11 = hi; while(_g1 < _g11) { var i = _g1++; str_arr.push(i == null ? "null" : "" + i); } } } } } return str_arr; }; flixel_addons_ui_U.dirStr = function(XX,YY) { var str = ""; if(XX == 0) { if(YY == -1) { str = "N"; } else if(YY == 1) { str = "S"; } else if(YY == 0) { str = "NONE"; } } else if(XX == 1) { if(YY == -1) { str = "NE"; } else if(YY == 1) { str = "SE"; } else if(YY == 0) { str = "E"; } } else if(XX == -1) { if(YY == -1) { str = "NW"; } else if(YY == 1) { str = "SW"; } else if(YY == 0) { str = "W"; } } else { str = "NONE"; } return str; }; flixel_addons_ui_U.obj_direction = function(a,b) { var dx = a.x - b.x; var dy = a.y - b.y; var X = dx / Math.abs(dx) | 0; var Y = dy / Math.abs(dy) | 0; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; var ipt = point; return ipt; }; flixel_addons_ui_U.circle_test = function(x1,y1,r1,x2,y2,r2) { var dx = x1 - x2; var dy = y1 - y2; var d2 = dx * dx + dy * dy; var dr2 = r1 * r1 + r2 * r2; return d2 <= dr2; }; flixel_addons_ui_U.point_circle_test = function(x,y,cx,cy,r) { var dx = x - cx; var dy = y - cy; var d2 = dx * dx + dy * dy; return d2 <= r * r; }; flixel_addons_ui_U.aabb_test_mult = function(a,b,multA,multB) { if(multB == null) { multB = 1; } if(multA == null) { multA = 1; } var extra = a.get_width() * multA; var diff = (extra - a.get_width()) / 2; var ax1 = a.x - diff; var ax2 = a.x + a.get_width() + diff; extra = a.get_height() * multA; diff = (extra - a.get_height()) / 2; var ay1 = a.y - diff; var ay2 = a.y + a.get_height() + diff; extra = b.get_width() * multB; diff = (extra - b.get_width()) / 2; var bx1 = b.x - diff; var bx2 = b.x + b.get_width() + diff; extra = b.get_height() * multB; diff = (extra - b.get_height()) / 2; var by1 = b.y - diff; var by2 = b.y + b.get_height() + diff; if(Math.abs(bx2 + bx1 - (ax2 + ax1)) <= bx2 - bx1 + ax2 - ax1) { return Math.abs(by2 + by1 - (ay2 + ay1)) <= by2 - by1 + ay2 - ay1; } else { return false; } }; flixel_addons_ui_U.aabb_test = function(a,b) { var ax1 = a.x; var ax2 = a.x + a.get_width(); var ay1 = a.y; var ay2 = a.y + a.get_height(); var bx1 = b.x; var bx2 = b.x + b.get_width(); var by1 = b.y; var by2 = b.y + b.get_height(); if(Math.abs(bx2 + bx1 - (ax2 + ax1)) <= bx2 - bx1 + ax2 - ax1) { return Math.abs(by2 + by1 - (ay2 + ay1)) <= by2 - by1 + ay2 - ay1; } else { return false; } }; flixel_addons_ui_U.bitStringDimensions = function(str) { var pt = new openfl_geom_Point(0,0); var arr = str.split("\n"); if(arr != null && arr.length > 1) { pt.y = arr.length; if(arr[0] != null && arr[0].length > 1) { pt.x = arr[0].length; } } return pt; }; flixel_addons_ui_U.splitBitString = function(str) { var result = []; var arr = str.split("\n"); var i = 0; while(i < arr.length) { var len = arr[i].length; var j = 0; while(j < len) { var char = arr[i].charAt(j); var num = Std.parseInt(char); result.push(num); ++j; } ++i; } return result; }; flixel_addons_ui_U.getShortTextFromFlxKeyText = function(str) { str = str.toUpperCase(); switch(str) { case "ACCENT": return "`"; case "ALT": return "AT"; case "BACKSLASH": return "\\"; case "BACKSPACE": return "BK"; case "CAPSLOCK": return "CP"; case "COMMA": return ","; case "CONTROL": return "CT"; case "DELETE": return "DE"; case "DOWN": return "DN"; case "EIGHT": return "8"; case "END": return "ED"; case "ENTER": return "EN"; case "EQUALS": return "="; case "ESC":case "ESCAPE": return "EC"; case "FIVE": return "5"; case "FOUR": return "4"; case "HOME": return "HM"; case "INSERT": return "IN"; case "LBRACKET": return "["; case "LEFT": return "LT"; case "MINUS": return "-"; case "NINE": return "9"; case "NULL": return " "; case "NUM0": return "N0"; case "NUM1": return "N1"; case "NUM2": return "N2"; case "NUM3": return "N3"; case "NUM4": return "N4"; case "NUM5": return "N5"; case "NUM6": return "N6"; case "NUM7": return "N7"; case "NUM8": return "N8"; case "NUM9": return "N9"; case "NUMDEC": return "N."; case "NUMDIV": return "N/"; case "NUMLOCK": return "NM"; case "NUMMINUS": return "N-"; case "NUMMULT": return "N*"; case "NUMPLUS": return "N+"; case "ONE": return "1"; case "PAGEDOWN": return "PD"; case "PAGEUP": return "PU"; case "PAUSEBREAK": return "PB"; case "PERIOD": return "."; case "PLUS": return "+"; case "QUOTE": return "\""; case "RBRACKET": return "]"; case "RIGHT": return "RT"; case "SCROLLLOCK": return "SC"; case "SEMICOLON": return ";"; case "SEVEN": return "7"; case "SHIFT": return "SH"; case "SIX": return "6"; case "SLASH": return "/"; case "SPACE": return "SP"; case "TAB": return "TB"; case "TEN": return "10"; case "THREE": return "3"; case "TWO": return "2"; case "UP": return "UP"; case "ZERO": return "0"; default: return str; } }; flixel_addons_ui_U.getFlxKeyTextFromShortText = function(str) { str = str.toUpperCase(); switch(str) { case "": return " "; case "\"": return "QUOTE"; case "*": return "NUMMULT"; case "+": return "PLUS"; case ",": return "COMMA"; case "-": return "MINUS"; case ".": return "PERIOD"; case "/": return "SLASH"; case "0": return "ZERO"; case "1": return "ONE"; case "10": return "TEN"; case "2": return "TWO"; case "3": return "THREE"; case "4": return "FOUR"; case "5": return "FIVE"; case "6": return "SIX"; case "7": return "SEVEN"; case "8": return "EIGHT"; case "9": return "NINE"; case ";": return "SEMICOLON"; case "=": return "EQUALS"; case "AT": return "ALT"; case "BK": return "BACKSPACE"; case "CP": return "CAPSLOCK"; case "CT": return "CONTROL"; case "DE": return "DELETE"; case "DN": return "DOWN"; case "EC": return "ESCAPE"; case "ED": return "END"; case "EN": return "ENTER"; case "HM": return "HOME"; case "IN": return "INSERT"; case "LT": return "LEFT"; case "N+": return "NUMPLUS"; case "N-": return "NUMMINUS"; case "N.": return "NUMDEC"; case "N/": return "NUMDIV"; case "N0": return "NUM0"; case "N1": return "NUM1"; case "N2": return "NUM2"; case "N3": return "NUM3"; case "N4": return "NUM4"; case "N5": return "NUM5"; case "N6": return "NUM6"; case "N7": return "NUM7"; case "N8": return "NUM8"; case "N9": return "NUM9"; case "NM": return "NUMLOCK"; case "PB": return "PAUSEBREAK"; case "PD": return "PAGEDOWN"; case "PU": return "PAGEUP"; case "RT": return "RIGHT"; case "SC": return "SCROLLLOCK"; case "SH": return "SHIFT"; case "SP": return "SPACE"; case "TB": return "TAB"; case "UP": return "UP"; case "[": return "LBRACKET"; case "\\": return "BACKSLASH"; case "]": return "RBRACKET"; case "`": return "ACCENT"; default: return str; } }; flixel_addons_ui_U.formatXml = function(_xml) { var s = haxe_xml_Printer.print(_xml); var r = new EReg(">[^`<]*<","g"); s = s.replace(r.r,">___SPLITHERE___<"); r = new EReg("___SPLITHERE___","g"); var split = r.split(s); s = ""; var childDepht = 0; var whiteSpace = "\t"; var _g = 0; while(_g < split.length) { var str = split[_g]; ++_g; var _g1 = 0; var _g11 = childDepht; while(_g1 < _g11) { var i = _g1++; s += whiteSpace; } if(str.charAt(0) == "<" && str.charAt(1) == "/") { --childDepht; s = HxOverrides.substr(s,0,s.length - whiteSpace.length); } else if(str.charAt(str.length - 1) == ">" && str.charAt(str.length - 2) != "/" && str.charAt(str.length - 2) != "-") { ++childDepht; } s += str + "\n"; } return s; }; flixel_addons_ui_U.strCase = function(str,code) { switch(code) { case "fu": return flixel_addons_ui_U.FU(str); case "fu_": return flixel_addons_ui_U.FU_(str); case "l": return str.toLowerCase(); case "u": return str.toUpperCase(); default: return str; } }; flixel_addons_ui_U.unparentXML = function(f) { if(f.parent != null) { f.parent.removeChild(f); } return f; }; flixel_addons_ui_U.setButtonLabel = function(btn,str) { if(btn == null) { return; } if(((btn) instanceof flixel_addons_ui_FlxUIButton)) { (js_Boot.__cast(btn , flixel_addons_ui_FlxUIButton)).label.set_text(str); } else if(((btn) instanceof flixel_addons_ui_FlxUISpriteButton)) { var fuisb = btn; if(fuisb.label == null) { return; } if(((fuisb.label) instanceof flixel_group_FlxTypedSpriteGroup)) { var g = fuisb.label; if(g.group.members == null) { return; } var _g = 0; var _g1 = g.group.members; while(_g < _g1.length) { var sprite = _g1[_g]; ++_g; if(sprite == null) { continue; } if(((sprite) instanceof flixel_text_FlxText)) { (js_Boot.__cast(sprite , flixel_text_FlxText)).set_text(str); return; } } } } }; flixel_addons_ui_U.getMatrix = function() { if(flixel_addons_ui_U._matrix == null) { flixel_addons_ui_U._matrix = new openfl_geom_Matrix(); } return flixel_addons_ui_U._matrix; }; var flixel_addons_ui_interfaces_IFireTongue = function() { }; $hxClasses["flixel.addons.ui.interfaces.IFireTongue"] = flixel_addons_ui_interfaces_IFireTongue; flixel_addons_ui_interfaces_IFireTongue.__name__ = "flixel.addons.ui.interfaces.IFireTongue"; flixel_addons_ui_interfaces_IFireTongue.__isInterface__ = true; flixel_addons_ui_interfaces_IFireTongue.prototype = { get: null ,getFont: null ,getFontSize: null ,locale: null ,__class__: flixel_addons_ui_interfaces_IFireTongue }; var flixel_animation_FlxBaseAnimation = function(Parent,Name) { this.curIndex = 0; this.parent = Parent; this.name = Name; }; $hxClasses["flixel.animation.FlxBaseAnimation"] = flixel_animation_FlxBaseAnimation; flixel_animation_FlxBaseAnimation.__name__ = "flixel.animation.FlxBaseAnimation"; flixel_animation_FlxBaseAnimation.__interfaces__ = [flixel_util_IFlxDestroyable]; flixel_animation_FlxBaseAnimation.prototype = { parent: null ,name: null ,curIndex: null ,set_curIndex: function(Value) { this.curIndex = Value; if(this.parent != null && this.parent._curAnim == this) { this.parent.set_frameIndex(Value); } return Value; } ,destroy: function() { this.parent = null; this.name = null; } ,update: function(elapsed) { } ,clone: function(Parent) { return null; } ,__class__: flixel_animation_FlxBaseAnimation ,__properties__: {set_curIndex:"set_curIndex"} }; var flixel_animation_FlxAnimation = function(Parent,Name,Frames,FrameRate,Looped,FlipX,FlipY) { if(FlipY == null) { FlipY = false; } if(FlipX == null) { FlipX = false; } if(Looped == null) { Looped = true; } if(FrameRate == null) { FrameRate = 0; } this._frameTimer = 0; this.flipY = false; this.flipX = false; this.reversed = false; this.looped = true; this.paused = true; this.finished = true; this.delay = 0; this.curFrame = 0; flixel_animation_FlxBaseAnimation.call(this,Parent,Name); this.set_frameRate(FrameRate); this.frames = Frames; this.looped = Looped; this.flipX = FlipX; this.flipY = FlipY; }; $hxClasses["flixel.animation.FlxAnimation"] = flixel_animation_FlxAnimation; flixel_animation_FlxAnimation.__name__ = "flixel.animation.FlxAnimation"; flixel_animation_FlxAnimation.__super__ = flixel_animation_FlxBaseAnimation; flixel_animation_FlxAnimation.prototype = $extend(flixel_animation_FlxBaseAnimation.prototype,{ frameRate: null ,curFrame: null ,delay: null ,finished: null ,paused: null ,looped: null ,reversed: null ,flipX: null ,flipY: null ,frames: null ,_frameTimer: null ,destroy: function() { this.frames = null; this.name = null; flixel_animation_FlxBaseAnimation.prototype.destroy.call(this); } ,play: function(Force,Reversed,Frame) { if(Frame == null) { Frame = 0; } if(Reversed == null) { Reversed = false; } if(Force == null) { Force = false; } if(!Force && !this.finished && this.reversed == Reversed) { this.paused = false; this.finished = false; return; } this.reversed = Reversed; this.paused = false; this._frameTimer = 0; this.finished = this.delay == 0; var maxFrameIndex = this.frames.length - 1; if(Frame < 0) { this.set_curFrame(flixel_FlxG.random.int(0,maxFrameIndex)); } else { if(Frame > maxFrameIndex) { Frame = maxFrameIndex; } if(this.reversed) { Frame = maxFrameIndex - Frame; } this.set_curFrame(Frame); } if(this.finished) { var _this = this.parent; if(_this.finishCallback != null) { _this.finishCallback(this.name); } } } ,restart: function() { this.play(true,this.reversed); } ,stop: function() { this.finished = true; this.paused = true; } ,reset: function() { this.stop(); this.set_curFrame(this.reversed ? this.frames.length - 1 : 0); } ,finish: function() { this.stop(); this.set_curFrame(this.reversed ? 0 : this.frames.length - 1); } ,pause: function() { this.paused = true; } ,resume: function() { this.paused = false; } ,reverse: function() { this.reversed = !this.reversed; if(this.finished) { this.play(false,this.reversed); } } ,update: function(elapsed) { if(this.delay == 0 || this.finished || this.paused) { return; } this._frameTimer += elapsed; while(this._frameTimer > this.delay && !this.finished) { this._frameTimer -= this.delay; if(this.reversed) { if(this.looped && this.curFrame == 0) { this.set_curFrame(this.frames.length - 1); } else { var _g = this; _g.set_curFrame(_g.curFrame - 1); } } else if(this.looped && this.curFrame == this.frames.length - 1) { this.set_curFrame(0); } else { var _g1 = this; _g1.set_curFrame(_g1.curFrame + 1); } } } ,clone: function(Parent) { return new flixel_animation_FlxAnimation(Parent,this.name,this.frames,this.frameRate,this.looped,this.flipX,this.flipY); } ,set_frameRate: function(value) { this.delay = 0; this.frameRate = value; if(value > 0) { this.delay = 1.0 / value; } return value; } ,set_curFrame: function(Frame) { var maxFrameIndex = this.frames.length - 1; var tempFrame = this.reversed ? maxFrameIndex - Frame : Frame; if(tempFrame >= 0) { if(!this.looped && Frame > maxFrameIndex) { this.finished = true; this.curFrame = this.reversed ? 0 : maxFrameIndex; } else { this.curFrame = Frame; } } else { this.curFrame = flixel_FlxG.random.int(0,maxFrameIndex); } this.set_curIndex(this.frames[this.curFrame]); if(this.finished && this.parent != null) { var _this = this.parent; if(_this.finishCallback != null) { _this.finishCallback(this.name); } } return Frame; } ,get_numFrames: function() { return this.frames.length; } ,__class__: flixel_animation_FlxAnimation ,__properties__: $extend(flixel_animation_FlxBaseAnimation.prototype.__properties__,{get_numFrames:"get_numFrames",set_curFrame:"set_curFrame",set_frameRate:"set_frameRate"}) }); var flixel_animation_FlxAnimationController = function(Sprite) { this.frameIndex = -1; this._sprite = Sprite; this._animations = new haxe_ds_StringMap(); }; $hxClasses["flixel.animation.FlxAnimationController"] = flixel_animation_FlxAnimationController; flixel_animation_FlxAnimationController.__name__ = "flixel.animation.FlxAnimationController"; flixel_animation_FlxAnimationController.__interfaces__ = [flixel_util_IFlxDestroyable]; flixel_animation_FlxAnimationController.prototype = { frameIndex: null ,callback: null ,finishCallback: null ,_sprite: null ,_curAnim: null ,_animations: null ,_prerotated: null ,update: function(elapsed) { if(this._curAnim != null) { this._curAnim.update(elapsed); } else if(this._prerotated != null) { this._prerotated.set_angle(this._sprite.angle); } } ,copyFrom: function(controller) { this.destroyAnimations(); var _this = controller._animations; var anim = new haxe_ds__$StringMap_StringMapIterator(_this,_this.arrayKeys()); while(anim.hasNext()) { var anim1 = anim.next(); this.add(anim1.name,anim1.frames,anim1.frameRate,anim1.looped,anim1.flipX,anim1.flipY); } if(controller._prerotated != null) { this.createPrerotated(); } if(controller.get_name() != null) { this.set_name(controller.get_name()); } this.set_frameIndex(controller.frameIndex); return this; } ,createPrerotated: function(Controller) { this.destroyAnimations(); Controller = Controller != null ? Controller : this; this._prerotated = new flixel_animation_FlxPrerotatedAnimation(Controller,Controller._sprite.bakedRotationAngle); this._prerotated.set_angle(this._sprite.angle); } ,destroyAnimations: function() { this.clearAnimations(); this.clearPrerotated(); } ,destroy: function() { this.destroyAnimations(); this._animations = null; this.callback = null; this._sprite = null; } ,clearPrerotated: function() { if(this._prerotated != null) { this._prerotated.destroy(); } this._prerotated = null; } ,clearAnimations: function() { if(this._animations != null) { var anim; var key = this._animations.keys(); while(key.hasNext()) { var key1 = key.next(); var _this = this._animations; anim = __map_reserved[key1] != null ? _this.getReserved(key1) : _this.h[key1]; if(anim != null) { anim.destroy(); } } } this._animations = new haxe_ds_StringMap(); this._curAnim = null; } ,add: function(Name,Frames,FrameRate,Looped,FlipX,FlipY) { if(FlipY == null) { FlipY = false; } if(FlipX == null) { FlipX = false; } if(Looped == null) { Looped = true; } if(FrameRate == null) { FrameRate = 30; } var framesToAdd = Frames; var numFrames = framesToAdd.length - 1; var i = numFrames; while(i >= 0) { if(framesToAdd[i] >= this._sprite.numFrames) { if(framesToAdd == Frames) { framesToAdd = Frames.slice(); } framesToAdd.splice(i,1); } --i; } if(framesToAdd.length > 0) { var anim = new flixel_animation_FlxAnimation(this,Name,framesToAdd,FrameRate,Looped,FlipX,FlipY); var _this = this._animations; if(__map_reserved[Name] != null) { _this.setReserved(Name,anim); } else { _this.h[Name] = anim; } } } ,remove: function(Name) { var _this = this._animations; var anim = __map_reserved[Name] != null ? _this.getReserved(Name) : _this.h[Name]; if(anim != null) { this._animations.remove(Name); anim.destroy(); } } ,append: function(Name,Frames) { var _this = this._animations; var anim = __map_reserved[Name] != null ? _this.getReserved(Name) : _this.h[Name]; if(anim == null) { return; } var numFrames = Frames.length - 1; var i = numFrames; while(i >= 0) { if(Frames[numFrames - i] < this._sprite.numFrames) { anim.frames.push(Frames[numFrames - i]); } --i; } } ,addByNames: function(Name,FrameNames,FrameRate,Looped,FlipX,FlipY) { if(FlipY == null) { FlipY = false; } if(FlipX == null) { FlipX = false; } if(Looped == null) { Looped = true; } if(FrameRate == null) { FrameRate = 30; } if(this._sprite.frames != null) { var indices = []; this.byNamesHelper(indices,FrameNames); if(indices.length > 0) { var anim = new flixel_animation_FlxAnimation(this,Name,indices,FrameRate,Looped,FlipX,FlipY); var _this = this._animations; if(__map_reserved[Name] != null) { _this.setReserved(Name,anim); } else { _this.h[Name] = anim; } } } } ,appendByNames: function(Name,FrameNames) { var _this = this._animations; var anim = __map_reserved[Name] != null ? _this.getReserved(Name) : _this.h[Name]; if(anim == null) { return; } if(this._sprite.frames != null) { this.byNamesHelper(anim.frames,FrameNames); } } ,addByStringIndices: function(Name,Prefix,Indices,Postfix,FrameRate,Looped,FlipX,FlipY) { if(FlipY == null) { FlipY = false; } if(FlipX == null) { FlipX = false; } if(Looped == null) { Looped = true; } if(FrameRate == null) { FrameRate = 30; } if(this._sprite.frames != null) { var frameIndices = []; this.byStringIndicesHelper(frameIndices,Prefix,Indices,Postfix); if(frameIndices.length > 0) { var anim = new flixel_animation_FlxAnimation(this,Name,frameIndices,FrameRate,Looped,FlipX,FlipY); var _this = this._animations; if(__map_reserved[Name] != null) { _this.setReserved(Name,anim); } else { _this.h[Name] = anim; } } } } ,appendByStringIndices: function(Name,Prefix,Indices,Postfix) { var _this = this._animations; var anim = __map_reserved[Name] != null ? _this.getReserved(Name) : _this.h[Name]; if(anim == null) { return; } if(this._sprite.frames != null) { this.byStringIndicesHelper(anim.frames,Prefix,Indices,Postfix); } } ,addByIndices: function(Name,Prefix,Indices,Postfix,FrameRate,Looped,FlipX,FlipY) { if(FlipY == null) { FlipY = false; } if(FlipX == null) { FlipX = false; } if(Looped == null) { Looped = true; } if(FrameRate == null) { FrameRate = 30; } if(this._sprite.frames != null) { var frameIndices = []; this.byIndicesHelper(frameIndices,Prefix,Indices,Postfix); if(frameIndices.length > 0) { var anim = new flixel_animation_FlxAnimation(this,Name,frameIndices,FrameRate,Looped,FlipX,FlipY); var _this = this._animations; if(__map_reserved[Name] != null) { _this.setReserved(Name,anim); } else { _this.h[Name] = anim; } } } } ,appendByIndices: function(Name,Prefix,Indices,Postfix) { var _this = this._animations; var anim = __map_reserved[Name] != null ? _this.getReserved(Name) : _this.h[Name]; if(anim == null) { return; } if(this._sprite.frames != null) { this.byIndicesHelper(anim.frames,Prefix,Indices,Postfix); } } ,findSpriteFrame: function(Prefix,Index,Postfix) { var numFrames = this._sprite.numFrames; var flxFrames = this._sprite.frames.frames; var _g = 0; var _g1 = numFrames; while(_g < _g1) { var i = _g++; var name = flxFrames[i].name; if(StringTools.startsWith(name,Prefix) && StringTools.endsWith(name,Postfix)) { var index = Std.parseInt(name.substring(Prefix.length,name.length - Postfix.length)); if(index != null && index == Index) { return i; } } } return -1; } ,addByPrefix: function(Name,Prefix,FrameRate,Looped,FlipX,FlipY) { if(FlipY == null) { FlipY = false; } if(FlipX == null) { FlipX = false; } if(Looped == null) { Looped = true; } if(FrameRate == null) { FrameRate = 30; } if(this._sprite.frames != null) { var animFrames = []; this.findByPrefix(animFrames,Prefix); if(animFrames.length > 0) { var frameIndices = []; this.byPrefixHelper(frameIndices,animFrames,Prefix); if(frameIndices.length > 0) { var anim = new flixel_animation_FlxAnimation(this,Name,frameIndices,FrameRate,Looped,FlipX,FlipY); var _this = this._animations; if(__map_reserved[Name] != null) { _this.setReserved(Name,anim); } else { _this.h[Name] = anim; } } } } } ,appendByPrefix: function(Name,Prefix) { var _this = this._animations; var anim = __map_reserved[Name] != null ? _this.getReserved(Name) : _this.h[Name]; if(anim == null) { return; } if(this._sprite.frames != null) { var animFrames = []; this.findByPrefix(animFrames,Prefix); if(animFrames.length > 0) { this.byPrefixHelper(anim.frames,animFrames,Prefix); } } } ,play: function(AnimName,Force,Reversed,Frame) { if(Frame == null) { Frame = 0; } if(Reversed == null) { Reversed = false; } if(Force == null) { Force = false; } if(AnimName == null) { if(this._curAnim != null) { this._curAnim.stop(); } this._curAnim = null; } var tmp; if(AnimName != null) { var _this = this._animations; tmp = (__map_reserved[AnimName] != null ? _this.getReserved(AnimName) : _this.h[AnimName]) == null; } else { tmp = true; } if(tmp) { return; } var oldFlipX = false; var oldFlipY = false; if(this._curAnim != null && AnimName != this._curAnim.name) { oldFlipX = this._curAnim.flipX; oldFlipY = this._curAnim.flipY; this._curAnim.stop(); } var _this1 = this._animations; this._curAnim = __map_reserved[AnimName] != null ? _this1.getReserved(AnimName) : _this1.h[AnimName]; this._curAnim.play(Force,Reversed,Frame); if(oldFlipX != this._curAnim.flipX || oldFlipY != this._curAnim.flipY) { this._sprite.dirty = true; } } ,reset: function() { if(this._curAnim != null) { this._curAnim.reset(); } } ,finish: function() { if(this._curAnim != null) { this._curAnim.finish(); } } ,stop: function() { if(this._curAnim != null) { this._curAnim.stop(); } } ,pause: function() { if(this._curAnim != null) { this._curAnim.pause(); } } ,resume: function() { if(this._curAnim != null) { this._curAnim.paused = false; } } ,reverse: function() { if(this._curAnim != null) { this._curAnim.reverse(); } } ,getByName: function(Name) { var _this = this._animations; if(__map_reserved[Name] != null) { return _this.getReserved(Name); } else { return _this.h[Name]; } } ,randomFrame: function() { if(this._curAnim != null) { this._curAnim.stop(); this._curAnim = null; } this.set_frameIndex(flixel_FlxG.random.int(0,this._sprite.numFrames - 1)); } ,fireCallback: function() { if(this.callback != null) { var name = this._curAnim != null ? this._curAnim.name : null; var number = this._curAnim != null ? this._curAnim.curFrame : this.frameIndex; this.callback(name,number,this.frameIndex); } } ,fireFinishCallback: function(name) { if(this.finishCallback != null) { this.finishCallback(name); } } ,byNamesHelper: function(AddTo,FrameNames) { var _g = 0; while(_g < FrameNames.length) { var frameName = FrameNames[_g]; ++_g; var _this = this._sprite.frames.framesHash; if(__map_reserved[frameName] != null ? _this.existsReserved(frameName) : _this.h.hasOwnProperty(frameName)) { var _this1 = this._sprite.frames.framesHash; var frameToAdd = __map_reserved[frameName] != null ? _this1.getReserved(frameName) : _this1.h[frameName]; AddTo.push(this._sprite.frames.frames.indexOf(frameToAdd)); } } } ,byStringIndicesHelper: function(AddTo,Prefix,Indices,Postfix) { var _g = 0; while(_g < Indices.length) { var index = Indices[_g]; ++_g; var name = Prefix + index + Postfix; var _this = this._sprite.frames.framesHash; if(__map_reserved[name] != null ? _this.existsReserved(name) : _this.h.hasOwnProperty(name)) { var _this1 = this._sprite.frames.framesHash; var frameToAdd = __map_reserved[name] != null ? _this1.getReserved(name) : _this1.h[name]; AddTo.push(this._sprite.frames.frames.indexOf(frameToAdd)); } } } ,byIndicesHelper: function(AddTo,Prefix,Indices,Postfix) { var _g = 0; while(_g < Indices.length) { var index = Indices[_g]; ++_g; var indexToAdd = this.findSpriteFrame(Prefix,index,Postfix); if(indexToAdd != -1) { AddTo.push(indexToAdd); } } } ,byPrefixHelper: function(AddTo,AnimFrames,Prefix) { var name = AnimFrames[0].name; var postIndex = name.indexOf(".",Prefix.length); var postFix = name.substring(postIndex == -1 ? name.length : postIndex,name.length); flixel_graphics_frames_FlxFrame.sort(AnimFrames,Prefix.length,postFix.length); var _g = 0; while(_g < AnimFrames.length) { var animFrame = AnimFrames[_g]; ++_g; AddTo.push(this._sprite.frames.frames.indexOf(animFrame)); } } ,findByPrefix: function(AnimFrames,Prefix) { var _g = 0; var _g1 = this._sprite.frames.frames; while(_g < _g1.length) { var frame = _g1[_g]; ++_g; if(frame.name != null && StringTools.startsWith(frame.name,Prefix)) { AnimFrames.push(frame); } } } ,set_frameIndex: function(Frame) { if(this._sprite.frames != null && this._sprite.numFrames > 0) { Frame %= this._sprite.numFrames; this._sprite.set_frame(this._sprite.frames.frames[Frame]); this.frameIndex = Frame; if(this.callback != null) { var name = this._curAnim != null ? this._curAnim.name : null; var number = this._curAnim != null ? this._curAnim.curFrame : this.frameIndex; this.callback(name,number,this.frameIndex); } } return this.frameIndex; } ,get_frameName: function() { return this._sprite.frame.name; } ,set_frameName: function(Value) { var tmp; if(this._sprite.frames != null) { var _this = this._sprite.frames.framesHash; tmp = __map_reserved[Value] != null ? _this.existsReserved(Value) : _this.h.hasOwnProperty(Value); } else { tmp = false; } if(tmp) { if(this._curAnim != null) { this._curAnim.stop(); this._curAnim = null; } var _this1 = this._sprite.frames.framesHash; var frame = __map_reserved[Value] != null ? _this1.getReserved(Value) : _this1.h[Value]; if(frame != null) { this.set_frameIndex(this._sprite.frames.frames.indexOf(frame)); } } return Value; } ,get_name: function() { var animName = null; if(this._curAnim != null) { animName = this._curAnim.name; } return animName; } ,set_name: function(AnimName) { this.play(AnimName); return AnimName; } ,get_curAnim: function() { return this._curAnim; } ,set_curAnim: function(Anim) { if(Anim != this._curAnim) { if(this._curAnim != null) { this._curAnim.stop(); } if(Anim != null) { Anim.play(); } } return this._curAnim = Anim; } ,get_paused: function() { var paused = false; if(this._curAnim != null) { paused = this._curAnim.paused; } return paused; } ,set_paused: function(Value) { if(this._curAnim != null) { if(Value) { this._curAnim.pause(); } else { this._curAnim.paused = false; } } return Value; } ,get_finished: function() { var finished = true; if(this._curAnim != null) { finished = this._curAnim.finished; } return finished; } ,set_finished: function(Value) { if(Value && this._curAnim != null) { this._curAnim.finish(); } return Value; } ,get_frames: function() { return this._sprite.numFrames; } ,getFrameIndex: function(Frame) { return this._sprite.frames.frames.indexOf(Frame); } ,__class__: flixel_animation_FlxAnimationController ,__properties__: {get_frames:"get_frames",set_finished:"set_finished",get_finished:"get_finished",set_paused:"set_paused",get_paused:"get_paused",set_name:"set_name",get_name:"get_name",set_frameName:"set_frameName",get_frameName:"get_frameName",set_frameIndex:"set_frameIndex",set_curAnim:"set_curAnim",get_curAnim:"get_curAnim"} }; var flixel_animation_FlxPrerotatedAnimation = function(Parent,Baked) { this.angle = 0; flixel_animation_FlxBaseAnimation.call(this,Parent,"prerotated_animation"); this.baked = Baked; this.rotations = Math.round(360 / Baked); }; $hxClasses["flixel.animation.FlxPrerotatedAnimation"] = flixel_animation_FlxPrerotatedAnimation; flixel_animation_FlxPrerotatedAnimation.__name__ = "flixel.animation.FlxPrerotatedAnimation"; flixel_animation_FlxPrerotatedAnimation.__super__ = flixel_animation_FlxBaseAnimation; flixel_animation_FlxPrerotatedAnimation.prototype = $extend(flixel_animation_FlxBaseAnimation.prototype,{ rotations: null ,baked: null ,angle: null ,set_angle: function(Value) { if(isNaN(Value)) { throw new js__$Boot_HaxeError("angle must not be NaN"); } var oldIndex = this.curIndex; var angleHelper = Math.floor(Value % 360); while(angleHelper < 0) angleHelper += 360; var newIndex = Math.floor(angleHelper / this.baked + 0.5); newIndex = newIndex % this.rotations | 0; if(oldIndex != newIndex) { this.set_curIndex(newIndex); } return this.angle = Value; } ,set_curIndex: function(Value) { this.curIndex = Value; if(this.parent != null) { this.parent.set_frameIndex(Value); } return Value; } ,clone: function(Parent) { return new flixel_animation_FlxPrerotatedAnimation(Parent,this.baked); } ,__class__: flixel_animation_FlxPrerotatedAnimation ,__properties__: $extend(flixel_animation_FlxBaseAnimation.prototype.__properties__,{set_angle:"set_angle"}) }); var flixel_util_FlxPool_$flixel_$effects_$FlxFlicker = function(classObj) { this._count = 0; this._pool = []; this._class = classObj; }; $hxClasses["flixel.util.FlxPool_flixel_effects_FlxFlicker"] = flixel_util_FlxPool_$flixel_$effects_$FlxFlicker; flixel_util_FlxPool_$flixel_$effects_$FlxFlicker.__name__ = "flixel.util.FlxPool_flixel_effects_FlxFlicker"; flixel_util_FlxPool_$flixel_$effects_$FlxFlicker.__interfaces__ = [flixel_util_IFlxPool]; flixel_util_FlxPool_$flixel_$effects_$FlxFlicker.prototype = { _pool: null ,_class: null ,_count: null ,get: function() { if(this._count == 0) { return Type.createInstance(this._class,[]); } return this._pool[--this._count]; } ,put: function(obj) { if(obj != null) { var i = this._pool.indexOf(obj); if(i == -1 || i >= this._count) { obj.destroy(); this._pool[this._count++] = obj; } } } ,putUnsafe: function(obj) { if(obj != null) { obj.destroy(); this._pool[this._count++] = obj; } } ,preAllocate: function(numObjects) { while(numObjects-- > 0) this._pool[this._count++] = Type.createInstance(this._class,[]); } ,clear: function() { this._count = 0; var oldPool = this._pool; this._pool = []; return oldPool; } ,get_length: function() { return this._count; } ,__class__: flixel_util_FlxPool_$flixel_$effects_$FlxFlicker ,__properties__: {get_length:"get_length"} }; var flixel_effects_FlxFlicker = function() { }; $hxClasses["flixel.effects.FlxFlicker"] = flixel_effects_FlxFlicker; flixel_effects_FlxFlicker.__name__ = "flixel.effects.FlxFlicker"; flixel_effects_FlxFlicker.__interfaces__ = [flixel_util_IFlxDestroyable]; flixel_effects_FlxFlicker.flicker = function(Object1,Duration,Interval,EndVisibility,ForceRestart,CompletionCallback,ProgressCallback) { if(ForceRestart == null) { ForceRestart = true; } if(EndVisibility == null) { EndVisibility = true; } if(Interval == null) { Interval = 0.04; } if(Duration == null) { Duration = 1; } if(flixel_effects_FlxFlicker.isFlickering(Object1)) { if(ForceRestart) { flixel_effects_FlxFlicker.stopFlickering(Object1); } else { return flixel_effects_FlxFlicker._boundObjects.h[Object1.__id__]; } } if(Interval <= 0) { Interval = flixel_FlxG.elapsed; } var flicker = flixel_effects_FlxFlicker._pool.get(); flicker.start(Object1,Duration,Interval,EndVisibility,CompletionCallback,ProgressCallback); flixel_effects_FlxFlicker._boundObjects.set(Object1,flicker); return flicker; }; flixel_effects_FlxFlicker.isFlickering = function(Object1) { return flixel_effects_FlxFlicker._boundObjects.h.__keys__[Object1.__id__] != null; }; flixel_effects_FlxFlicker.stopFlickering = function(Object1) { var boundFlicker = flixel_effects_FlxFlicker._boundObjects.h[Object1.__id__]; if(boundFlicker != null) { boundFlicker.stop(); } }; flixel_effects_FlxFlicker.prototype = { object: null ,endVisibility: null ,timer: null ,completionCallback: null ,progressCallback: null ,duration: null ,interval: null ,destroy: function() { this.object = null; this.timer = null; this.completionCallback = null; this.progressCallback = null; } ,start: function(Object1,Duration,Interval,EndVisibility,CompletionCallback,ProgressCallback) { this.object = Object1; this.duration = Duration; this.interval = Interval; this.completionCallback = CompletionCallback; this.progressCallback = ProgressCallback; this.endVisibility = EndVisibility; this.timer = new flixel_util_FlxTimer().start(this.interval,$bind(this,this.flickerProgress),this.duration / this.interval | 0); } ,stop: function() { this.timer.cancel(); this.object.set_visible(true); this.release(); } ,release: function() { flixel_effects_FlxFlicker._boundObjects.remove(this.object); flixel_effects_FlxFlicker._pool.put(this); } ,flickerProgress: function(Timer) { this.object.set_visible(!this.object.visible); if(this.progressCallback != null) { this.progressCallback(this); } if(Timer.loops > 0 && Timer.loops - Timer._loopsCounter == 0) { this.object.set_visible(this.endVisibility); if(this.completionCallback != null) { this.completionCallback(this); } this.release(); } } ,__class__: flixel_effects_FlxFlicker }; var flixel_effects_postprocess_PostProcess = function(shader) { }; $hxClasses["flixel.effects.postprocess.PostProcess"] = flixel_effects_postprocess_PostProcess; flixel_effects_postprocess_PostProcess.__name__ = "flixel.effects.postprocess.PostProcess"; flixel_effects_postprocess_PostProcess.prototype = { enable: function(to) { } ,capture: function() { } ,rebuild: function() { } ,update: function(elapsed) { } ,render: function(rect) { } ,setUniform: function(uniform,value) { } ,set_to: function(value) { return null; } ,__class__: flixel_effects_postprocess_PostProcess ,__properties__: {set_to:"set_to"} }; var flixel_graphics_FlxGraphic = function(Key,Bitmap,Persist) { this._destroyOnNoUse = true; this._useCount = 0; this.unique = false; this.isDumped = false; this.persist = false; this.height = 0; this.width = 0; this.key = Key; this.persist = Persist != null ? Persist : flixel_graphics_FlxGraphic.defaultPersist; this.frameCollections = new haxe_ds_EnumValueMap(); this.frameCollectionTypes = []; this.set_bitmap(Bitmap); this.shader = new flixel_graphics_tile_FlxGraphicsShader(); }; $hxClasses["flixel.graphics.FlxGraphic"] = flixel_graphics_FlxGraphic; flixel_graphics_FlxGraphic.__name__ = "flixel.graphics.FlxGraphic"; flixel_graphics_FlxGraphic.__interfaces__ = [flixel_util_IFlxDestroyable]; flixel_graphics_FlxGraphic.fromAssetKey = function(Source,Unique,Key,Cache1) { if(Cache1 == null) { Cache1 = true; } if(Unique == null) { Unique = false; } var bitmap = null; if(!Cache1) { bitmap = openfl_utils_Assets.exists(Source) ? openfl_utils_Assets.getBitmapData(Source,false) : null; if(bitmap == null) { return null; } return flixel_graphics_FlxGraphic.createGraphic(bitmap,Key,Unique,Cache1); } var key = flixel_FlxG.bitmap.generateKey(Source,Key,Unique); var _this = flixel_FlxG.bitmap._cache; var graphic = __map_reserved[key] != null ? _this.getReserved(key) : _this.h[key]; if(graphic != null) { return graphic; } bitmap = openfl_utils_Assets.exists(Source) ? openfl_utils_Assets.getBitmapData(Source,false) : null; if(bitmap == null) { return null; } graphic = flixel_graphics_FlxGraphic.createGraphic(bitmap,key,Unique); graphic.assetsKey = Source; return graphic; }; flixel_graphics_FlxGraphic.fromClass = function(Source,Unique,Key,Cache1) { if(Cache1 == null) { Cache1 = true; } if(Unique == null) { Unique = false; } var bitmap = null; if(!Cache1) { bitmap = Type.createInstance(Source,[0,0]); return flixel_graphics_FlxGraphic.createGraphic(bitmap,Key,Unique,Cache1); } var _this = flixel_FlxG.bitmap; var key = Source.__name__; key = flixel_FlxG.bitmap.generateKey(key,Key,Unique); var _this1 = flixel_FlxG.bitmap._cache; var graphic = __map_reserved[key] != null ? _this1.getReserved(key) : _this1.h[key]; if(graphic != null) { return graphic; } bitmap = Type.createInstance(Source,[0,0]); graphic = flixel_graphics_FlxGraphic.createGraphic(bitmap,key,Unique); graphic.assetsClass = Source; return graphic; }; flixel_graphics_FlxGraphic.fromBitmapData = function(Source,Unique,Key,Cache1) { if(Cache1 == null) { Cache1 = true; } if(Unique == null) { Unique = false; } if(!Cache1) { return flixel_graphics_FlxGraphic.createGraphic(Source,Key,Unique,Cache1); } var key = flixel_FlxG.bitmap.findKeyForBitmap(Source); var assetKey = null; var assetClass = null; var graphic = null; if(key != null) { var _this = flixel_FlxG.bitmap._cache; graphic = __map_reserved[key] != null ? _this.getReserved(key) : _this.h[key]; assetKey = graphic.assetsKey; assetClass = graphic.assetsClass; } key = flixel_FlxG.bitmap.generateKey(key,Key,Unique); var _this1 = flixel_FlxG.bitmap._cache; graphic = __map_reserved[key] != null ? _this1.getReserved(key) : _this1.h[key]; if(graphic != null) { return graphic; } graphic = flixel_graphics_FlxGraphic.createGraphic(Source,key,Unique); graphic.assetsKey = assetKey; graphic.assetsClass = assetClass; return graphic; }; flixel_graphics_FlxGraphic.fromFrame = function(Source,Unique,Key,Cache1) { if(Cache1 == null) { Cache1 = true; } if(Unique == null) { Unique = false; } var key = Source.name; if(key == null) { var _this = Source.frame; var value = _this.x; var _this1 = flixel_util_LabelValuePair._pool.get(); _this1.label = "x"; _this1.value = value; var value1 = _this.y; var _this2 = flixel_util_LabelValuePair._pool.get(); _this2.label = "y"; _this2.value = value1; var value2 = _this.width; var _this3 = flixel_util_LabelValuePair._pool.get(); _this3.label = "w"; _this3.value = value2; var value3 = _this.height; var _this4 = flixel_util_LabelValuePair._pool.get(); _this4.label = "h"; _this4.value = value3; key = flixel_util_FlxStringUtil.getDebugString([_this1,_this2,_this3,_this4]); } key = Source.parent.key + ":" + key; key = flixel_FlxG.bitmap.generateKey(key,Key,Unique); var _this5 = flixel_FlxG.bitmap._cache; var graphic = __map_reserved[key] != null ? _this5.getReserved(key) : _this5.h[key]; if(graphic != null) { return graphic; } var bitmap = Source.paint(); graphic = flixel_graphics_FlxGraphic.createGraphic(bitmap,key,Unique,Cache1); var image = flixel_graphics_frames_FlxImageFrame.fromGraphic(graphic); image.frames[0].name = Source.name; return graphic; }; flixel_graphics_FlxGraphic.fromFrames = function(Source,Unique,Key) { if(Unique == null) { Unique = false; } return flixel_graphics_FlxGraphic.fromGraphic(Source.parent,Unique,Key); }; flixel_graphics_FlxGraphic.fromGraphic = function(Source,Unique,Key) { if(Unique == null) { Unique = false; } if(!Unique) { return Source; } var key = flixel_FlxG.bitmap.generateKey(Source.key,Key,Unique); var graphic = flixel_graphics_FlxGraphic.createGraphic(Source.bitmap,key,Unique); graphic.unique = Unique; graphic.assetsClass = Source.assetsClass; graphic.assetsKey = Source.assetsKey; var key1 = graphic.key; var _this = flixel_FlxG.bitmap._cache; if(__map_reserved[key1] != null) { _this.setReserved(key1,graphic); } else { _this.h[key1] = graphic; } return graphic; }; flixel_graphics_FlxGraphic.fromRectangle = function(Width,Height,Color,Unique,Key) { if(Unique == null) { Unique = false; } var systemKey = Width + "x" + Height + ":" + Color; var key = flixel_FlxG.bitmap.generateKey(systemKey,Key,Unique); var _this = flixel_FlxG.bitmap._cache; var graphic = __map_reserved[key] != null ? _this.getReserved(key) : _this.h[key]; if(graphic != null) { return graphic; } var bitmap = new openfl_display_BitmapData(Width,Height,true,Color); return flixel_graphics_FlxGraphic.createGraphic(bitmap,key); }; flixel_graphics_FlxGraphic.getBitmap = function(Bitmap,Unique) { if(Unique == null) { Unique = false; } if(Unique) { return Bitmap.clone(); } else { return Bitmap; } }; flixel_graphics_FlxGraphic.createGraphic = function(Bitmap,Key,Unique,Cache1) { if(Cache1 == null) { Cache1 = true; } if(Unique == null) { Unique = false; } var Unique1 = Unique; if(Unique1 == null) { Unique1 = false; } Bitmap = Unique1 ? Bitmap.clone() : Bitmap; var graphic = null; if(Cache1) { graphic = new flixel_graphics_FlxGraphic(Key,Bitmap); graphic.unique = Unique; var key = graphic.key; var _this = flixel_FlxG.bitmap._cache; if(__map_reserved[key] != null) { _this.setReserved(key,graphic); } else { _this.h[key] = graphic; } } else { graphic = new flixel_graphics_FlxGraphic(null,Bitmap); } return graphic; }; flixel_graphics_FlxGraphic.prototype = { key: null ,bitmap: null ,width: null ,height: null ,assetsKey: null ,assetsClass: null ,persist: null ,isDumped: null ,shader: null ,frameCollections: null ,frameCollectionTypes: null ,unique: null ,_imageFrame: null ,_useCount: null ,_destroyOnNoUse: null ,dump: function() { } ,undump: function() { var newBitmap = this.getBitmapFromSystem(); if(newBitmap != null) { this.set_bitmap(newBitmap); } this.isDumped = false; } ,onContext: function() { if(this.isDumped) { this.undump(); this.dump(); } } ,onAssetsReload: function() { if(!(this.assetsClass != null || this.assetsKey != null)) { return; } var dumped = this.isDumped; this.undump(); if(dumped) { this.dump(); } } ,destroy: function() { this.set_bitmap(flixel_util_FlxDestroyUtil.dispose(this.bitmap)); this.shader = null; this.key = null; this.assetsKey = null; this.assetsClass = null; this._imageFrame = null; if(this.frameCollections == null) { return; } var collections; var _g = 0; var _g1 = this.frameCollectionTypes; while(_g < _g1.length) { var collectionType = _g1[_g]; ++_g; collections = this.frameCollections.get(collectionType); flixel_util_FlxDestroyUtil.destroyArray(collections); } this.frameCollections = null; this.frameCollectionTypes = null; } ,addFrameCollection: function(collection) { if(collection.type != null) { var type = collection.type; var collections = this.frameCollections.get(type); if(collections == null) { collections = []; this.frameCollections.set(type,collections); } var collections1 = collections; collections1.push(collection); } } ,getFramesCollections: function(type) { var collections = this.frameCollections.get(type); if(collections == null) { collections = []; this.frameCollections.set(type,collections); } return collections; } ,getEmptyFrame: function(size) { var frame = new flixel_graphics_frames_FlxFrame(this); frame.type = 2; var _this = flixel_math_FlxRect._pool.get(); var X = 0; var Y = 0; var Width = 0; var Height = 0; if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } _this.x = X; _this.y = Y; _this.width = Width; _this.height = Height; var rect = _this; rect._inPool = false; frame.set_frame(rect); var _this1 = frame.sourceSize; _this1.set_x(size.x); _this1.set_y(size.y); if(size._weak) { size.put(); } return frame; } ,getBitmapFromSystem: function() { var newBitmap = null; if(this.assetsClass != null) { newBitmap = Type.createInstance(this.assetsClass,[0,0]); } else if(this.assetsKey != null) { var id = this.assetsKey; newBitmap = openfl_utils_Assets.exists(id) ? openfl_utils_Assets.getBitmapData(id,false) : null; } if(newBitmap != null) { var Unique = this.unique; if(Unique == null) { Unique = false; } if(Unique) { return newBitmap.clone(); } else { return newBitmap; } } return null; } ,get_canBeDumped: function() { if(this.assetsClass == null) { return this.assetsKey != null; } else { return true; } } ,get_useCount: function() { return this._useCount; } ,set_useCount: function(Value) { if(Value <= 0 && this._destroyOnNoUse && !this.persist) { flixel_FlxG.bitmap.remove(this); } return this._useCount = Value; } ,get_destroyOnNoUse: function() { return this._destroyOnNoUse; } ,set_destroyOnNoUse: function(Value) { if(Value && this._useCount <= 0 && this.key != null && !this.persist) { flixel_FlxG.bitmap.remove(this); } return this._destroyOnNoUse = Value; } ,get_imageFrame: function() { if(this._imageFrame == null) { var X = 0; var Y = 0; var Width = this.bitmap.width; var Height = this.bitmap.height; if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } var _this = flixel_math_FlxRect._pool.get(); var X1 = X; var Y1 = Y; var Width1 = Width; var Height1 = Height; if(Height1 == null) { Height1 = 0; } if(Width1 == null) { Width1 = 0; } if(Y1 == null) { Y1 = 0; } if(X1 == null) { X1 = 0; } _this.x = X1; _this.y = Y1; _this.width = Width1; _this.height = Height1; var rect = _this; rect._inPool = false; this._imageFrame = flixel_graphics_frames_FlxImageFrame.fromRectangle(this,rect); } return this._imageFrame; } ,get_atlasFrames: function() { return flixel_graphics_frames_FlxAtlasFrames.findFrame(this,null); } ,set_bitmap: function(value) { if(value != null) { this.bitmap = value; this.width = this.bitmap.width; this.height = this.bitmap.height; } return value; } ,__class__: flixel_graphics_FlxGraphic ,__properties__: {get_atlasFrames:"get_atlasFrames",get_imageFrame:"get_imageFrame",set_useCount:"set_useCount",get_useCount:"get_useCount",get_canBeDumped:"get_canBeDumped",set_destroyOnNoUse:"set_destroyOnNoUse",get_destroyOnNoUse:"get_destroyOnNoUse",set_bitmap:"set_bitmap"} }; var flixel_graphics_atlas_FlxAtlas = function(name,powerOfTwo,border,rotate,minSize,maxSize) { if(rotate == null) { rotate = false; } if(border == null) { border = 1; } if(powerOfTwo == null) { powerOfTwo = false; } this.powerOfTwo = false; this.allowRotation = false; this.maxHeight = 1024; this.maxWidth = 1024; this.minHeight = 128; this.minWidth = 128; this.border = 1; this.persist = false; this.nodes = new haxe_ds_StringMap(); this.name = name; this.set_powerOfTwo(powerOfTwo); this.border = border; minSize = minSize != null ? minSize : flixel_graphics_atlas_FlxAtlas.defaultMinSize; maxSize = maxSize != null ? maxSize : flixel_graphics_atlas_FlxAtlas.defaultMaxSize; this.set_minWidth(minSize.x | 0); this.set_minHeight(minSize.y | 0); this.set_maxWidth(maxSize.x > minSize.x ? maxSize.x | 0 : this.minWidth); this.set_maxHeight(maxSize.y > minSize.x ? maxSize.y | 0 : this.minHeight); this.allowRotation = rotate; this.initRoot(); flixel_FlxG.signals.preStateCreate.add($bind(this,this.onClear)); }; $hxClasses["flixel.graphics.atlas.FlxAtlas"] = flixel_graphics_atlas_FlxAtlas; flixel_graphics_atlas_FlxAtlas.__name__ = "flixel.graphics.atlas.FlxAtlas"; flixel_graphics_atlas_FlxAtlas.__interfaces__ = [flixel_util_IFlxDestroyable]; flixel_graphics_atlas_FlxAtlas.prototype = { root: null ,name: null ,nodes: null ,bitmapData: null ,persist: null ,border: null ,width: null ,height: null ,minWidth: null ,minHeight: null ,maxWidth: null ,maxHeight: null ,allowRotation: null ,powerOfTwo: null ,_graphic: null ,_tempStorage: null ,initRoot: function() { var rootWidth = this.minWidth; var rootHeight = this.minHeight; if(this.powerOfTwo) { rootWidth = this.getNextPowerOfTwo(rootWidth); rootHeight = this.getNextPowerOfTwo(rootHeight); } var X = 0; var Y = 0; var Width = rootWidth; var Height = rootHeight; if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } var _this = flixel_math_FlxRect._pool.get(); var X1 = X; var Y1 = Y; var Width1 = Width; var Height1 = Height; if(Height1 == null) { Height1 = 0; } if(Width1 == null) { Width1 = 0; } if(Y1 == null) { Y1 = 0; } if(X1 == null) { X1 = 0; } _this.x = X1; _this.y = Y1; _this.width = Width1; _this.height = Height1; var rect = _this; rect._inPool = false; this.root = new flixel_graphics_atlas_FlxNode(rect,this); } ,addNode: function(Graphic,Key) { var key = flixel_system_FlxAssets.resolveKey(Graphic,Key); if(key == null) { return null; } if(this.hasNodeWithName(key)) { var _this = this.nodes; if(__map_reserved[key] != null) { return _this.getReserved(key); } else { return _this.h[key]; } } var data = flixel_system_FlxAssets.resolveBitmapData(Graphic); if(data == null) { return null; } if(this.root.left == null) { return this.insertFirstNodeInRoot(data,key); } if(this.root.right == null) { return this.expand(data,key); } var inserted = this.tryInsert(data,key); if(inserted != null) { return inserted; } this.wrapRoot(); return this.expand(data,key); } ,wrapRoot: function() { var temp = this.root; var X = 0; var Y = 0; var Width = temp.rect.width | 0; var Height = temp.rect.height | 0; if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } var _this = flixel_math_FlxRect._pool.get(); var X1 = X; var Y1 = Y; var Width1 = Width; var Height1 = Height; if(Height1 == null) { Height1 = 0; } if(Width1 == null) { Width1 = 0; } if(Y1 == null) { Y1 = 0; } if(X1 == null) { X1 = 0; } _this.x = X1; _this.y = Y1; _this.width = Width1; _this.height = Height1; var rect = _this; rect._inPool = false; this.root = new flixel_graphics_atlas_FlxNode(rect,this); this.root.left = temp; } ,tryInsert: function(data,key) { var insertWidth = data.width + this.border; var insertHeight = data.height + this.border; var rotateNode = false; var nodeToInsert = this.findNodeToInsert(insertWidth,insertHeight); if(this.allowRotation) { var nodeToInsertWithRotation = this.findNodeToInsert(insertHeight,insertWidth); if(nodeToInsertWithRotation != null) { var nodeWithRotationArea = (nodeToInsertWithRotation.rect.width | 0) * (nodeToInsertWithRotation.rect.height | 0); if(nodeToInsert == null || nodeToInsert != null && (nodeToInsert.rect.width | 0) * (nodeToInsert.rect.height | 0) > nodeWithRotationArea) { nodeToInsert = nodeToInsertWithRotation; rotateNode = true; var temp = insertWidth; insertWidth = insertHeight; insertHeight = temp; } } } if(nodeToInsert != null) { var horizontally = this.needToDivideHorizontally(nodeToInsert,insertWidth,insertHeight); return this.divideNode(nodeToInsert,insertWidth,insertHeight,horizontally,data,key,rotateNode); } return null; } ,needToDivideHorizontally: function(nodeToDivide,insertWidth,insertHeight) { var dw = (nodeToDivide.rect.width | 0) - insertWidth; var dh = (nodeToDivide.rect.height | 0) - insertHeight; return dw > dh; } ,divideNode: function(nodeToDivide,insertWidth,insertHeight,divideHorizontally,firstGrandChildData,firstGrandChildKey,firstGrandChildRotated) { if(firstGrandChildRotated == null) { firstGrandChildRotated = false; } if(nodeToDivide != null) { var firstChild = null; var secondChild = null; var firstGrandChild = null; var secondGrandChild = null; var firstGrandChildFilled = firstGrandChildKey != null; if(divideHorizontally) { var X = nodeToDivide.rect.x | 0; var Y = nodeToDivide.rect.y | 0; var Width = insertWidth; var Height = nodeToDivide.rect.height | 0; if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } var _this = flixel_math_FlxRect._pool.get(); var X1 = X; var Y1 = Y; var Width1 = Width; var Height1 = Height; if(Height1 == null) { Height1 = 0; } if(Width1 == null) { Width1 = 0; } if(Y1 == null) { Y1 = 0; } if(X1 == null) { X1 = 0; } _this.x = X1; _this.y = Y1; _this.width = Width1; _this.height = Height1; var rect = _this; rect._inPool = false; firstChild = new flixel_graphics_atlas_FlxNode(rect,this); if((nodeToDivide.rect.width | 0) - insertWidth > 0) { var X2 = (nodeToDivide.rect.x | 0) + insertWidth; var Y2 = nodeToDivide.rect.y | 0; var Width2 = (nodeToDivide.rect.width | 0) - insertWidth; var Height2 = nodeToDivide.rect.height | 0; if(Height2 == null) { Height2 = 0; } if(Width2 == null) { Width2 = 0; } if(Y2 == null) { Y2 = 0; } if(X2 == null) { X2 = 0; } var _this1 = flixel_math_FlxRect._pool.get(); var X3 = X2; var Y3 = Y2; var Width3 = Width2; var Height3 = Height2; if(Height3 == null) { Height3 = 0; } if(Width3 == null) { Width3 = 0; } if(Y3 == null) { Y3 = 0; } if(X3 == null) { X3 = 0; } _this1.x = X3; _this1.y = Y3; _this1.width = Width3; _this1.height = Height3; var rect1 = _this1; rect1._inPool = false; secondChild = new flixel_graphics_atlas_FlxNode(rect1,this); } var X4 = firstChild.rect.x | 0; var Y4 = firstChild.rect.y | 0; var Width4 = insertWidth; var Height4 = insertHeight; if(Height4 == null) { Height4 = 0; } if(Width4 == null) { Width4 = 0; } if(Y4 == null) { Y4 = 0; } if(X4 == null) { X4 = 0; } var _this2 = flixel_math_FlxRect._pool.get(); var X5 = X4; var Y5 = Y4; var Width5 = Width4; var Height5 = Height4; if(Height5 == null) { Height5 = 0; } if(Width5 == null) { Width5 = 0; } if(Y5 == null) { Y5 = 0; } if(X5 == null) { X5 = 0; } _this2.x = X5; _this2.y = Y5; _this2.width = Width5; _this2.height = Height5; var rect2 = _this2; rect2._inPool = false; firstGrandChild = new flixel_graphics_atlas_FlxNode(rect2,this,firstGrandChildFilled,firstGrandChildKey,firstGrandChildRotated); if((firstChild.rect.height | 0) - insertHeight > 0) { var X6 = firstChild.rect.x | 0; var Y6 = (firstChild.rect.y | 0) + insertHeight; var Width6 = insertWidth; var Height6 = (firstChild.rect.height | 0) - insertHeight; if(Height6 == null) { Height6 = 0; } if(Width6 == null) { Width6 = 0; } if(Y6 == null) { Y6 = 0; } if(X6 == null) { X6 = 0; } var _this3 = flixel_math_FlxRect._pool.get(); var X7 = X6; var Y7 = Y6; var Width7 = Width6; var Height7 = Height6; if(Height7 == null) { Height7 = 0; } if(Width7 == null) { Width7 = 0; } if(Y7 == null) { Y7 = 0; } if(X7 == null) { X7 = 0; } _this3.x = X7; _this3.y = Y7; _this3.width = Width7; _this3.height = Height7; var rect3 = _this3; rect3._inPool = false; secondGrandChild = new flixel_graphics_atlas_FlxNode(rect3,this); } } else { var X8 = nodeToDivide.rect.x | 0; var Y8 = nodeToDivide.rect.y | 0; var Width8 = nodeToDivide.rect.width | 0; var Height8 = insertHeight; if(Height8 == null) { Height8 = 0; } if(Width8 == null) { Width8 = 0; } if(Y8 == null) { Y8 = 0; } if(X8 == null) { X8 = 0; } var _this4 = flixel_math_FlxRect._pool.get(); var X9 = X8; var Y9 = Y8; var Width9 = Width8; var Height9 = Height8; if(Height9 == null) { Height9 = 0; } if(Width9 == null) { Width9 = 0; } if(Y9 == null) { Y9 = 0; } if(X9 == null) { X9 = 0; } _this4.x = X9; _this4.y = Y9; _this4.width = Width9; _this4.height = Height9; var rect4 = _this4; rect4._inPool = false; firstChild = new flixel_graphics_atlas_FlxNode(rect4,this); if((nodeToDivide.rect.height | 0) - insertHeight > 0) { var X10 = nodeToDivide.rect.x | 0; var Y10 = (nodeToDivide.rect.y | 0) + insertHeight; var Width10 = nodeToDivide.rect.width | 0; var Height10 = (nodeToDivide.rect.height | 0) - insertHeight; if(Height10 == null) { Height10 = 0; } if(Width10 == null) { Width10 = 0; } if(Y10 == null) { Y10 = 0; } if(X10 == null) { X10 = 0; } var _this5 = flixel_math_FlxRect._pool.get(); var X11 = X10; var Y11 = Y10; var Width11 = Width10; var Height11 = Height10; if(Height11 == null) { Height11 = 0; } if(Width11 == null) { Width11 = 0; } if(Y11 == null) { Y11 = 0; } if(X11 == null) { X11 = 0; } _this5.x = X11; _this5.y = Y11; _this5.width = Width11; _this5.height = Height11; var rect5 = _this5; rect5._inPool = false; secondChild = new flixel_graphics_atlas_FlxNode(rect5,this); } var X12 = firstChild.rect.x | 0; var Y12 = firstChild.rect.y | 0; var Width12 = insertWidth; var Height12 = insertHeight; if(Height12 == null) { Height12 = 0; } if(Width12 == null) { Width12 = 0; } if(Y12 == null) { Y12 = 0; } if(X12 == null) { X12 = 0; } var _this6 = flixel_math_FlxRect._pool.get(); var X13 = X12; var Y13 = Y12; var Width13 = Width12; var Height13 = Height12; if(Height13 == null) { Height13 = 0; } if(Width13 == null) { Width13 = 0; } if(Y13 == null) { Y13 = 0; } if(X13 == null) { X13 = 0; } _this6.x = X13; _this6.y = Y13; _this6.width = Width13; _this6.height = Height13; var rect6 = _this6; rect6._inPool = false; firstGrandChild = new flixel_graphics_atlas_FlxNode(rect6,this,firstGrandChildFilled,firstGrandChildKey,firstGrandChildRotated); if((firstChild.rect.width | 0) - insertWidth > 0) { var X14 = (firstChild.rect.x | 0) + insertWidth; var Y14 = firstChild.rect.y | 0; var Width14 = (firstChild.rect.width | 0) - insertWidth; var Height14 = insertHeight; if(Height14 == null) { Height14 = 0; } if(Width14 == null) { Width14 = 0; } if(Y14 == null) { Y14 = 0; } if(X14 == null) { X14 = 0; } var _this7 = flixel_math_FlxRect._pool.get(); var X15 = X14; var Y15 = Y14; var Width15 = Width14; var Height15 = Height14; if(Height15 == null) { Height15 = 0; } if(Width15 == null) { Width15 = 0; } if(Y15 == null) { Y15 = 0; } if(X15 == null) { X15 = 0; } _this7.x = X15; _this7.y = Y15; _this7.width = Width15; _this7.height = Height15; var rect7 = _this7; rect7._inPool = false; secondGrandChild = new flixel_graphics_atlas_FlxNode(rect7,this); } } firstChild.left = firstGrandChild; firstChild.right = secondGrandChild; nodeToDivide.left = firstChild; nodeToDivide.right = secondChild; if(firstGrandChildKey != null && firstGrandChildData != null) { this.expandBitmapData(); if(firstGrandChildRotated) { flixel_graphics_atlas_FlxAtlas.matrix.identity(); flixel_graphics_atlas_FlxAtlas.matrix.rotate(Math.PI / 2); flixel_graphics_atlas_FlxAtlas.matrix.translate(firstGrandChildData.height + (firstGrandChild.rect.x | 0),firstGrandChild.rect.y | 0); this.bitmapData.draw(firstGrandChildData,flixel_graphics_atlas_FlxAtlas.matrix); } else { flixel_graphics_atlas_FlxAtlas.point.setTo(firstGrandChild.rect.x | 0,firstGrandChild.rect.y | 0); this.bitmapData.copyPixels(firstGrandChildData,firstGrandChildData.rect,flixel_graphics_atlas_FlxAtlas.point); } this.addNodeToAtlasFrames(firstGrandChild); var _this8 = this.nodes; if(__map_reserved[firstGrandChildKey] != null) { _this8.setReserved(firstGrandChildKey,firstGrandChild); } else { _this8.h[firstGrandChildKey] = firstGrandChild; } } return firstGrandChild; } return null; } ,insertFirstNodeInRoot: function(data,key) { if(this.root.left == null) { var insertWidth = data.width + this.border; var insertHeight = data.height + this.border; var rootWidth = insertWidth; var rootHeight = insertHeight; if(this.powerOfTwo) { rootWidth = this.getNextPowerOfTwo(rootWidth); rootHeight = this.getNextPowerOfTwo(rootHeight); } rootWidth = this.minWidth > rootWidth ? this.minWidth : rootWidth; rootHeight = this.minHeight > rootHeight ? this.minHeight : rootHeight; if(this.powerOfTwo) { rootWidth = this.getNextPowerOfTwo(rootWidth); rootHeight = this.getNextPowerOfTwo(rootHeight); } if(this.maxWidth > 0 && rootWidth > this.maxWidth || this.maxHeight > 0 && rootHeight > this.maxHeight) { return null; } this.root.set_width(rootWidth); this.root.set_height(rootHeight); var horizontally = this.needToDivideHorizontally(this.root,insertWidth,insertHeight); return this.divideNode(this.root,insertWidth,insertHeight,horizontally,data,key); } return null; } ,expand: function(data,key) { if(this.root.right == null) { var insertWidth = data.width + this.border; var insertHeight = data.height + this.border; var addRightWidth = (this.root.rect.width | 0) + insertWidth; var addRightHeight = Math.max(this.root.rect.height | 0,insertHeight) | 0; var addBottomWidth = Math.max(this.root.rect.width | 0,insertWidth) | 0; var addBottomHeight = (this.root.rect.height | 0) + insertHeight; var addRightWidthRotate = addRightWidth; var addRightHeightRotate = addRightHeight; var addBottomWidthRotate = addBottomWidth; var addBottomHeightRotate = addBottomHeight; if(this.allowRotation) { addRightWidthRotate = (this.root.rect.width | 0) + insertHeight; addRightHeightRotate = Math.max(this.root.rect.height | 0,insertWidth) | 0; addBottomWidthRotate = Math.max(this.root.rect.width | 0,insertHeight) | 0; addBottomHeightRotate = (this.root.rect.height | 0) + insertWidth; } if(this.powerOfTwo) { addRightWidth = this.getNextPowerOfTwo(addRightWidth); addRightWidthRotate = addRightWidth; addRightHeight = this.getNextPowerOfTwo(addRightHeight); addRightHeightRotate = addRightHeight; addBottomWidth = this.getNextPowerOfTwo(addBottomWidth); addBottomWidthRotate = addBottomWidth; addBottomHeight = this.getNextPowerOfTwo(addBottomHeight); addBottomHeightRotate = addBottomHeight; if(this.allowRotation) { addRightWidthRotate = this.getNextPowerOfTwo(addRightWidthRotate); addRightHeightRotate = this.getNextPowerOfTwo(addRightHeightRotate); addBottomWidthRotate = this.getNextPowerOfTwo(addBottomWidthRotate); addBottomHeightRotate = this.getNextPowerOfTwo(addBottomHeightRotate); } } var canExpandRight = true; var canExpandBottom = true; var canExpandRightRotate = this.allowRotation; var canExpandBottomRotate = this.allowRotation; if(this.maxWidth > 0 && addRightWidth > this.maxWidth || this.maxHeight > 0 && addRightHeight > this.maxHeight) { canExpandRight = false; } if(this.maxWidth > 0 && addBottomWidth > this.maxWidth || this.maxHeight > 0 && addBottomHeight > this.maxHeight) { canExpandBottom = false; } if(this.maxWidth > 0 && addRightWidthRotate > this.maxWidth || this.maxHeight > 0 && addRightHeightRotate > this.maxHeight) { canExpandRightRotate = false; } if(this.maxWidth > 0 && addBottomWidthRotate > this.maxWidth || this.maxHeight > 0 && addBottomHeightRotate > this.maxHeight) { canExpandBottomRotate = false; } if(!canExpandRight && !canExpandBottom && !canExpandRightRotate && !canExpandBottomRotate) { return null; } var addRightArea = addRightWidth * addRightHeight; var addBottomArea = addBottomWidth * addBottomHeight; var addRightAreaRotate = addRightWidthRotate * addRightHeightRotate; var addBottomAreaRotate = addBottomWidthRotate * addBottomHeightRotate; var rotateRight = false; var rotateBottom = false; var rotateNode = false; if(canExpandRight && canExpandRightRotate && addRightArea > addRightAreaRotate || !canExpandRight && canExpandRightRotate) { addRightArea = addBottomAreaRotate; addRightWidth = addRightWidthRotate; addRightHeight = addRightHeightRotate; canExpandRight = true; rotateRight = true; } if(canExpandBottom && canExpandBottomRotate && addBottomArea > addBottomAreaRotate || !canExpandBottom && canExpandBottomRotate) { addBottomArea = addBottomAreaRotate; addBottomWidth = addBottomWidthRotate; addBottomHeight = addBottomHeightRotate; canExpandBottom = true; rotateBottom = true; } if(!canExpandRight && canExpandBottom) { addRightArea = addBottomArea + 1; rotateNode = rotateRight; } else if(canExpandRight && !canExpandBottom) { addBottomArea = addRightArea + 1; rotateNode = rotateBottom; } var dataNode = null; var temp = this.root; var insertNodeWidth = insertWidth; var insertNodeHeight = insertHeight; if(addBottomArea >= addRightArea) { if(rotateRight) { insertNodeWidth = insertHeight; insertNodeHeight = insertWidth; } this.expandRoot((temp.rect.width | 0) + insertNodeWidth,Math.max(temp.rect.height | 0,insertNodeHeight),true); dataNode = this.divideNode(this.root.right,insertNodeWidth,insertNodeHeight,true,data,key,rotateRight); this.expandRoot(addRightWidth,addRightHeight,false,true); } else { if(rotateBottom) { insertNodeWidth = insertHeight; insertNodeHeight = insertWidth; } this.expandRoot(Math.max(temp.rect.width | 0,insertNodeWidth),(temp.rect.height | 0) + insertNodeHeight,false); dataNode = this.divideNode(this.root.right,insertNodeWidth,insertNodeHeight,true,data,key,rotateBottom); this.expandRoot(addBottomWidth,addBottomHeight,false,true); } return dataNode; } return null; } ,expandRoot: function(newWidth,newHeight,divideHorizontally,decideHowToDivide) { if(decideHowToDivide == null) { decideHowToDivide = false; } if(newWidth > (this.root.rect.width | 0) || newHeight > (this.root.rect.height | 0)) { var temp = this.root; var X = 0; var Y = 0; var Width = newWidth; var Height = newHeight; if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } var _this = flixel_math_FlxRect._pool.get(); var X1 = X; var Y1 = Y; var Width1 = Width; var Height1 = Height; if(Height1 == null) { Height1 = 0; } if(Width1 == null) { Width1 = 0; } if(Y1 == null) { Y1 = 0; } if(X1 == null) { X1 = 0; } _this.x = X1; _this.y = Y1; _this.width = Width1; _this.height = Height1; var rect = _this; rect._inPool = false; this.root = new flixel_graphics_atlas_FlxNode(rect,this); divideHorizontally = decideHowToDivide ? this.needToDivideHorizontally(this.root,temp.rect.width | 0,temp.rect.height | 0) : divideHorizontally; this.divideNode(this.root,temp.rect.width | 0,temp.rect.height | 0,divideHorizontally); this.root.left.left = temp; } } ,expandBitmapData: function() { if(this.bitmapData != null && this.bitmapData.width == (this.root.rect.width | 0) && this.bitmapData.height == (this.root.rect.height | 0)) { return; } var newBitmapData = new openfl_display_BitmapData(this.root.rect.width | 0,this.root.rect.height | 0,true,0); if(this.bitmapData != null) { flixel_graphics_atlas_FlxAtlas.point.setTo(0,0); newBitmapData.copyPixels(this.bitmapData,this.bitmapData.rect,flixel_graphics_atlas_FlxAtlas.point); } this.set_bitmapData(flixel_util_FlxDestroyUtil.dispose(this.bitmapData)); this.set_bitmapData(newBitmapData); } ,getNextPowerOfTwo: function(number) { var n = number | 0; if(n > 0 && (n & n - 1) == 0) { return n; } var result = 1; while(result < n) result <<= 1; return result; } ,addNodeWithSpacesAndBorders: function(Graphic,Key,tileSize,tileSpacing,tileBorder,region) { var key = flixel_system_FlxAssets.resolveKey(Graphic,Key); if(key == null) { return null; } key = flixel_FlxG.bitmap.getKeyWithSpacesAndBorders(key,tileSize,tileSpacing,tileBorder,region); if(this.hasNodeWithName(key)) { var _this = this.nodes; return (__map_reserved[key] != null ? _this.getReserved(key) : _this.h[key]).getTileFrames(tileSize,tileSpacing,tileBorder); } var data = flixel_system_FlxAssets.resolveBitmapData(Graphic); if(data == null) { return null; } var nodeData = flixel_util_FlxBitmapDataUtil.addSpacesAndBorders(data,tileSize,tileSpacing,tileBorder,region); var node = this.addNode(nodeData,key); if(node == null) { return null; } if(tileBorder != null) { var X = 2 * tileBorder.x; var Y = 2 * tileBorder.y; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var _g = tileSize; _g.set_x(_g.x + X); var _g1 = tileSize; _g1.set_y(_g1.y + Y); } return node.getTileFrames(tileSize,tileSpacing,tileBorder); } ,getAtlasFrames: function() { var graph = this.get_graphic(); var atlasFrames = graph.get_atlasFrames(); if(graph.get_atlasFrames() == null) { atlasFrames = new flixel_graphics_frames_FlxAtlasFrames(graph); } var _this = this.nodes; var node = new haxe_ds__$StringMap_StringMapIterator(_this,_this.arrayKeys()); while(node.hasNext()) { var node1 = node.next(); this.addNodeToAtlasFrames(node1); } return atlasFrames; } ,addNodeToAtlasFrames: function(node) { if(this._graphic == null || this._graphic.get_atlasFrames() == null || node == null) { return; } var atlasFrames = this._graphic.get_atlasFrames(); var tmp; if(node.filled) { var key = node.key; var _this = atlasFrames.framesHash; tmp = !(__map_reserved[key] != null ? _this.existsReserved(key) : _this.h.hasOwnProperty(key)); } else { tmp = false; } if(tmp) { var X = node.rect.x | 0; var Y = node.rect.y | 0; var Width = (node.rect.width | 0) - this.border; var Height = (node.rect.height | 0) - this.border; if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } var _this1 = flixel_math_FlxRect._pool.get(); var X1 = X; var Y1 = Y; var Width1 = Width; var Height1 = Height; if(Height1 == null) { Height1 = 0; } if(Width1 == null) { Width1 = 0; } if(Y1 == null) { Y1 = 0; } if(X1 == null) { X1 = 0; } _this1.x = X1; _this1.y = Y1; _this1.width = Width1; _this1.height = Height1; var rect = _this1; rect._inPool = false; var frame = rect; var sourceSize; if(node.rotated) { var X2 = (node.rect.height | 0) - this.border; var Y2 = (node.rect.width | 0) - this.border; if(Y2 == null) { Y2 = 0; } if(X2 == null) { X2 = 0; } var point = flixel_math_FlxPoint._pool.get().set(X2,Y2); point._inPool = false; sourceSize = point; } else { var X3 = (node.rect.width | 0) - this.border; var Y3 = (node.rect.height | 0) - this.border; if(Y3 == null) { Y3 = 0; } if(X3 == null) { X3 = 0; } var point1 = flixel_math_FlxPoint._pool.get().set(X3,Y3); point1._inPool = false; sourceSize = point1; } var X4 = 0; var Y4 = 0; if(Y4 == null) { Y4 = 0; } if(X4 == null) { X4 = 0; } var point2 = flixel_math_FlxPoint._pool.get().set(X4,Y4); point2._inPool = false; var offset = point2; var angle = node.rotated ? -90 : 0; atlasFrames.addAtlasFrame(frame,sourceSize,offset,node.key,angle); } } ,hasNodeWithName: function(nodeName) { var _this = this.nodes; if(__map_reserved[nodeName] != null) { return _this.existsReserved(nodeName); } else { return _this.h.hasOwnProperty(nodeName); } } ,getNode: function(key) { var _this = this.nodes; if(__map_reserved[key] != null) { return _this.getReserved(key); } else { return _this.h[key]; } } ,addNodes: function(bitmaps,keys) { var numKeys = keys.length; var numBitmaps = bitmaps.length; if(numBitmaps != numKeys) { return null; } this._tempStorage = []; var _g = 0; var _g1 = numBitmaps; while(_g < _g1) { var i = _g++; this._tempStorage.push({ bmd : bitmaps[i], keyStr : keys[i]}); } this.addFromAtlasObjects(this._tempStorage); return this; } ,addFromAtlasObjects: function(objects) { objects.sort($bind(this,this.bitmapSorter)); var numBitmaps = objects.length; var _g = 0; var _g1 = numBitmaps; while(_g < _g1) { var i = _g++; this.addNode(objects[i].bmd,objects[i].keyStr); } this._tempStorage = null; } ,bitmapSorter: function(obj1,obj2) { if(this.allowRotation) { var area1 = obj1.bmd.width * obj1.bmd.height; var area2 = obj2.bmd.width * obj2.bmd.height; return area2 - area1; } if(obj2.bmd.width == obj1.bmd.width) { return obj2.bmd.height - obj1.bmd.height; } return obj2.bmd.width - obj1.bmd.width; } ,createQueue: function() { this._tempStorage = []; return this; } ,addToQueue: function(data,key) { if(this._tempStorage == null) { this._tempStorage = []; } this._tempStorage.push({ bmd : data, keyStr : key}); return this; } ,generateFromQueue: function() { if(this._tempStorage != null) { this.addFromAtlasObjects(this._tempStorage); } return this; } ,onClear: function(_) { if(!this.persist || this._graphic != null && this._graphic.get_useCount() <= 0) { this.destroy(); } } ,destroy: function() { this._tempStorage = null; this.deleteSubtree(this.root); this.root = null; flixel_FlxG.bitmap.removeByKey(this.name); this.set_bitmapData(null); this.nodes = null; this._graphic = null; flixel_FlxG.signals.preStateCreate.remove($bind(this,this.onClear)); } ,clear: function() { this.deleteSubtree(this.root); this.initRoot(); flixel_FlxG.bitmap.removeByKey(this.name); this.set_bitmapData(null); this.nodes = new haxe_ds_StringMap(); this._graphic = null; } ,getLibGdxData: function() { var data = "\n"; data += this.name + "\n"; data += "format: RGBA8888\n"; data += "filter: Linear,Linear\n"; data += "repeat: none\n"; var _this = this.nodes; var node = new haxe_ds__$StringMap_StringMapIterator(_this,_this.arrayKeys()); while(node.hasNext()) { var node1 = node.next(); data += node1.key + "\n"; data += " rotate: " + (node1.rotated == null ? "null" : "" + node1.rotated) + "\n"; data += " xy: " + (node1.rect.x | 0) + ", " + (node1.rect.y | 0) + "\n"; if(this.allowRotation) { data += "size: " + (node1.rect.height | 0) + ", " + (node1.rect.width | 0) + "\n"; data += "orig: " + (node1.rect.height | 0) + ", " + (node1.rect.width | 0) + "\n"; } else { data += "size: " + (node1.rect.width | 0) + ", " + (node1.rect.height | 0) + "\n"; data += "orig: " + (node1.rect.width | 0) + ", " + (node1.rect.height | 0) + "\n"; } data += " offset: 0, 0\n"; data += " index: -1\n"; } return data; } ,deleteSubtree: function(node) { if(node != null) { if(node.left != null) { this.deleteSubtree(node.left); } if(node.right != null) { this.deleteSubtree(node.right); } node.key = null; node.left = null; node.right = null; node.rect = null; node.atlas = null; } } ,findNodeToInsert: function(insertWidth,insertHeight) { var stack = []; var current = this.root; var emptyNodes = []; var canPlaceRight = false; var canPlaceLeft = false; var looping = true; var result = null; var minArea = this.maxWidth * this.maxHeight + 1; var nodeArea; while(looping) { if(!current.filled && current.left == null && current.right == null && (current.rect.width >= insertWidth && current.rect.height >= insertHeight)) { nodeArea = (current.rect.width | 0) * (current.rect.height | 0); if(nodeArea < minArea) { minArea = nodeArea; result = current; } } if(current.right != null) { var _this = current.right; canPlaceRight = _this.rect.width >= insertWidth && _this.rect.height >= insertHeight; } else { canPlaceRight = false; } if(current.left != null) { var _this1 = current.left; canPlaceLeft = _this1.rect.width >= insertWidth && _this1.rect.height >= insertHeight; } else { canPlaceLeft = false; } if(canPlaceRight && canPlaceLeft) { stack.push(current.right); current = current.left; } else if(canPlaceLeft) { current = current.left; } else if(canPlaceRight) { current = current.right; } else if(stack.length > 0) { current = stack.pop(); } else { looping = false; } } return result; } ,set_bitmapData: function(value) { if(value != null && this._graphic != null) { this._graphic.set_bitmap(value); } return this.bitmapData = value; } ,get_graphic: function() { if(this._graphic != null) { return this._graphic; } this._graphic = flixel_FlxG.bitmap.add(this.bitmapData,false,this.name); this._graphic.persist = this.persist; return this._graphic; } ,set_persist: function(value) { if(this._graphic != null) { this._graphic.persist = value; } return this.persist = value; } ,set_minWidth: function(value) { if(value <= this.maxWidth) { this.minWidth = value; if(value > this.get_width()) { this.set_width(value); } } return this.minWidth; } ,set_minHeight: function(value) { if(value <= this.maxHeight) { this.minHeight = value; if(value > this.get_height()) { this.set_height(value); } } return this.minHeight; } ,get_width: function() { if(this.root != null) { return this.root.rect.width | 0; } return 0; } ,set_width: function(value) { if(value > this.get_width()) { if(this.powerOfTwo) { value = this.getNextPowerOfTwo(value); } if(value <= this.maxWidth) { if(this.root != null && (this.root.rect.width | 0) < value) { this.expandRoot(value,this.root.rect.height | 0,this.needToDivideHorizontally(this.root,this.root.rect.width | 0,this.root.rect.height | 0)); } } } return value; } ,get_height: function() { if(this.root != null) { return this.root.rect.height | 0; } return 0; } ,set_height: function(value) { if(value > this.get_height()) { if(this.powerOfTwo) { value = this.getNextPowerOfTwo(value); } if(value <= this.maxHeight) { if(this.root != null && (this.root.rect.height | 0) < value) { this.expandRoot(this.root.rect.width | 0,value,this.needToDivideHorizontally(this.root,this.root.rect.width | 0,this.root.rect.height | 0)); } } } return value; } ,set_maxWidth: function(value) { if(value >= this.minWidth && (this.root == null || value >= this.get_width())) { this.maxWidth = value; } return this.maxWidth; } ,set_maxHeight: function(value) { if(value >= this.minHeight && (this.root == null || value >= this.get_height())) { this.maxHeight = value; } return this.maxHeight; } ,set_powerOfTwo: function(value) { if(value != this.powerOfTwo && value && this.root != null) { var nextWidth = this.getNextPowerOfTwo(this.root.rect.width | 0); var nextHeight = this.getNextPowerOfTwo(this.root.rect.height | 0); if(nextWidth != (this.root.rect.width | 0) || nextHeight != (this.root.rect.height | 0)) { if(this.maxWidth > 0 && nextWidth > this.maxWidth || this.maxHeight > 0 && nextHeight > this.maxHeight) { return false; } var temp = this.root; var X = 0; var Y = 0; var Width = nextWidth; var Height = nextHeight; if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } var _this = flixel_math_FlxRect._pool.get(); var X1 = X; var Y1 = Y; var Width1 = Width; var Height1 = Height; if(Height1 == null) { Height1 = 0; } if(Width1 == null) { Width1 = 0; } if(Y1 == null) { Y1 = 0; } if(X1 == null) { X1 = 0; } _this.x = X1; _this.y = Y1; _this.width = Width1; _this.height = Height1; var rect = _this; rect._inPool = false; this.root = new flixel_graphics_atlas_FlxNode(rect,this); if(temp.left != null) { this.divideNode(this.root,temp.rect.width | 0,temp.rect.height | 0,this.needToDivideHorizontally(this.root,temp.rect.width | 0,temp.rect.height | 0)); this.root.left.left = temp; } } } return this.powerOfTwo = value; } ,__class__: flixel_graphics_atlas_FlxAtlas ,__properties__: {set_powerOfTwo:"set_powerOfTwo",set_maxHeight:"set_maxHeight",set_maxWidth:"set_maxWidth",set_minHeight:"set_minHeight",set_minWidth:"set_minWidth",set_height:"set_height",get_height:"get_height",set_width:"set_width",get_width:"get_width",set_persist:"set_persist",get_graphic:"get_graphic",set_bitmapData:"set_bitmapData"} }; var flixel_graphics_atlas_FlxNode = function(rect,atlas,filled,key,rotated) { if(rotated == null) { rotated = false; } if(key == null) { key = ""; } if(filled == null) { filled = false; } this.filled = filled; this.left = null; this.right = null; this.rect = rect; this.key = key; this.atlas = atlas; this.rotated = rotated; }; $hxClasses["flixel.graphics.atlas.FlxNode"] = flixel_graphics_atlas_FlxNode; flixel_graphics_atlas_FlxNode.__name__ = "flixel.graphics.atlas.FlxNode"; flixel_graphics_atlas_FlxNode.__interfaces__ = [flixel_util_IFlxDestroyable]; flixel_graphics_atlas_FlxNode.prototype = { left: null ,right: null ,rect: null ,key: null ,filled: null ,atlas: null ,rotated: null ,destroy: function() { this.key = null; this.left = null; this.right = null; this.rect = null; this.atlas = null; } ,canPlace: function(width,height) { if(this.rect.width >= width) { return this.rect.height >= height; } else { return false; } } ,getTileFrames: function(tileSize,tileSpacing,tileBorder) { flixel_FlxG.bitmap.add(this.atlas.bitmapData,false,this.atlas.name); var _this = this.atlas.getAtlasFrames(); var name = this.key; var _this1 = _this.framesHash; var frame = __map_reserved[name] != null ? _this1.getReserved(name) : _this1.h[name]; if(frame != null) { var tileFrames = flixel_graphics_frames_FlxTileFrames.fromFrame(frame,tileSize,tileSpacing); if(tileBorder != null) { tileFrames = tileFrames.addBorder(tileBorder); } return tileFrames; } return null; } ,getImageFrame: function() { flixel_FlxG.bitmap.add(this.atlas.bitmapData,false,this.atlas.name); var _this = this.atlas.getAtlasFrames(); var name = this.key; var _this1 = _this.framesHash; var frame = __map_reserved[name] != null ? _this1.getReserved(name) : _this1.h[name]; if(frame != null) { return flixel_graphics_frames_FlxImageFrame.fromFrame(frame); } return null; } ,get_isEmpty: function() { if(!this.filled && this.left == null) { return this.right == null; } else { return false; } } ,get_x: function() { return this.rect.x | 0; } ,get_y: function() { return this.rect.y | 0; } ,get_width: function() { return this.rect.width | 0; } ,set_width: function(value) { this.rect.width = value; return value; } ,get_height: function() { return this.rect.height | 0; } ,set_height: function(value) { this.rect.height = value; return value; } ,__class__: flixel_graphics_atlas_FlxNode ,__properties__: {get_isEmpty:"get_isEmpty",set_height:"set_height",get_height:"get_height",set_width:"set_width",get_width:"get_width",get_y:"get_y",get_x:"get_x"} }; var flixel_graphics_frames_FlxFramesCollection = function(parent,type,border) { this.parent = parent; this.type = type; var tmp; if(border == null) { var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; tmp = point; } else { tmp = border; } this.border = tmp; this.frames = []; this.framesHash = new haxe_ds_StringMap(); if(parent != null) { parent.addFrameCollection(this); } }; $hxClasses["flixel.graphics.frames.FlxFramesCollection"] = flixel_graphics_frames_FlxFramesCollection; flixel_graphics_frames_FlxFramesCollection.__name__ = "flixel.graphics.frames.FlxFramesCollection"; flixel_graphics_frames_FlxFramesCollection.__interfaces__ = [flixel_util_IFlxDestroyable]; flixel_graphics_frames_FlxFramesCollection.prototype = { frames: null ,framesHash: null ,parent: null ,type: null ,border: null ,getByName: function(name) { var _this = this.framesHash; if(__map_reserved[name] != null) { return _this.getReserved(name); } else { return _this.h[name]; } } ,getByIndex: function(index) { return this.frames[index]; } ,getIndexByName: function(name) { var _g = 0; var _g1 = this.frames.length; while(_g < _g1) { var i = _g++; if(this.frames[i].name == name) { return i; } } return -1; } ,getFrameIndex: function(frame) { return this.frames.indexOf(frame); } ,destroy: function() { this.frames = flixel_util_FlxDestroyUtil.destroyArray(this.frames); this.border = flixel_util_FlxDestroyUtil.put(this.border); this.framesHash = null; this.parent = null; this.type = null; } ,addEmptyFrame: function(size) { var frame = new flixel_graphics_frames_FlxFrame(this.parent); frame.type = 2; var _this = flixel_math_FlxRect._pool.get(); var X = 0; var Y = 0; var Width = 0; var Height = 0; if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } _this.x = X; _this.y = Y; _this.width = Width; _this.height = Height; var rect = _this; rect._inPool = false; frame.set_frame(rect); frame.sourceSize.set(size.width,size.height); this.frames.push(frame); return frame; } ,addSpriteSheetFrame: function(region) { var frame = new flixel_graphics_frames_FlxFrame(this.parent); frame.set_frame(this.checkFrame(region)); frame.sourceSize.set(region.width,region.height); frame.offset.set(0,0); return this.pushFrame(frame); } ,addAtlasFrame: function(frame,sourceSize,offset,name,angle,flipX,flipY) { if(flipY == null) { flipY = false; } if(flipX == null) { flipX = false; } if(angle == null) { angle = 0; } var tmp; if(name != null) { var _this = this.framesHash; tmp = __map_reserved[name] != null ? _this.existsReserved(name) : _this.h.hasOwnProperty(name); } else { tmp = false; } if(tmp) { var _this1 = this.framesHash; if(__map_reserved[name] != null) { return _this1.getReserved(name); } else { return _this1.h[name]; } } var texFrame = new flixel_graphics_frames_FlxFrame(this.parent,angle,flipX,flipY); texFrame.name = name; texFrame.sourceSize.set(sourceSize.x,sourceSize.y); texFrame.offset.set(offset.x,offset.y); texFrame.set_frame(this.checkFrame(frame,name)); sourceSize = flixel_util_FlxDestroyUtil.put(sourceSize); offset = flixel_util_FlxDestroyUtil.put(offset); return this.pushFrame(texFrame); } ,checkFrame: function(frame,name) { var Value = frame.x; var Max = this.parent.width; var lowerBound = Value < 0 ? 0 : Value; var x = Max != null && lowerBound > Max ? Max : lowerBound; var Value1 = frame.y; var Max1 = this.parent.height; var lowerBound1 = Value1 < 0 ? 0 : Value1; var y = Max1 != null && lowerBound1 > Max1 ? Max1 : lowerBound1; var Value2 = frame.x + frame.width; var Max2 = this.parent.width; var lowerBound2 = Value2 < 0 ? 0 : Value2; var r = Max2 != null && lowerBound2 > Max2 ? Max2 : lowerBound2; var Value3 = frame.y + frame.height; var Max3 = this.parent.height; var lowerBound3 = Value3 < 0 ? 0 : Value3; var b = Max3 != null && lowerBound3 > Max3 ? Max3 : lowerBound3; var X = x; var Y = y; var Width = r - x; var Height = b - y; if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } frame.x = X; frame.y = Y; frame.width = Width; frame.height = Height; var tmp = frame.width <= 0 || frame.height <= 0; return frame; } ,pushFrame: function(frameObj) { var name = frameObj.name; var tmp; if(name != null) { var _this = this.framesHash; tmp = __map_reserved[name] != null ? _this.existsReserved(name) : _this.h.hasOwnProperty(name); } else { tmp = false; } if(tmp) { var _this1 = this.framesHash; if(__map_reserved[name] != null) { return _this1.getReserved(name); } else { return _this1.h[name]; } } this.frames.push(frameObj); frameObj.cacheFrameMatrix(); if(name != null) { var _this2 = this.framesHash; if(__map_reserved[name] != null) { _this2.setReserved(name,frameObj); } else { _this2.h[name] = frameObj; } } return frameObj; } ,addBorder: function(border) { throw new js__$Boot_HaxeError("To be overriden in subclasses"); } ,toString: function() { var value = this.frames; var _this = flixel_util_LabelValuePair._pool.get(); _this.label = "frames"; _this.value = value; var value1 = this.type; var _this1 = flixel_util_LabelValuePair._pool.get(); _this1.label = "type"; _this1.value = value1; return flixel_util_FlxStringUtil.getDebugString([_this,_this1]); } ,get_numFrames: function() { return this.frames.length; } ,__class__: flixel_graphics_frames_FlxFramesCollection ,__properties__: {get_numFrames:"get_numFrames"} }; var flixel_graphics_frames_FlxAtlasFrames = function(parent,border) { flixel_graphics_frames_FlxFramesCollection.call(this,parent,flixel_graphics_frames_FlxFrameCollectionType.ATLAS,border); }; $hxClasses["flixel.graphics.frames.FlxAtlasFrames"] = flixel_graphics_frames_FlxAtlasFrames; flixel_graphics_frames_FlxAtlasFrames.__name__ = "flixel.graphics.frames.FlxAtlasFrames"; flixel_graphics_frames_FlxAtlasFrames.fromTexturePackerJson = function(Source,Description) { var graphic = flixel_FlxG.bitmap.add(Source,false); if(graphic == null) { return null; } var frames = flixel_graphics_frames_FlxAtlasFrames.findFrame(graphic); if(frames != null) { return frames; } if(graphic == null || Description == null) { return null; } frames = new flixel_graphics_frames_FlxAtlasFrames(graphic); var data; if(typeof(Description) == "string") { var json = Description; if(openfl_utils_Assets.exists(json)) { json = openfl_utils_Assets.getText(json); } data = JSON.parse(json); } else { data = Description; } if(((data.frames) instanceof Array)) { var _g = 0; var _g1 = Lambda.array(data.frames); while(_g < _g1.length) { var frame = _g1[_g]; ++_g; flixel_graphics_frames_FlxAtlasFrames.texturePackerHelper(frame.filename,frame,frames); } } else { var _g2 = 0; var _g11 = Reflect.fields(data.frames); while(_g2 < _g11.length) { var frameName = _g11[_g2]; ++_g2; flixel_graphics_frames_FlxAtlasFrames.texturePackerHelper(frameName,Reflect.field(data.frames,frameName),frames); } } return frames; }; flixel_graphics_frames_FlxAtlasFrames.texturePackerHelper = function(FrameName,FrameData,Frames) { var rotated = FrameData.rotated; var name = FrameName; var X = FrameData.sourceSize.w; var Y = FrameData.sourceSize.h; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; var sourceSize = point; var X1 = FrameData.spriteSourceSize.x; var Y1 = FrameData.spriteSourceSize.y; if(Y1 == null) { Y1 = 0; } if(X1 == null) { X1 = 0; } var point1 = flixel_math_FlxPoint._pool.get().set(X1,Y1); point1._inPool = false; var offset = point1; var angle = 0; var frameRect = null; if(rotated) { var X2 = FrameData.frame.x; var Y2 = FrameData.frame.y; var Width = FrameData.frame.h; var Height = FrameData.frame.w; if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y2 == null) { Y2 = 0; } if(X2 == null) { X2 = 0; } var _this = flixel_math_FlxRect._pool.get(); var X3 = X2; var Y3 = Y2; var Width1 = Width; var Height1 = Height; if(Height1 == null) { Height1 = 0; } if(Width1 == null) { Width1 = 0; } if(Y3 == null) { Y3 = 0; } if(X3 == null) { X3 = 0; } _this.x = X3; _this.y = Y3; _this.width = Width1; _this.height = Height1; var rect = _this; rect._inPool = false; frameRect = rect; angle = -90; } else { var X4 = FrameData.frame.x; var Y4 = FrameData.frame.y; var Width2 = FrameData.frame.w; var Height2 = FrameData.frame.h; if(Height2 == null) { Height2 = 0; } if(Width2 == null) { Width2 = 0; } if(Y4 == null) { Y4 = 0; } if(X4 == null) { X4 = 0; } var _this1 = flixel_math_FlxRect._pool.get(); var X5 = X4; var Y5 = Y4; var Width3 = Width2; var Height3 = Height2; if(Height3 == null) { Height3 = 0; } if(Width3 == null) { Width3 = 0; } if(Y5 == null) { Y5 = 0; } if(X5 == null) { X5 = 0; } _this1.x = X5; _this1.y = Y5; _this1.width = Width3; _this1.height = Height3; var rect1 = _this1; rect1._inPool = false; frameRect = rect1; } Frames.addAtlasFrame(frameRect,sourceSize,offset,name,angle); }; flixel_graphics_frames_FlxAtlasFrames.fromLibGdx = function(source,description) { var graphic = flixel_FlxG.bitmap.add(source); if(graphic == null) { return null; } var frames = flixel_graphics_frames_FlxAtlasFrames.findFrame(graphic); if(frames != null) { return frames; } if(graphic == null || description == null) { return null; } frames = new flixel_graphics_frames_FlxAtlasFrames(graphic); if(openfl_utils_Assets.exists(description)) { description = openfl_utils_Assets.getText(description); } var pack = StringTools.trim(description); var lines = pack.split("\n"); var repeatLine = lines[3].indexOf("repeat:") > -1 ? 3 : 4; lines.splice(0,repeatLine + 1); var numElementsPerImage = 7; var numImages = lines.length / numElementsPerImage | 0; var _g = 0; var _g1 = numImages; while(_g < _g1) { var i = _g++; var curIndex = i * numElementsPerImage; var name = lines[curIndex++]; var rotated = lines[curIndex++].indexOf("true") >= 0; var angle = rotated ? 90 : 0; var tempString = lines[curIndex++]; var size = flixel_graphics_frames_FlxAtlasFrames.getDimensions(tempString); var imageX = size.x; var imageY = size.y; tempString = lines[curIndex++]; size = flixel_graphics_frames_FlxAtlasFrames.getDimensions(tempString); var imageWidth = size.x; var imageHeight = size.y; var X = imageX; var Y = imageY; var Width = imageWidth; var Height = imageHeight; if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } var _this = flixel_math_FlxRect._pool.get(); var X1 = X; var Y1 = Y; var Width1 = Width; var Height1 = Height; if(Height1 == null) { Height1 = 0; } if(Width1 == null) { Width1 = 0; } if(Y1 == null) { Y1 = 0; } if(X1 == null) { X1 = 0; } _this.x = X1; _this.y = Y1; _this.width = Width1; _this.height = Height1; var rect = _this; rect._inPool = false; var rect1 = rect; tempString = lines[curIndex++]; size = flixel_graphics_frames_FlxAtlasFrames.getDimensions(tempString); var X2 = size.x; var Y2 = size.y; if(Y2 == null) { Y2 = 0; } if(X2 == null) { X2 = 0; } var point = flixel_math_FlxPoint._pool.get().set(X2,Y2); point._inPool = false; var sourceSize = point; tempString = lines[curIndex++]; size = flixel_graphics_frames_FlxAtlasFrames.getDimensions(tempString); tempString = lines[curIndex++]; var index = Std.parseInt(tempString.split(":")[1]); if(index != -1) { name += "_" + index; } var X3 = size.x; var Y3 = sourceSize.y - size.y - imageHeight; if(Y3 == null) { Y3 = 0; } if(X3 == null) { X3 = 0; } var point1 = flixel_math_FlxPoint._pool.get().set(X3,Y3); point1._inPool = false; var offset = point1; frames.addAtlasFrame(rect1,sourceSize,offset,name,angle); } return frames; }; flixel_graphics_frames_FlxAtlasFrames.getDimensions = function(line) { var colonPosition = line.indexOf(":"); var comaPosition = line.indexOf(","); return { x : Std.parseInt(line.substring(colonPosition + 1,comaPosition)), y : Std.parseInt(line.substring(comaPosition + 1,line.length))}; }; flixel_graphics_frames_FlxAtlasFrames.fromSparrow = function(Source,Description) { var graphic = flixel_FlxG.bitmap.add(Source); if(graphic == null) { return null; } var frames = flixel_graphics_frames_FlxAtlasFrames.findFrame(graphic); if(frames != null) { return frames; } if(graphic == null || Description == null) { return null; } frames = new flixel_graphics_frames_FlxAtlasFrames(graphic); if(openfl_utils_Assets.exists(Description)) { Description = openfl_utils_Assets.getText(Description); } var x = Xml.parse(Description).firstElement(); if(x.nodeType != Xml.Document && x.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Invalid nodeType " + _$Xml_XmlType_$Impl_$.toString(x.nodeType)); } var this1 = x; var data = this1; var _g = 0; var _g1 = haxe_xml__$Access_NodeListAccess_$Impl_$.resolve(data,"SubTexture"); while(_g < _g1.length) { var texture = _g1[_g]; ++_g; var name = haxe_xml__$Access_AttribAccess_$Impl_$.resolve(texture,"name"); var trimmed = haxe_xml__$Access_HasAttribAccess_$Impl_$.resolve(texture,"frameX"); var rotated = haxe_xml__$Access_HasAttribAccess_$Impl_$.resolve(texture,"rotated") && haxe_xml__$Access_AttribAccess_$Impl_$.resolve(texture,"rotated") == "true"; var flipX = haxe_xml__$Access_HasAttribAccess_$Impl_$.resolve(texture,"flipX") && haxe_xml__$Access_AttribAccess_$Impl_$.resolve(texture,"flipX") == "true"; var flipY = haxe_xml__$Access_HasAttribAccess_$Impl_$.resolve(texture,"flipY") && haxe_xml__$Access_AttribAccess_$Impl_$.resolve(texture,"flipY") == "true"; var X = parseFloat(haxe_xml__$Access_AttribAccess_$Impl_$.resolve(texture,"x")); var Y = parseFloat(haxe_xml__$Access_AttribAccess_$Impl_$.resolve(texture,"y")); var Width = parseFloat(haxe_xml__$Access_AttribAccess_$Impl_$.resolve(texture,"width")); var Height = parseFloat(haxe_xml__$Access_AttribAccess_$Impl_$.resolve(texture,"height")); if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } var _this = flixel_math_FlxRect._pool.get(); var X1 = X; var Y1 = Y; var Width1 = Width; var Height1 = Height; if(Height1 == null) { Height1 = 0; } if(Width1 == null) { Width1 = 0; } if(Y1 == null) { Y1 = 0; } if(X1 == null) { X1 = 0; } _this.x = X1; _this.y = Y1; _this.width = Width1; _this.height = Height1; var rect = _this; rect._inPool = false; var rect1 = rect; var size = trimmed ? new openfl_geom_Rectangle(Std.parseInt(haxe_xml__$Access_AttribAccess_$Impl_$.resolve(texture,"frameX")),Std.parseInt(haxe_xml__$Access_AttribAccess_$Impl_$.resolve(texture,"frameY")),Std.parseInt(haxe_xml__$Access_AttribAccess_$Impl_$.resolve(texture,"frameWidth")),Std.parseInt(haxe_xml__$Access_AttribAccess_$Impl_$.resolve(texture,"frameHeight"))) : new openfl_geom_Rectangle(0,0,rect1.width,rect1.height); var angle = rotated ? -90 : 0; var X2 = -size.get_left(); var Y2 = -size.get_top(); if(Y2 == null) { Y2 = 0; } if(X2 == null) { X2 = 0; } var point = flixel_math_FlxPoint._pool.get().set(X2,Y2); point._inPool = false; var offset = point; var X3 = size.width; var Y3 = size.height; if(Y3 == null) { Y3 = 0; } if(X3 == null) { X3 = 0; } var point1 = flixel_math_FlxPoint._pool.get().set(X3,Y3); point1._inPool = false; var sourceSize = point1; if(rotated && !trimmed) { sourceSize.set(size.height,size.width); } frames.addAtlasFrame(rect1,sourceSize,offset,name,angle,flipX,flipY); } return frames; }; flixel_graphics_frames_FlxAtlasFrames.fromTexturePackerXml = function(Source,Description) { var graphic = flixel_FlxG.bitmap.add(Source,false); if(graphic == null) { return null; } var frames = flixel_graphics_frames_FlxAtlasFrames.findFrame(graphic); if(frames != null) { return frames; } if(graphic == null || Description == null) { return null; } frames = new flixel_graphics_frames_FlxAtlasFrames(graphic); if(openfl_utils_Assets.exists(Description)) { Description = openfl_utils_Assets.getText(Description); } var xml = Xml.parse(Description); var sprite = xml.firstElement().elements(); while(sprite.hasNext()) { var sprite1 = sprite.next(); var trimmed = sprite1.exists("oX") || sprite1.exists("oY"); var rotated = sprite1.exists("r") && sprite1.get("r") == "y"; var angle = rotated ? -90 : 0; var name = sprite1.get("n"); var X = 0; var Y = 0; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; var offset = point; var X1 = Std.parseInt(sprite1.get("x")); var Y1 = Std.parseInt(sprite1.get("y")); var Width = Std.parseInt(sprite1.get("w")); var Height = Std.parseInt(sprite1.get("h")); if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y1 == null) { Y1 = 0; } if(X1 == null) { X1 = 0; } var _this = flixel_math_FlxRect._pool.get(); var X2 = X1; var Y2 = Y1; var Width1 = Width; var Height1 = Height; if(Height1 == null) { Height1 = 0; } if(Width1 == null) { Width1 = 0; } if(Y2 == null) { Y2 = 0; } if(X2 == null) { X2 = 0; } _this.x = X2; _this.y = Y2; _this.width = Width1; _this.height = Height1; var rect = _this; rect._inPool = false; var rect1 = rect; var X3 = rect1.width; var Y3 = rect1.height; if(Y3 == null) { Y3 = 0; } if(X3 == null) { X3 = 0; } var point1 = flixel_math_FlxPoint._pool.get().set(X3,Y3); point1._inPool = false; var sourceSize = point1; if(trimmed) { offset.set(Std.parseInt(sprite1.get("oX")),Std.parseInt(sprite1.get("oY"))); sourceSize.set(Std.parseInt(sprite1.get("oW")),Std.parseInt(sprite1.get("oH"))); } frames.addAtlasFrame(rect1,sourceSize,offset,name,angle); } return frames; }; flixel_graphics_frames_FlxAtlasFrames.fromSpriteSheetPacker = function(Source,Description) { var graphic = flixel_FlxG.bitmap.add(Source); if(graphic == null) { return null; } var frames = flixel_graphics_frames_FlxAtlasFrames.findFrame(graphic); if(frames != null) { return frames; } if(graphic == null || Description == null) { return null; } frames = new flixel_graphics_frames_FlxAtlasFrames(graphic); if(openfl_utils_Assets.exists(Description)) { Description = openfl_utils_Assets.getText(Description); } var pack = StringTools.trim(Description); var lines = pack.split("\n"); var _g = 0; var _g1 = lines.length; while(_g < _g1) { var i = _g++; var currImageData = lines[i].split("="); var name = StringTools.trim(currImageData[0]); var currImageRegion = StringTools.trim(currImageData[1]).split(" "); var X = Std.parseInt(currImageRegion[0]); var Y = Std.parseInt(currImageRegion[1]); var Width = Std.parseInt(currImageRegion[2]); var Height = Std.parseInt(currImageRegion[3]); if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } var _this = flixel_math_FlxRect._pool.get(); var X1 = X; var Y1 = Y; var Width1 = Width; var Height1 = Height; if(Height1 == null) { Height1 = 0; } if(Width1 == null) { Width1 = 0; } if(Y1 == null) { Y1 = 0; } if(X1 == null) { X1 = 0; } _this.x = X1; _this.y = Y1; _this.width = Width1; _this.height = Height1; var rect = _this; rect._inPool = false; var rect1 = rect; var X2 = rect1.width; var Y2 = rect1.height; if(Y2 == null) { Y2 = 0; } if(X2 == null) { X2 = 0; } var point = flixel_math_FlxPoint._pool.get().set(X2,Y2); point._inPool = false; var sourceSize = point; var point1 = flixel_math_FlxPoint._pool.get().set(0,0); point1._inPool = false; var offset = point1; frames.addAtlasFrame(rect1,sourceSize,offset,name,0); } return frames; }; flixel_graphics_frames_FlxAtlasFrames.findFrame = function(graphic,border) { if(border == null) { var X = 0; var Y = 0; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; var point1 = point; point1._weak = true; border = point1; } var type = flixel_graphics_frames_FlxFrameCollectionType.ATLAS; var collections = graphic.frameCollections.get(type); if(collections == null) { collections = []; graphic.frameCollections.set(type,collections); } var atlasFrames = collections; var _g = 0; while(_g < atlasFrames.length) { var atlas = atlasFrames[_g]; ++_g; var _this = atlas.border; var result = Math.abs(_this.x - border.x) <= 0.0000001 && Math.abs(_this.y - border.y) <= 0.0000001; if(border._weak) { border.put(); } if(result) { return atlas; } } return null; }; flixel_graphics_frames_FlxAtlasFrames.__super__ = flixel_graphics_frames_FlxFramesCollection; flixel_graphics_frames_FlxAtlasFrames.prototype = $extend(flixel_graphics_frames_FlxFramesCollection.prototype,{ addBorder: function(border) { var X = 0; var Y = 0; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; var point1 = point; point1._weak = true; var resultBorder = point1.addPoint(this.border).addPoint(border); var atlasFrames = flixel_graphics_frames_FlxAtlasFrames.findFrame(this.parent,resultBorder); if(atlasFrames != null) { return atlasFrames; } atlasFrames = new flixel_graphics_frames_FlxAtlasFrames(this.parent,resultBorder); var _g = 0; var _g1 = this.frames; while(_g < _g1.length) { var frame = _g1[_g]; ++_g; atlasFrames.pushFrame(frame.setBorderTo(border)); } return atlasFrames; } ,__class__: flixel_graphics_frames_FlxAtlasFrames }); var flixel_graphics_frames_FlxFrame = function(parent,angle,flipX,flipY) { if(flipY == null) { flipY = false; } if(flipX == null) { flipX = false; } if(angle == null) { angle = 0; } this.matrix = new flixel_math_FlxMatrix(); this.rect = new openfl_geom_Rectangle(); this.point2 = new openfl_geom_Point(); this.point1 = new openfl_geom_Point(); this.parent = parent; this.angle = angle; this.flipX = flipX; this.flipY = flipY; this.type = 0; var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; this.sourceSize = point; var point1 = flixel_math_FlxPoint._pool.get().set(0,0); point1._inPool = false; this.offset = point1; var this1 = new Array(6); this.blitMatrix = this1; if(flixel_FlxG.renderTile) { var this2 = new Array(6); this.tileMatrix = this2; } }; $hxClasses["flixel.graphics.frames.FlxFrame"] = flixel_graphics_frames_FlxFrame; flixel_graphics_frames_FlxFrame.__name__ = "flixel.graphics.frames.FlxFrame"; flixel_graphics_frames_FlxFrame.__interfaces__ = [flixel_util_IFlxDestroyable]; flixel_graphics_frames_FlxFrame.sort = function(frames,prefixLength,postfixLength) { var prefixLength1 = prefixLength; var postfixLength1 = postfixLength; haxe_ds_ArraySort.sort(frames,function(frame1,frame2) { return flixel_graphics_frames_FlxFrame.sortByName(frame1,frame2,prefixLength1,postfixLength1); }); }; flixel_graphics_frames_FlxFrame.sortByName = function(frame1,frame2,prefixLength,postfixLength) { var name1 = frame1.name; var name2 = frame2.name; var num1 = Std.parseInt(name1.substring(prefixLength,name1.length - postfixLength)); var num2 = Std.parseInt(name2.substring(prefixLength,name2.length - postfixLength)); if(num1 == null) { num1 = 0; } if(num2 == null) { num2 = 0; } return num1 - num2; }; flixel_graphics_frames_FlxFrame.prototype = { point1: null ,point2: null ,rect: null ,matrix: null ,name: null ,frame: null ,uv: null ,parent: null ,angle: null ,flipX: null ,flipY: null ,sourceSize: null ,offset: null ,type: null ,tileMatrix: null ,blitMatrix: null ,cacheFrameMatrix: function() { var mat = this.matrix; var blit = true; if(blit == null) { blit = true; } mat.identity(); if(blit) { mat.translate(-this.frame.x,-this.frame.y); } if(this.angle == 90) { mat.setTo(-mat.b,mat.a,-mat.d,mat.c,-mat.ty,mat.tx); mat.translate(this.frame.height,0); } else if(this.angle == -90) { mat.setTo(mat.b,-mat.a,mat.d,-mat.c,mat.ty,-mat.tx); mat.translate(0,this.frame.width); } mat.translate(this.offset.x,this.offset.y); this.blitMatrix[0] = this.matrix.a; this.blitMatrix[1] = this.matrix.b; this.blitMatrix[2] = this.matrix.c; this.blitMatrix[3] = this.matrix.d; this.blitMatrix[4] = this.matrix.tx; this.blitMatrix[5] = this.matrix.ty; if(flixel_FlxG.renderTile) { var mat1 = this.matrix; var blit1 = false; if(blit1 == null) { blit1 = true; } mat1.identity(); if(blit1) { mat1.translate(-this.frame.x,-this.frame.y); } if(this.angle == 90) { mat1.setTo(-mat1.b,mat1.a,-mat1.d,mat1.c,-mat1.ty,mat1.tx); mat1.translate(this.frame.height,0); } else if(this.angle == -90) { mat1.setTo(mat1.b,-mat1.a,mat1.d,-mat1.c,mat1.ty,-mat1.tx); mat1.translate(0,this.frame.width); } mat1.translate(this.offset.x,this.offset.y); this.tileMatrix[0] = this.matrix.a; this.tileMatrix[1] = this.matrix.b; this.tileMatrix[2] = this.matrix.c; this.tileMatrix[3] = this.matrix.d; this.tileMatrix[4] = this.matrix.tx; this.tileMatrix[5] = this.matrix.ty; } } ,prepareBlitMatrix: function(mat,blit) { if(blit == null) { blit = true; } mat.identity(); if(blit) { mat.translate(-this.frame.x,-this.frame.y); } if(this.angle == 90) { mat.setTo(-mat.b,mat.a,-mat.d,mat.c,-mat.ty,mat.tx); mat.translate(this.frame.height,0); } else if(this.angle == -90) { mat.setTo(mat.b,-mat.a,mat.d,-mat.c,mat.ty,-mat.tx); mat.translate(0,this.frame.width); } mat.translate(this.offset.x,this.offset.y); return mat; } ,rotateAndFlip: function(mat,rotation,flipX,flipY) { if(flipY == null) { flipY = false; } if(flipX == null) { flipX = false; } if(rotation == null) { rotation = 0; } var w = this.sourceSize.x | 0; var h = this.sourceSize.y | 0; if(rotation != 0) { var t = w; w = h; h = t; if(rotation == 90) { mat.setTo(-mat.b,mat.a,-mat.d,mat.c,-mat.ty,mat.tx); mat.translate(this.sourceSize.y,0); } else if(rotation == -90 || rotation == -90) { mat.setTo(mat.b,-mat.a,mat.d,-mat.c,mat.ty,-mat.tx); mat.translate(0,this.sourceSize.x); } } if(flipX) { mat.scale(-1,1); mat.translate(w,0); } if(flipY) { mat.scale(1,-1); mat.translate(0,h); } return mat; } ,prepareTransformedBlitMatrix: function(mat,rotation,flipX,flipY) { if(flipY == null) { flipY = false; } if(flipX == null) { flipX = false; } if(rotation == null) { rotation = 0; } mat.a = this.blitMatrix[0]; mat.b = this.blitMatrix[1]; mat.c = this.blitMatrix[2]; mat.d = this.blitMatrix[3]; mat.tx = this.blitMatrix[4]; mat.ty = this.blitMatrix[5]; mat = mat; var rotation1 = rotation; var flipX1 = flipX; var flipY1 = flipY; if(flipY1 == null) { flipY1 = false; } if(flipX1 == null) { flipX1 = false; } if(rotation1 == null) { rotation1 = 0; } var w = this.sourceSize.x | 0; var h = this.sourceSize.y | 0; if(rotation1 != 0) { var t = w; w = h; h = t; if(rotation1 == 90) { mat.setTo(-mat.b,mat.a,-mat.d,mat.c,-mat.ty,mat.tx); mat.translate(this.sourceSize.y,0); } else if(rotation1 == -90 || rotation1 == -90) { mat.setTo(mat.b,-mat.a,mat.d,-mat.c,mat.ty,-mat.tx); mat.translate(0,this.sourceSize.x); } } if(flipX1) { mat.scale(-1,1); mat.translate(w,0); } if(flipY1) { mat.scale(1,-1); mat.translate(0,h); } return mat; } ,prepareMatrix: function(mat,rotation,flipX,flipY) { if(flipY == null) { flipY = false; } if(flipX == null) { flipX = false; } if(rotation == null) { rotation = 0; } if(flixel_FlxG.renderBlit) { mat.identity(); return mat; } mat.a = this.tileMatrix[0]; mat.b = this.tileMatrix[1]; mat.c = this.tileMatrix[2]; mat.d = this.tileMatrix[3]; mat.tx = this.tileMatrix[4]; mat.ty = this.tileMatrix[5]; var doFlipX = flipX != this.flipX; var doFlipY = flipY != this.flipY; if(rotation == 0 && !doFlipX && !doFlipY) { return mat; } var rotation1 = rotation; var flipX1 = doFlipX; var flipY1 = doFlipY; if(flipY1 == null) { flipY1 = false; } if(flipX1 == null) { flipX1 = false; } if(rotation1 == null) { rotation1 = 0; } var w = this.sourceSize.x | 0; var h = this.sourceSize.y | 0; if(rotation1 != 0) { var t = w; w = h; h = t; if(rotation1 == 90) { mat.setTo(-mat.b,mat.a,-mat.d,mat.c,-mat.ty,mat.tx); mat.translate(this.sourceSize.y,0); } else if(rotation1 == -90 || rotation1 == -90) { mat.setTo(mat.b,-mat.a,mat.d,-mat.c,mat.ty,-mat.tx); mat.translate(0,this.sourceSize.x); } } if(flipX1) { mat.scale(-1,1); mat.translate(w,0); } if(flipY1) { mat.scale(1,-1); mat.translate(0,h); } return mat; } ,fillBlitMatrix: function(mat) { mat.a = this.blitMatrix[0]; mat.b = this.blitMatrix[1]; mat.c = this.blitMatrix[2]; mat.d = this.blitMatrix[3]; mat.tx = this.blitMatrix[4]; mat.ty = this.blitMatrix[5]; return mat; } ,paint: function(bmd,point,mergeAlpha,disposeIfNotEqual) { if(disposeIfNotEqual == null) { disposeIfNotEqual = false; } if(mergeAlpha == null) { mergeAlpha = false; } if(point == null) { point = this.point1; point.setTo(0,0); } var bmd1 = bmd; var rotation = 0; var mergeAlpha1 = mergeAlpha; var disposeIfNotEqual1 = disposeIfNotEqual; if(disposeIfNotEqual1 == null) { disposeIfNotEqual1 = false; } if(mergeAlpha1 == null) { mergeAlpha1 = false; } if(rotation == null) { rotation = 0; } var w = this.sourceSize.x | 0; var h = this.sourceSize.y | 0; if(rotation != 0) { var t = w; w = h; h = t; } if(bmd1 != null && disposeIfNotEqual1) { bmd1 = flixel_util_FlxDestroyUtil.disposeIfNotEqual(bmd1,w,h); } if(bmd1 != null && !mergeAlpha1) { this.rect.setTo(point.x,point.y,w,h); bmd1.fillRect(this.rect,0); } else if(bmd1 == null) { bmd1 = new openfl_display_BitmapData(w,h,true,0); } bmd = bmd1; if(this.type == 2) { return bmd; } if(this.angle == 0) { var _this = this.offset; var FlashPoint = this.point2; if(FlashPoint == null) { FlashPoint = new openfl_geom_Point(); } FlashPoint.x = _this.x; FlashPoint.y = _this.y; this.point2.x += point.x; this.point2.y += point.y; var tmp = this.parent.bitmap; var _this1 = this.frame; var FlashRect = this.rect; if(FlashRect == null) { FlashRect = new openfl_geom_Rectangle(); } FlashRect.x = _this1.x; FlashRect.y = _this1.y; FlashRect.width = _this1.width; FlashRect.height = _this1.height; bmd.copyPixels(tmp,FlashRect,this.point2,null,null,mergeAlpha); } else { var mat = this.matrix; mat.a = this.blitMatrix[0]; mat.b = this.blitMatrix[1]; mat.c = this.blitMatrix[2]; mat.d = this.blitMatrix[3]; mat.tx = this.blitMatrix[4]; mat.ty = this.blitMatrix[5]; this.matrix.translate(point.x,point.y); var mat1 = this.matrix; var X = this.frame.x; var Y = this.frame.y; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var X1 = X; var Y1 = Y; if(Y1 == null) { Y1 = 0; } if(X1 == null) { X1 = 0; } var point1 = flixel_math_FlxPoint._pool.get().set(X1,Y1); point1._inPool = false; var point2 = point1; point2._weak = true; var p1 = point2; var _this2 = this.frame; var X2 = _this2.x + _this2.width; var _this3 = this.frame; var Y2 = _this3.y + _this3.height; if(Y2 == null) { Y2 = 0; } if(X2 == null) { X2 = 0; } var X3 = X2; var Y3 = Y2; if(Y3 == null) { Y3 = 0; } if(X3 == null) { X3 = 0; } var point3 = flixel_math_FlxPoint._pool.get().set(X3,Y3); point3._inPool = false; var point4 = point3; point4._weak = true; var p2 = point4; var x1 = p1.x * mat1.a + p1.y * mat1.c + mat1.tx; var y1 = p1.x * mat1.b + p1.y * mat1.d + mat1.ty; p1.set(x1,y1); var x11 = p2.x * mat1.a + p2.y * mat1.c + mat1.tx; var y11 = p2.x * mat1.b + p2.y * mat1.d + mat1.ty; p2.set(x11,y11); var _this4 = flixel_math_FlxRect._pool.get(); var X4 = 0; var Y4 = 0; var Width = 0; var Height = 0; if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y4 == null) { Y4 = 0; } if(X4 == null) { X4 = 0; } _this4.x = X4; _this4.y = Y4; _this4.width = Width; _this4.height = Height; var rect = _this4; rect._inPool = false; var _this5 = rect; var minX = Math.min(p1.x,p2.x); var minY = Math.min(p1.y,p2.y); var maxX = Math.max(p1.x,p2.x); var maxY = Math.max(p1.y,p2.y); if(p1._weak) { p1.put(); } if(p2._weak) { p2.put(); } var X5 = minX; var Y5 = minY; var Width1 = maxX - minX; var Height1 = maxY - minY; if(Height1 == null) { Height1 = 0; } if(Width1 == null) { Width1 = 0; } if(Y5 == null) { Y5 = 0; } if(X5 == null) { X5 = 0; } _this5.x = X5; _this5.y = Y5; _this5.width = Width1; _this5.height = Height1; var flxRect = _this5; var FlashRect1 = this.rect; if(FlashRect1 == null) { FlashRect1 = new openfl_geom_Rectangle(); } FlashRect1.x = flxRect.x; FlashRect1.y = flxRect.y; FlashRect1.width = flxRect.width; FlashRect1.height = flxRect.height; if(!flxRect._inPool) { flxRect._inPool = true; flxRect._weak = false; flixel_math_FlxRect._pool.putUnsafe(flxRect); } var rect1 = this.rect; bmd.draw(this.parent.bitmap,this.matrix,null,null,rect1); } return bmd; } ,paintRotatedAndFlipped: function(bmd,point,rotation,flipX,flipY,mergeAlpha,disposeIfNotEqual) { if(disposeIfNotEqual == null) { disposeIfNotEqual = false; } if(mergeAlpha == null) { mergeAlpha = false; } if(flipY == null) { flipY = false; } if(flipX == null) { flipX = false; } if(rotation == null) { rotation = 0; } if(this.type == 2 && rotation == 0) { return this.paint(bmd,point,mergeAlpha,disposeIfNotEqual); } if(point == null) { point = this.point2; point.setTo(0,0); } var bmd1 = bmd; var rotation1 = rotation; var mergeAlpha1 = mergeAlpha; var disposeIfNotEqual1 = disposeIfNotEqual; if(disposeIfNotEqual1 == null) { disposeIfNotEqual1 = false; } if(mergeAlpha1 == null) { mergeAlpha1 = false; } if(rotation1 == null) { rotation1 = 0; } var w = this.sourceSize.x | 0; var h = this.sourceSize.y | 0; if(rotation1 != 0) { var t = w; w = h; h = t; } if(bmd1 != null && disposeIfNotEqual1) { bmd1 = flixel_util_FlxDestroyUtil.disposeIfNotEqual(bmd1,w,h); } if(bmd1 != null && !mergeAlpha1) { this.rect.setTo(point.x,point.y,w,h); bmd1.fillRect(this.rect,0); } else if(bmd1 == null) { bmd1 = new openfl_display_BitmapData(w,h,true,0); } bmd = bmd1; if(this.type == 2) { return bmd; } var doFlipX = flipX != this.flipX; var doFlipY = flipY != this.flipY; this.prepareTransformedBlitMatrix(this.matrix,rotation,doFlipX,doFlipY); this.matrix.translate(point.x,point.y); var mat = this.matrix; var X = this.frame.x; var Y = this.frame.y; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var X1 = X; var Y1 = Y; if(Y1 == null) { Y1 = 0; } if(X1 == null) { X1 = 0; } var point1 = flixel_math_FlxPoint._pool.get().set(X1,Y1); point1._inPool = false; var point2 = point1; point2._weak = true; var p1 = point2; var _this = this.frame; var X2 = _this.x + _this.width; var _this1 = this.frame; var Y2 = _this1.y + _this1.height; if(Y2 == null) { Y2 = 0; } if(X2 == null) { X2 = 0; } var X3 = X2; var Y3 = Y2; if(Y3 == null) { Y3 = 0; } if(X3 == null) { X3 = 0; } var point3 = flixel_math_FlxPoint._pool.get().set(X3,Y3); point3._inPool = false; var point4 = point3; point4._weak = true; var p2 = point4; var x1 = p1.x * mat.a + p1.y * mat.c + mat.tx; var y1 = p1.x * mat.b + p1.y * mat.d + mat.ty; p1.set(x1,y1); var x11 = p2.x * mat.a + p2.y * mat.c + mat.tx; var y11 = p2.x * mat.b + p2.y * mat.d + mat.ty; p2.set(x11,y11); var _this2 = flixel_math_FlxRect._pool.get(); var X4 = 0; var Y4 = 0; var Width = 0; var Height = 0; if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y4 == null) { Y4 = 0; } if(X4 == null) { X4 = 0; } _this2.x = X4; _this2.y = Y4; _this2.width = Width; _this2.height = Height; var rect = _this2; rect._inPool = false; var _this3 = rect; var minX = Math.min(p1.x,p2.x); var minY = Math.min(p1.y,p2.y); var maxX = Math.max(p1.x,p2.x); var maxY = Math.max(p1.y,p2.y); if(p1._weak) { p1.put(); } if(p2._weak) { p2.put(); } var X5 = minX; var Y5 = minY; var Width1 = maxX - minX; var Height1 = maxY - minY; if(Height1 == null) { Height1 = 0; } if(Width1 == null) { Width1 = 0; } if(Y5 == null) { Y5 = 0; } if(X5 == null) { X5 = 0; } _this3.x = X5; _this3.y = Y5; _this3.width = Width1; _this3.height = Height1; var flxRect = _this3; var FlashRect = this.rect; if(FlashRect == null) { FlashRect = new openfl_geom_Rectangle(); } FlashRect.x = flxRect.x; FlashRect.y = flxRect.y; FlashRect.width = flxRect.width; FlashRect.height = flxRect.height; if(!flxRect._inPool) { flxRect._inPool = true; flxRect._weak = false; flixel_math_FlxRect._pool.putUnsafe(flxRect); } var rect1 = this.rect; bmd.draw(this.parent.bitmap,this.matrix,null,null,rect1); return bmd; } ,checkInputBitmap: function(bmd,point,rotation,mergeAlpha,disposeIfNotEqual) { if(disposeIfNotEqual == null) { disposeIfNotEqual = false; } if(mergeAlpha == null) { mergeAlpha = false; } if(rotation == null) { rotation = 0; } var w = this.sourceSize.x | 0; var h = this.sourceSize.y | 0; if(rotation != 0) { var t = w; w = h; h = t; } if(bmd != null && disposeIfNotEqual) { bmd = flixel_util_FlxDestroyUtil.disposeIfNotEqual(bmd,w,h); } if(bmd != null && !mergeAlpha) { this.rect.setTo(point.x,point.y,w,h); bmd.fillRect(this.rect,0); } else if(bmd == null) { bmd = new openfl_display_BitmapData(w,h,true,0); } return bmd; } ,getDrawFrameRect: function(mat) { var X = this.frame.x; var Y = this.frame.y; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var X1 = X; var Y1 = Y; if(Y1 == null) { Y1 = 0; } if(X1 == null) { X1 = 0; } var point = flixel_math_FlxPoint._pool.get().set(X1,Y1); point._inPool = false; var point1 = point; point1._weak = true; var p1 = point1; var _this = this.frame; var X2 = _this.x + _this.width; var _this1 = this.frame; var Y2 = _this1.y + _this1.height; if(Y2 == null) { Y2 = 0; } if(X2 == null) { X2 = 0; } var X3 = X2; var Y3 = Y2; if(Y3 == null) { Y3 = 0; } if(X3 == null) { X3 = 0; } var point2 = flixel_math_FlxPoint._pool.get().set(X3,Y3); point2._inPool = false; var point3 = point2; point3._weak = true; var p2 = point3; var x1 = p1.x * mat.a + p1.y * mat.c + mat.tx; var y1 = p1.x * mat.b + p1.y * mat.d + mat.ty; p1.set(x1,y1); var x11 = p2.x * mat.a + p2.y * mat.c + mat.tx; var y11 = p2.x * mat.b + p2.y * mat.d + mat.ty; p2.set(x11,y11); var _this2 = flixel_math_FlxRect._pool.get(); var X4 = 0; var Y4 = 0; var Width = 0; var Height = 0; if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y4 == null) { Y4 = 0; } if(X4 == null) { X4 = 0; } _this2.x = X4; _this2.y = Y4; _this2.width = Width; _this2.height = Height; var rect = _this2; rect._inPool = false; var _this3 = rect; var minX = Math.min(p1.x,p2.x); var minY = Math.min(p1.y,p2.y); var maxX = Math.max(p1.x,p2.x); var maxY = Math.max(p1.y,p2.y); if(p1._weak) { p1.put(); } if(p2._weak) { p2.put(); } var X5 = minX; var Y5 = minY; var Width1 = maxX - minX; var Height1 = maxY - minY; if(Height1 == null) { Height1 = 0; } if(Width1 == null) { Width1 = 0; } if(Y5 == null) { Y5 = 0; } if(X5 == null) { X5 = 0; } _this3.x = X5; _this3.y = Y5; _this3.width = Width1; _this3.height = Height1; var flxRect = _this3; var FlashRect = this.rect; if(FlashRect == null) { FlashRect = new openfl_geom_Rectangle(); } FlashRect.x = flxRect.x; FlashRect.y = flxRect.y; FlashRect.width = flxRect.width; FlashRect.height = flxRect.height; if(!flxRect._inPool) { flxRect._inPool = true; flxRect._weak = false; flixel_math_FlxRect._pool.putUnsafe(flxRect); } return this.rect; } ,subFrameTo: function(rect,frameToFill) { if(frameToFill == null) { frameToFill = new flixel_graphics_frames_FlxFrame(this.parent,this.angle); } else { frameToFill.parent = this.parent; frameToFill.angle = this.angle; frameToFill.set_frame(flixel_util_FlxDestroyUtil.put(frameToFill.frame)); } frameToFill.sourceSize.set(rect.width,rect.height); if(this.type == 2) { frameToFill.type = 2; frameToFill.offset.set(0,0); return frameToFill; } var _this = flixel_math_FlxRect._pool.get(); var X = 0; var Y = 0; var Width = 0; var Height = 0; if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } _this.x = X; _this.y = Y; _this.width = Width; _this.height = Height; var rect1 = _this; rect1._inPool = false; var _this1 = rect1; _this1.width = this.frame.width; _this1.height = this.frame.height; var clippedRect = _this1; if(this.angle != 0) { clippedRect.width = this.frame.height; clippedRect.height = this.frame.width; } var ox = Math.max(this.offset.x,0); var oy = Math.max(this.offset.y,0); rect.x += -ox; rect.y += -oy; var frameRect = clippedRect.intersection(rect); clippedRect = flixel_util_FlxDestroyUtil.put(clippedRect); rect.x += ox; rect.y += oy; if(frameRect.width == 0 || frameRect.height == 0) { frameToFill.type = 2; var X1 = 0; var Y1 = 0; var Width1 = 0; var Height1 = 0; if(Height1 == null) { Height1 = 0; } if(Width1 == null) { Width1 = 0; } if(Y1 == null) { Y1 = 0; } if(X1 == null) { X1 = 0; } frameRect.x = X1; frameRect.y = Y1; frameRect.width = Width1; frameRect.height = Height1; frameToFill.set_frame(frameRect); frameToFill.offset.set(0,0); } else { frameToFill.type = 0; var _this2 = frameToFill.offset.set(frameRect.x,frameRect.y); var X2 = rect.x; var Y2 = rect.y; if(Y2 == null) { Y2 = 0; } if(X2 == null) { X2 = 0; } var _g = _this2; _g.set_x(_g.x - X2); var _g1 = _this2; _g1.set_y(_g1.y - Y2); _this2.addPoint(this.offset); var X3 = frameRect.x; var Y3 = frameRect.y; if(Y3 == null) { Y3 = 0; } if(X3 == null) { X3 = 0; } var X4 = X3; var Y4 = Y3; if(Y4 == null) { Y4 = 0; } if(X4 == null) { X4 = 0; } var point = flixel_math_FlxPoint._pool.get().set(X4,Y4); point._inPool = false; var point1 = point; point1._weak = true; var p1 = point1; var X5 = frameRect.x + frameRect.width; var Y5 = frameRect.y + frameRect.height; if(Y5 == null) { Y5 = 0; } if(X5 == null) { X5 = 0; } var X6 = X5; var Y6 = Y5; if(Y6 == null) { Y6 = 0; } if(X6 == null) { X6 = 0; } var point2 = flixel_math_FlxPoint._pool.get().set(X6,Y6); point2._inPool = false; var point3 = point2; point3._weak = true; var p2 = point3; this.matrix.identity(); if(this.angle == -90) { var _this3 = this.matrix; _this3.setTo(-_this3.b,_this3.a,-_this3.d,_this3.c,-_this3.ty,_this3.tx); this.matrix.translate(this.frame.width,0); } else if(this.angle == 90) { var _this4 = this.matrix; _this4.setTo(_this4.b,-_this4.a,_this4.d,-_this4.c,_this4.ty,-_this4.tx); this.matrix.translate(0,this.frame.height); } if(this.angle != 0) { var matrix = this.matrix; var x1 = p1.x * matrix.a + p1.y * matrix.c + matrix.tx; var y1 = p1.x * matrix.b + p1.y * matrix.d + matrix.ty; p1.set(x1,y1); var matrix1 = this.matrix; var x11 = p2.x * matrix1.a + p2.y * matrix1.c + matrix1.tx; var y11 = p2.x * matrix1.b + p2.y * matrix1.d + matrix1.ty; p2.set(x11,y11); } var minX = Math.min(p1.x,p2.x); var minY = Math.min(p1.y,p2.y); var maxX = Math.max(p1.x,p2.x); var maxY = Math.max(p1.y,p2.y); if(p1._weak) { p1.put(); } if(p2._weak) { p2.put(); } var X7 = minX; var Y7 = minY; var Width2 = maxX - minX; var Height2 = maxY - minY; if(Height2 == null) { Height2 = 0; } if(Width2 == null) { Width2 = 0; } if(Y7 == null) { Y7 = 0; } if(X7 == null) { X7 = 0; } frameRect.x = X7; frameRect.y = Y7; frameRect.width = Width2; frameRect.height = Height2; frameRect.x += this.frame.x; frameRect.y += this.frame.y; frameToFill.set_frame(frameRect); frameToFill.cacheFrameMatrix(); } return frameToFill; } ,setBorderTo: function(border,frameToFill) { var X = border.x; var Y = border.y; var Width = this.sourceSize.x - 2 * border.x; var Height = this.sourceSize.y - 2 * border.y; if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } var _this = flixel_math_FlxRect._pool.get(); var X1 = X; var Y1 = Y; var Width1 = Width; var Height1 = Height; if(Height1 == null) { Height1 = 0; } if(Width1 == null) { Width1 = 0; } if(Y1 == null) { Y1 = 0; } if(X1 == null) { X1 = 0; } _this.x = X1; _this.y = Y1; _this.width = Width1; _this.height = Height1; var rect = _this; rect._inPool = false; var rect1 = rect; frameToFill = this.subFrameTo(rect1,frameToFill); frameToFill.name = this.name; rect1 = flixel_util_FlxDestroyUtil.put(rect1); return frameToFill; } ,clipTo: function(clip,clippedFrame) { if(clippedFrame == null) { clippedFrame = new flixel_graphics_frames_FlxFrame(this.parent,this.angle); } else { clippedFrame.parent = this.parent; clippedFrame.angle = this.angle; clippedFrame.set_frame(flixel_util_FlxDestroyUtil.put(clippedFrame.frame)); } var _this = clippedFrame.sourceSize; var point = this.sourceSize; _this.set_x(point.x); _this.set_y(point.y); if(point._weak) { point.put(); } clippedFrame.name = this.name; if(this.type == 2) { clippedFrame.type = 2; clippedFrame.offset.set(0,0); return clippedFrame; } var X = 0; var Y = 0; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var _this1 = flixel_math_FlxRect._pool.get(); var X1 = X; var Y1 = Y; var Width = 0; var Height = 0; if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y1 == null) { Y1 = 0; } if(X1 == null) { X1 = 0; } _this1.x = X1; _this1.y = Y1; _this1.width = Width; _this1.height = Height; var rect = _this1; rect._inPool = false; var _this2 = rect; _this2.width = this.frame.width; _this2.height = this.frame.height; var clippedRect = _this2; if(this.angle != 0) { clippedRect.width = this.frame.height; clippedRect.height = this.frame.width; } clip.x += -this.offset.x; clip.y += -this.offset.y; var frameRect = clippedRect.intersection(clip); clippedRect = flixel_util_FlxDestroyUtil.put(clippedRect); if(frameRect.width == 0 || frameRect.height == 0) { clippedFrame.type = 2; var X2 = 0; var Y2 = 0; var Width1 = 0; var Height1 = 0; if(Height1 == null) { Height1 = 0; } if(Width1 == null) { Width1 = 0; } if(Y2 == null) { Y2 = 0; } if(X2 == null) { X2 = 0; } frameRect.x = X2; frameRect.y = Y2; frameRect.width = Width1; frameRect.height = Height1; clippedFrame.set_frame(frameRect); clippedFrame.offset.set(0,0); } else { clippedFrame.type = 0; clippedFrame.offset.set(frameRect.x,frameRect.y).addPoint(this.offset); var X3 = frameRect.x; var Y3 = frameRect.y; if(Y3 == null) { Y3 = 0; } if(X3 == null) { X3 = 0; } var X4 = X3; var Y4 = Y3; if(Y4 == null) { Y4 = 0; } if(X4 == null) { X4 = 0; } var point1 = flixel_math_FlxPoint._pool.get().set(X4,Y4); point1._inPool = false; var point2 = point1; point2._weak = true; var p1 = point2; var X5 = frameRect.x + frameRect.width; var Y5 = frameRect.y + frameRect.height; if(Y5 == null) { Y5 = 0; } if(X5 == null) { X5 = 0; } var X6 = X5; var Y6 = Y5; if(Y6 == null) { Y6 = 0; } if(X6 == null) { X6 = 0; } var point3 = flixel_math_FlxPoint._pool.get().set(X6,Y6); point3._inPool = false; var point4 = point3; point4._weak = true; var p2 = point4; this.matrix.identity(); if(this.angle == -90) { var _this3 = this.matrix; _this3.setTo(-_this3.b,_this3.a,-_this3.d,_this3.c,-_this3.ty,_this3.tx); this.matrix.translate(this.frame.width,0); } else if(this.angle == 90) { var _this4 = this.matrix; _this4.setTo(_this4.b,-_this4.a,_this4.d,-_this4.c,_this4.ty,-_this4.tx); this.matrix.translate(0,this.frame.height); } if(this.angle != 0) { var matrix = this.matrix; var x1 = p1.x * matrix.a + p1.y * matrix.c + matrix.tx; var y1 = p1.x * matrix.b + p1.y * matrix.d + matrix.ty; p1.set(x1,y1); var matrix1 = this.matrix; var x11 = p2.x * matrix1.a + p2.y * matrix1.c + matrix1.tx; var y11 = p2.x * matrix1.b + p2.y * matrix1.d + matrix1.ty; p2.set(x11,y11); } var minX = Math.min(p1.x,p2.x); var minY = Math.min(p1.y,p2.y); var maxX = Math.max(p1.x,p2.x); var maxY = Math.max(p1.y,p2.y); if(p1._weak) { p1.put(); } if(p2._weak) { p2.put(); } var X7 = minX; var Y7 = minY; var Width2 = maxX - minX; var Height2 = maxY - minY; if(Height2 == null) { Height2 = 0; } if(Width2 == null) { Width2 = 0; } if(Y7 == null) { Y7 = 0; } if(X7 == null) { X7 = 0; } frameRect.x = X7; frameRect.y = Y7; frameRect.width = Width2; frameRect.height = Height2; frameRect.x += this.frame.x; frameRect.y += this.frame.y; clippedFrame.set_frame(frameRect); clippedFrame.cacheFrameMatrix(); } clip.x += this.offset.x; clip.y += this.offset.y; return clippedFrame; } ,copyTo: function(clone) { if(clone == null) { clone = new flixel_graphics_frames_FlxFrame(this.parent,this.angle); } else { clone.parent = this.parent; clone.angle = this.angle; clone.set_frame(flixel_util_FlxDestroyUtil.put(clone.frame)); } var _this = clone.offset; var point = this.offset; _this.set_x(point.x); _this.set_y(point.y); if(point._weak) { point.put(); } clone.flipX = this.flipX; clone.flipY = this.flipY; var _this1 = clone.sourceSize; var point1 = this.sourceSize; _this1.set_x(point1.x); _this1.set_y(point1.y); if(point1._weak) { point1.put(); } var _this2 = flixel_math_FlxRect._pool.get(); var X = 0; var Y = 0; var Width = 0; var Height = 0; if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } _this2.x = X; _this2.y = Y; _this2.width = Width; _this2.height = Height; var rect = _this2; rect._inPool = false; var _this3 = rect; var Rect = this.frame; _this3.x = Rect.x; _this3.y = Rect.y; _this3.width = Rect.width; _this3.height = Rect.height; if(Rect._weak) { if(!Rect._inPool) { Rect._inPool = true; Rect._weak = false; flixel_math_FlxRect._pool.putUnsafe(Rect); } } clone.set_frame(_this3); clone.type = this.type; clone.name = this.name; clone.cacheFrameMatrix(); return clone; } ,destroy: function() { this.name = null; this.parent = null; this.sourceSize = flixel_util_FlxDestroyUtil.put(this.sourceSize); this.offset = flixel_util_FlxDestroyUtil.put(this.offset); this.set_frame(flixel_util_FlxDestroyUtil.put(this.frame)); this.uv = flixel_util_FlxDestroyUtil.put(this.uv); this.blitMatrix = null; this.tileMatrix = null; } ,toString: function() { var value = this.name; var _this = flixel_util_LabelValuePair._pool.get(); _this.label = "name"; _this.value = value; return flixel_util_FlxStringUtil.getDebugString([_this]); } ,set_frame: function(value) { if(value != null) { if(this.uv == null) { var _this = flixel_math_FlxRect._pool.get(); var X = 0; var Y = 0; var Width = 0; var Height = 0; if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } _this.x = X; _this.y = Y; _this.width = Width; _this.height = Height; var rect = _this; rect._inPool = false; this.uv = rect; } var _this1 = this.uv; var X1 = value.x / this.parent.width; var Y1 = value.y / this.parent.height; var Width1 = (value.x + value.width) / this.parent.width; var Height1 = (value.y + value.height) / this.parent.height; if(Height1 == null) { Height1 = 0; } if(Width1 == null) { Width1 = 0; } if(Y1 == null) { Y1 = 0; } if(X1 == null) { X1 = 0; } _this1.x = X1; _this1.y = Y1; _this1.width = Width1; _this1.height = Height1; } return this.frame = value; } ,__class__: flixel_graphics_frames_FlxFrame ,__properties__: {set_frame:"set_frame"} }; var flixel_graphics_frames_FlxFrameCollectionType = $hxEnums["flixel.graphics.frames.FlxFrameCollectionType"] = { __ename__ : "flixel.graphics.frames.FlxFrameCollectionType", __constructs__ : ["IMAGE","TILES","ATLAS","FONT","USER","FILTER"] ,IMAGE: {_hx_index:0,__enum__:"flixel.graphics.frames.FlxFrameCollectionType",toString:$estr} ,TILES: {_hx_index:1,__enum__:"flixel.graphics.frames.FlxFrameCollectionType",toString:$estr} ,ATLAS: {_hx_index:2,__enum__:"flixel.graphics.frames.FlxFrameCollectionType",toString:$estr} ,FONT: {_hx_index:3,__enum__:"flixel.graphics.frames.FlxFrameCollectionType",toString:$estr} ,USER: ($_=function(type) { return {_hx_index:4,type:type,__enum__:"flixel.graphics.frames.FlxFrameCollectionType",toString:$estr}; },$_.__params__ = ["type"],$_) ,FILTER: {_hx_index:5,__enum__:"flixel.graphics.frames.FlxFrameCollectionType",toString:$estr} }; var flixel_graphics_frames_FlxImageFrame = function(parent,border) { flixel_graphics_frames_FlxFramesCollection.call(this,parent,flixel_graphics_frames_FlxFrameCollectionType.IMAGE,border); }; $hxClasses["flixel.graphics.frames.FlxImageFrame"] = flixel_graphics_frames_FlxImageFrame; flixel_graphics_frames_FlxImageFrame.__name__ = "flixel.graphics.frames.FlxImageFrame"; flixel_graphics_frames_FlxImageFrame.fromEmptyFrame = function(graphic,frameRect) { if(graphic == null || frameRect == null) { return null; } var imageFrame = flixel_graphics_frames_FlxImageFrame.findEmptyFrame(graphic,frameRect); if(imageFrame != null) { return imageFrame; } imageFrame = new flixel_graphics_frames_FlxImageFrame(graphic); imageFrame.addEmptyFrame(frameRect); return imageFrame; }; flixel_graphics_frames_FlxImageFrame.fromFrame = function(source) { var graphic = source.parent; var rect = source.frame; var imageFrame = flixel_graphics_frames_FlxImageFrame.findFrame(graphic,rect); if(imageFrame != null) { return imageFrame; } imageFrame = new flixel_graphics_frames_FlxImageFrame(graphic); var _this = flixel_math_FlxRect._pool.get(); var X = 0; var Y = 0; var Width = 0; var Height = 0; if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } _this.x = X; _this.y = Y; _this.width = Width; _this.height = Height; var rect1 = _this; rect1._inPool = false; var Rect = rect1; Rect.x = rect.x; Rect.y = rect.y; Rect.width = rect.width; Rect.height = rect.height; if(Rect._weak) { if(!Rect._inPool) { Rect._inPool = true; Rect._weak = false; flixel_math_FlxRect._pool.putUnsafe(Rect); } } imageFrame.addSpriteSheetFrame(Rect); return imageFrame; }; flixel_graphics_frames_FlxImageFrame.fromImage = function(source) { return flixel_graphics_frames_FlxImageFrame.fromRectangle(source,null); }; flixel_graphics_frames_FlxImageFrame.fromGraphic = function(graphic,region) { if(graphic == null) { return null; } var checkRegion = region; if(checkRegion == null) { var X = 0; var Y = 0; var Width = graphic.width; var Height = graphic.height; if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } var X1 = X; var Y1 = Y; var Width1 = Width; var Height1 = Height; if(Height1 == null) { Height1 = 0; } if(Width1 == null) { Width1 = 0; } if(Y1 == null) { Y1 = 0; } if(X1 == null) { X1 = 0; } var _this = flixel_math_FlxRect._pool.get(); var X2 = X1; var Y2 = Y1; var Width2 = Width1; var Height2 = Height1; if(Height2 == null) { Height2 = 0; } if(Width2 == null) { Width2 = 0; } if(Y2 == null) { Y2 = 0; } if(X2 == null) { X2 = 0; } _this.x = X2; _this.y = Y2; _this.width = Width2; _this.height = Height2; var rect = _this; rect._inPool = false; var rect1 = rect; rect1._weak = true; checkRegion = rect1; } var imageFrame = flixel_graphics_frames_FlxImageFrame.findFrame(graphic,checkRegion); if(imageFrame != null) { return imageFrame; } imageFrame = new flixel_graphics_frames_FlxImageFrame(graphic); if(region == null) { var X3 = 0; var Y3 = 0; var Width3 = graphic.width; var Height3 = graphic.height; if(Height3 == null) { Height3 = 0; } if(Width3 == null) { Width3 = 0; } if(Y3 == null) { Y3 = 0; } if(X3 == null) { X3 = 0; } var _this1 = flixel_math_FlxRect._pool.get(); var X4 = X3; var Y4 = Y3; var Width4 = Width3; var Height4 = Height3; if(Height4 == null) { Height4 = 0; } if(Width4 == null) { Width4 = 0; } if(Y4 == null) { Y4 = 0; } if(X4 == null) { X4 = 0; } _this1.x = X4; _this1.y = Y4; _this1.width = Width4; _this1.height = Height4; var rect2 = _this1; rect2._inPool = false; region = rect2; } else { if(region.width == 0) { region.width = graphic.width - region.x; } if(region.height == 0) { region.height = graphic.height - region.y; } } imageFrame.addSpriteSheetFrame(region); return imageFrame; }; flixel_graphics_frames_FlxImageFrame.fromRectangle = function(source,region) { var graphic = flixel_FlxG.bitmap.add(source,false); return flixel_graphics_frames_FlxImageFrame.fromGraphic(graphic,region); }; flixel_graphics_frames_FlxImageFrame.fromBitmapAddSpacesAndBorders = function(source,border,region) { var graphic = flixel_FlxG.bitmap.add(source,false); if(graphic == null) { return null; } var key = flixel_FlxG.bitmap.getKeyWithSpacesAndBorders(graphic.key,null,null,border,region); var _this = flixel_FlxG.bitmap._cache; var result = __map_reserved[key] != null ? _this.getReserved(key) : _this.h[key]; if(result == null) { var bitmap = flixel_util_FlxBitmapDataUtil.addSpacesAndBorders(graphic.bitmap,null,null,border,region); result = flixel_FlxG.bitmap.add(bitmap,false,key); } var imageFrame = flixel_graphics_frames_FlxImageFrame.fromGraphic(graphic); return imageFrame.addBorder(border); }; flixel_graphics_frames_FlxImageFrame.fromFrameAddSpacesAndBorders = function(frame,border) { var bitmap = frame.paint(); return flixel_graphics_frames_FlxImageFrame.fromBitmapAddSpacesAndBorders(bitmap,border); }; flixel_graphics_frames_FlxImageFrame.findFrame = function(graphic,frameRect,frameBorder) { if(frameBorder == null) { var X = 0; var Y = 0; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; var point1 = point; point1._weak = true; frameBorder = point1; } var type = flixel_graphics_frames_FlxFrameCollectionType.IMAGE; var collections = graphic.frameCollections.get(type); if(collections == null) { collections = []; graphic.frameCollections.set(type,collections); } var imageFrames = collections; var _g = 0; while(_g < imageFrames.length) { var imageFrame = imageFrames[_g]; ++_g; var tmp; var rect = imageFrame.get_frame().frame; var result = Math.abs(frameRect.x - rect.x) <= 0.0000001 && Math.abs(frameRect.y - rect.y) <= 0.0000001 && Math.abs(frameRect.width - rect.width) <= 0.0000001 && Math.abs(frameRect.height - rect.height) <= 0.0000001; if(rect._weak) { if(!rect._inPool) { rect._inPool = true; rect._weak = false; flixel_math_FlxRect._pool.putUnsafe(rect); } } if(result) { var point2 = imageFrame.border; var result1 = Math.abs(frameBorder.x - point2.x) <= 0.0000001 && Math.abs(frameBorder.y - point2.y) <= 0.0000001; if(point2._weak) { point2.put(); } tmp = result1; } else { tmp = false; } if(tmp && imageFrame.get_frame().type != 2) { return imageFrame; } } return null; }; flixel_graphics_frames_FlxImageFrame.findEmptyFrame = function(graphic,frameRect) { var type = flixel_graphics_frames_FlxFrameCollectionType.IMAGE; var collections = graphic.frameCollections.get(type); if(collections == null) { collections = []; graphic.frameCollections.set(type,collections); } var imageFrames = collections; var _g = 0; while(_g < imageFrames.length) { var imageFrame = imageFrames[_g]; ++_g; var frame = imageFrame.get_frame(); if(frame.sourceSize.x == frameRect.width && frame.sourceSize.y == frameRect.height && frame.type == 2) { return imageFrame; } } return null; }; flixel_graphics_frames_FlxImageFrame.__super__ = flixel_graphics_frames_FlxFramesCollection; flixel_graphics_frames_FlxImageFrame.prototype = $extend(flixel_graphics_frames_FlxFramesCollection.prototype,{ equals: function(rect,border) { var rect1 = this.get_frame().frame; var result = Math.abs(rect.x - rect1.x) <= 0.0000001 && Math.abs(rect.y - rect1.y) <= 0.0000001 && Math.abs(rect.width - rect1.width) <= 0.0000001 && Math.abs(rect.height - rect1.height) <= 0.0000001; if(rect1._weak) { if(!rect1._inPool) { rect1._inPool = true; rect1._weak = false; flixel_math_FlxRect._pool.putUnsafe(rect1); } } if(result) { var point = this.border; var result1 = Math.abs(border.x - point.x) <= 0.0000001 && Math.abs(border.y - point.y) <= 0.0000001; if(point._weak) { point.put(); } return result1; } else { return false; } } ,addBorder: function(border) { var X = 0; var Y = 0; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; var point1 = point; point1._weak = true; var resultBorder = point1.addPoint(this.border).addPoint(border); var imageFrame = flixel_graphics_frames_FlxImageFrame.findFrame(this.parent,this.get_frame().frame,resultBorder); if(imageFrame != null) { return imageFrame; } imageFrame = new flixel_graphics_frames_FlxImageFrame(this.parent,resultBorder); imageFrame.pushFrame(this.get_frame().setBorderTo(border)); return imageFrame; } ,destroy: function() { flixel_graphics_frames_FlxFramesCollection.prototype.destroy.call(this); flixel_util_FlxDestroyUtil.destroy(this.get_frame()); } ,get_frame: function() { return this.frames[0]; } ,__class__: flixel_graphics_frames_FlxImageFrame ,__properties__: $extend(flixel_graphics_frames_FlxFramesCollection.prototype.__properties__,{get_frame:"get_frame"}) }); var flixel_graphics_frames_FlxTileFrames = function(parent,border) { this.numCols = 0; this.numRows = 0; flixel_graphics_frames_FlxFramesCollection.call(this,parent,flixel_graphics_frames_FlxFrameCollectionType.TILES,border); }; $hxClasses["flixel.graphics.frames.FlxTileFrames"] = flixel_graphics_frames_FlxTileFrames; flixel_graphics_frames_FlxTileFrames.__name__ = "flixel.graphics.frames.FlxTileFrames"; flixel_graphics_frames_FlxTileFrames.fromBitmapAddSpacesAndBorders = function(source,tileSize,tileSpacing,tileBorder,region) { var graphic = flixel_FlxG.bitmap.add(source,false); if(graphic == null) { return null; } var key = flixel_FlxG.bitmap.getKeyWithSpacesAndBorders(graphic.key,tileSize,tileSpacing,tileBorder,region); var _this = flixel_FlxG.bitmap._cache; var result = __map_reserved[key] != null ? _this.getReserved(key) : _this.h[key]; if(result == null) { var bitmap = flixel_util_FlxBitmapDataUtil.addSpacesAndBorders(graphic.bitmap,tileSize,tileSpacing,tileBorder,region); result = flixel_FlxG.bitmap.add(bitmap,false,key); } var borderX = 0; var borderY = 0; if(tileBorder != null) { borderX = tileBorder.x | 0; borderY = tileBorder.y | 0; } var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; var _this1 = point.addPoint(tileSize); var X = 2 * borderX; var Y = 2 * borderY; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var _g = _this1; _g.set_x(_g.x + X); var _g1 = _this1; _g1.set_y(_g1.y + Y); var tileFrames = flixel_graphics_frames_FlxTileFrames.fromGraphic(result,_this1,null,tileSpacing); if(tileBorder == null) { return tileFrames; } return tileFrames.addBorder(tileBorder); }; flixel_graphics_frames_FlxTileFrames.fromFrameAddSpacesAndBorders = function(frame,tileSize,tileSpacing,tileBorder) { var bitmap = frame.paint(); return flixel_graphics_frames_FlxTileFrames.fromBitmapAddSpacesAndBorders(bitmap,tileSize,tileSpacing,tileBorder); }; flixel_graphics_frames_FlxTileFrames.fromFrame = function(frame,tileSize,tileSpacing) { var graphic = frame.parent; var tileFrames = flixel_graphics_frames_FlxTileFrames.findFrame(graphic,tileSize,null,frame,tileSpacing); if(tileFrames != null) { return tileFrames; } if(tileSpacing != null) { tileSpacing = tileSpacing; } else { var X = 0; var Y = 0; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; tileSpacing = point; } tileFrames = new flixel_graphics_frames_FlxTileFrames(graphic); tileFrames.atlasFrame = frame; tileFrames.region = frame.frame; tileFrames.tileSize = tileSize; tileFrames.tileSpacing = tileSpacing; tileSpacing.set_x(Math.floor(tileSpacing.x)); tileSpacing.set_y(Math.floor(tileSpacing.y)); tileSize.set_x(Math.floor(tileSize.x)); tileSize.set_y(Math.floor(tileSize.y)); var spacedWidth = tileSize.x + tileSpacing.x; var spacedHeight = tileSize.y + tileSpacing.y; var numRows = tileSize.y == 0 ? 1 : (frame.sourceSize.y + tileSpacing.y) / spacedHeight | 0; var numCols = tileSize.x == 0 ? 1 : (frame.sourceSize.x + tileSpacing.x) / spacedWidth | 0; var X1 = 0; var Y1 = 0; var Width = tileSize.x; var Height = tileSize.y; if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y1 == null) { Y1 = 0; } if(X1 == null) { X1 = 0; } var _this = flixel_math_FlxRect._pool.get(); var X2 = X1; var Y2 = Y1; var Width1 = Width; var Height1 = Height; if(Height1 == null) { Height1 = 0; } if(Width1 == null) { Width1 = 0; } if(Y2 == null) { Y2 = 0; } if(X2 == null) { X2 = 0; } _this.x = X2; _this.y = Y2; _this.width = Width1; _this.height = Height1; var rect = _this; rect._inPool = false; var helperRect = rect; var _g = 0; var _g1 = numRows; while(_g < _g1) { var j = _g++; var _g2 = 0; var _g11 = numCols; while(_g2 < _g11) { var i = _g2++; helperRect.x = spacedWidth * i; helperRect.y = spacedHeight * j; tileFrames.pushFrame(frame.subFrameTo(helperRect)); } } helperRect = flixel_util_FlxDestroyUtil.put(helperRect); tileFrames.numCols = numCols; tileFrames.numRows = numRows; return tileFrames; }; flixel_graphics_frames_FlxTileFrames.fromFrames = function(Frames) { var firstFrame = Frames[0]; var graphic = firstFrame.parent; var _g = 0; while(_g < Frames.length) { var frame = Frames[_g]; ++_g; var tmp; if(frame.parent == firstFrame.parent) { var _this = frame.sourceSize; var point = firstFrame.sourceSize; var result = Math.abs(_this.x - point.x) <= 0.0000001 && Math.abs(_this.y - point.y) <= 0.0000001; if(point._weak) { point.put(); } tmp = !result; } else { tmp = true; } if(tmp) { return null; } } var tileFrames = new flixel_graphics_frames_FlxTileFrames(graphic); tileFrames.region = null; tileFrames.atlasFrame = null; var point1 = flixel_math_FlxPoint._pool.get().set(0,0); point1._inPool = false; var _this1 = point1; var point2 = firstFrame.sourceSize; _this1.set_x(point2.x); _this1.set_y(point2.y); if(point2._weak) { point2.put(); } tileFrames.tileSize = _this1; var X = 0; var Y = 0; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var point3 = flixel_math_FlxPoint._pool.get().set(X,Y); point3._inPool = false; tileFrames.tileSpacing = point3; tileFrames.numCols = Frames.length; tileFrames.numRows = 1; var _g1 = 0; while(_g1 < Frames.length) { var frame1 = Frames[_g1]; ++_g1; tileFrames.frames.push(frame1); if(frame1.name != null) { var key = frame1.name; var _this2 = tileFrames.framesHash; if(__map_reserved[key] != null) { _this2.setReserved(key,frame1); } else { _this2.h[key] = frame1; } } } return tileFrames; }; flixel_graphics_frames_FlxTileFrames.fromAtlasByPrefix = function(Frames,Prefix) { var framesToAdd = []; var _g = 0; var _g1 = Frames.frames; while(_g < _g1.length) { var frame = _g1[_g]; ++_g; if(StringTools.startsWith(frame.name,Prefix)) { framesToAdd.push(frame); } } if(framesToAdd.length > 0) { var name = framesToAdd[0].name; var postIndex = name.indexOf(".",Prefix.length); var postFix = name.substring(postIndex == -1 ? name.length : postIndex,name.length); flixel_graphics_frames_FlxFrame.sort(framesToAdd,Prefix.length,postFix.length); return flixel_graphics_frames_FlxTileFrames.fromFrames(framesToAdd); } return null; }; flixel_graphics_frames_FlxTileFrames.fromGraphic = function(graphic,tileSize,region,tileSpacing) { var tileFrames = flixel_graphics_frames_FlxTileFrames.findFrame(graphic,tileSize,region,null,tileSpacing); if(tileFrames != null) { return tileFrames; } if(region == null) { var X = 0; var Y = 0; var Width = graphic.width; var Height = graphic.height; if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } var _this = flixel_math_FlxRect._pool.get(); var X1 = X; var Y1 = Y; var Width1 = Width; var Height1 = Height; if(Height1 == null) { Height1 = 0; } if(Width1 == null) { Width1 = 0; } if(Y1 == null) { Y1 = 0; } if(X1 == null) { X1 = 0; } _this.x = X1; _this.y = Y1; _this.width = Width1; _this.height = Height1; var rect = _this; rect._inPool = false; region = rect; } else { if(region.width == 0) { region.width = graphic.width - region.x; } if(region.height == 0) { region.height = graphic.height - region.y; } } if(tileSpacing != null) { tileSpacing = tileSpacing; } else { var X2 = 0; var Y2 = 0; if(Y2 == null) { Y2 = 0; } if(X2 == null) { X2 = 0; } var point = flixel_math_FlxPoint._pool.get().set(X2,Y2); point._inPool = false; tileSpacing = point; } tileFrames = new flixel_graphics_frames_FlxTileFrames(graphic); tileFrames.region = region; tileFrames.atlasFrame = null; tileFrames.tileSize = tileSize; tileFrames.tileSpacing = tileSpacing; region.x = Math.floor(region.x); region.y = Math.floor(region.y); region.width = Math.floor(region.width); region.height = Math.floor(region.height); tileSpacing.set_x(Math.floor(tileSpacing.x)); tileSpacing.set_y(Math.floor(tileSpacing.y)); tileSize.set_x(Math.floor(tileSize.x)); tileSize.set_y(Math.floor(tileSize.y)); var spacedWidth = tileSize.x + tileSpacing.x; var spacedHeight = tileSize.y + tileSpacing.y; var numRows = tileSize.y == 0 ? 1 : (region.height + tileSpacing.y) / spacedHeight | 0; var numCols = tileSize.x == 0 ? 1 : (region.width + tileSpacing.x) / spacedWidth | 0; var tileRect; var _g = 0; var _g1 = numRows; while(_g < _g1) { var j = _g++; var _g2 = 0; var _g11 = numCols; while(_g2 < _g11) { var i = _g2++; var X3 = region.x + i * spacedWidth; var Y3 = region.y + j * spacedHeight; var Width2 = tileSize.x; var Height2 = tileSize.y; if(Height2 == null) { Height2 = 0; } if(Width2 == null) { Width2 = 0; } if(Y3 == null) { Y3 = 0; } if(X3 == null) { X3 = 0; } var _this1 = flixel_math_FlxRect._pool.get(); var X4 = X3; var Y4 = Y3; var Width3 = Width2; var Height3 = Height2; if(Height3 == null) { Height3 = 0; } if(Width3 == null) { Width3 = 0; } if(Y4 == null) { Y4 = 0; } if(X4 == null) { X4 = 0; } _this1.x = X4; _this1.y = Y4; _this1.width = Width3; _this1.height = Height3; var rect1 = _this1; rect1._inPool = false; tileRect = rect1; tileFrames.addSpriteSheetFrame(tileRect); } } tileFrames.numCols = numCols; tileFrames.numRows = numRows; return tileFrames; }; flixel_graphics_frames_FlxTileFrames.fromRectangle = function(source,tileSize,region,tileSpacing) { var graphic = flixel_FlxG.bitmap.add(source,false); if(graphic == null) { return null; } return flixel_graphics_frames_FlxTileFrames.fromGraphic(graphic,tileSize,region,tileSpacing); }; flixel_graphics_frames_FlxTileFrames.combineTileSets = function(bitmaps,tileSize,spacing,border) { var framesCollections = []; var _g = 0; while(_g < bitmaps.length) { var bitmap = bitmaps[_g]; ++_g; framesCollections.push(flixel_graphics_frames_FlxTileFrames.fromRectangle(bitmap,tileSize)); } return flixel_graphics_frames_FlxTileFrames.combineTileFrames(framesCollections,spacing,border); }; flixel_graphics_frames_FlxTileFrames.combineTileFrames = function(tileframes,spacing,border) { var totalArea = 0; var rows = 0; var cols = 0; var tileWidth = tileframes[0].frames[0].sourceSize.x | 0; var tileHeight = tileframes[0].frames[0].sourceSize.y | 0; var spaceX = 0; var spaceY = 0; if(spacing != null) { spaceX = spacing.x | 0; spaceY = spacing.y | 0; } var borderX = 0; var borderY = 0; if(border != null) { borderX = border.x | 0; borderY = border.y | 0; } var _g = 0; while(_g < tileframes.length) { var collection = tileframes[_g]; ++_g; cols = collection.numCols; rows = collection.numRows; totalArea += cols * (tileWidth + 2 * borderX) * rows * (tileHeight + 2 * borderY) | 0; } var side = Math.sqrt(totalArea); cols = side / (tileWidth + 2 * borderX) | 0; rows = Math.ceil(totalArea / (cols * (tileWidth + 2 * borderX) * (tileHeight + 2 * borderY))); var width = (cols * (tileWidth + 2 * borderX) | 0) + (cols - 1) * spaceX; var height = (rows * (tileHeight + 2 * borderY) | 0) + (rows - 1) * spaceY; var combined = new openfl_display_BitmapData(width,height,true,0); var graphic = flixel_FlxG.bitmap.add(combined); var result = new flixel_graphics_frames_FlxTileFrames(graphic); var destPoint = new openfl_geom_Point(borderX,borderY); var X = 0; var Y = 0; var Width = width; var Height = height; if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } var _this = flixel_math_FlxRect._pool.get(); var X1 = X; var Y1 = Y; var Width1 = Width; var Height1 = Height; if(Height1 == null) { Height1 = 0; } if(Width1 == null) { Width1 = 0; } if(Y1 == null) { Y1 = 0; } if(X1 == null) { X1 = 0; } _this.x = X1; _this.y = Y1; _this.width = Width1; _this.height = Height1; var rect = _this; rect._inPool = false; result.region = rect; result.atlasFrame = null; var X2 = tileWidth; var Y2 = tileHeight; if(Y2 == null) { Y2 = 0; } if(X2 == null) { X2 = 0; } var point = flixel_math_FlxPoint._pool.get().set(X2,Y2); point._inPool = false; result.tileSize = point; var X3 = spaceX; var Y3 = spaceY; if(Y3 == null) { Y3 = 0; } if(X3 == null) { X3 = 0; } var point1 = flixel_math_FlxPoint._pool.get().set(X3,Y3); point1._inPool = false; result.tileSpacing = point1; result.numCols = cols; result.numRows = rows; var _g1 = 0; while(_g1 < tileframes.length) { var collection1 = tileframes[_g1]; ++_g1; var _g11 = 0; var _g2 = collection1.frames; while(_g11 < _g2.length) { var frame = _g2[_g11]; ++_g11; frame.paint(combined,destPoint,true); var X4 = destPoint.x; var Y4 = destPoint.y; var Width2 = tileWidth; var Height2 = tileHeight; if(Height2 == null) { Height2 = 0; } if(Width2 == null) { Width2 = 0; } if(Y4 == null) { Y4 = 0; } if(X4 == null) { X4 = 0; } var _this1 = flixel_math_FlxRect._pool.get(); var X5 = X4; var Y5 = Y4; var Width3 = Width2; var Height3 = Height2; if(Height3 == null) { Height3 = 0; } if(Width3 == null) { Width3 = 0; } if(Y5 == null) { Y5 = 0; } if(X5 == null) { X5 = 0; } _this1.x = X5; _this1.y = Y5; _this1.width = Width3; _this1.height = Height3; var rect1 = _this1; rect1._inPool = false; var X6 = tileWidth; var Y6 = tileHeight; if(Y6 == null) { Y6 = 0; } if(X6 == null) { X6 = 0; } var point2 = flixel_math_FlxPoint._pool.get().set(X6,Y6); point2._inPool = false; var X7 = 0; var Y7 = 0; if(Y7 == null) { Y7 = 0; } if(X7 == null) { X7 = 0; } var point3 = flixel_math_FlxPoint._pool.get().set(X7,Y7); point3._inPool = false; result.addAtlasFrame(rect1,point2,point3); destPoint.x += tileWidth + 2 * borderX + spaceX; if(destPoint.x >= combined.width) { destPoint.x = borderX; destPoint.y += tileHeight + 2 * borderY + spaceY; } } } flixel_util_FlxBitmapDataUtil.copyBorderPixels(combined,tileWidth,tileHeight,spaceX,spaceY,borderX,borderY,cols,rows); return result; }; flixel_graphics_frames_FlxTileFrames.findFrame = function(graphic,tileSize,region,atlasFrame,tileSpacing,border) { var type = flixel_graphics_frames_FlxFrameCollectionType.TILES; var collections = graphic.frameCollections.get(type); if(collections == null) { collections = []; graphic.frameCollections.set(type,collections); } var tileFrames = collections; var _g = 0; while(_g < tileFrames.length) { var sheet = tileFrames[_g]; ++_g; if(sheet.equals(tileSize,region,null,tileSpacing,border)) { return sheet; } } return null; }; flixel_graphics_frames_FlxTileFrames.__super__ = flixel_graphics_frames_FlxFramesCollection; flixel_graphics_frames_FlxTileFrames.prototype = $extend(flixel_graphics_frames_FlxFramesCollection.prototype,{ atlasFrame: null ,region: null ,tileSize: null ,tileSpacing: null ,numRows: null ,numCols: null ,getByTilePosition: function(column,row) { return this.frames[row * this.numCols + column]; } ,equals: function(tileSize,region,atlasFrame,tileSpacing,border) { if(this.region == null && this.atlasFrame == null) { return false; } if(atlasFrame != null) { region = atlasFrame.frame; } if(region == null) { var X = 0; var Y = 0; var Width = this.parent.width; var Height = this.parent.height; if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } var X1 = X; var Y1 = Y; var Width1 = Width; var Height1 = Height; if(Height1 == null) { Height1 = 0; } if(Width1 == null) { Width1 = 0; } if(Y1 == null) { Y1 = 0; } if(X1 == null) { X1 = 0; } var _this = flixel_math_FlxRect._pool.get(); var X2 = X1; var Y2 = Y1; var Width2 = Width1; var Height2 = Height1; if(Height2 == null) { Height2 = 0; } if(Width2 == null) { Width2 = 0; } if(Y2 == null) { Y2 = 0; } if(X2 == null) { X2 = 0; } _this.x = X2; _this.y = Y2; _this.width = Width2; _this.height = Height2; var rect = _this; rect._inPool = false; var rect1 = rect; rect1._weak = true; region = rect1; } if(tileSpacing == null) { var X3 = 0; var Y3 = 0; if(Y3 == null) { Y3 = 0; } if(X3 == null) { X3 = 0; } var point = flixel_math_FlxPoint._pool.get().set(X3,Y3); point._inPool = false; var point1 = point; point1._weak = true; tileSpacing = point1; } if(border == null) { var X4 = 0; var Y4 = 0; if(Y4 == null) { Y4 = 0; } if(X4 == null) { X4 = 0; } var point2 = flixel_math_FlxPoint._pool.get().set(X4,Y4); point2._inPool = false; var point3 = point2; point3._weak = true; border = point3; } var tmp; var tmp1; var tmp2; if(this.atlasFrame == atlasFrame) { var _this1 = this.region; var result = Math.abs(_this1.x - region.x) <= 0.0000001 && Math.abs(_this1.y - region.y) <= 0.0000001 && Math.abs(_this1.width - region.width) <= 0.0000001 && Math.abs(_this1.height - region.height) <= 0.0000001; if(region._weak) { if(!region._inPool) { region._inPool = true; region._weak = false; flixel_math_FlxRect._pool.putUnsafe(region); } } tmp2 = result; } else { tmp2 = false; } if(tmp2) { var _this2 = this.tileSize; var result1 = Math.abs(_this2.x - tileSize.x) <= 0.0000001 && Math.abs(_this2.y - tileSize.y) <= 0.0000001; if(tileSize._weak) { tileSize.put(); } tmp1 = result1; } else { tmp1 = false; } if(tmp1) { var _this3 = this.tileSpacing; var result2 = Math.abs(_this3.x - tileSpacing.x) <= 0.0000001 && Math.abs(_this3.y - tileSpacing.y) <= 0.0000001; if(tileSpacing._weak) { tileSpacing.put(); } tmp = result2; } else { tmp = false; } if(tmp) { var _this4 = this.border; var result3 = Math.abs(_this4.x - border.x) <= 0.0000001 && Math.abs(_this4.y - border.y) <= 0.0000001; if(border._weak) { border.put(); } return result3; } else { return false; } } ,addBorder: function(border) { var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; var resultBorder = point.addPoint(this.border).addPoint(border); var point1 = flixel_math_FlxPoint._pool.get().set(0,0); point1._inPool = false; var _this = point1; var point2 = this.tileSize; _this.set_x(point2.x); _this.set_y(point2.y); if(point2._weak) { point2.put(); } var _this1 = _this; var X = 2 * border.x; var Y = 2 * border.y; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var _g = _this1; _g.set_x(_g.x - X); var _g1 = _this1; _g1.set_y(_g1.y - Y); var resultSize = _this1; var tileFrames = flixel_graphics_frames_FlxTileFrames.findFrame(this.parent,resultSize,this.region,this.atlasFrame,this.tileSpacing,resultBorder); if(tileFrames != null) { resultSize = flixel_util_FlxDestroyUtil.put(resultSize); return tileFrames; } tileFrames = new flixel_graphics_frames_FlxTileFrames(this.parent,resultBorder); var _this2 = flixel_math_FlxRect._pool.get(); var X1 = 0; var Y1 = 0; var Width = 0; var Height = 0; if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y1 == null) { Y1 = 0; } if(X1 == null) { X1 = 0; } _this2.x = X1; _this2.y = Y1; _this2.width = Width; _this2.height = Height; var rect = _this2; rect._inPool = false; var _this3 = rect; var Rect = this.region; _this3.x = Rect.x; _this3.y = Rect.y; _this3.width = Rect.width; _this3.height = Rect.height; if(Rect._weak) { if(!Rect._inPool) { Rect._inPool = true; Rect._weak = false; flixel_math_FlxRect._pool.putUnsafe(Rect); } } tileFrames.region = _this3; tileFrames.atlasFrame = this.atlasFrame; tileFrames.tileSize = resultSize; var point3 = flixel_math_FlxPoint._pool.get().set(0,0); point3._inPool = false; var _this4 = point3; var point4 = this.tileSpacing; _this4.set_x(point4.x); _this4.set_y(point4.y); if(point4._weak) { point4.put(); } tileFrames.tileSpacing = _this4; var _g2 = 0; var _g11 = this.frames; while(_g2 < _g11.length) { var frame = _g11[_g2]; ++_g2; tileFrames.pushFrame(frame.setBorderTo(border)); } return tileFrames; } ,destroy: function() { flixel_graphics_frames_FlxFramesCollection.prototype.destroy.call(this); this.atlasFrame = null; this.region = flixel_util_FlxDestroyUtil.put(this.region); this.tileSize = flixel_util_FlxDestroyUtil.put(this.tileSize); this.tileSpacing = flixel_util_FlxDestroyUtil.put(this.tileSpacing); } ,__class__: flixel_graphics_frames_FlxTileFrames }); var flixel_graphics_tile_FlxDrawBaseItem = function() { this.blending = 0; this.hasColorOffsets = false; this.colored = false; this.antialiasing = false; }; $hxClasses["flixel.graphics.tile.FlxDrawBaseItem"] = flixel_graphics_tile_FlxDrawBaseItem; flixel_graphics_tile_FlxDrawBaseItem.__name__ = "flixel.graphics.tile.FlxDrawBaseItem"; flixel_graphics_tile_FlxDrawBaseItem.blendToInt = function(blend) { return 0; }; flixel_graphics_tile_FlxDrawBaseItem.prototype = { nextTyped: null ,next: null ,graphics: null ,antialiasing: null ,colored: null ,hasColorOffsets: null ,blending: null ,blend: null ,type: null ,reset: function() { this.graphics = null; this.antialiasing = false; this.nextTyped = null; this.next = null; } ,dispose: function() { this.graphics = null; this.next = null; this.type = null; this.nextTyped = null; } ,render: function(camera) { flixel_graphics_tile_FlxDrawBaseItem.drawCalls++; } ,addQuad: function(frame,matrix,transform) { } ,get_numVertices: function() { return 0; } ,get_numTriangles: function() { return 0; } ,__class__: flixel_graphics_tile_FlxDrawBaseItem ,__properties__: {get_numTriangles:"get_numTriangles",get_numVertices:"get_numVertices"} }; var flixel_graphics_tile_FlxDrawItemType = $hxEnums["flixel.graphics.tile.FlxDrawItemType"] = { __ename__ : "flixel.graphics.tile.FlxDrawItemType", __constructs__ : ["TILES","TRIANGLES"] ,TILES: {_hx_index:0,__enum__:"flixel.graphics.tile.FlxDrawItemType",toString:$estr} ,TRIANGLES: {_hx_index:1,__enum__:"flixel.graphics.tile.FlxDrawItemType",toString:$estr} }; var flixel_graphics_tile_FlxDrawQuadsItem = function() { flixel_graphics_tile_FlxDrawBaseItem.call(this); this.type = flixel_graphics_tile_FlxDrawItemType.TILES; this.rects = openfl__$Vector_Vector_$Impl_$.toFloatVector(null); this.transforms = openfl__$Vector_Vector_$Impl_$.toFloatVector(null); this.alphas = []; }; $hxClasses["flixel.graphics.tile.FlxDrawQuadsItem"] = flixel_graphics_tile_FlxDrawQuadsItem; flixel_graphics_tile_FlxDrawQuadsItem.__name__ = "flixel.graphics.tile.FlxDrawQuadsItem"; flixel_graphics_tile_FlxDrawQuadsItem.__super__ = flixel_graphics_tile_FlxDrawBaseItem; flixel_graphics_tile_FlxDrawQuadsItem.prototype = $extend(flixel_graphics_tile_FlxDrawBaseItem.prototype,{ shader: null ,rects: null ,transforms: null ,alphas: null ,colorMultipliers: null ,colorOffsets: null ,reset: function() { flixel_graphics_tile_FlxDrawBaseItem.prototype.reset.call(this); this.rects.set_length(0); this.transforms.set_length(0); this.alphas.splice(0,this.alphas.length); if(this.colorMultipliers != null) { this.colorMultipliers.splice(0,this.colorMultipliers.length); } if(this.colorOffsets != null) { this.colorOffsets.splice(0,this.colorOffsets.length); } } ,dispose: function() { flixel_graphics_tile_FlxDrawBaseItem.prototype.dispose.call(this); this.rects = null; this.transforms = null; this.alphas = null; this.colorMultipliers = null; this.colorOffsets = null; } ,addQuad: function(frame,matrix,transform) { var rect = frame.frame; this.rects.push(rect.x); this.rects.push(rect.y); this.rects.push(rect.width); this.rects.push(rect.height); this.transforms.push(matrix.a); this.transforms.push(matrix.b); this.transforms.push(matrix.c); this.transforms.push(matrix.d); this.transforms.push(matrix.tx); this.transforms.push(matrix.ty); this.alphas.push(transform != null ? transform.alphaMultiplier : 1.0); this.alphas.push(transform != null ? transform.alphaMultiplier : 1.0); this.alphas.push(transform != null ? transform.alphaMultiplier : 1.0); this.alphas.push(transform != null ? transform.alphaMultiplier : 1.0); if(this.colored || this.hasColorOffsets) { if(this.colorMultipliers == null) { this.colorMultipliers = []; } if(this.colorOffsets == null) { this.colorOffsets = []; } var _g = 0; while(_g < 4) { var i = _g++; if(transform != null) { this.colorMultipliers.push(transform.redMultiplier); this.colorMultipliers.push(transform.greenMultiplier); this.colorMultipliers.push(transform.blueMultiplier); this.colorOffsets.push(transform.redOffset); this.colorOffsets.push(transform.greenOffset); this.colorOffsets.push(transform.blueOffset); this.colorOffsets.push(transform.alphaOffset); } else { this.colorMultipliers.push(1); this.colorMultipliers.push(1); this.colorMultipliers.push(1); this.colorOffsets.push(0); this.colorOffsets.push(0); this.colorOffsets.push(0); this.colorOffsets.push(0); } this.colorMultipliers.push(1); } } } ,render: function(camera) { if(this.rects.get_length() == 0) { return; } var shader = this.shader != null ? this.shader : this.graphics.shader; shader.bitmap.input = this.graphics.bitmap; shader.bitmap.filter = camera.antialiasing || this.antialiasing ? 4 : 5; shader.alpha.value = this.alphas; if(this.colored || this.hasColorOffsets) { shader.colorMultiplier.value = this.colorMultipliers; shader.colorOffset.value = this.colorOffsets; } var parameter = shader.hasTransform; if(parameter.value == null) { parameter.value = []; } parameter.value[0] = true; var parameter1 = shader.hasColorTransform; if(parameter1.value == null) { parameter1.value = []; } parameter1.value[0] = this.colored || this.hasColorOffsets; camera.canvas.get_graphics().overrideBlendMode(this.blend); camera.canvas.get_graphics().beginShaderFill(shader); camera.canvas.get_graphics().drawQuads(this.rects,null,this.transforms); flixel_graphics_tile_FlxDrawBaseItem.prototype.render.call(this,camera); } ,setParameterValue: function(parameter,value) { if(parameter.value == null) { parameter.value = []; } parameter.value[0] = value; } ,__class__: flixel_graphics_tile_FlxDrawQuadsItem }); var flixel_graphics_tile_FlxDrawTrianglesItem = function() { var _this = flixel_math_FlxRect._pool.get(); _this.x = 0; _this.y = 0; _this.width = 0; _this.height = 0; _this._inPool = false; this.bounds = _this; this.colorsPosition = 0; this.indicesPosition = 0; this.verticesPosition = 0; this.colors = openfl__$Vector_Vector_$Impl_$.toIntVector(null); this.uvtData = openfl__$Vector_Vector_$Impl_$.toFloatVector(null); this.indices = openfl__$Vector_Vector_$Impl_$.toIntVector(null); this.vertices = openfl__$Vector_Vector_$Impl_$.toFloatVector(null); flixel_graphics_tile_FlxDrawBaseItem.call(this); this.type = flixel_graphics_tile_FlxDrawItemType.TRIANGLES; }; $hxClasses["flixel.graphics.tile.FlxDrawTrianglesItem"] = flixel_graphics_tile_FlxDrawTrianglesItem; flixel_graphics_tile_FlxDrawTrianglesItem.__name__ = "flixel.graphics.tile.FlxDrawTrianglesItem"; flixel_graphics_tile_FlxDrawTrianglesItem.inflateBounds = function(bounds,x,y) { if(x < bounds.x) { bounds.width += bounds.x - x; bounds.x = x; } if(y < bounds.y) { bounds.height += bounds.y - y; bounds.y = y; } if(x > bounds.x + bounds.width) { bounds.width = x - bounds.x; } if(y > bounds.y + bounds.height) { bounds.height = y - bounds.y; } return bounds; }; flixel_graphics_tile_FlxDrawTrianglesItem.__super__ = flixel_graphics_tile_FlxDrawBaseItem; flixel_graphics_tile_FlxDrawTrianglesItem.prototype = $extend(flixel_graphics_tile_FlxDrawBaseItem.prototype,{ vertices: null ,indices: null ,uvtData: null ,colors: null ,verticesPosition: null ,indicesPosition: null ,colorsPosition: null ,bounds: null ,render: function(camera) { if(!flixel_FlxG.renderTile) { return; } if(this.get_numTriangles() <= 0) { return; } var tmp = camera.antialiasing || this.antialiasing; camera.canvas.get_graphics().beginBitmapFill(this.graphics.bitmap,null,true,tmp); camera.canvas.get_graphics().drawTriangles(this.vertices,this.indices,this.uvtData,1); camera.canvas.get_graphics().endFill(); flixel_graphics_tile_FlxDrawBaseItem.prototype.render.call(this,camera); } ,reset: function() { flixel_graphics_tile_FlxDrawBaseItem.prototype.reset.call(this); this.vertices.splice(0,this.vertices.get_length()); this.indices.splice(0,this.indices.get_length()); this.uvtData.splice(0,this.uvtData.get_length()); this.colors.splice(0,this.colors.get_length()); this.verticesPosition = 0; this.indicesPosition = 0; this.colorsPosition = 0; } ,dispose: function() { flixel_graphics_tile_FlxDrawBaseItem.prototype.dispose.call(this); this.vertices = null; this.indices = null; this.uvtData = null; this.colors = null; this.bounds = null; } ,addTriangles: function(vertices,indices,uvtData,colors,position,cameraBounds) { if(position == null) { position = flixel_graphics_tile_FlxDrawTrianglesItem.point.set(); } if(cameraBounds == null) { var _this = flixel_graphics_tile_FlxDrawTrianglesItem.rect; var X = 0; var Y = 0; var Width = flixel_FlxG.width; var Height = flixel_FlxG.height; if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } _this.x = X; _this.y = Y; _this.width = Width; _this.height = Height; cameraBounds = _this; } var verticesLength = vertices.get_length(); var prevVerticesLength = this.vertices.get_length(); var numberOfVertices = verticesLength / 2 | 0; var prevIndicesLength = this.indices.get_length(); var prevUVTDataLength = this.uvtData.get_length(); var prevColorsLength = this.colors.get_length(); var prevNumberOfVertices = this.get_numVertices(); var tempX; var tempY; var i = 0; var currentVertexPosition = prevVerticesLength; while(i < verticesLength) { tempX = position.x + vertices.get(i); tempY = position.y + vertices.get(i + 1); this.vertices.set(currentVertexPosition++,tempX); this.vertices.set(currentVertexPosition++,tempY); if(i == 0) { var _this1 = this.bounds; var X1 = tempX; var Y1 = tempY; var Width1 = 0; var Height1 = 0; if(Height1 == null) { Height1 = 0; } if(Width1 == null) { Width1 = 0; } if(Y1 == null) { Y1 = 0; } if(X1 == null) { X1 = 0; } _this1.x = X1; _this1.y = Y1; _this1.width = Width1; _this1.height = Height1; } else { var bounds = this.bounds; if(tempX < bounds.x) { bounds.width += bounds.x - tempX; bounds.x = tempX; } if(tempY < bounds.y) { bounds.height += bounds.y - tempY; bounds.y = tempY; } if(tempX > bounds.x + bounds.width) { bounds.width = tempX - bounds.x; } if(tempY > bounds.y + bounds.height) { bounds.height = tempY - bounds.y; } } i += 2; } var Rect = this.bounds; var result = Rect.x + Rect.width > cameraBounds.x && Rect.x < cameraBounds.x + cameraBounds.width && Rect.y + Rect.height > cameraBounds.y && Rect.y < cameraBounds.y + cameraBounds.height; if(Rect._weak) { if(!Rect._inPool) { Rect._inPool = true; Rect._weak = false; flixel_math_FlxRect._pool.putUnsafe(Rect); } } if(!result) { this.vertices.splice(this.vertices.get_length() - verticesLength,verticesLength); } else { var uvtDataLength = uvtData.get_length(); var _g = 0; var _g1 = uvtDataLength; while(_g < _g1) { var i1 = _g++; this.uvtData.set(prevUVTDataLength + i1,uvtData.get(i1)); } var indicesLength = indices.get_length(); var _g2 = 0; var _g3 = indicesLength; while(_g2 < _g3) { var i2 = _g2++; this.indices.set(prevIndicesLength + i2,indices.get(i2) + prevNumberOfVertices); } if(this.colored) { var _g4 = 0; var _g5 = numberOfVertices; while(_g4 < _g5) { var i3 = _g4++; this.colors.set(prevColorsLength + i3,colors.get(i3)); } this.colorsPosition += numberOfVertices; } this.verticesPosition += verticesLength; this.indicesPosition += indicesLength; } if(position._weak) { position.put(); } if(cameraBounds._weak) { if(!cameraBounds._inPool) { cameraBounds._inPool = true; cameraBounds._weak = false; flixel_math_FlxRect._pool.putUnsafe(cameraBounds); } } } ,addQuad: function(frame,matrix,transform) { var prevVerticesPos = this.verticesPosition; var prevIndicesPos = this.indicesPosition; var prevColorsPos = this.colorsPosition; var prevNumberOfVertices = this.get_numVertices(); var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; var point1 = point; var x1 = point1.x * matrix.a + point1.y * matrix.c + matrix.tx; var y1 = point1.x * matrix.b + point1.y * matrix.d + matrix.ty; point1.set(x1,y1); this.vertices.set(prevVerticesPos,point1.x); this.vertices.set(prevVerticesPos + 1,point1.y); this.uvtData.set(prevVerticesPos,frame.uv.x); this.uvtData.set(prevVerticesPos + 1,frame.uv.y); point1.set(frame.frame.width,0); var x11 = point1.x * matrix.a + point1.y * matrix.c + matrix.tx; var y11 = point1.x * matrix.b + point1.y * matrix.d + matrix.ty; point1.set(x11,y11); this.vertices.set(prevVerticesPos + 2,point1.x); this.vertices.set(prevVerticesPos + 3,point1.y); this.uvtData.set(prevVerticesPos + 2,frame.uv.width); this.uvtData.set(prevVerticesPos + 3,frame.uv.y); point1.set(frame.frame.width,frame.frame.height); var x12 = point1.x * matrix.a + point1.y * matrix.c + matrix.tx; var y12 = point1.x * matrix.b + point1.y * matrix.d + matrix.ty; point1.set(x12,y12); this.vertices.set(prevVerticesPos + 4,point1.x); this.vertices.set(prevVerticesPos + 5,point1.y); this.uvtData.set(prevVerticesPos + 4,frame.uv.width); this.uvtData.set(prevVerticesPos + 5,frame.uv.height); point1.set(0,frame.frame.height); var x13 = point1.x * matrix.a + point1.y * matrix.c + matrix.tx; var y13 = point1.x * matrix.b + point1.y * matrix.d + matrix.ty; point1.set(x13,y13); this.vertices.set(prevVerticesPos + 6,point1.x); this.vertices.set(prevVerticesPos + 7,point1.y); point1.put(); this.uvtData.set(prevVerticesPos + 6,frame.uv.x); this.uvtData.set(prevVerticesPos + 7,frame.uv.height); this.indices.set(prevIndicesPos,prevNumberOfVertices); this.indices.set(prevIndicesPos + 1,prevNumberOfVertices + 1); this.indices.set(prevIndicesPos + 2,prevNumberOfVertices + 2); this.indices.set(prevIndicesPos + 3,prevNumberOfVertices + 2); this.indices.set(prevIndicesPos + 4,prevNumberOfVertices + 3); this.indices.set(prevIndicesPos + 5,prevNumberOfVertices); if(this.colored) { var red = 1.0; var green = 1.0; var blue = 1.0; var alpha = 1.0; if(transform != null) { red = transform.redMultiplier; green = transform.greenMultiplier; blue = transform.blueMultiplier; alpha = transform.alphaMultiplier; } var Alpha = alpha; if(Alpha == null) { Alpha = 1; } var color = flixel_util__$FlxColor_FlxColor_$Impl_$._new(); var Alpha1 = Alpha; if(Alpha1 == null) { Alpha1 = 1; } var Value = Math.round(red * 255); color &= -16711681; color |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16; var Value1 = Math.round(green * 255); color &= -65281; color |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 8; var Value2 = Math.round(blue * 255); color &= -256; color |= Value2 > 255 ? 255 : Value2 < 0 ? 0 : Value2; var Value3 = Math.round(Alpha1 * 255); color &= 16777215; color |= (Value3 > 255 ? 255 : Value3 < 0 ? 0 : Value3) << 24; var color1 = color; this.colors.set(prevColorsPos,color1); this.colors.set(prevColorsPos + 1,color1); this.colors.set(prevColorsPos + 2,color1); this.colors.set(prevColorsPos + 3,color1); this.colorsPosition += 4; } this.verticesPosition += 8; this.indicesPosition += 6; } ,get_numVertices: function() { return this.vertices.get_length() / 2 | 0; } ,get_numTriangles: function() { return this.indices.get_length() / 3 | 0; } ,__class__: flixel_graphics_tile_FlxDrawTrianglesItem }); var flixel_group_FlxTypedGroupIterator = function(GroupMembers,filter) { this._groupMembers = GroupMembers; this._filter = filter; this._cursor = 0; this._length = this._groupMembers.length; }; $hxClasses["flixel.group.FlxTypedGroupIterator"] = flixel_group_FlxTypedGroupIterator; flixel_group_FlxTypedGroupIterator.__name__ = "flixel.group.FlxTypedGroupIterator"; flixel_group_FlxTypedGroupIterator.prototype = { _groupMembers: null ,_filter: null ,_cursor: null ,_length: null ,next: function() { if(this.hasNext()) { return this._groupMembers[this._cursor++]; } else { return null; } } ,hasNext: function() { while(this._cursor < this._length && (this._groupMembers[this._cursor] == null || this._filter != null && !this._filter(this._groupMembers[this._cursor]))) this._cursor++; return this._cursor < this._length; } ,__class__: flixel_group_FlxTypedGroupIterator }; var flixel_input_FlxAccelerometer = function() { this.z = 0; this.y = 0; this.x = 0; if(openfl_sensors_Accelerometer.get_isSupported()) { this._sensor = new openfl_sensors_Accelerometer(); this._sensor.addEventListener("update",$bind(this,this.update)); } }; $hxClasses["flixel.input.FlxAccelerometer"] = flixel_input_FlxAccelerometer; flixel_input_FlxAccelerometer.__name__ = "flixel.input.FlxAccelerometer"; flixel_input_FlxAccelerometer.prototype = { x: null ,y: null ,z: null ,_sensor: null ,get_isSupported: function() { return openfl_sensors_Accelerometer.get_isSupported(); } ,update: function(Event1) { this.x = Event1.accelerationX; this.y = Event1.accelerationY; this.z = Event1.accelerationZ; this.x /= 10; this.y /= 10; this.z /= 10; } ,__class__: flixel_input_FlxAccelerometer ,__properties__: {get_isSupported:"get_isSupported"} }; var flixel_input_FlxBaseKeyList = function(status,keyManager) { this.status = status; this.keyManager = keyManager; }; $hxClasses["flixel.input.FlxBaseKeyList"] = flixel_input_FlxBaseKeyList; flixel_input_FlxBaseKeyList.__name__ = "flixel.input.FlxBaseKeyList"; flixel_input_FlxBaseKeyList.prototype = { status: null ,keyManager: null ,check: function(keyCode) { return this.keyManager.checkStatus(keyCode,this.status); } ,get_ANY: function() { var _g = 0; var _g1 = this.keyManager._keyListArray; while(_g < _g1.length) { var key = _g1[_g]; ++_g; if(key != null && this.keyManager.checkStatus(key.ID,this.status)) { return true; } } return false; } ,get_NONE: function() { var _g = 0; var _g1 = this.keyManager._keyListArray; while(_g < _g1.length) { var key = _g1[_g]; ++_g; if(key != null && this.keyManager.checkStatus(key.ID,this.status)) { return false; } } return true; } ,__class__: flixel_input_FlxBaseKeyList ,__properties__: {get_NONE:"get_NONE",get_ANY:"get_ANY"} }; var flixel_input_FlxInput = function(ID) { this.last = 0; this.current = 0; this.ID = ID; }; $hxClasses["flixel.input.FlxInput"] = flixel_input_FlxInput; flixel_input_FlxInput.__name__ = "flixel.input.FlxInput"; flixel_input_FlxInput.__interfaces__ = [flixel_input_IFlxInput]; flixel_input_FlxInput.prototype = { ID: null ,current: null ,last: null ,press: function() { this.last = this.current; this.current = this.current == 1 || this.current == 2 ? 1 : 2; } ,release: function() { this.last = this.current; this.current = this.current == 1 || this.current == 2 ? -1 : 0; } ,update: function() { if(this.last == -1 && this.current == -1) { this.current = 0; } else if(this.last == 2 && this.current == 2) { this.current = 1; } this.last = this.current; } ,reset: function() { this.current = 0; this.last = 0; } ,hasState: function(state) { switch(state) { case -1: return this.current == -1; case 0: if(this.current != 0) { return this.current == -1; } else { return true; } break; case 1: if(this.current != 1) { return this.current == 2; } else { return true; } break; case 2: return this.current == 2; } } ,get_justReleased: function() { return this.current == -1; } ,get_released: function() { if(this.current != 0) { return this.current == -1; } else { return true; } } ,get_pressed: function() { if(this.current != 1) { return this.current == 2; } else { return true; } } ,get_justPressed: function() { return this.current == 2; } ,__class__: flixel_input_FlxInput ,__properties__: {get_justPressed:"get_justPressed",get_pressed:"get_pressed",get_released:"get_released",get_justReleased:"get_justReleased"} }; var flixel_input_FlxKeyManager = function(createKeyList) { this._keyListMap = new haxe_ds_IntMap(); this._keyListArray = []; this.preventDefaultKeys = []; this.enabled = true; openfl_Lib.get_current().stage.addEventListener("keyDown",$bind(this,this.onKeyDown)); openfl_Lib.get_current().stage.addEventListener("keyUp",$bind(this,this.onKeyUp)); this.pressed = createKeyList(1,this); this.released = createKeyList(0,this); this.justPressed = createKeyList(2,this); this.justReleased = createKeyList(-1,this); }; $hxClasses["flixel.input.FlxKeyManager"] = flixel_input_FlxKeyManager; flixel_input_FlxKeyManager.__name__ = "flixel.input.FlxKeyManager"; flixel_input_FlxKeyManager.__interfaces__ = [flixel_input_IFlxInputManager]; flixel_input_FlxKeyManager.prototype = { enabled: null ,preventDefaultKeys: null ,pressed: null ,justPressed: null ,released: null ,justReleased: null ,_keyListArray: null ,_keyListMap: null ,anyPressed: function(KeyArray) { return this.checkKeyArrayState(KeyArray,1); } ,anyJustPressed: function(KeyArray) { return this.checkKeyArrayState(KeyArray,2); } ,anyJustReleased: function(KeyArray) { return this.checkKeyArrayState(KeyArray,-1); } ,firstPressed: function() { var _g = 0; var _g1 = this._keyListArray; while(_g < _g1.length) { var key = _g1[_g]; ++_g; if(key != null && (key.current == 1 || key.current == 2)) { return key.ID; } } return -1; } ,firstJustPressed: function() { var _g = 0; var _g1 = this._keyListArray; while(_g < _g1.length) { var key = _g1[_g]; ++_g; if(key != null && key.current == 2) { return key.ID; } } return -1; } ,firstJustReleased: function() { var _g = 0; var _g1 = this._keyListArray; while(_g < _g1.length) { var key = _g1[_g]; ++_g; if(key != null && key.current == -1) { return key.ID; } } return -1; } ,checkStatus: function(KeyCode,Status) { switch(KeyCode) { case -2: switch(Status) { case -1: return this.justReleased.get_ANY(); case 0: return this.released.get_ANY(); case 1: return this.pressed.get_ANY(); case 2: return this.justPressed.get_ANY(); } break; case -1: switch(Status) { case -1: return this.justReleased.get_NONE(); case 0: return this.released.get_NONE(); case 1: return this.pressed.get_NONE(); case 2: return this.justPressed.get_NONE(); } break; default: var key = this._keyListMap.h[KeyCode]; if(key == null) { return false; } return key.hasState(Status); } } ,getIsDown: function() { var keysDown = []; var _g = 0; var _g1 = this._keyListArray; while(_g < _g1.length) { var key = _g1[_g]; ++_g; if(key != null && (key.current == 1 || key.current == 2)) { keysDown.push(key); } } return keysDown; } ,destroy: function() { this._keyListArray = null; this._keyListMap = null; } ,reset: function() { var _g = 0; var _g1 = this._keyListArray; while(_g < _g1.length) { var key = _g1[_g]; ++_g; if(key != null) { key.release(); } } } ,update: function() { var _g = 0; var _g1 = this._keyListArray; while(_g < _g1.length) { var key = _g1[_g]; ++_g; if(key != null) { key.update(); } } } ,checkKeyArrayState: function(KeyArray,State) { if(KeyArray == null) { return false; } var _g = 0; while(_g < KeyArray.length) { var code = KeyArray[_g]; ++_g; if(this.checkStatus(code,State)) { return true; } } return false; } ,onKeyUp: function(event) { var c = this.resolveKeyCode(event); this.handlePreventDefaultKeys(c,event); if(this.enabled) { var key = this._keyListMap.h[c]; if(key != null) { key.release(); } } } ,onKeyDown: function(event) { var c = this.resolveKeyCode(event); this.handlePreventDefaultKeys(c,event); if(this.enabled) { var key = this._keyListMap.h[c]; if(key != null) { key.press(); } } } ,handlePreventDefaultKeys: function(keyCode,event) { var key = this._keyListMap.h[keyCode]; if(key != null && this.preventDefaultKeys != null && this.preventDefaultKeys.indexOf(key.ID) != -1) { event.stopImmediatePropagation(); event.stopPropagation(); event.preventDefault(); } } ,inKeyArray: function(KeyArray,Event1) { if(KeyArray == null) { return false; } else { var code = this.resolveKeyCode(Event1); var _g = 0; while(_g < KeyArray.length) { var key = KeyArray[_g]; ++_g; if(key == code || key == -2) { return true; } } } return false; } ,resolveKeyCode: function(e) { return e.keyCode; } ,updateKeyStates: function(KeyCode,Down) { var key = this._keyListMap.h[KeyCode]; if(key != null) { if(Down) { key.press(); } else { key.release(); } } } ,onFocus: function() { } ,onFocusLost: function() { this.reset(); } ,getKey: function(KeyCode) { return this._keyListMap.h[KeyCode]; } ,__class__: flixel_input_FlxKeyManager }; var flixel_input_FlxSwipe = function(ID,StartPosition,EndPosition,StartTimeInTicks) { this.ID = ID; this.startPosition = StartPosition; this.endPosition = EndPosition; this._startTimeInTicks = StartTimeInTicks; this._endTimeInTicks = flixel_FlxG.game.ticks; }; $hxClasses["flixel.input.FlxSwipe"] = flixel_input_FlxSwipe; flixel_input_FlxSwipe.__name__ = "flixel.input.FlxSwipe"; flixel_input_FlxSwipe.prototype = { ID: null ,startPosition: null ,endPosition: null ,_startTimeInTicks: null ,_endTimeInTicks: null ,toString: function() { var value = this.ID; var _this = flixel_util_LabelValuePair._pool.get(); _this.label = "ID"; _this.value = value; var value1 = this.startPosition; var _this1 = flixel_util_LabelValuePair._pool.get(); _this1.label = "start"; _this1.value = value1; var value2 = this.endPosition; var _this2 = flixel_util_LabelValuePair._pool.get(); _this2.label = "end"; _this2.value = value2; var dx = this.startPosition.x - this.endPosition.x; var dy = this.startPosition.y - this.endPosition.y; var value3 = Math.sqrt(dx * dx + dy * dy); var _this3 = flixel_util_LabelValuePair._pool.get(); _this3.label = "distance"; _this3.value = value3; var value4 = this.startPosition.angleBetween(this.endPosition); var _this4 = flixel_util_LabelValuePair._pool.get(); _this4.label = "angle"; _this4.value = value4; var value5 = (this._endTimeInTicks - this._startTimeInTicks) / 1000; var _this5 = flixel_util_LabelValuePair._pool.get(); _this5.label = "duration"; _this5.value = value5; return flixel_util_FlxStringUtil.getDebugString([_this,_this1,_this2,_this3,_this4,_this5]); } ,get_distance: function() { var dx = this.startPosition.x - this.endPosition.x; var dy = this.startPosition.y - this.endPosition.y; return Math.sqrt(dx * dx + dy * dy); } ,get_angle: function() { return this.startPosition.angleBetween(this.endPosition); } ,get_duration: function() { return (this._endTimeInTicks - this._startTimeInTicks) / 1000; } ,__class__: flixel_input_FlxSwipe ,__properties__: {get_duration:"get_duration",get_angle:"get_angle",get_distance:"get_distance"} }; var flixel_input_actions_FlxAction = function(InputType,Name) { this.steamOriginsChanged = false; this._checked = false; this._timestamp = 0; this._y = null; this._x = null; this.triggered = false; this.steamHandle = -1; this.type = InputType; this.name = Name; this.inputs = []; }; $hxClasses["flixel.input.actions.FlxAction"] = flixel_input_actions_FlxAction; flixel_input_actions_FlxAction.__name__ = "flixel.input.actions.FlxAction"; flixel_input_actions_FlxAction.__interfaces__ = [flixel_util_IFlxDestroyable]; flixel_input_actions_FlxAction.prototype = { type: null ,name: null ,steamHandle: null ,triggered: null ,inputs: null ,_x: null ,_y: null ,_timestamp: null ,_checked: null ,steamOriginsChanged: null ,getFirstSteamOrigin: function() { return 0; } ,getSteamOrigins: function(origins) { return origins; } ,removeAll: function(Destroy) { if(Destroy == null) { Destroy = true; } var len = this.inputs.length; var _g = 0; var _g1 = len; while(_g < _g1) { var i = _g++; var j = len - i - 1; var input = this.inputs[j]; this.remove(input,Destroy); this.inputs.splice(j,1); } } ,remove: function(Input,Destroy) { if(Destroy == null) { Destroy = false; } if(Input == null) { return; } HxOverrides.remove(this.inputs,Input); if(Destroy) { Input.destroy(); } } ,toString: function() { return "FlxAction(" + Std.string(this.type) + ") name:" + this.name; } ,check: function() { this._x = null; this._y = null; if(this._timestamp == flixel_FlxG.game.ticks) { this.triggered = this._checked; return this._checked; } this._timestamp = flixel_FlxG.game.ticks; this._checked = false; var len = this.inputs != null ? this.inputs.length : 0; var _g = 0; var _g1 = len; while(_g < _g1) { var i = _g++; var j = len - i - 1; var input = this.inputs[j]; if(input.destroyed) { this.inputs.splice(j,1); continue; } input.update(); if(input.check(this)) { this._checked = true; } } this.triggered = this._checked; return this._checked; } ,update: function() { this.check(); } ,destroy: function() { flixel_util_FlxDestroyUtil.destroyArray(this.inputs); this.inputs = null; } ,match: function(other) { if(this.name == other.name) { return this.steamHandle == other.steamHandle; } else { return false; } } ,addGenericInput: function(input) { if(this.inputs == null) { this.inputs = []; } if(!this.checkExists(input)) { this.inputs.push(input); } return this; } ,checkExists: function(input) { if(this.inputs == null) { return false; } return this.inputs.indexOf(input) != -1; } ,__class__: flixel_input_actions_FlxAction }; var flixel_input_actions_FlxActionDigital = function(Name,Callback) { if(Name == null) { Name = ""; } flixel_input_actions_FlxAction.call(this,flixel_input_actions_FlxInputType.DIGITAL,Name); this.callback = Callback; }; $hxClasses["flixel.input.actions.FlxActionDigital"] = flixel_input_actions_FlxActionDigital; flixel_input_actions_FlxActionDigital.__name__ = "flixel.input.actions.FlxActionDigital"; flixel_input_actions_FlxActionDigital.__super__ = flixel_input_actions_FlxAction; flixel_input_actions_FlxActionDigital.prototype = $extend(flixel_input_actions_FlxAction.prototype,{ callback: null ,add: function(input) { this.addGenericInput(input); return this; } ,addInput: function(Input,Trigger) { return this.add(new flixel_input_actions_FlxActionInputDigitalIFlxInput(Input,Trigger)); } ,addGamepad: function(InputID,Trigger,GamepadID) { if(GamepadID == null) { GamepadID = -2; } return this.add(new flixel_input_actions_FlxActionInputDigitalGamepad(InputID,Trigger,GamepadID)); } ,addKey: function(Key,Trigger) { return this.add(new flixel_input_actions_FlxActionInputDigitalKeyboard(Key,Trigger)); } ,addMouse: function(ButtonID,Trigger) { return this.add(new flixel_input_actions_FlxActionInputDigitalMouse(ButtonID,Trigger)); } ,addMouseWheel: function(Positive,Trigger) { return this.add(new flixel_input_actions_FlxActionInputDigitalMouseWheel(Positive,Trigger)); } ,destroy: function() { this.callback = null; flixel_input_actions_FlxAction.prototype.destroy.call(this); } ,check: function() { var val = flixel_input_actions_FlxAction.prototype.check.call(this); if(val && this.callback != null) { this.callback(this); } return val; } ,__class__: flixel_input_actions_FlxActionDigital }); var flixel_input_actions_FlxActionAnalog = function(Name,Callback) { if(Name == null) { Name = ""; } flixel_input_actions_FlxAction.call(this,flixel_input_actions_FlxInputType.ANALOG,Name); this.callback = Callback; }; $hxClasses["flixel.input.actions.FlxActionAnalog"] = flixel_input_actions_FlxActionAnalog; flixel_input_actions_FlxActionAnalog.__name__ = "flixel.input.actions.FlxActionAnalog"; flixel_input_actions_FlxActionAnalog.__super__ = flixel_input_actions_FlxAction; flixel_input_actions_FlxActionAnalog.prototype = $extend(flixel_input_actions_FlxAction.prototype,{ callback: null ,add: function(input) { this.addGenericInput(input); return this; } ,addMouseClickAndDragMotion: function(ButtonID,Trigger,Axis,PixelsPerUnit,DeadZone,InvertY,InvertX) { if(InvertX == null) { InvertX = false; } if(InvertY == null) { InvertY = false; } if(DeadZone == null) { DeadZone = 0.1; } if(PixelsPerUnit == null) { PixelsPerUnit = 10; } if(Axis == null) { Axis = 3; } return this.add(new flixel_input_actions_FlxActionInputAnalogClickAndDragMouseMotion(ButtonID,Trigger,Axis,PixelsPerUnit,DeadZone,InvertY,InvertX)); } ,addMouseMotion: function(Trigger,Axis,PixelsPerUnit,DeadZone,InvertY,InvertX) { if(InvertX == null) { InvertX = false; } if(InvertY == null) { InvertY = false; } if(DeadZone == null) { DeadZone = 0.1; } if(PixelsPerUnit == null) { PixelsPerUnit = 10; } if(Axis == null) { Axis = 3; } return this.add(new flixel_input_actions_FlxActionInputAnalogMouseMotion(Trigger,Axis,PixelsPerUnit,DeadZone,InvertY,InvertX)); } ,addMousePosition: function(Trigger,Axis) { if(Axis == null) { Axis = 3; } return this.add(new flixel_input_actions_FlxActionInputAnalogMousePosition(Trigger,Axis)); } ,addGamepad: function(InputID,Trigger,Axis,GamepadID) { if(GamepadID == null) { GamepadID = -2; } if(Axis == null) { Axis = 3; } return this.add(new flixel_input_actions_FlxActionInputAnalogGamepad(InputID,Trigger,Axis,GamepadID)); } ,update: function() { this._x = null; this._y = null; flixel_input_actions_FlxAction.prototype.update.call(this); } ,destroy: function() { this.callback = null; flixel_input_actions_FlxAction.prototype.destroy.call(this); } ,toString: function() { return "FlxAction(" + Std.string(this.type) + ") name:" + this.name + " x/y:" + this._x + "," + this._y; } ,check: function() { var val = flixel_input_actions_FlxAction.prototype.check.call(this); if(val && this.callback != null) { this.callback(this); } return val; } ,get_x: function() { if(this._x != null) { return this._x; } else { return 0; } } ,get_y: function() { if(this._y != null) { return this._y; } else { return 0; } } ,__class__: flixel_input_actions_FlxActionAnalog ,__properties__: {get_y:"get_y",get_x:"get_x"} }); var flixel_input_actions_FlxActionInput = function(InputType,Device1,InputID,Trigger,DeviceID) { if(DeviceID == null) { DeviceID = -2; } this.destroyed = false; this.type = InputType; this.device = Device1; this.inputID = InputID; this.trigger = Trigger; this.deviceID = DeviceID; }; $hxClasses["flixel.input.actions.FlxActionInput"] = flixel_input_actions_FlxActionInput; flixel_input_actions_FlxActionInput.__name__ = "flixel.input.actions.FlxActionInput"; flixel_input_actions_FlxActionInput.__interfaces__ = [flixel_util_IFlxDestroyable]; flixel_input_actions_FlxActionInput.prototype = { type: null ,device: null ,deviceID: null ,destroyed: null ,inputID: null ,trigger: null ,update: function() { } ,destroy: function() { this.destroyed = true; } ,check: function(action) { return false; } ,compareState: function(condition,state) { switch(condition) { case -1: return state == -1; case 0: if(state != 0) { return state == -1; } else { return true; } break; case 1: if(state != 1) { return state == 2; } else { return true; } break; case 2: return state == 2; default: return false; } } ,__class__: flixel_input_actions_FlxActionInput }; var flixel_input_actions_FlxInputType = $hxEnums["flixel.input.actions.FlxInputType"] = { __ename__ : "flixel.input.actions.FlxInputType", __constructs__ : ["DIGITAL","ANALOG"] ,DIGITAL: {_hx_index:0,__enum__:"flixel.input.actions.FlxInputType",toString:$estr} ,ANALOG: {_hx_index:1,__enum__:"flixel.input.actions.FlxInputType",toString:$estr} }; var flixel_input_actions_FlxInputDevice = $hxEnums["flixel.input.actions.FlxInputDevice"] = { __ename__ : "flixel.input.actions.FlxInputDevice", __constructs__ : ["UNKNOWN","MOUSE","MOUSE_WHEEL","KEYBOARD","GAMEPAD","STEAM_CONTROLLER","IFLXINPUT_OBJECT","OTHER","ALL","NONE"] ,UNKNOWN: {_hx_index:0,__enum__:"flixel.input.actions.FlxInputDevice",toString:$estr} ,MOUSE: {_hx_index:1,__enum__:"flixel.input.actions.FlxInputDevice",toString:$estr} ,MOUSE_WHEEL: {_hx_index:2,__enum__:"flixel.input.actions.FlxInputDevice",toString:$estr} ,KEYBOARD: {_hx_index:3,__enum__:"flixel.input.actions.FlxInputDevice",toString:$estr} ,GAMEPAD: {_hx_index:4,__enum__:"flixel.input.actions.FlxInputDevice",toString:$estr} ,STEAM_CONTROLLER: {_hx_index:5,__enum__:"flixel.input.actions.FlxInputDevice",toString:$estr} ,IFLXINPUT_OBJECT: {_hx_index:6,__enum__:"flixel.input.actions.FlxInputDevice",toString:$estr} ,OTHER: {_hx_index:7,__enum__:"flixel.input.actions.FlxInputDevice",toString:$estr} ,ALL: {_hx_index:8,__enum__:"flixel.input.actions.FlxInputDevice",toString:$estr} ,NONE: {_hx_index:9,__enum__:"flixel.input.actions.FlxInputDevice",toString:$estr} }; var flixel_input_actions_FlxInputDeviceID = function() { }; $hxClasses["flixel.input.actions.FlxInputDeviceID"] = flixel_input_actions_FlxInputDeviceID; flixel_input_actions_FlxInputDeviceID.__name__ = "flixel.input.actions.FlxInputDeviceID"; var flixel_input_actions_FlxInputDeviceObject = function(Device1,ID,Model) { if(Model == null) { Model = ""; } this.device = Device1; this.id = ID; this.model = Model; }; $hxClasses["flixel.input.actions.FlxInputDeviceObject"] = flixel_input_actions_FlxInputDeviceObject; flixel_input_actions_FlxInputDeviceObject.__name__ = "flixel.input.actions.FlxInputDeviceObject"; flixel_input_actions_FlxInputDeviceObject.prototype = { device: null ,id: null ,model: null ,toString: function() { return "{device:" + Std.string(this.device) + ",id:" + this.id + ",model:" + this.model + "}"; } ,__class__: flixel_input_actions_FlxInputDeviceObject }; var flixel_input_actions_FlxActionInputAnalog = function(Device1,InputID,Trigger,Axis,DeviceID) { if(DeviceID == null) { DeviceID = -2; } if(Axis == null) { Axis = 3; } this.y = 0; this.x = 0; flixel_input_actions_FlxActionInput.call(this,flixel_input_actions_FlxInputType.ANALOG,Device1,InputID,Trigger,DeviceID); this.axis = Axis; this.xMoved = new flixel_input_FlxInput(0); this.yMoved = new flixel_input_FlxInput(1); }; $hxClasses["flixel.input.actions.FlxActionInputAnalog"] = flixel_input_actions_FlxActionInputAnalog; flixel_input_actions_FlxActionInputAnalog.__name__ = "flixel.input.actions.FlxActionInputAnalog"; flixel_input_actions_FlxActionInputAnalog.__super__ = flixel_input_actions_FlxActionInput; flixel_input_actions_FlxActionInputAnalog.prototype = $extend(flixel_input_actions_FlxActionInput.prototype,{ axis: null ,x: null ,y: null ,xMoved: null ,yMoved: null ,check: function(Action1) { var returnVal; switch(this.axis) { case 0: var state = this.xMoved.current; switch(this.trigger) { case -1: returnVal = state == -1; break; case 0: returnVal = state == 0 || state == -1; break; case 1: returnVal = state == 1 || state == 2; break; case 2: returnVal = state == 2; break; default: returnVal = false; } break; case 1: var state1 = this.yMoved.current; switch(this.trigger) { case -1: returnVal = state1 == -1; break; case 0: returnVal = state1 == 0 || state1 == -1; break; case 1: returnVal = state1 == 1 || state1 == 2; break; case 2: returnVal = state1 == 2; break; default: returnVal = false; } break; case 2: var state2 = this.xMoved.current; var returnVal1; switch(this.trigger) { case -1: returnVal1 = state2 == -1; break; case 0: returnVal1 = state2 == 0 || state2 == -1; break; case 1: returnVal1 = state2 == 1 || state2 == 2; break; case 2: returnVal1 = state2 == 2; break; default: returnVal1 = false; } if(returnVal1) { var state3 = this.yMoved.current; switch(this.trigger) { case -1: returnVal = state3 == -1; break; case 0: returnVal = state3 == 0 || state3 == -1; break; case 1: returnVal = state3 == 1 || state3 == 2; break; case 2: returnVal = state3 == 2; break; default: returnVal = false; } } else { returnVal = false; } break; case 3: switch(this.trigger) { case -1: returnVal = this.checkAxis(true,-1) && this.checkAxis(false,0) || this.checkAxis(true,0) && this.checkAxis(false,-1); break; case 0: returnVal = this.checkAxis(true,0) || this.checkAxis(false,0); break; case 1: returnVal = this.checkAxis(true,1) || this.checkAxis(false,1); break; case 2: returnVal = this.checkAxis(true,2) && this.checkAxis(false,2) || this.checkAxis(true,2) && this.checkAxis(false,0) || this.checkAxis(true,0) && this.checkAxis(false,2); break; } break; } if(returnVal) { if(Action1._x == null) { Action1._x = this.x; } if(Action1._y == null) { Action1._y = this.y; } } return returnVal; } ,checkAxis: function(isX,state) { var input = isX ? this.xMoved : this.yMoved; var state1 = input.current; switch(state) { case -1: return state1 == -1; case 0: if(state1 != 0) { return state1 == -1; } else { return true; } break; case 1: if(state1 != 1) { return state1 == 2; } else { return true; } break; case 2: return state1 == 2; default: return false; } } ,updateValues: function(X,Y) { if(X != 0) { this.xMoved.press(); } else { this.xMoved.release(); } if(Y != 0) { this.yMoved.press(); } else { this.yMoved.release(); } this.x = X; this.y = Y; } ,__class__: flixel_input_actions_FlxActionInputAnalog }); var flixel_input_actions_FlxActionInputAnalogMouseMotion = function(Trigger,Axis,PixelsPerUnit,DeadZone,InvertY,InvertX) { if(InvertX == null) { InvertX = false; } if(InvertY == null) { InvertY = false; } if(DeadZone == null) { DeadZone = 0.1; } if(PixelsPerUnit == null) { PixelsPerUnit = 10; } if(Axis == null) { Axis = 3; } this.lastY = 0; this.lastX = 0; this.pixelsPerUnit = PixelsPerUnit; if(this.pixelsPerUnit < 1) { this.pixelsPerUnit = 1; } this.deadZone = DeadZone; this.invertX = InvertX; this.invertY = InvertY; flixel_input_actions_FlxActionInputAnalog.call(this,flixel_input_actions_FlxInputDevice.MOUSE,-1,Trigger,Axis); }; $hxClasses["flixel.input.actions.FlxActionInputAnalogMouseMotion"] = flixel_input_actions_FlxActionInputAnalogMouseMotion; flixel_input_actions_FlxActionInputAnalogMouseMotion.__name__ = "flixel.input.actions.FlxActionInputAnalogMouseMotion"; flixel_input_actions_FlxActionInputAnalogMouseMotion.__super__ = flixel_input_actions_FlxActionInputAnalog; flixel_input_actions_FlxActionInputAnalogMouseMotion.prototype = $extend(flixel_input_actions_FlxActionInputAnalog.prototype,{ lastX: null ,lastY: null ,pixelsPerUnit: null ,deadZone: null ,invertX: null ,invertY: null ,update: function() { this.updateXYPosition(flixel_FlxG.mouse.x,flixel_FlxG.mouse.y); } ,updateXYPosition: function(X,Y) { var xDiff = X - this.lastX; var yDiff = Y - this.lastY; this.lastX = X; this.lastY = Y; if(this.invertX) { xDiff *= -1; } if(this.invertY) { yDiff *= -1; } xDiff /= this.pixelsPerUnit; yDiff /= this.pixelsPerUnit; if(Math.abs(xDiff) < this.deadZone) { xDiff = 0; } if(Math.abs(yDiff) < this.deadZone) { yDiff = 0; } this.updateValues(xDiff,yDiff); } ,__class__: flixel_input_actions_FlxActionInputAnalogMouseMotion }); var flixel_input_actions_FlxActionInputAnalogClickAndDragMouseMotion = function(ButtonID,Trigger,Axis,PixelsPerUnit,DeadZone,InvertY,InvertX) { if(InvertX == null) { InvertX = false; } if(InvertY == null) { InvertY = false; } if(DeadZone == null) { DeadZone = 0.1; } if(PixelsPerUnit == null) { PixelsPerUnit = 10; } if(Axis == null) { Axis = 3; } flixel_input_actions_FlxActionInputAnalogMouseMotion.call(this,Trigger,Axis,PixelsPerUnit,DeadZone,InvertY,InvertX); this.button = ButtonID; }; $hxClasses["flixel.input.actions.FlxActionInputAnalogClickAndDragMouseMotion"] = flixel_input_actions_FlxActionInputAnalogClickAndDragMouseMotion; flixel_input_actions_FlxActionInputAnalogClickAndDragMouseMotion.__name__ = "flixel.input.actions.FlxActionInputAnalogClickAndDragMouseMotion"; flixel_input_actions_FlxActionInputAnalogClickAndDragMouseMotion.__super__ = flixel_input_actions_FlxActionInputAnalogMouseMotion; flixel_input_actions_FlxActionInputAnalogClickAndDragMouseMotion.prototype = $extend(flixel_input_actions_FlxActionInputAnalogMouseMotion.prototype,{ button: null ,updateValues: function(X,Y) { var pass = false; switch(this.button) { case -3: var _this = flixel_FlxG.mouse._rightButton; pass = _this.current == 1 || _this.current == 2; break; case -2: var _this1 = flixel_FlxG.mouse._middleButton; pass = _this1.current == 1 || _this1.current == 2; break; case -1: var _this2 = flixel_FlxG.mouse._leftButton; pass = _this2.current == 1 || _this2.current == 2; break; } if(!pass) { X = 0; Y = 0; } flixel_input_actions_FlxActionInputAnalogMouseMotion.prototype.updateValues.call(this,X,Y); } ,__class__: flixel_input_actions_FlxActionInputAnalogClickAndDragMouseMotion }); var flixel_input_actions_FlxActionInputAnalogMousePosition = function(Trigger,Axis) { if(Axis == null) { Axis = 3; } flixel_input_actions_FlxActionInputAnalog.call(this,flixel_input_actions_FlxInputDevice.MOUSE,-1,Trigger,Axis); }; $hxClasses["flixel.input.actions.FlxActionInputAnalogMousePosition"] = flixel_input_actions_FlxActionInputAnalogMousePosition; flixel_input_actions_FlxActionInputAnalogMousePosition.__name__ = "flixel.input.actions.FlxActionInputAnalogMousePosition"; flixel_input_actions_FlxActionInputAnalogMousePosition.__super__ = flixel_input_actions_FlxActionInputAnalog; flixel_input_actions_FlxActionInputAnalogMousePosition.prototype = $extend(flixel_input_actions_FlxActionInputAnalog.prototype,{ update: function() { this.updateValues(flixel_FlxG.mouse.x,flixel_FlxG.mouse.y); } ,updateValues: function(X,Y) { if(X != this.x) { this.xMoved.press(); } else { this.xMoved.release(); } if(Y != this.y) { this.yMoved.press(); } else { this.yMoved.release(); } this.x = X; this.y = Y; } ,__class__: flixel_input_actions_FlxActionInputAnalogMousePosition }); var flixel_input_actions_FlxActionInputAnalogGamepad = function(InputID,Trigger,Axis,GamepadID) { if(GamepadID == null) { GamepadID = -2; } if(Axis == null) { Axis = 3; } flixel_input_actions_FlxActionInputAnalog.call(this,flixel_input_actions_FlxInputDevice.GAMEPAD,InputID,Trigger,Axis,GamepadID); }; $hxClasses["flixel.input.actions.FlxActionInputAnalogGamepad"] = flixel_input_actions_FlxActionInputAnalogGamepad; flixel_input_actions_FlxActionInputAnalogGamepad.__name__ = "flixel.input.actions.FlxActionInputAnalogGamepad"; flixel_input_actions_FlxActionInputAnalogGamepad.__super__ = flixel_input_actions_FlxActionInputAnalog; flixel_input_actions_FlxActionInputAnalogGamepad.prototype = $extend(flixel_input_actions_FlxActionInputAnalog.prototype,{ update: function() { if(this.deviceID == -1) { return; } var gamepad = null; if(this.deviceID == -2) { gamepad = flixel_FlxG.gamepads.getFirstActiveGamepad(); } else if(this.deviceID >= 0) { gamepad = flixel_FlxG.gamepads._activeGamepads[this.deviceID]; } if(gamepad != null) { switch(this.inputID) { case 17: this.updateValues(gamepad.analog.value.gamepad.getAxis(17),0); break; case 18: this.updateValues(gamepad.analog.value.gamepad.getAxis(18),0); break; case 19: var _this = gamepad.analog.value.gamepad; var tmp = _this.getAnalogXAxisValue(_this.mapping.getAnalogStick(19)); var _this1 = gamepad.analog.value.gamepad; this.updateValues(tmp,_this1.getYAxisRaw(_this1.mapping.getAnalogStick(19))); break; case 20: var _this2 = gamepad.analog.value.gamepad; var tmp1 = _this2.getAnalogXAxisValue(_this2.mapping.getAnalogStick(20)); var _this3 = gamepad.analog.value.gamepad; this.updateValues(tmp1,_this3.getYAxisRaw(_this3.mapping.getAnalogStick(20))); break; case 21: var tmp2; var _this4 = gamepad.pressed; var id = 13; var _this5 = _this4.gamepad; var Status = _this4.status; var tmp3; switch(id) { case -2: tmp3 = _this5.anyButton(Status); break; case -1: tmp3 = !_this5.anyButton(Status); break; default: var RawID = _this5.mapping.getRawID(id); var button = _this5.buttons[RawID]; tmp3 = button != null && button.hasState(Status); } if(tmp3) { tmp2 = -1.0; } else { var _this6 = gamepad.pressed; var id1 = 14; var _this7 = _this6.gamepad; var Status1 = _this6.status; var tmp4; switch(id1) { case -2: tmp4 = _this7.anyButton(Status1); break; case -1: tmp4 = !_this7.anyButton(Status1); break; default: var RawID1 = _this7.mapping.getRawID(id1); var button1 = _this7.buttons[RawID1]; tmp4 = button1 != null && button1.hasState(Status1); } tmp2 = tmp4 ? 1.0 : 0.0; } var tmp5; var _this8 = gamepad.pressed; var id2 = 11; var _this9 = _this8.gamepad; var Status2 = _this8.status; var tmp6; switch(id2) { case -2: tmp6 = _this9.anyButton(Status2); break; case -1: tmp6 = !_this9.anyButton(Status2); break; default: var RawID2 = _this9.mapping.getRawID(id2); var button2 = _this9.buttons[RawID2]; tmp6 = button2 != null && button2.hasState(Status2); } if(tmp6) { tmp5 = -1.0; } else { var _this10 = gamepad.pressed; var id3 = 12; var _this11 = _this10.gamepad; var Status3 = _this10.status; var tmp7; switch(id3) { case -2: tmp7 = _this11.anyButton(Status3); break; case -1: tmp7 = !_this11.anyButton(Status3); break; default: var RawID3 = _this11.mapping.getRawID(id3); var button3 = _this11.buttons[RawID3]; tmp7 = button3 != null && button3.hasState(Status3); } tmp5 = tmp7 ? 1.0 : 0.0; } this.updateValues(tmp2,tmp5); break; case 28: this.updateValues(gamepad.analog.value.gamepad.getAxis(28),0); break; case 29: this.updateValues(gamepad.analog.value.gamepad.getAxis(29),0); break; } } else { this.updateValues(0,0); } } ,__class__: flixel_input_actions_FlxActionInputAnalogGamepad }); var flixel_input_actions_FlxActionInputAnalogSteam = function(ActionHandle,Trigger,Axis,DeviceID) { if(DeviceID == null) { DeviceID = -1; } if(Axis == null) { Axis = 3; } flixel_input_actions_FlxActionInputAnalog.call(this,flixel_input_actions_FlxInputDevice.STEAM_CONTROLLER,ActionHandle,Trigger,Axis,DeviceID); }; $hxClasses["flixel.input.actions.FlxActionInputAnalogSteam"] = flixel_input_actions_FlxActionInputAnalogSteam; flixel_input_actions_FlxActionInputAnalogSteam.__name__ = "flixel.input.actions.FlxActionInputAnalogSteam"; flixel_input_actions_FlxActionInputAnalogSteam.__super__ = flixel_input_actions_FlxActionInputAnalog; flixel_input_actions_FlxActionInputAnalogSteam.prototype = $extend(flixel_input_actions_FlxActionInputAnalog.prototype,{ update: function() { } ,__class__: flixel_input_actions_FlxActionInputAnalogSteam }); var flixel_input_actions_FlxActionInputDigital = function(Device1,InputID,Trigger,DeviceID) { if(DeviceID == null) { DeviceID = -2; } flixel_input_actions_FlxActionInput.call(this,flixel_input_actions_FlxInputType.DIGITAL,Device1,InputID,Trigger,DeviceID); this.inputID = InputID; }; $hxClasses["flixel.input.actions.FlxActionInputDigital"] = flixel_input_actions_FlxActionInputDigital; flixel_input_actions_FlxActionInputDigital.__name__ = "flixel.input.actions.FlxActionInputDigital"; flixel_input_actions_FlxActionInputDigital.__super__ = flixel_input_actions_FlxActionInput; flixel_input_actions_FlxActionInputDigital.prototype = $extend(flixel_input_actions_FlxActionInput.prototype,{ __class__: flixel_input_actions_FlxActionInputDigital }); var flixel_input_actions_FlxActionInputDigitalMouseWheel = function(Positive,Trigger) { this.sign = 0; flixel_input_actions_FlxActionInputDigital.call(this,flixel_input_actions_FlxInputDevice.MOUSE_WHEEL,0,Trigger); this.input = new flixel_input_FlxInput(0); this.sign = Positive ? 1 : -1; }; $hxClasses["flixel.input.actions.FlxActionInputDigitalMouseWheel"] = flixel_input_actions_FlxActionInputDigitalMouseWheel; flixel_input_actions_FlxActionInputDigitalMouseWheel.__name__ = "flixel.input.actions.FlxActionInputDigitalMouseWheel"; flixel_input_actions_FlxActionInputDigitalMouseWheel.__super__ = flixel_input_actions_FlxActionInputDigital; flixel_input_actions_FlxActionInputDigitalMouseWheel.prototype = $extend(flixel_input_actions_FlxActionInputDigital.prototype,{ input: null ,sign: null ,check: function(Action1) { switch(this.trigger) { case -1: return this.input.current == -1; case 0: var _this = this.input; if(!(_this.current == 0 || _this.current == -1)) { return this.input.current == -1; } else { return true; } break; case 1: var _this1 = this.input; if(!(_this1.current == 1 || _this1.current == 2)) { return this.input.current == 2; } else { return true; } break; case 2: return this.input.current == 2; default: return false; } } ,update: function() { flixel_input_actions_FlxActionInputDigital.prototype.update.call(this); if(flixel_FlxG.mouse.wheel * this.sign > 0) { this.input.press(); } else { this.input.release(); } } ,__class__: flixel_input_actions_FlxActionInputDigitalMouseWheel }); var flixel_input_actions_FlxActionInputDigitalGamepad = function(InputID,Trigger,GamepadID) { if(GamepadID == null) { GamepadID = -2; } flixel_input_actions_FlxActionInputDigital.call(this,flixel_input_actions_FlxInputDevice.GAMEPAD,InputID,Trigger,GamepadID); this.input = new flixel_input_FlxInput(InputID); }; $hxClasses["flixel.input.actions.FlxActionInputDigitalGamepad"] = flixel_input_actions_FlxActionInputDigitalGamepad; flixel_input_actions_FlxActionInputDigitalGamepad.__name__ = "flixel.input.actions.FlxActionInputDigitalGamepad"; flixel_input_actions_FlxActionInputDigitalGamepad.__super__ = flixel_input_actions_FlxActionInputDigital; flixel_input_actions_FlxActionInputDigitalGamepad.prototype = $extend(flixel_input_actions_FlxActionInputDigital.prototype,{ input: null ,toString: function() { return "FlxActionInputDigitalGamepad{inputID:" + this.inputID + ",trigger:" + this.trigger + ",deviceID:" + this.deviceID + ",device:" + Std.string(this.device) + ",type:" + Std.string(this.type) + "}"; } ,update: function() { flixel_input_actions_FlxActionInputDigital.prototype.update.call(this); if(this.deviceID == -1) { if(flixel_FlxG.gamepads.anyHasState(this.inputID,1) || flixel_FlxG.gamepads.anyHasState(this.inputID,2)) { this.input.press(); } else { this.input.release(); } } else { var gamepad = null; if(this.deviceID == -2) { gamepad = flixel_FlxG.gamepads.getFirstActiveGamepad(); } else if(this.deviceID >= 0) { gamepad = flixel_FlxG.gamepads._activeGamepads[this.deviceID]; } if(gamepad != null) { if(this.inputID == -2 && this.trigger == 0) { if(gamepad.released.get_ANY()) { this.input.release(); } else { this.input.press(); } } else { var tmp; var ID = this.inputID; var Status = 1; var tmp1; switch(ID) { case -2: tmp1 = gamepad.anyButton(Status); break; case -1: tmp1 = !gamepad.anyButton(Status); break; default: var RawID = gamepad.mapping.getRawID(ID); var button = gamepad.buttons[RawID]; tmp1 = button != null && button.hasState(Status); } if(!tmp1) { var ID1 = this.inputID; var Status1 = 2; switch(ID1) { case -2: tmp = gamepad.anyButton(Status1); break; case -1: tmp = !gamepad.anyButton(Status1); break; default: var RawID1 = gamepad.mapping.getRawID(ID1); var button1 = gamepad.buttons[RawID1]; tmp = button1 != null && button1.hasState(Status1); } } else { tmp = true; } if(tmp) { this.input.press(); } else { this.input.release(); } } } else if(this.deviceID == -2) { this.input.release(); } } } ,check: function(Action1) { switch(this.trigger) { case -1: return this.input.current == -1; case 0: var _this = this.input; if(!(_this.current == 0 || _this.current == -1)) { return this.input.current == -1; } else { return true; } break; case 1: var _this1 = this.input; if(!(_this1.current == 1 || _this1.current == 2)) { return this.input.current == 2; } else { return true; } break; case 2: return this.input.current == 2; default: return false; } } ,__class__: flixel_input_actions_FlxActionInputDigitalGamepad }); var flixel_input_actions_FlxActionInputDigitalKeyboard = function(Key,Trigger) { flixel_input_actions_FlxActionInputDigital.call(this,flixel_input_actions_FlxInputDevice.KEYBOARD,Key,Trigger); }; $hxClasses["flixel.input.actions.FlxActionInputDigitalKeyboard"] = flixel_input_actions_FlxActionInputDigitalKeyboard; flixel_input_actions_FlxActionInputDigitalKeyboard.__name__ = "flixel.input.actions.FlxActionInputDigitalKeyboard"; flixel_input_actions_FlxActionInputDigitalKeyboard.__super__ = flixel_input_actions_FlxActionInputDigital; flixel_input_actions_FlxActionInputDigitalKeyboard.prototype = $extend(flixel_input_actions_FlxActionInputDigital.prototype,{ check: function(Action1) { switch(this.trigger) { case -1: return flixel_FlxG.keys.checkStatus(this.inputID,-1); case 0: if(!flixel_FlxG.keys.checkStatus(this.inputID,0)) { return flixel_FlxG.keys.checkStatus(this.inputID,-1); } else { return true; } break; case 1: if(!flixel_FlxG.keys.checkStatus(this.inputID,1)) { return flixel_FlxG.keys.checkStatus(this.inputID,2); } else { return true; } break; case 2: return flixel_FlxG.keys.checkStatus(this.inputID,2); default: return false; } } ,__class__: flixel_input_actions_FlxActionInputDigitalKeyboard }); var flixel_input_actions_FlxActionInputDigitalMouse = function(ButtonID,Trigger) { flixel_input_actions_FlxActionInputDigital.call(this,flixel_input_actions_FlxInputDevice.MOUSE,ButtonID,Trigger); }; $hxClasses["flixel.input.actions.FlxActionInputDigitalMouse"] = flixel_input_actions_FlxActionInputDigitalMouse; flixel_input_actions_FlxActionInputDigitalMouse.__name__ = "flixel.input.actions.FlxActionInputDigitalMouse"; flixel_input_actions_FlxActionInputDigitalMouse.__super__ = flixel_input_actions_FlxActionInputDigital; flixel_input_actions_FlxActionInputDigitalMouse.prototype = $extend(flixel_input_actions_FlxActionInputDigital.prototype,{ check: function(Action1) { switch(this.inputID) { case -3: switch(this.trigger) { case -1: return flixel_FlxG.mouse._rightButton.current == -1; case 0: var _this = flixel_FlxG.mouse._rightButton; if(!(!(_this.current == 1 || _this.current == 2))) { return flixel_FlxG.mouse._rightButton.current == -1; } else { return true; } break; case 1: var _this1 = flixel_FlxG.mouse._rightButton; if(!(_this1.current == 1 || _this1.current == 2)) { return flixel_FlxG.mouse._rightButton.current == 2; } else { return true; } break; case 2: return flixel_FlxG.mouse._rightButton.current == 2; } break; case -2: switch(this.trigger) { case -1: return flixel_FlxG.mouse._middleButton.current == -1; case 0: var _this2 = flixel_FlxG.mouse._middleButton; if(!(!(_this2.current == 1 || _this2.current == 2))) { return flixel_FlxG.mouse._middleButton.current == -1; } else { return true; } break; case 1: var _this3 = flixel_FlxG.mouse._middleButton; if(!(_this3.current == 1 || _this3.current == 2)) { return flixel_FlxG.mouse._middleButton.current == 2; } else { return true; } break; case 2: return flixel_FlxG.mouse._middleButton.current == 2; } break; case -1: switch(this.trigger) { case -1: return flixel_FlxG.mouse._leftButton.current == -1; case 0: var _this4 = flixel_FlxG.mouse._leftButton; if(!(!(_this4.current == 1 || _this4.current == 2))) { return flixel_FlxG.mouse._leftButton.current == -1; } else { return true; } break; case 1: var _this5 = flixel_FlxG.mouse._leftButton; if(!(_this5.current == 1 || _this5.current == 2)) { return flixel_FlxG.mouse._leftButton.current == 2; } else { return true; } break; case 2: return flixel_FlxG.mouse._leftButton.current == 2; } break; default: return false; } } ,__class__: flixel_input_actions_FlxActionInputDigitalMouse }); var flixel_input_actions_FlxActionInputDigitalSteam = function(ActionHandle,Trigger,DeviceHandle) { if(DeviceHandle == null) { DeviceHandle = -2; } flixel_input_actions_FlxActionInputDigital.call(this,flixel_input_actions_FlxInputDevice.STEAM_CONTROLLER,ActionHandle,Trigger,DeviceHandle); }; $hxClasses["flixel.input.actions.FlxActionInputDigitalSteam"] = flixel_input_actions_FlxActionInputDigitalSteam; flixel_input_actions_FlxActionInputDigitalSteam.__name__ = "flixel.input.actions.FlxActionInputDigitalSteam"; flixel_input_actions_FlxActionInputDigitalSteam.__super__ = flixel_input_actions_FlxActionInputDigital; flixel_input_actions_FlxActionInputDigitalSteam.prototype = $extend(flixel_input_actions_FlxActionInputDigital.prototype,{ steamInput: null ,check: function(Action1) { switch(this.trigger) { case -1: return this.steamInput.current == -1; case 0: var _this = this.steamInput; if(!(!(_this.current == 0 || _this.current == -1))) { return this.steamInput.current == -1; } else { return true; } break; case 1: var _this1 = this.steamInput; if(!(_this1.current == 1 || _this1.current == 2)) { return this.steamInput.current == 2; } else { return true; } break; case 2: return this.steamInput.current == 2; } } ,update: function() { var controllerHandle = this.deviceID; if(controllerHandle == -2) { controllerHandle = flixel_input_actions_FlxSteamController.getFirstActiveHandle(); } var data = flixel_input_actions_FlxSteamController.getDigitalActionData(controllerHandle,this.inputID); if(data.bActive && data.bState) { this.steamInput.press(); } else { this.steamInput.release(); } } ,getSteamControllerData: function(controllerHandle) { if(controllerHandle == -2) { controllerHandle = flixel_input_actions_FlxSteamController.getFirstActiveHandle(); } var data = flixel_input_actions_FlxSteamController.getDigitalActionData(controllerHandle,this.inputID); if(data.bActive) { return data.bState; } else { return false; } } ,__class__: flixel_input_actions_FlxActionInputDigitalSteam }); var flixel_input_actions_FlxActionInputDigitalIFlxInput = function(Input,Trigger) { flixel_input_actions_FlxActionInputDigital.call(this,flixel_input_actions_FlxInputDevice.IFLXINPUT_OBJECT,0,Trigger); this.input = Input; }; $hxClasses["flixel.input.actions.FlxActionInputDigitalIFlxInput"] = flixel_input_actions_FlxActionInputDigitalIFlxInput; flixel_input_actions_FlxActionInputDigitalIFlxInput.__name__ = "flixel.input.actions.FlxActionInputDigitalIFlxInput"; flixel_input_actions_FlxActionInputDigitalIFlxInput.__super__ = flixel_input_actions_FlxActionInputDigital; flixel_input_actions_FlxActionInputDigitalIFlxInput.prototype = $extend(flixel_input_actions_FlxActionInputDigital.prototype,{ input: null ,check: function(action) { switch(this.trigger) { case -1: return this.input.get_justReleased(); case 0: if(!(!this.input.get_pressed())) { return this.input.get_justReleased(); } else { return true; } break; case 1: if(!this.input.get_pressed()) { return this.input.get_justPressed(); } else { return true; } break; case 2: return this.input.get_justPressed(); default: return false; } } ,destroy: function() { flixel_input_actions_FlxActionInputDigital.prototype.destroy.call(this); this.input = null; } ,__class__: flixel_input_actions_FlxActionInputDigitalIFlxInput }); var flixel_input_actions_FlxActionManager = function() { this.resetOnStateSwitch = flixel_input_actions_ResetPolicy.DEFAULT_SET_ONLY; this.defaultSet = null; this.sets = []; this.register = new flixel_input_actions__$FlxActionManager_ActionSetRegister(); this.deviceConnected = new flixel_util__$FlxSignal_FlxSignal3(); this.deviceDisconnected = new flixel_util__$FlxSignal_FlxSignal3(); this.inputsChanged = new flixel_util__$FlxSignal_FlxSignal1(); flixel_FlxG.gamepads.deviceConnected.add($bind(this,this.onDeviceConnected)); flixel_FlxG.gamepads.deviceDisconnected.add($bind(this,this.onDeviceDisconnected)); flixel_input_actions_FlxSteamController.onControllerConnect = $bind(this,this.updateSteamControllers); flixel_input_actions_FlxSteamController.onOriginUpdate = $bind(this,this.updateSteamOrigins); flixel_FlxG.signals.preStateSwitch.add($bind(this,this.onStateSwitched)); }; $hxClasses["flixel.input.actions.FlxActionManager"] = flixel_input_actions_FlxActionManager; flixel_input_actions_FlxActionManager.__name__ = "flixel.input.actions.FlxActionManager"; flixel_input_actions_FlxActionManager.__interfaces__ = [flixel_util_IFlxDestroyable,flixel_input_IFlxInputManager]; flixel_input_actions_FlxActionManager.prototype = { sets: null ,register: null ,defaultSet: null ,deviceDisconnected: null ,deviceConnected: null ,inputsChanged: null ,resetOnStateSwitch: null ,activateSet: function(ActionSet,Device1,DeviceID) { this.register.activate(ActionSet,Device1,DeviceID); this.onChange(); } ,addActions: function(Actions,ActionSet) { if(ActionSet == null) { ActionSet = 0; } var success = true; var _g = 0; while(_g < Actions.length) { var Action1 = Actions[_g]; ++_g; var result = this.addAction(Action1); if(!result) { success = false; } } return success; } ,addAction: function(Action1,ActionSet) { if(ActionSet == null) { ActionSet = 0; } var success = false; if(this.sets == null) { this.sets = []; } if(this.sets.length == 0) { this.defaultSet = new flixel_input_actions_FlxActionSet("default"); var defaultSetIndex = this.addSet(this.defaultSet); this.activateSet(defaultSetIndex,flixel_input_actions_FlxInputDevice.ALL,-1); } if(ActionSet >= 0 && ActionSet < this.sets.length) { success = this.sets[ActionSet].add(Action1); } this.onChange(); return success; } ,addSet: function(set) { if(this.sets.indexOf(set) != -1) { return -1; } this.sets.push(set); this.onChange(); return this.sets.length - 1; } ,deactivateSet: function(ActionSet,DeviceID) { if(DeviceID == null) { DeviceID = -1; } this.register.activate(ActionSet,flixel_input_actions_FlxInputDevice.NONE,DeviceID); this.onChange(); } ,destroy: function() { this.sets = flixel_util_FlxDestroyUtil.destroyArray(this.sets); this.register = flixel_util_FlxDestroyUtil.destroy(this.register); } ,getSetIndex: function(Name) { var _g = 0; var _g1 = this.sets.length; while(_g < _g1) { var i = _g++; if(this.sets[i].name == Name) { return i; } } return -1; } ,getSetName: function(Index) { if(Index >= 0 && Index < this.sets.length) { return this.sets[Index].name; } return ""; } ,getSet: function(Index) { if(Index >= 0 && Index < this.sets.length) { return this.sets[Index]; } return null; } ,getSetActivatedForDevice: function(device,deviceID) { if(deviceID == null) { deviceID = -1; } var id = -1; var index = -1; switch(device._hx_index) { case 1: index = this.register.mouseSet; break; case 3: index = this.register.keyboardSet; break; case 4: switch(deviceID) { case -3: index = -1; break; case -2: id = flixel_FlxG.gamepads.getFirstActiveGamepadID(); break; case -1: index = this.register.gamepadAllSet; break; default: if(this.register.gamepadAllSet != -1) { index = this.register.gamepadAllSet; } else { id = deviceID; } } if(id >= 0 && id < this.register.gamepadSets.length) { index = this.register.gamepadSets[id]; } break; case 5: switch(deviceID) { case -3: index = -1; break; case -1: index = this.register.steamControllerAllSet; break; default: if(this.register.steamControllerAllSet != -1) { index = this.register.steamControllerAllSet; } else { id = deviceID; } } if(id >= 0 && id < this.register.steamControllerSets.length) { index = this.register.steamControllerSets[id]; } break; case 8: if(deviceID == -1) { index = this.register.gamepadAllSet; } break; default: index = -1; } if(index >= 0 && index < this.sets.length) { return this.sets[index]; } return null; } ,initFromJson: function(data,CallbackDigital,CallbackAnalog) { if(data == null) { return 0; } var i = 0; var actionSets = data.actionSets; if(actionSets == null) { return 0; } var _g = 0; while(_g < actionSets.length) { var set = actionSets[_g]; ++_g; if(this.addSet(flixel_input_actions_FlxActionSet.fromJson(set,CallbackDigital,CallbackAnalog)) != -1) { ++i; } } this.onChange(); return i; } ,exportToJson: function() { var space = "\t"; return JSON.stringify({ "actionSets" : this.sets},function(key,value) { if(((value) instanceof flixel_input_actions_FlxAction)) { var fa = value; return fa.name; } if(((value) instanceof flixel_input_actions_FlxActionSet)) { var fas = value; return { "name" : fas.name, "digitalActions" : fas.digitalActions, "analogActions" : fas.analogActions}; } return value; },space); } ,removeSet: function(Set,Destroy) { if(Destroy == null) { Destroy = true; } var success = HxOverrides.remove(this.sets,Set); if(success) { if(Destroy) { flixel_util_FlxDestroyUtil.destroy(Set); } this.onChange(); } return success; } ,removeAction: function(Action1,ActionSet) { var success = false; if(ActionSet >= 0 && ActionSet < this.sets.length) { success = this.sets[ActionSet].remove(Action1); } this.onChange(); return success; } ,reset: function() { } ,get_numSets: function() { return this.sets.length; } ,onChange: function() { this.register.markActiveSets(this.sets); } ,onDeviceConnected: function(gamepad) { this.deviceConnected.dispatch(flixel_input_actions_FlxInputDevice.GAMEPAD,gamepad.id,Std.string(gamepad.model).toLowerCase()); } ,onDeviceDisconnected: function(gamepad) { if(gamepad != null) { var actionSet = this.getSetActivatedForDevice(flixel_input_actions_FlxInputDevice.GAMEPAD,gamepad.id); if(actionSet != null && actionSet.active) { var id = gamepad.id; var model = gamepad.model != null ? Std.string(gamepad.model).toLowerCase() : ""; this.deviceDisconnected.dispatch(flixel_input_actions_FlxInputDevice.GAMEPAD,id,model); } } } ,onFocus: function() { } ,onFocusLost: function() { } ,onStateSwitched: function() { switch(this.resetOnStateSwitch._hx_index) { case 1: while(this.sets.length > 0) this.removeSet(this.getSet(0),true); this.defaultSet = null; break; case 2: if(this.defaultSet != null) { this.removeSet(this.defaultSet,true); } this.defaultSet = null; break; default: } } ,onSteamConnected: function(handle) { var allSetIndex = this.register.steamControllerAllSet; if(allSetIndex != -1) { this.activateSet(allSetIndex,flixel_input_actions_FlxInputDevice.STEAM_CONTROLLER,-1); } else { var actionSet = this.getSetActivatedForDevice(flixel_input_actions_FlxInputDevice.STEAM_CONTROLLER,handle); if(actionSet != null && actionSet.active) { this.activateSet(this.getSetIndex(actionSet.name),flixel_input_actions_FlxInputDevice.STEAM_CONTROLLER,handle); } } this.deviceConnected.dispatch(flixel_input_actions_FlxInputDevice.STEAM_CONTROLLER,handle,""); } ,onSteamDisconnected: function(handle) { if(handle >= 0) { var actionSet = this.getSetActivatedForDevice(flixel_input_actions_FlxInputDevice.STEAM_CONTROLLER,handle); if(actionSet != null && actionSet.active) { this.deviceDisconnected.dispatch(flixel_input_actions_FlxInputDevice.STEAM_CONTROLLER,handle,""); } } } ,updateSteamControllers: function() { } ,updateSteamOrigins: function() { } ,update: function() { this.register.update(this.sets); } ,__class__: flixel_input_actions_FlxActionManager ,__properties__: {get_numSets:"get_numSets"} }; var flixel_input_actions__$FlxActionManager_ActionSetRegister = function() { this.steamControllerAllSet = -1; this.gamepadAllSet = -1; this.keyboardSet = -1; this.mouseSet = -1; flixel_input_actions_FlxSteamController.init(); this.gamepadSets = []; this.steamControllerSets = []; }; $hxClasses["flixel.input.actions._FlxActionManager.ActionSetRegister"] = flixel_input_actions__$FlxActionManager_ActionSetRegister; flixel_input_actions__$FlxActionManager_ActionSetRegister.__name__ = "flixel.input.actions._FlxActionManager.ActionSetRegister"; flixel_input_actions__$FlxActionManager_ActionSetRegister.__interfaces__ = [flixel_util_IFlxDestroyable]; flixel_input_actions__$FlxActionManager_ActionSetRegister.prototype = { mouseSet: null ,keyboardSet: null ,gamepadAllSet: null ,steamControllerAllSet: null ,gamepadSets: null ,steamControllerSets: null ,destroy: function() { this.gamepadSets = null; this.steamControllerSets = null; } ,activate: function(ActionSet,Device1,DeviceID) { if(DeviceID == null) { DeviceID = -2; } this.setActivate(ActionSet,Device1,DeviceID); } ,markActiveSets: function(sets) { var _g = 0; var _g1 = sets.length; while(_g < _g1) { var i = _g++; sets[i].active = false; } this.syncDevice(flixel_input_actions_FlxInputDevice.MOUSE,sets); this.syncDevice(flixel_input_actions_FlxInputDevice.KEYBOARD,sets); this.syncDevice(flixel_input_actions_FlxInputDevice.GAMEPAD,sets); this.syncDevice(flixel_input_actions_FlxInputDevice.STEAM_CONTROLLER,sets); } ,update: function(sets) { var _g = 0; var _g1 = sets.length; while(_g < _g1) { var i = _g++; sets[i].update(); } } ,updateSteam: function(sets) { } ,setActivate: function(ActionSet,Device1,DeviceID,DoActivate) { if(DoActivate == null) { DoActivate = true; } if(DeviceID == null) { DeviceID = -2; } switch(Device1._hx_index) { case 1: this.mouseSet = DoActivate ? ActionSet : -1; break; case 3: this.keyboardSet = DoActivate ? ActionSet : -1; break; case 4: switch(DeviceID) { case -3: this.clearSetFromArray(ActionSet,this.gamepadSets); break; case -2: this.gamepadSets[flixel_FlxG.gamepads.getFirstActiveGamepadID()] = DoActivate ? ActionSet : -1; break; case -1: this.clearSetFromArray(-1,this.gamepadSets); this.gamepadAllSet = DoActivate ? ActionSet : -1; break; default: this.gamepadSets[DeviceID] = DoActivate ? ActionSet : -1; } break; case 5: switch(DeviceID) { case -3: this.clearSetFromArray(ActionSet,this.steamControllerSets); break; case -2: this.steamControllerSets[flixel_input_actions_FlxSteamController.getFirstActiveHandle()] = DoActivate ? ActionSet : -1; break; case -1: this.steamControllerAllSet = DoActivate ? ActionSet : -1; this.clearSetFromArray(-1,this.steamControllerSets); break; default: this.steamControllerSets[DeviceID] = DoActivate ? ActionSet : -1; } break; case 8: this.setActivate(ActionSet,flixel_input_actions_FlxInputDevice.MOUSE,DeviceID,DoActivate); this.setActivate(ActionSet,flixel_input_actions_FlxInputDevice.KEYBOARD,DeviceID,DoActivate); this.setActivate(ActionSet,flixel_input_actions_FlxInputDevice.GAMEPAD,DeviceID,DoActivate); break; case 9: this.setActivate(ActionSet,flixel_input_actions_FlxInputDevice.ALL,DeviceID,false); break; default: } } ,updateSteamOrigins: function(sets) { return []; } ,updateDigitalActionOrigins: function(action,deviceID,setHandle) { } ,updateAnalogActionOrigins: function(action,deviceID,setHandle) { } ,cheapChecksum: function(arr) { var sum1 = 0; var sum2 = 0; if(arr != null) { var _g = 0; while(_g < arr.length) { var n = arr[_g]; ++_g; sum1 = (sum1 + n) % 255; sum2 = (sum2 + sum1) % 255; } } return sum2 << 8 | sum1; } ,updateSteamInputs: function(sets) { } ,changeSteamControllerActionSet: function(controllerHandle,newSet,sets) { var lastSet = flixel_input_actions_FlxSteamController.getCurrentActionSet(controllerHandle); if(lastSet == newSet) { return; } if(sets == null) { return; } if(lastSet != -1) { if(lastSet < sets.length) { sets[lastSet].attachSteamController(controllerHandle,false); } } sets[newSet].attachSteamController(controllerHandle); } ,syncDevice: function(device,sets) { switch(device._hx_index) { case 1: if(this.mouseSet >= 0 && this.mouseSet < sets.length) { sets[this.mouseSet].active = true; } break; case 3: if(this.keyboardSet >= 0 && this.keyboardSet < sets.length) { sets[this.keyboardSet].active = true; } break; case 4: if(this.gamepadAllSet >= 0 && this.gamepadAllSet < sets.length) { sets[this.gamepadAllSet].active = true; } else { var _g = 0; var _g1 = this.gamepadSets.length; while(_g < _g1) { var i = _g++; var gset = this.gamepadSets[i]; if(gset >= 0 && gset < sets.length) { sets[gset].active = true; } } } break; case 5: this.updateSteamInputs(sets); if(this.steamControllerAllSet >= 0 && this.steamControllerAllSet < sets.length) { sets[this.steamControllerAllSet].active = true; } else { var _g2 = 0; var _g11 = this.steamControllerSets.length; while(_g2 < _g11) { var i1 = _g2++; var sset = this.steamControllerSets[i1]; if(sset >= 0 && sset < sets.length) { sets[sset].active = true; } } } break; default: } } ,clearSetFromArray: function(ActionSet,array) { if(ActionSet == null) { ActionSet = -1; } var _g = 0; var _g1 = array.length; while(_g < _g1) { var i = _g++; if(ActionSet == -1 || array[i] == ActionSet) { array[i] = -1; } } } ,__class__: flixel_input_actions__$FlxActionManager_ActionSetRegister }; var flixel_input_actions_ResetPolicy = $hxEnums["flixel.input.actions.ResetPolicy"] = { __ename__ : "flixel.input.actions.ResetPolicy", __constructs__ : ["NONE","ALL_SETS","DEFAULT_SET_ONLY"] ,NONE: {_hx_index:0,__enum__:"flixel.input.actions.ResetPolicy",toString:$estr} ,ALL_SETS: {_hx_index:1,__enum__:"flixel.input.actions.ResetPolicy",toString:$estr} ,DEFAULT_SET_ONLY: {_hx_index:2,__enum__:"flixel.input.actions.ResetPolicy",toString:$estr} }; var flixel_input_actions_FlxSteamController = function() { }; $hxClasses["flixel.input.actions.FlxSteamController"] = flixel_input_actions_FlxSteamController; flixel_input_actions_FlxSteamController.__name__ = "flixel.input.actions.FlxSteamController"; flixel_input_actions_FlxSteamController.__properties__ = {get_MAX_ORIGINS:"get_MAX_ORIGINS",get_MAX_CONTROLLERS:"get_MAX_CONTROLLERS"}; flixel_input_actions_FlxSteamController.controllers = null; flixel_input_actions_FlxSteamController.get_MAX_CONTROLLERS = function() { return 0; }; flixel_input_actions_FlxSteamController.get_MAX_ORIGINS = function() { return 0; }; flixel_input_actions_FlxSteamController.clear = function() { }; flixel_input_actions_FlxSteamController.init = function() { flixel_input_actions_FlxSteamController.controllers = []; }; flixel_input_actions_FlxSteamController.getActionSetHandle = function(name) { return -1; }; flixel_input_actions_FlxSteamController.getCurrentActionSet = function(SteamControllerHandle) { return -1; }; flixel_input_actions_FlxSteamController.activateActionSet = function(SteamControllerHandle,ActionSetHandle) { }; flixel_input_actions_FlxSteamController.getFirstActiveHandle = function() { return -1; }; flixel_input_actions_FlxSteamController.getConnectedControllers = function() { return []; }; flixel_input_actions_FlxSteamController.getAnalogActionData = function(controller,action,data) { return null; }; flixel_input_actions_FlxSteamController.getDigitalActionData = function(controller,action) { return new flixel_input_actions__$FlxSteamController_DigitalActionData(false,false); }; flixel_input_actions_FlxSteamController.getAnalogActionHandle = function(name) { return -1; }; flixel_input_actions_FlxSteamController.getDigitalActionHandle = function(name) { return -1; }; var flixel_input_actions__$FlxSteamController_DigitalActionData = function(bActive,bState) { this.bActive = bActive; this.bState = bState; }; $hxClasses["flixel.input.actions._FlxSteamController.DigitalActionData"] = flixel_input_actions__$FlxSteamController_DigitalActionData; flixel_input_actions__$FlxSteamController_DigitalActionData.__name__ = "flixel.input.actions._FlxSteamController.DigitalActionData"; flixel_input_actions__$FlxSteamController_DigitalActionData.prototype = { bActive: null ,bState: null ,__class__: flixel_input_actions__$FlxSteamController_DigitalActionData }; var flixel_input_actions__$FlxSteamController_FlxSteamControllerMetadata = function() { this.connected = new flixel_input_FlxInput(0); this.active = false; this.actionSet = -1; this.handle = -1; }; $hxClasses["flixel.input.actions._FlxSteamController.FlxSteamControllerMetadata"] = flixel_input_actions__$FlxSteamController_FlxSteamControllerMetadata; flixel_input_actions__$FlxSteamController_FlxSteamControllerMetadata.__name__ = "flixel.input.actions._FlxSteamController.FlxSteamControllerMetadata"; flixel_input_actions__$FlxSteamController_FlxSteamControllerMetadata.prototype = { handle: null ,actionSet: null ,active: null ,connected: null ,__class__: flixel_input_actions__$FlxSteamController_FlxSteamControllerMetadata }; var flixel_input_actions__$FlxSteamController_FlxSteamUpdater = function() { this.originTime = 0.0; this.controllerTime = 0.0; }; $hxClasses["flixel.input.actions._FlxSteamController.FlxSteamUpdater"] = flixel_input_actions__$FlxSteamController_FlxSteamUpdater; flixel_input_actions__$FlxSteamController_FlxSteamUpdater.__name__ = "flixel.input.actions._FlxSteamController.FlxSteamUpdater"; flixel_input_actions__$FlxSteamController_FlxSteamUpdater.__interfaces__ = [flixel_input_IFlxInputManager]; flixel_input_actions__$FlxSteamController_FlxSteamUpdater.prototype = { controllerTime: null ,originTime: null ,destroy: function() { } ,reset: function() { } ,update: function() { } ,onFocus: function() { } ,onFocusLost: function() { } ,__class__: flixel_input_actions__$FlxSteamController_FlxSteamUpdater }; var flixel_input_gamepad_FlxGamepad = function(ID,Manager,Model,Attachment) { this.buttons = []; this._deadZone = 0.15; this.axisActive = false; var _g = []; _g.push(0); _g.push(0); _g.push(0); _g.push(0); _g.push(0); _g.push(0); this.axis = _g; this.deadZoneMode = flixel_input_gamepad_FlxGamepadDeadZoneMode.INDEPENDENT_AXES; this.connected = true; this.id = ID; this.manager = Manager; this.pressed = new flixel_input_gamepad_lists_FlxGamepadButtonList(1,this); this.released = new flixel_input_gamepad_lists_FlxGamepadButtonList(0,this); this.justPressed = new flixel_input_gamepad_lists_FlxGamepadButtonList(2,this); this.justReleased = new flixel_input_gamepad_lists_FlxGamepadButtonList(-1,this); this.analog = new flixel_input_gamepad_lists_FlxGamepadAnalogList(this); this.motion = new flixel_input_gamepad_lists_FlxGamepadMotionValueList(this); this.pointer = new flixel_input_gamepad_lists_FlxGamepadPointerValueList(this); if(Model == null) { Model = flixel_input_gamepad_FlxGamepadModel.XINPUT; } if(Attachment == null) { Attachment = flixel_input_gamepad_FlxGamepadAttachment.NONE; } this.set_model(Model); this.detectedModel = Model; }; $hxClasses["flixel.input.gamepad.FlxGamepad"] = flixel_input_gamepad_FlxGamepad; flixel_input_gamepad_FlxGamepad.__name__ = "flixel.input.gamepad.FlxGamepad"; flixel_input_gamepad_FlxGamepad.__interfaces__ = [flixel_util_IFlxDestroyable]; flixel_input_gamepad_FlxGamepad.prototype = { id: null ,model: null ,detectedModel: null ,mapping: null ,connected: null ,attachment: null ,deadZoneMode: null ,pressed: null ,released: null ,justPressed: null ,justReleased: null ,analog: null ,motion: null ,pointer: null ,axis: null ,axisActive: null ,manager: null ,_deadZone: null ,_device: null ,buttons: null ,getButton: function(RawID) { if(RawID == -1) { return null; } var gamepadButton = this.buttons[RawID]; if(gamepadButton == null) { gamepadButton = new flixel_input_gamepad_FlxGamepadButton(RawID); this.buttons[RawID] = gamepadButton; } return gamepadButton; } ,applyAxisFlip: function(axisValue,axisID) { if(this.mapping.isAxisFlipped(axisID)) { axisValue *= -1; } return axisValue; } ,update: function() { var control; var button; if(this._device == null) { return; } var _g = 0; var _g1 = this._device.get_numControls(); while(_g < _g1) { var i = _g++; control = this._device.getControlAt(i); button = this.getButton(i); if(this.isAxisForAnalogStick(i)) { this.handleAxisMove(i,control.value,button.value); } button.value = control.value; var value = Math.abs(control.value); if(value < this.get_deadZone()) { button.release(); } else if(value > this.get_deadZone()) { button.press(); } } var _g2 = 0; var _g3 = this.buttons; while(_g2 < _g3.length) { var button1 = _g3[_g2]; ++_g2; if(button1 != null) { button1.update(); } } } ,reset: function() { var _g = 0; var _g1 = this.buttons; while(_g < _g1.length) { var button = _g1[_g]; ++_g; if(button != null) { button.reset(); } } var numAxis = this.axis.length; var _g2 = 0; var _g3 = numAxis; while(_g2 < _g3) { var i = _g2++; this.axis[i] = 0; } } ,destroy: function() { this.connected = false; this.buttons = null; this.axis = null; this.manager = null; } ,checkStatus: function(ID,Status) { switch(ID) { case -2: return this.anyButton(Status); case -1: return !this.anyButton(Status); default: var RawID = this.mapping.getRawID(ID); var button = this.buttons[RawID]; if(button != null) { return button.hasState(Status); } else { return false; } } } ,checkStatusRaw: function(RawID,Status) { var button = this.buttons[RawID]; if(button != null) { return button.hasState(Status); } else { return false; } } ,checkButtonArrayState: function(IDArray,Status) { if(IDArray == null) { return false; } var _g = 0; while(_g < IDArray.length) { var code = IDArray[_g]; ++_g; var tmp; switch(code) { case -2: tmp = this.anyButton(Status); break; case -1: tmp = !this.anyButton(Status); break; default: var RawID = this.mapping.getRawID(code); var button = this.buttons[RawID]; tmp = button != null && button.hasState(Status); } if(tmp) { return true; } } return false; } ,checkButtonArrayStateRaw: function(IDArray,Status) { if(IDArray == null) { return false; } var _g = 0; while(_g < IDArray.length) { var code = IDArray[_g]; ++_g; var button = this.buttons[code]; if(button != null && button.hasState(Status)) { return true; } } return false; } ,anyPressed: function(IDArray) { return this.checkButtonArrayState(IDArray,1); } ,anyPressedRaw: function(RawIDArray) { return this.checkButtonArrayStateRaw(RawIDArray,1); } ,anyJustPressed: function(IDArray) { return this.checkButtonArrayState(IDArray,2); } ,anyJustPressedRaw: function(RawIDArray) { return this.checkButtonArrayStateRaw(RawIDArray,2); } ,anyJustReleased: function(IDArray) { return this.checkButtonArrayState(IDArray,-1); } ,anyJustReleasedRaw: function(RawIDArray) { return this.checkButtonArrayStateRaw(RawIDArray,-1); } ,firstPressedID: function() { return this.mapping.getID(this.firstPressedRawID()); } ,firstPressedRawID: function() { var _g = 0; var _g1 = this.buttons; while(_g < _g1.length) { var button = _g1[_g]; ++_g; if(button != null && (button.current == 0 || button.current == -1)) { return button.ID; } } return -1; } ,firstJustPressedID: function() { return this.mapping.getID(this.firstJustPressedRawID()); } ,firstJustPressedRawID: function() { var _g = 0; var _g1 = this.buttons; while(_g < _g1.length) { var button = _g1[_g]; ++_g; if(button != null && button.current == 2) { return button.ID; } } return -1; } ,firstJustReleasedID: function() { return this.mapping.getID(this.firstJustReleasedRawID()); } ,firstJustReleasedRawID: function() { var _g = 0; var _g1 = this.buttons; while(_g < _g1.length) { var button = _g1[_g]; ++_g; if(button != null && button.current == -1) { return button.ID; } } return -1; } ,getAxis: function(AxisButtonID) { var axisValue = this.getAxisValue(this.mapping.getRawID(AxisButtonID)); if(Math.abs(axisValue) > this.get_deadZone()) { return axisValue; } else { return 0; } } ,getAxisRaw: function(RawAxisID) { var axisValue = this.getAxisValue(RawAxisID); if(Math.abs(axisValue) > this.get_deadZone()) { return axisValue; } return 0; } ,isAxisForAnalogStick: function(AxisIndex) { var leftStick = this.mapping.leftStick; var rightStick = this.mapping.rightStick; if(leftStick != null) { if(AxisIndex == leftStick.x || AxisIndex == leftStick.y) { return true; } } if(rightStick != null) { if(AxisIndex == rightStick.x || AxisIndex == rightStick.y) { return true; } } return false; } ,getAnalogStickByAxis: function(AxisIndex) { var leftStick = this.mapping.leftStick; var rightStick = this.mapping.rightStick; if(leftStick != null && AxisIndex == leftStick.x || AxisIndex == leftStick.y) { return leftStick; } if(rightStick != null && AxisIndex == rightStick.x || AxisIndex == rightStick.y) { return rightStick; } return null; } ,getXAxis: function(AxesButtonID) { return this.getAnalogXAxisValue(this.mapping.getAnalogStick(AxesButtonID)); } ,getXAxisRaw: function(Stick) { return this.getAnalogXAxisValue(Stick); } ,getYAxis: function(AxesButtonID) { return this.getYAxisRaw(this.mapping.getAnalogStick(AxesButtonID)); } ,getYAxisRaw: function(Stick) { return this.getAnalogYAxisValue(Stick); } ,getAnalogAxes: function(AxesButtonID) { var x = this.getAnalogXAxisValue(this.mapping.getAnalogStick(AxesButtonID)); var y = this.getYAxisRaw(this.mapping.getAnalogStick(AxesButtonID)); if(y == null) { y = 0; } if(x == null) { x = 0; } var X = x; var Y = y; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; return point; } ,anyButton: function(state) { if(state == null) { state = 1; } var _g = 0; var _g1 = this.buttons; while(_g < _g1.length) { var button = _g1[_g]; ++_g; if(button != null && button.hasState(state)) { return true; } } return false; } ,anyInput: function() { if(this.anyButton()) { return true; } var numAxis = this.axis.length; var _g = 0; var _g1 = numAxis; while(_g < _g1) { var i = _g++; if(this.axis[0] != 0) { return true; } } return false; } ,getAxisValue: function(AxisID) { var axisValue = 0; if(AxisID == -1) { return 0; } var tmp; if(this._device != null && this._device.enabled) { var Max = this._device.get_numControls() - 1; tmp = AxisID >= 0 && (Max == null || AxisID <= Max); } else { tmp = false; } if(tmp) { axisValue = this._device.getControlAt(AxisID).value; } if(this.isAxisForAnalogStick(AxisID)) { var axisValue1 = axisValue; if(this.mapping.isAxisFlipped(AxisID)) { axisValue1 *= -1; } axisValue = axisValue1; } return axisValue; } ,getAnalogXAxisValue: function(stick) { if(stick == null) { return 0; } if(this.deadZoneMode == flixel_input_gamepad_FlxGamepadDeadZoneMode.CIRCULAR) { return this.getAnalogAxisValueCircular(stick,stick.x); } else { return this.getAnalogAxisValueIndependent(stick.x); } } ,getAnalogYAxisValue: function(stick) { if(stick == null) { return 0; } if(this.deadZoneMode == flixel_input_gamepad_FlxGamepadDeadZoneMode.CIRCULAR) { return this.getAnalogAxisValueCircular(stick,stick.y); } else { return this.getAnalogAxisValueIndependent(stick.y); } } ,getAnalogAxisValueCircular: function(stick,axisID) { if(stick == null) { return 0; } var xAxis = this.getAxisValue(stick.x); var yAxis = this.getAxisValue(stick.y); var x = xAxis; var y = yAxis; if(y == null) { y = 0; } if(x == null) { x = 0; } var X = x; var Y = y; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; var vector = point; var length = Math.sqrt(vector.x * vector.x + vector.y * vector.y); vector.put(); if(length > this.get_deadZone()) { return this.getAxisValue(axisID); } return 0; } ,getAnalogAxisValueIndependent: function(axisID) { var axisValue = this.getAxisValue(axisID); if(Math.abs(axisValue) > this.get_deadZone()) { return axisValue; } return 0; } ,handleAxisMove: function(axis,newValue,oldValue) { var axisValue = newValue; if(this.mapping.isAxisFlipped(axis)) { axisValue *= -1; } newValue = axisValue; var axisValue1 = oldValue; if(this.mapping.isAxisFlipped(axis)) { axisValue1 *= -1; } oldValue = axisValue1; var leftStick = this.mapping.leftStick; var rightStick = this.mapping.rightStick; var stick = leftStick != null && axis == leftStick.x || axis == leftStick.y ? leftStick : rightStick != null && axis == rightStick.x || axis == rightStick.y ? rightStick : null; if(stick.mode == flixel_input_gamepad_FlxAnalogToDigitalMode.ONLY_DIGITAL || stick.mode == flixel_input_gamepad_FlxAnalogToDigitalMode.BOTH) { this.handleAxisMoveSub(stick,axis,newValue,oldValue,1.0); this.handleAxisMoveSub(stick,axis,newValue,oldValue,-1.0); var tmp = stick.mode == flixel_input_gamepad_FlxAnalogToDigitalMode.ONLY_DIGITAL; } } ,handleAxisMoveSub: function(stick,axis,value,oldValue,sign) { if(sign == null) { sign = 1.0; } var digitalButton = -1; if(axis == stick.x) { digitalButton = sign < 0 ? stick.rawLeft : stick.rawRight; } else if(axis == stick.y) { digitalButton = sign < 0 ? stick.rawUp : stick.rawDown; } var threshold = stick.digitalThreshold; var valueSign = value * sign; var oldValueSign = oldValue * sign; if(valueSign > threshold && oldValueSign <= threshold) { var btn = this.getButton(digitalButton); if(btn != null) { btn.press(); } } else if(valueSign <= threshold && oldValueSign > threshold) { var btn1 = this.getButton(digitalButton); if(btn1 != null) { btn1.release(); } } } ,createMappingForModel: function(model) { switch(model._hx_index) { case 0: return new flixel_input_gamepad_mappings_LogitechMapping(this.attachment); case 1: return new flixel_input_gamepad_mappings_OUYAMapping(this.attachment); case 2: return new flixel_input_gamepad_mappings_PS4Mapping(this.attachment); case 3: return new flixel_input_gamepad_mappings_PSVitaMapping(this.attachment); case 4: return new flixel_input_gamepad_mappings_XInputMapping(this.attachment); case 5: return new flixel_input_gamepad_mappings_MayflashWiiRemoteMapping(this.attachment); case 6: return new flixel_input_gamepad_mappings_WiiRemoteMapping(this.attachment); case 7: return new flixel_input_gamepad_mappings_MFiMapping(this.attachment); case 8: return new flixel_input_gamepad_mappings_SwitchProMapping(this.attachment); case 9: return new flixel_input_gamepad_mappings_SwitchJoyconLeftMapping(this.attachment); case 10: return new flixel_input_gamepad_mappings_SwitchJoyconRightMapping(this.attachment); default: return new flixel_input_gamepad_mappings_XInputMapping(this.attachment); } } ,get_name: function() { if(this._device == null) { return null; } return this._device.name; } ,set_model: function(Model) { this.model = Model; this.mapping = this.createMappingForModel(this.model); return this.model; } ,set_attachment: function(Attachment) { this.attachment = Attachment; this.mapping.set_attachment(Attachment); return this.attachment; } ,get_deadZone: function() { if(this.manager == null || this.manager.globalDeadZone == null) { return this._deadZone; } else { return this.manager.globalDeadZone; } } ,set_deadZone: function(deadZone) { return this._deadZone = deadZone; } ,getInputLabel: function(id) { return this.mapping.getInputLabel(id); } ,toString: function() { var value = this.id; var _this = flixel_util_LabelValuePair._pool.get(); _this.label = "id"; _this.value = value; var value1 = this.model; var _this1 = flixel_util_LabelValuePair._pool.get(); _this1.label = "model"; _this1.value = value1; var value2 = this.get_deadZone(); var _this2 = flixel_util_LabelValuePair._pool.get(); _this2.label = "deadZone"; _this2.value = value2; return flixel_util_FlxStringUtil.getDebugString([_this,_this1,_this2]); } ,__class__: flixel_input_gamepad_FlxGamepad ,__properties__: {set_deadZone:"set_deadZone",get_deadZone:"get_deadZone",set_attachment:"set_attachment",set_model:"set_model",get_name:"get_name"} }; var flixel_input_gamepad_FlxGamepadDeadZoneMode = $hxEnums["flixel.input.gamepad.FlxGamepadDeadZoneMode"] = { __ename__ : "flixel.input.gamepad.FlxGamepadDeadZoneMode", __constructs__ : ["INDEPENDENT_AXES","CIRCULAR"] ,INDEPENDENT_AXES: {_hx_index:0,__enum__:"flixel.input.gamepad.FlxGamepadDeadZoneMode",toString:$estr} ,CIRCULAR: {_hx_index:1,__enum__:"flixel.input.gamepad.FlxGamepadDeadZoneMode",toString:$estr} }; var flixel_input_gamepad_FlxGamepadModel = $hxEnums["flixel.input.gamepad.FlxGamepadModel"] = { __ename__ : "flixel.input.gamepad.FlxGamepadModel", __constructs__ : ["LOGITECH","OUYA","PS4","PSVITA","XINPUT","MAYFLASH_WII_REMOTE","WII_REMOTE","MFI","SWITCH_PRO","SWITCH_JOYCON_LEFT","SWITCH_JOYCON_RIGHT","UNKNOWN"] ,LOGITECH: {_hx_index:0,__enum__:"flixel.input.gamepad.FlxGamepadModel",toString:$estr} ,OUYA: {_hx_index:1,__enum__:"flixel.input.gamepad.FlxGamepadModel",toString:$estr} ,PS4: {_hx_index:2,__enum__:"flixel.input.gamepad.FlxGamepadModel",toString:$estr} ,PSVITA: {_hx_index:3,__enum__:"flixel.input.gamepad.FlxGamepadModel",toString:$estr} ,XINPUT: {_hx_index:4,__enum__:"flixel.input.gamepad.FlxGamepadModel",toString:$estr} ,MAYFLASH_WII_REMOTE: {_hx_index:5,__enum__:"flixel.input.gamepad.FlxGamepadModel",toString:$estr} ,WII_REMOTE: {_hx_index:6,__enum__:"flixel.input.gamepad.FlxGamepadModel",toString:$estr} ,MFI: {_hx_index:7,__enum__:"flixel.input.gamepad.FlxGamepadModel",toString:$estr} ,SWITCH_PRO: {_hx_index:8,__enum__:"flixel.input.gamepad.FlxGamepadModel",toString:$estr} ,SWITCH_JOYCON_LEFT: {_hx_index:9,__enum__:"flixel.input.gamepad.FlxGamepadModel",toString:$estr} ,SWITCH_JOYCON_RIGHT: {_hx_index:10,__enum__:"flixel.input.gamepad.FlxGamepadModel",toString:$estr} ,UNKNOWN: {_hx_index:11,__enum__:"flixel.input.gamepad.FlxGamepadModel",toString:$estr} }; var flixel_input_gamepad_FlxGamepadAttachment = $hxEnums["flixel.input.gamepad.FlxGamepadAttachment"] = { __ename__ : "flixel.input.gamepad.FlxGamepadAttachment", __constructs__ : ["WII_NUNCHUCK","WII_CLASSIC_CONTROLLER","NONE"] ,WII_NUNCHUCK: {_hx_index:0,__enum__:"flixel.input.gamepad.FlxGamepadAttachment",toString:$estr} ,WII_CLASSIC_CONTROLLER: {_hx_index:1,__enum__:"flixel.input.gamepad.FlxGamepadAttachment",toString:$estr} ,NONE: {_hx_index:2,__enum__:"flixel.input.gamepad.FlxGamepadAttachment",toString:$estr} }; var flixel_input_gamepad_FlxGamepadAnalogStick = function(x,y,settings) { this.mode = flixel_input_gamepad_FlxAnalogToDigitalMode.BOTH; this.digitalThreshold = 0.5; this.rawRight = -1; this.rawLeft = -1; this.rawDown = -1; this.rawUp = -1; this.x = x; this.y = y; if(settings == null) { return; } this.mode = settings.mode != null ? settings.mode : flixel_input_gamepad_FlxAnalogToDigitalMode.BOTH; this.rawUp = settings.up != null ? settings.up : -1; this.rawDown = settings.down != null ? settings.down : -1; this.rawLeft = settings.left != null ? settings.left : -1; this.rawRight = settings.right != null ? settings.right : -1; this.digitalThreshold = settings.threshold != null ? settings.threshold : 0.5; }; $hxClasses["flixel.input.gamepad.FlxGamepadAnalogStick"] = flixel_input_gamepad_FlxGamepadAnalogStick; flixel_input_gamepad_FlxGamepadAnalogStick.__name__ = "flixel.input.gamepad.FlxGamepadAnalogStick"; flixel_input_gamepad_FlxGamepadAnalogStick.prototype = { x: null ,y: null ,rawUp: null ,rawDown: null ,rawLeft: null ,rawRight: null ,digitalThreshold: null ,mode: null ,toString: function() { var value = this.x; var _this = flixel_util_LabelValuePair._pool.get(); _this.label = "x"; _this.value = value; var value1 = this.y; var _this1 = flixel_util_LabelValuePair._pool.get(); _this1.label = "y"; _this1.value = value1; var value2 = this.rawUp; var _this2 = flixel_util_LabelValuePair._pool.get(); _this2.label = "rawUp"; _this2.value = value2; var value3 = this.rawDown; var _this3 = flixel_util_LabelValuePair._pool.get(); _this3.label = "rawDown"; _this3.value = value3; var value4 = this.rawLeft; var _this4 = flixel_util_LabelValuePair._pool.get(); _this4.label = "rawLeft"; _this4.value = value4; var value5 = this.rawRight; var _this5 = flixel_util_LabelValuePair._pool.get(); _this5.label = "rawRight"; _this5.value = value5; var value6 = this.digitalThreshold; var _this6 = flixel_util_LabelValuePair._pool.get(); _this6.label = "digitalThreshold"; _this6.value = value6; var value7 = this.mode; var _this7 = flixel_util_LabelValuePair._pool.get(); _this7.label = "mode"; _this7.value = value7; return flixel_util_FlxStringUtil.getDebugString([_this,_this1,_this2,_this3,_this4,_this5,_this6,_this7]); } ,__class__: flixel_input_gamepad_FlxGamepadAnalogStick }; var flixel_input_gamepad_FlxAnalogToDigitalMode = $hxEnums["flixel.input.gamepad.FlxAnalogToDigitalMode"] = { __ename__ : "flixel.input.gamepad.FlxAnalogToDigitalMode", __constructs__ : ["BOTH","ONLY_DIGITAL","ONLY_ANALOG"] ,BOTH: {_hx_index:0,__enum__:"flixel.input.gamepad.FlxAnalogToDigitalMode",toString:$estr} ,ONLY_DIGITAL: {_hx_index:1,__enum__:"flixel.input.gamepad.FlxAnalogToDigitalMode",toString:$estr} ,ONLY_ANALOG: {_hx_index:2,__enum__:"flixel.input.gamepad.FlxAnalogToDigitalMode",toString:$estr} }; var flixel_input_gamepad_FlxGamepadButton = function(ID) { this.value = 0; flixel_input_FlxInput.call(this,ID); }; $hxClasses["flixel.input.gamepad.FlxGamepadButton"] = flixel_input_gamepad_FlxGamepadButton; flixel_input_gamepad_FlxGamepadButton.__name__ = "flixel.input.gamepad.FlxGamepadButton"; flixel_input_gamepad_FlxGamepadButton.__super__ = flixel_input_FlxInput; flixel_input_gamepad_FlxGamepadButton.prototype = $extend(flixel_input_FlxInput.prototype,{ value: null ,__class__: flixel_input_gamepad_FlxGamepadButton }); var flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$ = {}; $hxClasses["flixel.input.gamepad._FlxGamepadInputID.FlxGamepadInputID_Impl_"] = flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.__name__ = "flixel.input.gamepad._FlxGamepadInputID.FlxGamepadInputID_Impl_"; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.fromString = function(s) { s = s.toUpperCase(); var _this = flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.fromStringMap; if(__map_reserved[s] != null ? _this.existsReserved(s) : _this.h.hasOwnProperty(s)) { var _this1 = flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.fromStringMap; if(__map_reserved[s] != null) { return _this1.getReserved(s); } else { return _this1.h[s]; } } else { return -1; } }; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.toString = function(this1) { return flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.toStringMap.h[this1]; }; var openfl_ui_GameInput = function() { openfl_events_EventDispatcher.call(this); openfl_ui_GameInput.__instances.push(this); }; $hxClasses["openfl.ui.GameInput"] = openfl_ui_GameInput; openfl_ui_GameInput.__name__ = "openfl.ui.GameInput"; openfl_ui_GameInput.getDeviceAt = function(index) { if(index >= 0 && index < openfl_ui_GameInput.__deviceList.length) { return openfl_ui_GameInput.__deviceList[index]; } return null; }; openfl_ui_GameInput.__getDevice = function(gamepad) { if(gamepad == null) { return null; } if(openfl_ui_GameInput.__devices.h.__keys__[gamepad.__id__] == null) { var devices = lime_ui_Joystick.__getDeviceData(); var device = devices[gamepad.id].id; var devices1 = lime_ui_Joystick.__getDeviceData(); var device1 = new openfl_ui_GameInputDevice(device,devices1[gamepad.id].id); openfl_ui_GameInput.__deviceList.push(device1); openfl_ui_GameInput.__devices.set(gamepad,device1); openfl_ui_GameInput.numDevices = openfl_ui_GameInput.__deviceList.length; } return openfl_ui_GameInput.__devices.h[gamepad.__id__]; }; openfl_ui_GameInput.__onGamepadAxisMove = function(gamepad,axis,value) { var device = openfl_ui_GameInput.__getDevice(gamepad); if(device == null) { return; } if(device.enabled) { if(!device.__axis.h.hasOwnProperty(axis)) { var control; switch(axis) { case 0: control = "LEFT_X"; break; case 1: control = "LEFT_Y"; break; case 2: control = "RIGHT_X"; break; case 3: control = "RIGHT_Y"; break; case 4: control = "TRIGGER_LEFT"; break; case 5: control = "TRIGGER_RIGHT"; break; default: control = "UNKNOWN (" + axis + ")"; } var control1 = new openfl_ui_GameInputControl(device,"AXIS_" + control,-1,1); device.__axis.h[axis] = control1; device.__controls.push(control1); } var control2 = device.__axis.h[axis]; control2.value = value; control2.dispatchEvent(new openfl_events_Event("change")); } }; openfl_ui_GameInput.__onGamepadButtonDown = function(gamepad,button) { var device = openfl_ui_GameInput.__getDevice(gamepad); if(device == null) { return; } if(device.enabled) { if(!device.__button.h.hasOwnProperty(button)) { var control; switch(button) { case 0: control = "A"; break; case 1: control = "B"; break; case 2: control = "X"; break; case 3: control = "Y"; break; case 4: control = "BACK"; break; case 5: control = "GUIDE"; break; case 6: control = "START"; break; case 7: control = "LEFT_STICK"; break; case 8: control = "RIGHT_STICK"; break; case 9: control = "LEFT_SHOULDER"; break; case 10: control = "RIGHT_SHOULDER"; break; case 11: control = "DPAD_UP"; break; case 12: control = "DPAD_DOWN"; break; case 13: control = "DPAD_LEFT"; break; case 14: control = "DPAD_RIGHT"; break; default: control = "UNKNOWN (" + button + ")"; } var control1 = new openfl_ui_GameInputControl(device,"BUTTON_" + control,0,1); device.__button.h[button] = control1; device.__controls.push(control1); } var control2 = device.__button.h[button]; control2.value = 1; control2.dispatchEvent(new openfl_events_Event("change")); } }; openfl_ui_GameInput.__onGamepadButtonUp = function(gamepad,button) { var device = openfl_ui_GameInput.__getDevice(gamepad); if(device == null) { return; } if(device.enabled) { if(!device.__button.h.hasOwnProperty(button)) { var control; switch(button) { case 0: control = "A"; break; case 1: control = "B"; break; case 2: control = "X"; break; case 3: control = "Y"; break; case 4: control = "BACK"; break; case 5: control = "GUIDE"; break; case 6: control = "START"; break; case 7: control = "LEFT_STICK"; break; case 8: control = "RIGHT_STICK"; break; case 9: control = "LEFT_SHOULDER"; break; case 10: control = "RIGHT_SHOULDER"; break; case 11: control = "DPAD_UP"; break; case 12: control = "DPAD_DOWN"; break; case 13: control = "DPAD_LEFT"; break; case 14: control = "DPAD_RIGHT"; break; default: control = "UNKNOWN (" + button + ")"; } var control1 = new openfl_ui_GameInputControl(device,"BUTTON_" + control,0,1); device.__button.h[button] = control1; device.__controls.push(control1); } var control2 = device.__button.h[button]; control2.value = 0; control2.dispatchEvent(new openfl_events_Event("change")); } }; openfl_ui_GameInput.__onGamepadConnect = function(gamepad) { var device = openfl_ui_GameInput.__getDevice(gamepad); if(device == null) { return; } var _g = 0; var _g1 = openfl_ui_GameInput.__instances; while(_g < _g1.length) { var instance = _g1[_g]; ++_g; instance.dispatchEvent(new openfl_events_GameInputEvent("deviceAdded",true,false,device)); } }; openfl_ui_GameInput.__onGamepadDisconnect = function(gamepad) { var device = openfl_ui_GameInput.__devices.h[gamepad.__id__]; if(device != null) { if(openfl_ui_GameInput.__devices.h.__keys__[gamepad.__id__] != null) { HxOverrides.remove(openfl_ui_GameInput.__deviceList,openfl_ui_GameInput.__devices.h[gamepad.__id__]); openfl_ui_GameInput.__devices.remove(gamepad); } openfl_ui_GameInput.numDevices = openfl_ui_GameInput.__deviceList.length; var _g = 0; var _g1 = openfl_ui_GameInput.__instances; while(_g < _g1.length) { var instance = _g1[_g]; ++_g; instance.dispatchEvent(new openfl_events_GameInputEvent("deviceRemoved",true,false,device)); } } }; openfl_ui_GameInput.__super__ = openfl_events_EventDispatcher; openfl_ui_GameInput.prototype = $extend(openfl_events_EventDispatcher.prototype,{ addEventListener: function(type,listener,useCapture,priority,useWeakReference) { if(useWeakReference == null) { useWeakReference = false; } if(priority == null) { priority = 0; } if(useCapture == null) { useCapture = false; } openfl_events_EventDispatcher.prototype.addEventListener.call(this,type,listener,useCapture,priority,useWeakReference); if(type == "deviceAdded") { var _g = 0; var _g1 = openfl_ui_GameInput.__deviceList; while(_g < _g1.length) { var device = _g1[_g]; ++_g; this.dispatchEvent(new openfl_events_GameInputEvent("deviceAdded",true,false,device)); } } } ,__class__: openfl_ui_GameInput }); var flixel_input_gamepad_FlxGamepadManager = function() { this._activeGamepads = []; this._gamepads = []; this.deviceConnected = new flixel_util__$FlxSignal_FlxSignal1(); this.deviceDisconnected = new flixel_util__$FlxSignal_FlxSignal1(); flixel_input_gamepad_FlxGamepadManager._gameInput.addEventListener("deviceAdded",$bind(this,this.onDeviceAdded)); flixel_input_gamepad_FlxGamepadManager._gameInput.addEventListener("deviceRemoved",$bind(this,this.onDeviceRemoved)); var _g = 0; var _g1 = openfl_ui_GameInput.numDevices; while(_g < _g1) { var i = _g++; this.addGamepad(openfl_ui_GameInput.getDeviceAt(i)); } }; $hxClasses["flixel.input.gamepad.FlxGamepadManager"] = flixel_input_gamepad_FlxGamepadManager; flixel_input_gamepad_FlxGamepadManager.__name__ = "flixel.input.gamepad.FlxGamepadManager"; flixel_input_gamepad_FlxGamepadManager.__interfaces__ = [flixel_input_IFlxInputManager]; flixel_input_gamepad_FlxGamepadManager.prototype = { firstActive: null ,lastActive: null ,globalDeadZone: null ,deviceConnected: null ,deviceDisconnected: null ,_gamepads: null ,_activeGamepads: null ,getByID: function(GamepadID) { return this._activeGamepads[GamepadID]; } ,removeByID: function(GamepadID) { var gamepad = this._gamepads[GamepadID]; if(gamepad != null) { this._gamepads[GamepadID] = null; var i = this._activeGamepads.indexOf(gamepad); if(i != -1) { this._activeGamepads[i] = null; this.deviceDisconnected.dispatch(gamepad); } flixel_util_FlxDestroyUtil.destroy(gamepad); } if(this.lastActive == gamepad) { this.lastActive = null; } if(this.firstActive == gamepad) { this.firstActive = null; } } ,createByID: function(GamepadID,Model) { var gamepad = this._gamepads[GamepadID]; if(gamepad == null) { gamepad = new flixel_input_gamepad_FlxGamepad(GamepadID,this,Model); this._gamepads[GamepadID] = gamepad; var nullFound = false; var _g = 0; var _g1 = this._activeGamepads.length; while(_g < _g1) { var i = _g++; if(this._activeGamepads[i] == null) { this._activeGamepads[i] = gamepad; nullFound = true; break; } } if(!nullFound) { this._activeGamepads.push(gamepad); } } this.lastActive = gamepad; if(this.firstActive == null) { this.firstActive = gamepad; } return gamepad; } ,getActiveGamepadIDs: function(IDsArray) { if(IDsArray == null) { IDsArray = []; } var _g = 0; var _g1 = this._gamepads; while(_g < _g1.length) { var gamepad = _g1[_g]; ++_g; if(gamepad != null && gamepad.anyInput()) { IDsArray.push(gamepad.id); } } return IDsArray; } ,getActiveGamepads: function(GamepadArray) { if(GamepadArray == null) { GamepadArray = []; } var _g = 0; var _g1 = this._gamepads; while(_g < _g1.length) { var gamepad = _g1[_g]; ++_g; if(gamepad != null && gamepad.anyInput()) { GamepadArray.push(gamepad); } } return GamepadArray; } ,getFirstActiveGamepadID: function() { var firstActive = this.getFirstActiveGamepad(); if(firstActive == null) { return -1; } else { return firstActive.id; } } ,getFirstActiveGamepad: function() { var _g = 0; var _g1 = this._gamepads; while(_g < _g1.length) { var gamepad = _g1[_g]; ++_g; if(gamepad != null && gamepad.anyInput()) { return gamepad; } } return null; } ,anyButton: function(state) { if(state == null) { state = 1; } var _g = 0; var _g1 = this._gamepads; while(_g < _g1.length) { var gamepad = _g1[_g]; ++_g; if(gamepad != null && gamepad.anyButton(state)) { return true; } } return false; } ,anyInput: function() { var _g = 0; var _g1 = this._gamepads; while(_g < _g1.length) { var gamepad = _g1[_g]; ++_g; if(gamepad != null && gamepad.anyInput()) { return true; } } return false; } ,anyPressed: function(buttonID) { return this.anyHasState(buttonID,1); } ,anyJustPressed: function(buttonID) { return this.anyHasState(buttonID,2); } ,anyJustReleased: function(buttonID) { return this.anyHasState(buttonID,-1); } ,anyHasState: function(buttonID,state) { var _g = 0; var _g1 = this._gamepads; while(_g < _g1.length) { var gamepad = _g1[_g]; ++_g; var tmp; if(gamepad != null) { switch(buttonID) { case -2: tmp = gamepad.anyButton(state); break; case -1: tmp = !gamepad.anyButton(state); break; default: var RawID = gamepad.mapping.getRawID(buttonID); var button = gamepad.buttons[RawID]; tmp = button != null && button.hasState(state); } } else { tmp = false; } if(tmp) { return true; } } return false; } ,anyMovedXAxis: function(RawAxisID) { var _g = 0; var _g1 = this._gamepads; while(_g < _g1.length) { var gamepad = _g1[_g]; ++_g; if(gamepad == null) { continue; } var value = gamepad.getAnalogXAxisValue(RawAxisID); if(value != 0) { return value; } } return 0; } ,anyMovedYAxis: function(RawAxisID) { var _g = 0; var _g1 = this._gamepads; while(_g < _g1.length) { var gamepad = _g1[_g]; ++_g; if(gamepad == null) { continue; } var value = gamepad.getYAxisRaw(RawAxisID); if(value != 0) { return value; } } return 0; } ,destroy: function() { this._gamepads = flixel_util_FlxDestroyUtil.destroyArray(this._gamepads); this.firstActive = null; this.lastActive = null; this._gamepads = null; flixel_input_gamepad_FlxGamepadManager._gameInput.removeEventListener("deviceAdded",$bind(this,this.onDeviceAdded)); flixel_input_gamepad_FlxGamepadManager._gameInput.removeEventListener("deviceRemoved",$bind(this,this.onDeviceRemoved)); } ,reset: function() { var _g = 0; var _g1 = this._gamepads; while(_g < _g1.length) { var gamepad = _g1[_g]; ++_g; if(gamepad != null) { gamepad.reset(); } } } ,onDeviceAdded: function(Event1) { this.addGamepad(Event1.device); } ,onDeviceRemoved: function(Event1) { this.removeGamepad(Event1.device); } ,findGamepadIndex: function(Device1) { if(Device1 == null) { return -1; } var _g = 0; var _g1 = openfl_ui_GameInput.numDevices; while(_g < _g1) { var i = _g++; if(openfl_ui_GameInput.getDeviceAt(i) == Device1) { return i; } } return -1; } ,addGamepad: function(Device1) { if(Device1 == null) { return; } Device1.enabled = true; var id = this.findGamepadIndex(Device1); if(id < 0) { return; } var gamepad = this.createByID(id,this.getModelFromDeviceName(Device1.name)); gamepad._device = Device1; this.deviceConnected.dispatch(gamepad); } ,getModelFromDeviceName: function(name) { if(name == null) { return flixel_input_gamepad_FlxGamepadModel.UNKNOWN; } name = StringTools.replace(StringTools.replace(name.toLowerCase(),"-",""),"_",""); if(name.indexOf("ouya") != -1) { return flixel_input_gamepad_FlxGamepadModel.OUYA; } else if(name.indexOf("wireless controller") != -1 || name.indexOf("ps4") != -1) { return flixel_input_gamepad_FlxGamepadModel.PS4; } else if(name.indexOf("logitech") != -1) { return flixel_input_gamepad_FlxGamepadModel.LOGITECH; } else if(name.indexOf("xbox") != -1 && name.indexOf("360") != -1 || name.indexOf("xinput") != -1) { return flixel_input_gamepad_FlxGamepadModel.XINPUT; } else if(name.indexOf("nintendo rvlcnt01tr") != -1) { return flixel_input_gamepad_FlxGamepadModel.WII_REMOTE; } else if(name.indexOf("nintendo rvlcnt01") != -1) { return flixel_input_gamepad_FlxGamepadModel.WII_REMOTE; } else if(name.indexOf("mayflash wiimote pc adapter") != -1) { return flixel_input_gamepad_FlxGamepadModel.MAYFLASH_WII_REMOTE; } else if(name.indexOf("pro controller") != -1 || name.indexOf("joycon l+r") != -1) { return flixel_input_gamepad_FlxGamepadModel.SWITCH_PRO; } else if(name.indexOf("joycon (l)") != -1) { return flixel_input_gamepad_FlxGamepadModel.SWITCH_JOYCON_LEFT; } else if(name.indexOf("joycon (r)") != -1) { return flixel_input_gamepad_FlxGamepadModel.SWITCH_JOYCON_RIGHT; } else if(name.indexOf("mfi") != -1) { return flixel_input_gamepad_FlxGamepadModel.MFI; } else { return flixel_input_gamepad_FlxGamepadModel.UNKNOWN; } } ,removeGamepad: function(Device1) { if(Device1 == null) { return; } var _g = 0; var _g1 = this._gamepads.length; while(_g < _g1) { var i = _g++; var gamepad = this._gamepads[i]; if(gamepad != null && gamepad._device == Device1) { this.removeByID(i); } } } ,update: function() { var _g = 0; var _g1 = this._gamepads; while(_g < _g1.length) { var gamepad = _g1[_g]; ++_g; if(gamepad != null) { gamepad.update(); } } } ,onFocus: function() { } ,onFocusLost: function() { this.reset(); } ,get_numActiveGamepads: function() { var count = 0; var _g = 0; var _g1 = this._gamepads; while(_g < _g1.length) { var gamepad = _g1[_g]; ++_g; if(gamepad != null) { ++count; } } return count; } ,__class__: flixel_input_gamepad_FlxGamepadManager ,__properties__: {get_numActiveGamepads:"get_numActiveGamepads"} }; var flixel_input_gamepad_id_LogitechID = function() { }; $hxClasses["flixel.input.gamepad.id.LogitechID"] = flixel_input_gamepad_id_LogitechID; flixel_input_gamepad_id_LogitechID.__name__ = "flixel.input.gamepad.id.LogitechID"; var flixel_input_gamepad_id_MFiID = function() { }; $hxClasses["flixel.input.gamepad.id.MFiID"] = flixel_input_gamepad_id_MFiID; flixel_input_gamepad_id_MFiID.__name__ = "flixel.input.gamepad.id.MFiID"; var flixel_input_gamepad_id_MayflashWiiRemoteID = function() { }; $hxClasses["flixel.input.gamepad.id.MayflashWiiRemoteID"] = flixel_input_gamepad_id_MayflashWiiRemoteID; flixel_input_gamepad_id_MayflashWiiRemoteID.__name__ = "flixel.input.gamepad.id.MayflashWiiRemoteID"; var flixel_input_gamepad_id_OUYAID = function() { }; $hxClasses["flixel.input.gamepad.id.OUYAID"] = flixel_input_gamepad_id_OUYAID; flixel_input_gamepad_id_OUYAID.__name__ = "flixel.input.gamepad.id.OUYAID"; var flixel_input_gamepad_id_PS4ID = function() { }; $hxClasses["flixel.input.gamepad.id.PS4ID"] = flixel_input_gamepad_id_PS4ID; flixel_input_gamepad_id_PS4ID.__name__ = "flixel.input.gamepad.id.PS4ID"; var flixel_input_gamepad_id_PSVitaID = function() { }; $hxClasses["flixel.input.gamepad.id.PSVitaID"] = flixel_input_gamepad_id_PSVitaID; flixel_input_gamepad_id_PSVitaID.__name__ = "flixel.input.gamepad.id.PSVitaID"; var flixel_input_gamepad_id_SwitchJoyconLeftID = function() { }; $hxClasses["flixel.input.gamepad.id.SwitchJoyconLeftID"] = flixel_input_gamepad_id_SwitchJoyconLeftID; flixel_input_gamepad_id_SwitchJoyconLeftID.__name__ = "flixel.input.gamepad.id.SwitchJoyconLeftID"; var flixel_input_gamepad_id_SwitchJoyconRightID = function() { }; $hxClasses["flixel.input.gamepad.id.SwitchJoyconRightID"] = flixel_input_gamepad_id_SwitchJoyconRightID; flixel_input_gamepad_id_SwitchJoyconRightID.__name__ = "flixel.input.gamepad.id.SwitchJoyconRightID"; var flixel_input_gamepad_id_SwitchProID = function() { }; $hxClasses["flixel.input.gamepad.id.SwitchProID"] = flixel_input_gamepad_id_SwitchProID; flixel_input_gamepad_id_SwitchProID.__name__ = "flixel.input.gamepad.id.SwitchProID"; var flixel_input_gamepad_id_WiiRemoteID = function() { }; $hxClasses["flixel.input.gamepad.id.WiiRemoteID"] = flixel_input_gamepad_id_WiiRemoteID; flixel_input_gamepad_id_WiiRemoteID.__name__ = "flixel.input.gamepad.id.WiiRemoteID"; var flixel_input_gamepad_id_XInputID = function() { }; $hxClasses["flixel.input.gamepad.id.XInputID"] = flixel_input_gamepad_id_XInputID; flixel_input_gamepad_id_XInputID.__name__ = "flixel.input.gamepad.id.XInputID"; var flixel_input_gamepad_lists_FlxBaseGamepadList = function(status,gamepad) { this.status = status; this.gamepad = gamepad; }; $hxClasses["flixel.input.gamepad.lists.FlxBaseGamepadList"] = flixel_input_gamepad_lists_FlxBaseGamepadList; flixel_input_gamepad_lists_FlxBaseGamepadList.__name__ = "flixel.input.gamepad.lists.FlxBaseGamepadList"; flixel_input_gamepad_lists_FlxBaseGamepadList.prototype = { status: null ,gamepad: null ,check: function(id) { var _this = this.gamepad; var Status = this.status; switch(id) { case -2: return _this.anyButton(Status); case -1: return !_this.anyButton(Status); default: var RawID = _this.mapping.getRawID(id); var button = _this.buttons[RawID]; if(button != null) { return button.hasState(Status); } else { return false; } } } ,checkRaw: function(id) { var button = this.gamepad.buttons[id]; if(button != null) { return button.hasState(this.status); } else { return false; } } ,get_ANY: function() { var _g = 0; var _g1 = this.gamepad.buttons; while(_g < _g1.length) { var button = _g1[_g]; ++_g; var tmp; if(button != null) { var button1 = this.gamepad.buttons[button.ID]; tmp = button1 != null && button1.hasState(this.status); } else { tmp = false; } if(tmp) { return true; } } return false; } ,get_ALL: function() { var _g = 0; var _g1 = this.gamepad.buttons; while(_g < _g1.length) { var button = _g1[_g]; ++_g; var tmp; if(button != null) { var button1 = this.gamepad.buttons[button.ID]; tmp = !(button1 != null && button1.hasState(this.status)); } else { tmp = false; } if(tmp) { return false; } } return true; } ,get_NONE: function() { var _g = 0; var _g1 = this.gamepad.buttons; while(_g < _g1.length) { var button = _g1[_g]; ++_g; var tmp; if(button != null) { var button1 = this.gamepad.buttons[button.ID]; tmp = button1 != null && button1.hasState(this.status); } else { tmp = false; } if(tmp) { return false; } } return true; } ,__class__: flixel_input_gamepad_lists_FlxBaseGamepadList ,__properties__: {get_NONE:"get_NONE",get_ALL:"get_ALL",get_ANY:"get_ANY"} }; var flixel_input_gamepad_lists_FlxGamepadAnalogList = function(gamepad) { this.value = new flixel_input_gamepad_lists_FlxGamepadAnalogValueList(gamepad); this.justMoved = new flixel_input_gamepad_lists_FlxGamepadAnalogStateList(2,gamepad); this.justReleased = new flixel_input_gamepad_lists_FlxGamepadAnalogStateList(-1,gamepad); }; $hxClasses["flixel.input.gamepad.lists.FlxGamepadAnalogList"] = flixel_input_gamepad_lists_FlxGamepadAnalogList; flixel_input_gamepad_lists_FlxGamepadAnalogList.__name__ = "flixel.input.gamepad.lists.FlxGamepadAnalogList"; flixel_input_gamepad_lists_FlxGamepadAnalogList.prototype = { value: null ,justMoved: null ,justReleased: null ,__class__: flixel_input_gamepad_lists_FlxGamepadAnalogList }; var flixel_input_gamepad_lists_FlxGamepadAnalogStateList = function(status,gamepad) { this.status = status; this.gamepad = gamepad; }; $hxClasses["flixel.input.gamepad.lists.FlxGamepadAnalogStateList"] = flixel_input_gamepad_lists_FlxGamepadAnalogStateList; flixel_input_gamepad_lists_FlxGamepadAnalogStateList.__name__ = "flixel.input.gamepad.lists.FlxGamepadAnalogStateList"; flixel_input_gamepad_lists_FlxGamepadAnalogStateList.prototype = { gamepad: null ,status: null ,get_LEFT_STICK: function() { return this.checkXY(19); } ,get_LEFT_STICK_X: function() { var stick = this.gamepad.mapping.getAnalogStick(19); if(stick == null) { return false; } else { var button = this.gamepad.buttons[stick.x]; if(button != null) { return button.hasState(this.status); } else { return false; } } } ,get_LEFT_STICK_Y: function() { var stick = this.gamepad.mapping.getAnalogStick(19); if(stick == null) { return false; } else { var button = this.gamepad.buttons[stick.y]; if(button != null) { return button.hasState(this.status); } else { return false; } } } ,get_RIGHT_STICK: function() { return this.checkXY(20); } ,get_RIGHT_STICK_X: function() { var stick = this.gamepad.mapping.getAnalogStick(20); if(stick == null) { return false; } else { var button = this.gamepad.buttons[stick.x]; if(button != null) { return button.hasState(this.status); } else { return false; } } } ,get_RIGHT_STICK_Y: function() { var stick = this.gamepad.mapping.getAnalogStick(20); if(stick == null) { return false; } else { var button = this.gamepad.buttons[stick.y]; if(button != null) { return button.hasState(this.status); } else { return false; } } } ,checkXY: function(id) { var stick = this.gamepad.mapping.getAnalogStick(id); if(stick == null) { return false; } var button = this.gamepad.buttons[stick.x]; var xVal = button != null && button.hasState(this.status); var button1 = this.gamepad.buttons[stick.y]; var yVal = button1 != null && button1.hasState(this.status); if(xVal && yVal) { return true; } if(xVal) { var button2 = this.gamepad.buttons[stick.y]; var yReleased = button2 != null && button2.hasState(0); var button3 = this.gamepad.buttons[stick.y]; var yJustReleased = button3 != null && button3.hasState(-1); if(yReleased || yJustReleased) { return true; } } if(yVal) { var button4 = this.gamepad.buttons[stick.x]; var xReleased = button4 != null && button4.hasState(0); var button5 = this.gamepad.buttons[stick.x]; var xJustReleased = button5 != null && button5.hasState(-1); if(xReleased || xJustReleased) { return true; } } return false; } ,checkX: function(id) { var stick = this.gamepad.mapping.getAnalogStick(id); if(stick == null) { return false; } var button = this.gamepad.buttons[stick.x]; if(button != null) { return button.hasState(this.status); } else { return false; } } ,checkY: function(id) { var stick = this.gamepad.mapping.getAnalogStick(id); if(stick == null) { return false; } var button = this.gamepad.buttons[stick.y]; if(button != null) { return button.hasState(this.status); } else { return false; } } ,checkRaw: function(RawID,Status) { var button = this.gamepad.buttons[RawID]; if(button != null) { return button.hasState(Status); } else { return false; } } ,__class__: flixel_input_gamepad_lists_FlxGamepadAnalogStateList ,__properties__: {get_RIGHT_STICK_Y:"get_RIGHT_STICK_Y",get_RIGHT_STICK_X:"get_RIGHT_STICK_X",get_RIGHT_STICK:"get_RIGHT_STICK",get_LEFT_STICK_Y:"get_LEFT_STICK_Y",get_LEFT_STICK_X:"get_LEFT_STICK_X",get_LEFT_STICK:"get_LEFT_STICK"} }; var flixel_input_gamepad_lists_FlxGamepadAnalogValueList = function(gamepad) { this.gamepad = gamepad; }; $hxClasses["flixel.input.gamepad.lists.FlxGamepadAnalogValueList"] = flixel_input_gamepad_lists_FlxGamepadAnalogValueList; flixel_input_gamepad_lists_FlxGamepadAnalogValueList.__name__ = "flixel.input.gamepad.lists.FlxGamepadAnalogValueList"; flixel_input_gamepad_lists_FlxGamepadAnalogValueList.prototype = { gamepad: null ,get_LEFT_STICK_X: function() { var _this = this.gamepad; return _this.getAnalogXAxisValue(_this.mapping.getAnalogStick(19)); } ,get_LEFT_STICK_Y: function() { var _this = this.gamepad; return _this.getYAxisRaw(_this.mapping.getAnalogStick(19)); } ,get_RIGHT_STICK_X: function() { var _this = this.gamepad; return _this.getAnalogXAxisValue(_this.mapping.getAnalogStick(20)); } ,get_RIGHT_STICK_Y: function() { var _this = this.gamepad; return _this.getYAxisRaw(_this.mapping.getAnalogStick(20)); } ,get_LEFT_TRIGGER: function() { return this.gamepad.getAxis(17); } ,get_RIGHT_TRIGGER: function() { return this.gamepad.getAxis(18); } ,get_POINTER_X: function() { return this.gamepad.getAxis(28); } ,get_POINTER_Y: function() { return this.gamepad.getAxis(29); } ,getAxis: function(id) { return this.gamepad.getAxis(id); } ,getXAxis: function(id) { var _this = this.gamepad; return _this.getAnalogXAxisValue(_this.mapping.getAnalogStick(id)); } ,getYAxis: function(id) { var _this = this.gamepad; return _this.getYAxisRaw(_this.mapping.getAnalogStick(id)); } ,__class__: flixel_input_gamepad_lists_FlxGamepadAnalogValueList ,__properties__: {get_POINTER_Y:"get_POINTER_Y",get_POINTER_X:"get_POINTER_X",get_RIGHT_TRIGGER:"get_RIGHT_TRIGGER",get_LEFT_TRIGGER:"get_LEFT_TRIGGER",get_RIGHT_STICK_Y:"get_RIGHT_STICK_Y",get_RIGHT_STICK_X:"get_RIGHT_STICK_X",get_LEFT_STICK_Y:"get_LEFT_STICK_Y",get_LEFT_STICK_X:"get_LEFT_STICK_X"} }; var flixel_input_gamepad_lists_FlxGamepadButtonList = function(status,gamepad) { flixel_input_gamepad_lists_FlxBaseGamepadList.call(this,status,gamepad); }; $hxClasses["flixel.input.gamepad.lists.FlxGamepadButtonList"] = flixel_input_gamepad_lists_FlxGamepadButtonList; flixel_input_gamepad_lists_FlxGamepadButtonList.__name__ = "flixel.input.gamepad.lists.FlxGamepadButtonList"; flixel_input_gamepad_lists_FlxGamepadButtonList.__super__ = flixel_input_gamepad_lists_FlxBaseGamepadList; flixel_input_gamepad_lists_FlxGamepadButtonList.prototype = $extend(flixel_input_gamepad_lists_FlxBaseGamepadList.prototype,{ get_A: function() { var id = 0; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: return _this.anyButton(Status); case -1: return !_this.anyButton(Status); default: var RawID = _this.mapping.getRawID(id); var button = _this.buttons[RawID]; if(button != null) { return button.hasState(Status); } else { return false; } } } ,get_B: function() { var id = 1; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: return _this.anyButton(Status); case -1: return !_this.anyButton(Status); default: var RawID = _this.mapping.getRawID(id); var button = _this.buttons[RawID]; if(button != null) { return button.hasState(Status); } else { return false; } } } ,get_X: function() { var id = 2; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: return _this.anyButton(Status); case -1: return !_this.anyButton(Status); default: var RawID = _this.mapping.getRawID(id); var button = _this.buttons[RawID]; if(button != null) { return button.hasState(Status); } else { return false; } } } ,get_Y: function() { var id = 3; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: return _this.anyButton(Status); case -1: return !_this.anyButton(Status); default: var RawID = _this.mapping.getRawID(id); var button = _this.buttons[RawID]; if(button != null) { return button.hasState(Status); } else { return false; } } } ,get_LEFT_SHOULDER: function() { var id = 4; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: return _this.anyButton(Status); case -1: return !_this.anyButton(Status); default: var RawID = _this.mapping.getRawID(id); var button = _this.buttons[RawID]; if(button != null) { return button.hasState(Status); } else { return false; } } } ,get_RIGHT_SHOULDER: function() { var id = 5; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: return _this.anyButton(Status); case -1: return !_this.anyButton(Status); default: var RawID = _this.mapping.getRawID(id); var button = _this.buttons[RawID]; if(button != null) { return button.hasState(Status); } else { return false; } } } ,get_BACK: function() { var id = 6; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: return _this.anyButton(Status); case -1: return !_this.anyButton(Status); default: var RawID = _this.mapping.getRawID(id); var button = _this.buttons[RawID]; if(button != null) { return button.hasState(Status); } else { return false; } } } ,get_START: function() { var id = 7; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: return _this.anyButton(Status); case -1: return !_this.anyButton(Status); default: var RawID = _this.mapping.getRawID(id); var button = _this.buttons[RawID]; if(button != null) { return button.hasState(Status); } else { return false; } } } ,get_LEFT_STICK_CLICK: function() { var id = 8; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: return _this.anyButton(Status); case -1: return !_this.anyButton(Status); default: var RawID = _this.mapping.getRawID(id); var button = _this.buttons[RawID]; if(button != null) { return button.hasState(Status); } else { return false; } } } ,get_RIGHT_STICK_CLICK: function() { var id = 9; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: return _this.anyButton(Status); case -1: return !_this.anyButton(Status); default: var RawID = _this.mapping.getRawID(id); var button = _this.buttons[RawID]; if(button != null) { return button.hasState(Status); } else { return false; } } } ,get_GUIDE: function() { var id = 10; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: return _this.anyButton(Status); case -1: return !_this.anyButton(Status); default: var RawID = _this.mapping.getRawID(id); var button = _this.buttons[RawID]; if(button != null) { return button.hasState(Status); } else { return false; } } } ,get_DPAD_UP: function() { var id = 11; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: return _this.anyButton(Status); case -1: return !_this.anyButton(Status); default: var RawID = _this.mapping.getRawID(id); var button = _this.buttons[RawID]; if(button != null) { return button.hasState(Status); } else { return false; } } } ,get_DPAD_DOWN: function() { var id = 12; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: return _this.anyButton(Status); case -1: return !_this.anyButton(Status); default: var RawID = _this.mapping.getRawID(id); var button = _this.buttons[RawID]; if(button != null) { return button.hasState(Status); } else { return false; } } } ,get_DPAD_LEFT: function() { var id = 13; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: return _this.anyButton(Status); case -1: return !_this.anyButton(Status); default: var RawID = _this.mapping.getRawID(id); var button = _this.buttons[RawID]; if(button != null) { return button.hasState(Status); } else { return false; } } } ,get_DPAD_RIGHT: function() { var id = 14; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: return _this.anyButton(Status); case -1: return !_this.anyButton(Status); default: var RawID = _this.mapping.getRawID(id); var button = _this.buttons[RawID]; if(button != null) { return button.hasState(Status); } else { return false; } } } ,get_LEFT_TRIGGER_BUTTON: function() { var id = 15; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: return _this.anyButton(Status); case -1: return !_this.anyButton(Status); default: var RawID = _this.mapping.getRawID(id); var button = _this.buttons[RawID]; if(button != null) { return button.hasState(Status); } else { return false; } } } ,get_RIGHT_TRIGGER_BUTTON: function() { var id = 16; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: return _this.anyButton(Status); case -1: return !_this.anyButton(Status); default: var RawID = _this.mapping.getRawID(id); var button = _this.buttons[RawID]; if(button != null) { return button.hasState(Status); } else { return false; } } } ,get_LEFT_TRIGGER: function() { var id = 17; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: return _this.anyButton(Status); case -1: return !_this.anyButton(Status); default: var RawID = _this.mapping.getRawID(id); var button = _this.buttons[RawID]; if(button != null) { return button.hasState(Status); } else { return false; } } } ,get_RIGHT_TRIGGER: function() { var id = 18; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: return _this.anyButton(Status); case -1: return !_this.anyButton(Status); default: var RawID = _this.mapping.getRawID(id); var button = _this.buttons[RawID]; if(button != null) { return button.hasState(Status); } else { return false; } } } ,get_LEFT_ANALOG_STICK: function() { var id = 19; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: return _this.anyButton(Status); case -1: return !_this.anyButton(Status); default: var RawID = _this.mapping.getRawID(id); var button = _this.buttons[RawID]; if(button != null) { return button.hasState(Status); } else { return false; } } } ,get_RIGHT_ANALOG_STICK: function() { var id = 20; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: return _this.anyButton(Status); case -1: return !_this.anyButton(Status); default: var RawID = _this.mapping.getRawID(id); var button = _this.buttons[RawID]; if(button != null) { return button.hasState(Status); } else { return false; } } } ,get_DPAD: function() { var id = 21; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: return _this.anyButton(Status); case -1: return !_this.anyButton(Status); default: var RawID = _this.mapping.getRawID(id); var button = _this.buttons[RawID]; if(button != null) { return button.hasState(Status); } else { return false; } } } ,get_TILT_PITCH: function() { var id = 26; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: return _this.anyButton(Status); case -1: return !_this.anyButton(Status); default: var RawID = _this.mapping.getRawID(id); var button = _this.buttons[RawID]; if(button != null) { return button.hasState(Status); } else { return false; } } } ,get_TILT_ROLL: function() { var id = 27; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: return _this.anyButton(Status); case -1: return !_this.anyButton(Status); default: var RawID = _this.mapping.getRawID(id); var button = _this.buttons[RawID]; if(button != null) { return button.hasState(Status); } else { return false; } } } ,get_POINTER_X: function() { var id = 28; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: return _this.anyButton(Status); case -1: return !_this.anyButton(Status); default: var RawID = _this.mapping.getRawID(id); var button = _this.buttons[RawID]; if(button != null) { return button.hasState(Status); } else { return false; } } } ,get_POINTER_Y: function() { var id = 29; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: return _this.anyButton(Status); case -1: return !_this.anyButton(Status); default: var RawID = _this.mapping.getRawID(id); var button = _this.buttons[RawID]; if(button != null) { return button.hasState(Status); } else { return false; } } } ,get_EXTRA_0: function() { var id = 30; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: return _this.anyButton(Status); case -1: return !_this.anyButton(Status); default: var RawID = _this.mapping.getRawID(id); var button = _this.buttons[RawID]; if(button != null) { return button.hasState(Status); } else { return false; } } } ,get_EXTRA_1: function() { var id = 31; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: return _this.anyButton(Status); case -1: return !_this.anyButton(Status); default: var RawID = _this.mapping.getRawID(id); var button = _this.buttons[RawID]; if(button != null) { return button.hasState(Status); } else { return false; } } } ,get_EXTRA_2: function() { var id = 32; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: return _this.anyButton(Status); case -1: return !_this.anyButton(Status); default: var RawID = _this.mapping.getRawID(id); var button = _this.buttons[RawID]; if(button != null) { return button.hasState(Status); } else { return false; } } } ,get_EXTRA_3: function() { var id = 33; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: return _this.anyButton(Status); case -1: return !_this.anyButton(Status); default: var RawID = _this.mapping.getRawID(id); var button = _this.buttons[RawID]; if(button != null) { return button.hasState(Status); } else { return false; } } } ,get_LEFT_STICK_DIGITAL_UP: function() { var id = 34; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: return _this.anyButton(Status); case -1: return !_this.anyButton(Status); default: var RawID = _this.mapping.getRawID(id); var button = _this.buttons[RawID]; if(button != null) { return button.hasState(Status); } else { return false; } } } ,get_LEFT_STICK_DIGITAL_RIGHT: function() { var id = 35; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: return _this.anyButton(Status); case -1: return !_this.anyButton(Status); default: var RawID = _this.mapping.getRawID(id); var button = _this.buttons[RawID]; if(button != null) { return button.hasState(Status); } else { return false; } } } ,get_LEFT_STICK_DIGITAL_DOWN: function() { var id = 36; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: return _this.anyButton(Status); case -1: return !_this.anyButton(Status); default: var RawID = _this.mapping.getRawID(id); var button = _this.buttons[RawID]; if(button != null) { return button.hasState(Status); } else { return false; } } } ,get_LEFT_STICK_DIGITAL_LEFT: function() { var id = 37; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: return _this.anyButton(Status); case -1: return !_this.anyButton(Status); default: var RawID = _this.mapping.getRawID(id); var button = _this.buttons[RawID]; if(button != null) { return button.hasState(Status); } else { return false; } } } ,get_RIGHT_STICK_DIGITAL_UP: function() { var id = 38; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: return _this.anyButton(Status); case -1: return !_this.anyButton(Status); default: var RawID = _this.mapping.getRawID(id); var button = _this.buttons[RawID]; if(button != null) { return button.hasState(Status); } else { return false; } } } ,get_RIGHT_STICK_DIGITAL_RIGHT: function() { var id = 39; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: return _this.anyButton(Status); case -1: return !_this.anyButton(Status); default: var RawID = _this.mapping.getRawID(id); var button = _this.buttons[RawID]; if(button != null) { return button.hasState(Status); } else { return false; } } } ,get_RIGHT_STICK_DIGITAL_DOWN: function() { var id = 40; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: return _this.anyButton(Status); case -1: return !_this.anyButton(Status); default: var RawID = _this.mapping.getRawID(id); var button = _this.buttons[RawID]; if(button != null) { return button.hasState(Status); } else { return false; } } } ,get_RIGHT_STICK_DIGITAL_LEFT: function() { var id = 41; var _this = this.gamepad; var Status = this.status; switch(id) { case -2: return _this.anyButton(Status); case -1: return !_this.anyButton(Status); default: var RawID = _this.mapping.getRawID(id); var button = _this.buttons[RawID]; if(button != null) { return button.hasState(Status); } else { return false; } } } ,__class__: flixel_input_gamepad_lists_FlxGamepadButtonList ,__properties__: $extend(flixel_input_gamepad_lists_FlxBaseGamepadList.prototype.__properties__,{get_RIGHT_STICK_DIGITAL_LEFT:"get_RIGHT_STICK_DIGITAL_LEFT",get_RIGHT_STICK_DIGITAL_DOWN:"get_RIGHT_STICK_DIGITAL_DOWN",get_RIGHT_STICK_DIGITAL_RIGHT:"get_RIGHT_STICK_DIGITAL_RIGHT",get_RIGHT_STICK_DIGITAL_UP:"get_RIGHT_STICK_DIGITAL_UP",get_LEFT_STICK_DIGITAL_LEFT:"get_LEFT_STICK_DIGITAL_LEFT",get_LEFT_STICK_DIGITAL_DOWN:"get_LEFT_STICK_DIGITAL_DOWN",get_LEFT_STICK_DIGITAL_RIGHT:"get_LEFT_STICK_DIGITAL_RIGHT",get_LEFT_STICK_DIGITAL_UP:"get_LEFT_STICK_DIGITAL_UP",get_EXTRA_3:"get_EXTRA_3",get_EXTRA_2:"get_EXTRA_2",get_EXTRA_1:"get_EXTRA_1",get_EXTRA_0:"get_EXTRA_0",get_POINTER_Y:"get_POINTER_Y",get_POINTER_X:"get_POINTER_X",get_TILT_ROLL:"get_TILT_ROLL",get_TILT_PITCH:"get_TILT_PITCH",get_DPAD:"get_DPAD",get_RIGHT_ANALOG_STICK:"get_RIGHT_ANALOG_STICK",get_LEFT_ANALOG_STICK:"get_LEFT_ANALOG_STICK",get_RIGHT_TRIGGER:"get_RIGHT_TRIGGER",get_LEFT_TRIGGER:"get_LEFT_TRIGGER",get_RIGHT_TRIGGER_BUTTON:"get_RIGHT_TRIGGER_BUTTON",get_LEFT_TRIGGER_BUTTON:"get_LEFT_TRIGGER_BUTTON",get_DPAD_RIGHT:"get_DPAD_RIGHT",get_DPAD_LEFT:"get_DPAD_LEFT",get_DPAD_DOWN:"get_DPAD_DOWN",get_DPAD_UP:"get_DPAD_UP",get_GUIDE:"get_GUIDE",get_RIGHT_STICK_CLICK:"get_RIGHT_STICK_CLICK",get_LEFT_STICK_CLICK:"get_LEFT_STICK_CLICK",get_START:"get_START",get_BACK:"get_BACK",get_RIGHT_SHOULDER:"get_RIGHT_SHOULDER",get_LEFT_SHOULDER:"get_LEFT_SHOULDER",get_Y:"get_Y",get_X:"get_X",get_B:"get_B",get_A:"get_A"}) }); var flixel_input_gamepad_lists_FlxGamepadMotionValueList = function(gamepad) { this.gamepad = gamepad; }; $hxClasses["flixel.input.gamepad.lists.FlxGamepadMotionValueList"] = flixel_input_gamepad_lists_FlxGamepadMotionValueList; flixel_input_gamepad_lists_FlxGamepadMotionValueList.__name__ = "flixel.input.gamepad.lists.FlxGamepadMotionValueList"; flixel_input_gamepad_lists_FlxGamepadMotionValueList.prototype = { gamepad: null ,get_TILT_PITCH: function() { if(!this.gamepad.mapping.supportsMotion) { return 0; } else { return this.gamepad.getAxis(26); } } ,get_TILT_ROLL: function() { if(!this.gamepad.mapping.supportsMotion) { return 0; } else { return this.gamepad.getAxis(27); } } ,getAxis: function(id) { if(!this.gamepad.mapping.supportsMotion) { return 0; } return this.gamepad.getAxis(id); } ,get_isSupported: function() { return this.gamepad.mapping.supportsMotion; } ,__class__: flixel_input_gamepad_lists_FlxGamepadMotionValueList ,__properties__: {get_TILT_ROLL:"get_TILT_ROLL",get_TILT_PITCH:"get_TILT_PITCH",get_isSupported:"get_isSupported"} }; var flixel_input_gamepad_lists_FlxGamepadPointerValueList = function(gamepad) { this.gamepad = gamepad; }; $hxClasses["flixel.input.gamepad.lists.FlxGamepadPointerValueList"] = flixel_input_gamepad_lists_FlxGamepadPointerValueList; flixel_input_gamepad_lists_FlxGamepadPointerValueList.__name__ = "flixel.input.gamepad.lists.FlxGamepadPointerValueList"; flixel_input_gamepad_lists_FlxGamepadPointerValueList.prototype = { gamepad: null ,get_X: function() { if(!this.gamepad.mapping.supportsPointer) { return 0; } else { return this.gamepad.getAxis(28); } } ,get_Y: function() { if(!this.gamepad.mapping.supportsPointer) { return 0; } else { return this.gamepad.getAxis(29); } } ,getAxis: function(id) { if(!this.gamepad.mapping.supportsPointer) { return 0; } return this.gamepad.getAxis(id); } ,get_isSupported: function() { return this.gamepad.mapping.supportsPointer; } ,__class__: flixel_input_gamepad_lists_FlxGamepadPointerValueList ,__properties__: {get_Y:"get_Y",get_X:"get_X",get_isSupported:"get_isSupported"} }; var flixel_input_gamepad_mappings_FlxGamepadMapping = function(attachment) { this.attachment = flixel_input_gamepad_FlxGamepadAttachment.NONE; this.supportsPointer = false; this.supportsMotion = false; if(attachment != null) { this.set_attachment(attachment); } this.initValues(); }; $hxClasses["flixel.input.gamepad.mappings.FlxGamepadMapping"] = flixel_input_gamepad_mappings_FlxGamepadMapping; flixel_input_gamepad_mappings_FlxGamepadMapping.__name__ = "flixel.input.gamepad.mappings.FlxGamepadMapping"; flixel_input_gamepad_mappings_FlxGamepadMapping.prototype = { supportsMotion: null ,supportsPointer: null ,leftStick: null ,rightStick: null ,attachment: null ,manufacturer: null ,initValues: function() { } ,getAnalogStick: function(ID) { switch(ID) { case 19: return this.leftStick; case 20: return this.rightStick; default: return null; } } ,getID: function(rawID) { return -1; } ,getRawID: function(ID) { return -1; } ,isAxisFlipped: function(axisID) { return false; } ,isAxisForMotion: function(ID) { return false; } ,set_attachment: function(attachment) { return this.attachment = attachment; } ,getInputLabel: function(id) { if(this.getRawID(id) == -1) { return null; } switch(id) { case 0: return "a"; case 1: return "b"; case 2: return "x"; case 3: return "y"; case 4: return "lb"; case 5: return "rb"; case 6: return "back"; case 7: return "start"; case 8: return "ls-click"; case 9: return "rs-click"; case 10: return "guide"; case 11: return "up"; case 12: return "down"; case 13: return "left"; case 14: return "right"; case 15: return "l2-click"; case 16: return "r2-click"; case 17: return "lt"; case 18: return "rt"; case 19: return "ls"; case 20: return "rs"; case 21: return "dpad"; case 34: return "ls-up"; case 35: return "ls-right"; case 36: return "ls-down"; case 37: return "ls-left"; case 38: return "rs-up"; case 39: return "rs-right"; case 40: return "rs-down"; case 41: return "rs-left"; default: return null; } } ,__class__: flixel_input_gamepad_mappings_FlxGamepadMapping ,__properties__: {set_attachment:"set_attachment"} }; var flixel_input_gamepad_mappings_Manufacturer = $hxEnums["flixel.input.gamepad.mappings.Manufacturer"] = { __ename__ : "flixel.input.gamepad.mappings.Manufacturer", __constructs__ : ["GooglePepper","AdobeWindows","Unknown"] ,GooglePepper: {_hx_index:0,__enum__:"flixel.input.gamepad.mappings.Manufacturer",toString:$estr} ,AdobeWindows: {_hx_index:1,__enum__:"flixel.input.gamepad.mappings.Manufacturer",toString:$estr} ,Unknown: {_hx_index:2,__enum__:"flixel.input.gamepad.mappings.Manufacturer",toString:$estr} }; flixel_input_gamepad_mappings_Manufacturer.__meta__ = { obj : { SuppressWarnings : ["checkstyle:MemberName"]}}; var flixel_input_gamepad_mappings_LogitechMapping = function(attachment) { flixel_input_gamepad_mappings_FlxGamepadMapping.call(this,attachment); }; $hxClasses["flixel.input.gamepad.mappings.LogitechMapping"] = flixel_input_gamepad_mappings_LogitechMapping; flixel_input_gamepad_mappings_LogitechMapping.__name__ = "flixel.input.gamepad.mappings.LogitechMapping"; flixel_input_gamepad_mappings_LogitechMapping.__super__ = flixel_input_gamepad_mappings_FlxGamepadMapping; flixel_input_gamepad_mappings_LogitechMapping.prototype = $extend(flixel_input_gamepad_mappings_FlxGamepadMapping.prototype,{ initValues: function() { this.leftStick = flixel_input_gamepad_id_LogitechID.LEFT_ANALOG_STICK; this.rightStick = flixel_input_gamepad_id_LogitechID.RIGHT_ANALOG_STICK; } ,getID: function(rawID) { switch(rawID) { case -5: return 10; case 0: return 2; case 1: return 0; case 2: return 1; case 3: return 3; case 4: return 4; case 5: return 5; case 6: return 17; case 7: return 18; case 8: return 6; case 9: return 7; case 10: return 8; case 11: return 9; case 16: return 11; case 17: return 12; case 18: return 13; case 19: return 14; default: var id = rawID; if(id == this.leftStick.rawUp) { return 34; } else { var id1 = rawID; if(id1 == this.leftStick.rawDown) { return 36; } else { var id2 = rawID; if(id2 == this.leftStick.rawLeft) { return 37; } else { var id3 = rawID; if(id3 == this.leftStick.rawRight) { return 35; } else { var id4 = rawID; if(id4 == this.rightStick.rawUp) { return 38; } else { var id5 = rawID; if(id5 == this.rightStick.rawDown) { return 40; } else { var id6 = rawID; if(id6 == this.rightStick.rawLeft) { return 41; } else { var id7 = rawID; if(id7 == this.rightStick.rawRight) { return 39; } else { return -1; } } } } } } } } } } ,getRawID: function(ID) { switch(ID) { case 0: return 1; case 1: return 2; case 2: return 0; case 3: return 3; case 4: return 4; case 5: return 5; case 6: return 8; case 7: return 9; case 8: return 10; case 9: return 11; case 10: return -5; case 11: return 16; case 12: return 17; case 13: return 18; case 14: return 19; case 17: return 6; case 18: return 7; case 34: return flixel_input_gamepad_id_LogitechID.LEFT_ANALOG_STICK.rawUp; case 35: return flixel_input_gamepad_id_LogitechID.LEFT_ANALOG_STICK.rawRight; case 36: return flixel_input_gamepad_id_LogitechID.LEFT_ANALOG_STICK.rawDown; case 37: return flixel_input_gamepad_id_LogitechID.LEFT_ANALOG_STICK.rawLeft; case 38: return flixel_input_gamepad_id_LogitechID.RIGHT_ANALOG_STICK.rawUp; case 39: return flixel_input_gamepad_id_LogitechID.RIGHT_ANALOG_STICK.rawRight; case 40: return flixel_input_gamepad_id_LogitechID.RIGHT_ANALOG_STICK.rawDown; case 41: return flixel_input_gamepad_id_LogitechID.RIGHT_ANALOG_STICK.rawLeft; default: return -1; } } ,getInputLabel: function(id) { switch(id) { case 0: return "2"; case 1: return "3"; case 2: return "1"; case 3: return "4"; case 4: return "5"; case 5: return "6"; case 6: return "9"; case 7: return "10"; case 10: return "logitech"; case 17: return "7"; case 18: return "8"; default: return flixel_input_gamepad_mappings_FlxGamepadMapping.prototype.getInputLabel.call(this,id); } } ,__class__: flixel_input_gamepad_mappings_LogitechMapping }); var flixel_input_gamepad_mappings_MFiMapping = function(attachment) { flixel_input_gamepad_mappings_FlxGamepadMapping.call(this,attachment); }; $hxClasses["flixel.input.gamepad.mappings.MFiMapping"] = flixel_input_gamepad_mappings_MFiMapping; flixel_input_gamepad_mappings_MFiMapping.__name__ = "flixel.input.gamepad.mappings.MFiMapping"; flixel_input_gamepad_mappings_MFiMapping.__super__ = flixel_input_gamepad_mappings_FlxGamepadMapping; flixel_input_gamepad_mappings_MFiMapping.prototype = $extend(flixel_input_gamepad_mappings_FlxGamepadMapping.prototype,{ initValues: function() { this.leftStick = flixel_input_gamepad_id_MFiID.LEFT_ANALOG_STICK; this.rightStick = flixel_input_gamepad_id_MFiID.RIGHT_ANALOG_STICK; } ,getID: function(rawID) { switch(rawID) { case 6: return 0; case 7: return 1; case 8: return 2; case 9: return 3; case 10: return 6; case 11: return 10; case 12: return 7; case 13: return 8; case 14: return 9; case 15: return 4; case 16: return 5; case 17: return 11; case 18: return 12; case 19: return 13; case 20: return 14; default: var id = rawID; if(id == this.leftStick.rawUp) { return 34; } else { var id1 = rawID; if(id1 == this.leftStick.rawDown) { return 36; } else { var id2 = rawID; if(id2 == this.leftStick.rawLeft) { return 37; } else { var id3 = rawID; if(id3 == this.leftStick.rawRight) { return 35; } else { var id4 = rawID; if(id4 == this.rightStick.rawUp) { return 38; } else { var id5 = rawID; if(id5 == this.rightStick.rawDown) { return 40; } else { var id6 = rawID; if(id6 == this.rightStick.rawLeft) { return 41; } else { var id7 = rawID; if(id7 == this.rightStick.rawRight) { return 39; } else { return -1; } } } } } } } } } } ,getRawID: function(ID) { switch(ID) { case 0: return 6; case 1: return 7; case 2: return 8; case 3: return 9; case 4: return 15; case 5: return 16; case 6: return 10; case 7: return 12; case 8: return 13; case 9: return 14; case 10: return 11; case 11: return 17; case 12: return 18; case 13: return 19; case 14: return 20; case 17: return 4; case 18: return 5; case 34: return flixel_input_gamepad_id_MFiID.LEFT_ANALOG_STICK.rawUp; case 35: return flixel_input_gamepad_id_MFiID.LEFT_ANALOG_STICK.rawRight; case 36: return flixel_input_gamepad_id_MFiID.LEFT_ANALOG_STICK.rawDown; case 37: return flixel_input_gamepad_id_MFiID.LEFT_ANALOG_STICK.rawLeft; case 38: return flixel_input_gamepad_id_MFiID.RIGHT_ANALOG_STICK.rawUp; case 39: return flixel_input_gamepad_id_MFiID.RIGHT_ANALOG_STICK.rawRight; case 40: return flixel_input_gamepad_id_MFiID.RIGHT_ANALOG_STICK.rawDown; case 41: return flixel_input_gamepad_id_MFiID.RIGHT_ANALOG_STICK.rawLeft; default: return -1; } } ,__class__: flixel_input_gamepad_mappings_MFiMapping }); var flixel_input_gamepad_mappings_MayflashWiiRemoteMapping = function(attachment) { flixel_input_gamepad_mappings_FlxGamepadMapping.call(this,attachment); }; $hxClasses["flixel.input.gamepad.mappings.MayflashWiiRemoteMapping"] = flixel_input_gamepad_mappings_MayflashWiiRemoteMapping; flixel_input_gamepad_mappings_MayflashWiiRemoteMapping.__name__ = "flixel.input.gamepad.mappings.MayflashWiiRemoteMapping"; flixel_input_gamepad_mappings_MayflashWiiRemoteMapping.__super__ = flixel_input_gamepad_mappings_FlxGamepadMapping; flixel_input_gamepad_mappings_MayflashWiiRemoteMapping.prototype = $extend(flixel_input_gamepad_mappings_FlxGamepadMapping.prototype,{ initValues: function() { this.supportsPointer = true; } ,getID: function(rawID) { switch(this.attachment._hx_index) { case 0: return this.getIDNunchuk(rawID); case 1: return this.getIDClassicController(rawID); case 2: return this.getIDDefault(rawID); } } ,getIDClassicController: function(rawID) { switch(rawID) { case 4: return 11; case 5: return 12; case 6: return 13; case 7: return 14; case 8: return 2; case 9: return 3; case 10: return 0; case 11: return 1; case 12: return 17; case 13: return 18; case 14: return 4; case 15: return 5; case 16: return 6; case 17: return 7; case 19: return 10; default: var id = rawID; if(id == this.leftStick.rawUp) { return 34; } else { var id1 = rawID; if(id1 == this.leftStick.rawDown) { return 36; } else { var id2 = rawID; if(id2 == this.leftStick.rawLeft) { return 37; } else { var id3 = rawID; if(id3 == this.leftStick.rawRight) { return 35; } else { var id4 = rawID; if(id4 == this.rightStick.rawUp) { return 38; } else { var id5 = rawID; if(id5 == this.rightStick.rawDown) { return 40; } else { var id6 = rawID; if(id6 == this.rightStick.rawLeft) { return 41; } else { var id7 = rawID; if(id7 == this.rightStick.rawRight) { return 39; } else { return -1; } } } } } } } } } } ,getIDNunchuk: function(rawID) { switch(rawID) { case 4: return 11; case 5: return 12; case 6: return 13; case 7: return 14; case 8: return 2; case 9: return 3; case 10: return 0; case 11: return 1; case 12: return 6; case 13: return 7; case 14: return 17; case 15: return 4; case 19: return 10; default: var tmp = rawID == flixel_input_gamepad_id_MayflashWiiRemoteID.LEFT_ANALOG_STICK.rawUp; var tmp1 = rawID == flixel_input_gamepad_id_MayflashWiiRemoteID.LEFT_ANALOG_STICK.rawDown; var tmp2 = rawID == flixel_input_gamepad_id_MayflashWiiRemoteID.LEFT_ANALOG_STICK.rawLeft; var tmp3 = rawID == flixel_input_gamepad_id_MayflashWiiRemoteID.LEFT_ANALOG_STICK.rawRight; return -1; } } ,getIDDefault: function(rawID) { switch(rawID) { case 8: return 2; case 9: return 3; case 10: return 0; case 11: return 1; case 12: return 6; case 13: return 7; case 19: return 10; case 22: return 11; case 23: return 12; case 24: return 13; case 25: return 14; default: return -1; } } ,getRawID: function(ID) { switch(this.attachment._hx_index) { case 0: return this.getRawNunchuk(ID); case 1: return this.getRawClassicController(ID); case 2: return this.getRawDefault(ID); } } ,getRawClassicController: function(ID) { switch(ID) { case 0: return 10; case 1: return 11; case 2: return 8; case 3: return 9; case 4: return 14; case 5: return 15; case 6: return 16; case 7: return 17; case 10: return 19; case 11: return 4; case 12: return 5; case 13: return 6; case 14: return 7; case 17: return 12; case 18: return 13; case 30: return -1; case 31: return -1; case 34: return flixel_input_gamepad_id_MayflashWiiRemoteID.LEFT_ANALOG_STICK.rawUp; case 35: return flixel_input_gamepad_id_MayflashWiiRemoteID.LEFT_ANALOG_STICK.rawRight; case 36: return flixel_input_gamepad_id_MayflashWiiRemoteID.LEFT_ANALOG_STICK.rawDown; case 37: return flixel_input_gamepad_id_MayflashWiiRemoteID.LEFT_ANALOG_STICK.rawLeft; case 38: return flixel_input_gamepad_id_MayflashWiiRemoteID.RIGHT_ANALOG_STICK.rawUp; case 39: return flixel_input_gamepad_id_MayflashWiiRemoteID.RIGHT_ANALOG_STICK.rawRight; case 40: return flixel_input_gamepad_id_MayflashWiiRemoteID.RIGHT_ANALOG_STICK.rawDown; case 41: return flixel_input_gamepad_id_MayflashWiiRemoteID.RIGHT_ANALOG_STICK.rawLeft; default: return this.getRawDefault(ID); } } ,getRawNunchuk: function(ID) { switch(ID) { case 0: return 10; case 1: return 11; case 2: return 8; case 3: return 9; case 4: return 15; case 6: return 12; case 7: return 13; case 10: return 19; case 11: return 4; case 12: return 5; case 13: return 6; case 14: return 7; case 17: return 14; case 28: return 2; case 29: return 3; case 34: return flixel_input_gamepad_id_MayflashWiiRemoteID.LEFT_ANALOG_STICK.rawUp; case 35: return flixel_input_gamepad_id_MayflashWiiRemoteID.LEFT_ANALOG_STICK.rawRight; case 36: return flixel_input_gamepad_id_MayflashWiiRemoteID.LEFT_ANALOG_STICK.rawDown; case 37: return flixel_input_gamepad_id_MayflashWiiRemoteID.LEFT_ANALOG_STICK.rawLeft; default: return -1; } } ,getRawDefault: function(ID) { switch(ID) { case 0: return 10; case 1: return 11; case 2: return 8; case 3: return 9; case 6: return 12; case 7: return 13; case 10: return 19; case 11: return 22; case 12: return 23; case 13: return 24; case 14: return 25; default: return -1; } } ,set_attachment: function(attachment) { var tmp; switch(attachment._hx_index) { case 0:case 1: tmp = flixel_input_gamepad_id_MayflashWiiRemoteID.LEFT_ANALOG_STICK; break; case 2: tmp = flixel_input_gamepad_id_MayflashWiiRemoteID.REMOTE_DPAD; break; } this.leftStick = tmp; this.rightStick = attachment._hx_index == 1 ? flixel_input_gamepad_id_MayflashWiiRemoteID.RIGHT_ANALOG_STICK : null; return flixel_input_gamepad_mappings_FlxGamepadMapping.prototype.set_attachment.call(this,attachment); } ,getInputLabel: function(id) { var label = flixel_input_gamepad_mappings_WiiRemoteMapping.getWiiInputLabel(id,this.attachment); if(label == null) { return flixel_input_gamepad_mappings_FlxGamepadMapping.prototype.getInputLabel.call(this,id); } return label; } ,__class__: flixel_input_gamepad_mappings_MayflashWiiRemoteMapping }); var flixel_input_gamepad_mappings_OUYAMapping = function(attachment) { flixel_input_gamepad_mappings_FlxGamepadMapping.call(this,attachment); }; $hxClasses["flixel.input.gamepad.mappings.OUYAMapping"] = flixel_input_gamepad_mappings_OUYAMapping; flixel_input_gamepad_mappings_OUYAMapping.__name__ = "flixel.input.gamepad.mappings.OUYAMapping"; flixel_input_gamepad_mappings_OUYAMapping.__super__ = flixel_input_gamepad_mappings_FlxGamepadMapping; flixel_input_gamepad_mappings_OUYAMapping.prototype = $extend(flixel_input_gamepad_mappings_FlxGamepadMapping.prototype,{ initValues: function() { this.leftStick = flixel_input_gamepad_id_OUYAID.LEFT_ANALOG_STICK; this.rightStick = flixel_input_gamepad_id_OUYAID.RIGHT_ANALOG_STICK; } ,getID: function(rawID) { switch(rawID) { case 4: return 17; case 5: return 18; case 6: return 0; case 7: return 1; case 8: return 2; case 9: return 3; case 13: return 8; case 14: return 9; case 15: return 4; case 16: return 5; case 17: return 11; case 18: return 12; case 19: return 13; case 20: return 14; case 16777234: return 10; default: var id = rawID; if(id == this.leftStick.rawUp) { return 34; } else { var id1 = rawID; if(id1 == this.leftStick.rawDown) { return 36; } else { var id2 = rawID; if(id2 == this.leftStick.rawLeft) { return 37; } else { var id3 = rawID; if(id3 == this.leftStick.rawRight) { return 35; } else { var id4 = rawID; if(id4 == this.rightStick.rawUp) { return 38; } else { var id5 = rawID; if(id5 == this.rightStick.rawDown) { return 40; } else { var id6 = rawID; if(id6 == this.rightStick.rawLeft) { return 41; } else { var id7 = rawID; if(id7 == this.rightStick.rawRight) { return 39; } else { return -1; } } } } } } } } } } ,getRawID: function(ID) { switch(ID) { case 0: return 6; case 1: return 7; case 2: return 8; case 3: return 9; case 4: return 15; case 5: return 16; case 8: return 13; case 9: return 14; case 10: return 16777234; case 11: return 17; case 12: return 18; case 13: return 19; case 14: return 20; case 17: return 4; case 18: return 5; case 34: return flixel_input_gamepad_id_OUYAID.LEFT_ANALOG_STICK.rawUp; case 35: return flixel_input_gamepad_id_OUYAID.LEFT_ANALOG_STICK.rawRight; case 36: return flixel_input_gamepad_id_OUYAID.LEFT_ANALOG_STICK.rawDown; case 37: return flixel_input_gamepad_id_OUYAID.LEFT_ANALOG_STICK.rawLeft; case 38: return flixel_input_gamepad_id_OUYAID.RIGHT_ANALOG_STICK.rawUp; case 39: return flixel_input_gamepad_id_OUYAID.RIGHT_ANALOG_STICK.rawRight; case 40: return flixel_input_gamepad_id_OUYAID.RIGHT_ANALOG_STICK.rawDown; case 41: return flixel_input_gamepad_id_OUYAID.RIGHT_ANALOG_STICK.rawLeft; default: return -1; } } ,getInputLabel: function(id) { switch(id) { case 0: return "o"; case 1: return "a"; case 2: return "u"; case 3: return "y"; case 10: return "home"; default: return flixel_input_gamepad_mappings_FlxGamepadMapping.prototype.getInputLabel.call(this,id); } } ,__class__: flixel_input_gamepad_mappings_OUYAMapping }); var flixel_input_gamepad_mappings_PS4Mapping = function(attachment) { flixel_input_gamepad_mappings_FlxGamepadMapping.call(this,attachment); }; $hxClasses["flixel.input.gamepad.mappings.PS4Mapping"] = flixel_input_gamepad_mappings_PS4Mapping; flixel_input_gamepad_mappings_PS4Mapping.__name__ = "flixel.input.gamepad.mappings.PS4Mapping"; flixel_input_gamepad_mappings_PS4Mapping.__super__ = flixel_input_gamepad_mappings_FlxGamepadMapping; flixel_input_gamepad_mappings_PS4Mapping.prototype = $extend(flixel_input_gamepad_mappings_FlxGamepadMapping.prototype,{ initValues: function() { this.leftStick = flixel_input_gamepad_id_PS4ID.LEFT_ANALOG_STICK; this.rightStick = flixel_input_gamepad_id_PS4ID.RIGHT_ANALOG_STICK; this.supportsMotion = true; this.supportsPointer = true; } ,getID: function(rawID) { switch(rawID) { case 6: return 0; case 7: return 1; case 8: return 2; case 9: return 3; case 10: return 6; case 11: return 10; case 12: return 7; case 13: return 8; case 14: return 9; case 15: return 4; case 16: return 5; case 17: return 11; case 18: return 12; case 19: return 13; case 20: return 14; default: var id = rawID; if(id == this.leftStick.rawUp) { return 34; } else { var id1 = rawID; if(id1 == this.leftStick.rawDown) { return 36; } else { var id2 = rawID; if(id2 == this.leftStick.rawLeft) { return 37; } else { var id3 = rawID; if(id3 == this.leftStick.rawRight) { return 35; } else { var id4 = rawID; if(id4 == this.rightStick.rawUp) { return 38; } else { var id5 = rawID; if(id5 == this.rightStick.rawDown) { return 40; } else { var id6 = rawID; if(id6 == this.rightStick.rawLeft) { return 41; } else { var id7 = rawID; if(id7 == this.rightStick.rawRight) { return 39; } else { return -1; } } } } } } } } } } ,getRawID: function(ID) { switch(ID) { case 0: return 6; case 1: return 7; case 2: return 8; case 3: return 9; case 4: return 15; case 5: return 16; case 6: return 10; case 7: return 12; case 8: return 13; case 9: return 14; case 10: return 11; case 11: return 17; case 12: return 18; case 13: return 19; case 14: return 20; case 17: return 4; case 18: return 5; case 34: return flixel_input_gamepad_id_PS4ID.LEFT_ANALOG_STICK.rawUp; case 35: return flixel_input_gamepad_id_PS4ID.LEFT_ANALOG_STICK.rawRight; case 36: return flixel_input_gamepad_id_PS4ID.LEFT_ANALOG_STICK.rawDown; case 37: return flixel_input_gamepad_id_PS4ID.LEFT_ANALOG_STICK.rawLeft; case 38: return flixel_input_gamepad_id_PS4ID.RIGHT_ANALOG_STICK.rawUp; case 39: return flixel_input_gamepad_id_PS4ID.RIGHT_ANALOG_STICK.rawRight; case 40: return flixel_input_gamepad_id_PS4ID.RIGHT_ANALOG_STICK.rawDown; case 41: return flixel_input_gamepad_id_PS4ID.RIGHT_ANALOG_STICK.rawLeft; default: return -1; } } ,getInputLabel: function(id) { switch(id) { case 0: return "x"; case 1: return "circle"; case 2: return "square"; case 3: return "triangle"; case 4: return "l1"; case 5: return "r1"; case 6: return "share"; case 7: return "options"; case 10: return "ps"; case 17: return "l2"; case 18: return "r2"; default: return flixel_input_gamepad_mappings_FlxGamepadMapping.prototype.getInputLabel.call(this,id); } } ,__class__: flixel_input_gamepad_mappings_PS4Mapping }); var flixel_input_gamepad_mappings_PSVitaMapping = function(attachment) { flixel_input_gamepad_mappings_FlxGamepadMapping.call(this,attachment); }; $hxClasses["flixel.input.gamepad.mappings.PSVitaMapping"] = flixel_input_gamepad_mappings_PSVitaMapping; flixel_input_gamepad_mappings_PSVitaMapping.__name__ = "flixel.input.gamepad.mappings.PSVitaMapping"; flixel_input_gamepad_mappings_PSVitaMapping.__super__ = flixel_input_gamepad_mappings_FlxGamepadMapping; flixel_input_gamepad_mappings_PSVitaMapping.prototype = $extend(flixel_input_gamepad_mappings_FlxGamepadMapping.prototype,{ initValues: function() { this.leftStick = flixel_input_gamepad_id_PSVitaID.LEFT_ANALOG_STICK; this.rightStick = flixel_input_gamepad_id_PSVitaID.RIGHT_ANALOG_STICK; } ,getID: function(rawID) { switch(rawID) { case 6: return 0; case 7: return 1; case 8: return 2; case 9: return 3; case 10: return 6; case 12: return 7; case 15: return 4; case 16: return 5; case 17: return 11; case 18: return 12; case 19: return 13; case 20: return 14; default: var id = rawID; if(id == this.leftStick.rawUp) { return 34; } else { var id1 = rawID; if(id1 == this.leftStick.rawDown) { return 34; } else { var id2 = rawID; if(id2 == this.leftStick.rawLeft) { return 37; } else { var id3 = rawID; if(id3 == this.leftStick.rawRight) { return 35; } else { var id4 = rawID; if(id4 == this.rightStick.rawUp) { return 38; } else { var id5 = rawID; if(id5 == this.rightStick.rawDown) { return 40; } else { var id6 = rawID; if(id6 == this.rightStick.rawLeft) { return 41; } else { var id7 = rawID; if(id7 == this.rightStick.rawRight) { return 39; } else { return -1; } } } } } } } } } } ,getRawID: function(ID) { switch(ID) { case 0: return 6; case 1: return 7; case 2: return 8; case 3: return 9; case 4: return 15; case 5: return 16; case 6: return 10; case 7: return 12; case 11: return 17; case 12: return 18; case 13: return 19; case 14: return 20; case 34: return flixel_input_gamepad_id_PSVitaID.LEFT_ANALOG_STICK.rawUp; case 35: return flixel_input_gamepad_id_PSVitaID.LEFT_ANALOG_STICK.rawRight; case 36: return flixel_input_gamepad_id_PSVitaID.LEFT_ANALOG_STICK.rawDown; case 37: return flixel_input_gamepad_id_PSVitaID.LEFT_ANALOG_STICK.rawLeft; case 38: return flixel_input_gamepad_id_PSVitaID.RIGHT_ANALOG_STICK.rawUp; case 39: return flixel_input_gamepad_id_PSVitaID.RIGHT_ANALOG_STICK.rawRight; case 40: return flixel_input_gamepad_id_PSVitaID.RIGHT_ANALOG_STICK.rawDown; case 41: return flixel_input_gamepad_id_PSVitaID.RIGHT_ANALOG_STICK.rawLeft; default: return -1; } } ,getInputLabel: function(id) { switch(id) { case 0: return "x"; case 1: return "circle"; case 2: return "square"; case 3: return "triangle"; case 4: return "l1"; case 5: return "r1"; case 6: return "select"; case 17: return "l2"; case 18: return "r2"; default: return flixel_input_gamepad_mappings_FlxGamepadMapping.prototype.getInputLabel.call(this,id); } } ,isAxisFlipped: function(axisID) { if(axisID != flixel_input_gamepad_id_PSVitaID.LEFT_ANALOG_STICK.y) { return axisID == flixel_input_gamepad_id_PSVitaID.RIGHT_ANALOG_STICK.y; } else { return true; } } ,__class__: flixel_input_gamepad_mappings_PSVitaMapping }); var flixel_input_gamepad_mappings_SwitchJoyconLeftMapping = function(attachment) { flixel_input_gamepad_mappings_FlxGamepadMapping.call(this,attachment); }; $hxClasses["flixel.input.gamepad.mappings.SwitchJoyconLeftMapping"] = flixel_input_gamepad_mappings_SwitchJoyconLeftMapping; flixel_input_gamepad_mappings_SwitchJoyconLeftMapping.__name__ = "flixel.input.gamepad.mappings.SwitchJoyconLeftMapping"; flixel_input_gamepad_mappings_SwitchJoyconLeftMapping.__super__ = flixel_input_gamepad_mappings_FlxGamepadMapping; flixel_input_gamepad_mappings_SwitchJoyconLeftMapping.prototype = $extend(flixel_input_gamepad_mappings_FlxGamepadMapping.prototype,{ initValues: function() { this.leftStick = flixel_input_gamepad_id_SwitchJoyconLeftID.LEFT_ANALOG_STICK; this.supportsMotion = true; this.supportsPointer = false; } ,getID: function(rawID) { switch(rawID) { case 4: return 17; case 6: return 0; case 7: return 1; case 8: return 2; case 9: return 3; case 10: return 30; case 12: return 7; case 13: return 8; case 15: return 4; case 16: return 5; default: var id = rawID; if(id == this.leftStick.rawUp) { return 34; } else { var id1 = rawID; if(id1 == this.leftStick.rawDown) { return 36; } else { var id2 = rawID; if(id2 == this.leftStick.rawLeft) { return 37; } else { var id3 = rawID; if(id3 == this.leftStick.rawRight) { return 35; } else { return -1; } } } } } } ,getRawID: function(id) { switch(id) { case 0: return 6; case 1: return 7; case 2: return 8; case 3: return 9; case 4: return 15; case 5: return 16; case 7: return 12; case 8: return 13; case 17: return 4; case 30: return 10; case 34: return flixel_input_gamepad_id_SwitchJoyconLeftID.LEFT_ANALOG_STICK.rawUp; case 35: return flixel_input_gamepad_id_SwitchJoyconLeftID.LEFT_ANALOG_STICK.rawRight; case 36: return flixel_input_gamepad_id_SwitchJoyconLeftID.LEFT_ANALOG_STICK.rawDown; case 37: return flixel_input_gamepad_id_SwitchJoyconLeftID.LEFT_ANALOG_STICK.rawLeft; default: return -1; } } ,getInputLabel: function(id) { switch(id) { case 0: return "down"; case 1: return "right"; case 2: return "left"; case 3: return "up"; case 4: return "sl"; case 5: return "sr"; case 7: return "minus"; case 17: return "zl"; case 30: return "l"; default: return flixel_input_gamepad_mappings_FlxGamepadMapping.prototype.getInputLabel.call(this,id); } } ,__class__: flixel_input_gamepad_mappings_SwitchJoyconLeftMapping }); var flixel_input_gamepad_mappings_SwitchJoyconRightMapping = function(attachment) { flixel_input_gamepad_mappings_FlxGamepadMapping.call(this,attachment); }; $hxClasses["flixel.input.gamepad.mappings.SwitchJoyconRightMapping"] = flixel_input_gamepad_mappings_SwitchJoyconRightMapping; flixel_input_gamepad_mappings_SwitchJoyconRightMapping.__name__ = "flixel.input.gamepad.mappings.SwitchJoyconRightMapping"; flixel_input_gamepad_mappings_SwitchJoyconRightMapping.__super__ = flixel_input_gamepad_mappings_FlxGamepadMapping; flixel_input_gamepad_mappings_SwitchJoyconRightMapping.prototype = $extend(flixel_input_gamepad_mappings_FlxGamepadMapping.prototype,{ initValues: function() { this.leftStick = flixel_input_gamepad_id_SwitchJoyconRightID.LEFT_ANALOG_STICK; this.supportsMotion = true; this.supportsPointer = false; } ,getID: function(rawID) { switch(rawID) { case 5: return 18; case 6: return 0; case 7: return 1; case 8: return 2; case 9: return 3; case 10: return 30; case 11: return 10; case 12: return 7; case 13: return 8; case 15: return 4; case 16: return 5; default: var id = rawID; if(id == this.leftStick.rawUp) { return 34; } else { var id1 = rawID; if(id1 == this.leftStick.rawDown) { return 36; } else { var id2 = rawID; if(id2 == this.leftStick.rawLeft) { return 37; } else { var id3 = rawID; if(id3 == this.leftStick.rawRight) { return 35; } else { return -1; } } } } } } ,getRawID: function(ID) { switch(ID) { case 0: return 6; case 1: return 7; case 2: return 8; case 3: return 9; case 4: return 15; case 5: return 16; case 7: return 12; case 8: return 13; case 10: return 11; case 18: return 5; case 30: return 10; case 34: return flixel_input_gamepad_id_SwitchJoyconRightID.LEFT_ANALOG_STICK.rawUp; case 35: return flixel_input_gamepad_id_SwitchJoyconRightID.LEFT_ANALOG_STICK.rawRight; case 36: return flixel_input_gamepad_id_SwitchJoyconRightID.LEFT_ANALOG_STICK.rawDown; case 37: return flixel_input_gamepad_id_SwitchJoyconRightID.LEFT_ANALOG_STICK.rawLeft; default: return -1; } } ,getInputLabel: function(id) { switch(id) { case 0: return "a"; case 1: return "x"; case 2: return "b"; case 3: return "y"; case 4: return "sl"; case 5: return "sr"; case 7: return "plus"; case 10: return "home"; case 18: return "zr"; case 30: return "r"; default: return flixel_input_gamepad_mappings_FlxGamepadMapping.prototype.getInputLabel.call(this,id); } } ,__class__: flixel_input_gamepad_mappings_SwitchJoyconRightMapping }); var flixel_input_gamepad_mappings_SwitchProMapping = function(attachment) { flixel_input_gamepad_mappings_FlxGamepadMapping.call(this,attachment); }; $hxClasses["flixel.input.gamepad.mappings.SwitchProMapping"] = flixel_input_gamepad_mappings_SwitchProMapping; flixel_input_gamepad_mappings_SwitchProMapping.__name__ = "flixel.input.gamepad.mappings.SwitchProMapping"; flixel_input_gamepad_mappings_SwitchProMapping.__super__ = flixel_input_gamepad_mappings_FlxGamepadMapping; flixel_input_gamepad_mappings_SwitchProMapping.prototype = $extend(flixel_input_gamepad_mappings_FlxGamepadMapping.prototype,{ initValues: function() { this.leftStick = flixel_input_gamepad_id_SwitchProID.LEFT_ANALOG_STICK; this.rightStick = flixel_input_gamepad_id_SwitchProID.RIGHT_ANALOG_STICK; this.supportsMotion = true; this.supportsPointer = false; } ,getID: function(rawID) { switch(rawID) { case 4: return 17; case 5: return 18; case 6: return 0; case 7: return 1; case 8: return 2; case 9: return 3; case 10: return 6; case 11: return 10; case 12: return 7; case 13: return 8; case 14: return 9; case 15: return 4; case 16: return 5; case 17: return 11; case 18: return 12; case 19: return 13; case 20: return 14; case 21: return 30; default: var id = rawID; if(id == this.leftStick.rawUp) { return 34; } else { var id1 = rawID; if(id1 == this.leftStick.rawDown) { return 36; } else { var id2 = rawID; if(id2 == this.leftStick.rawLeft) { return 37; } else { var id3 = rawID; if(id3 == this.leftStick.rawRight) { return 35; } else { var id4 = rawID; if(id4 == this.rightStick.rawUp) { return 38; } else { var id5 = rawID; if(id5 == this.rightStick.rawDown) { return 40; } else { var id6 = rawID; if(id6 == this.rightStick.rawLeft) { return 41; } else { var id7 = rawID; if(id7 == this.rightStick.rawRight) { return 39; } else { return -1; } } } } } } } } } } ,getRawID: function(ID) { switch(ID) { case 0: return 6; case 1: return 7; case 2: return 8; case 3: return 9; case 4: return 15; case 5: return 16; case 6: return 10; case 7: return 12; case 8: return 13; case 9: return 14; case 10: return 11; case 11: return 17; case 12: return 18; case 13: return 19; case 14: return 20; case 17: return 4; case 18: return 5; case 30: return 21; case 34: return flixel_input_gamepad_id_SwitchProID.LEFT_ANALOG_STICK.rawUp; case 35: return flixel_input_gamepad_id_SwitchProID.LEFT_ANALOG_STICK.rawRight; case 36: return flixel_input_gamepad_id_SwitchProID.LEFT_ANALOG_STICK.rawDown; case 37: return flixel_input_gamepad_id_SwitchProID.LEFT_ANALOG_STICK.rawLeft; case 38: return flixel_input_gamepad_id_SwitchProID.RIGHT_ANALOG_STICK.rawUp; case 39: return flixel_input_gamepad_id_SwitchProID.RIGHT_ANALOG_STICK.rawRight; case 40: return flixel_input_gamepad_id_SwitchProID.RIGHT_ANALOG_STICK.rawDown; case 41: return flixel_input_gamepad_id_SwitchProID.RIGHT_ANALOG_STICK.rawLeft; default: return -1; } } ,getInputLabel: function(id) { switch(id) { case 0: return "b"; case 1: return "a"; case 2: return "y"; case 3: return "x"; case 4: return "l"; case 5: return "r"; case 6: return "minus"; case 7: return "plus"; case 10: return "home"; case 17: return "zl"; case 18: return "zr"; case 30: return "capture"; default: return flixel_input_gamepad_mappings_FlxGamepadMapping.prototype.getInputLabel.call(this,id); } } ,__class__: flixel_input_gamepad_mappings_SwitchProMapping }); var flixel_input_gamepad_mappings_WiiRemoteMapping = function(attachment) { flixel_input_gamepad_mappings_FlxGamepadMapping.call(this,attachment); }; $hxClasses["flixel.input.gamepad.mappings.WiiRemoteMapping"] = flixel_input_gamepad_mappings_WiiRemoteMapping; flixel_input_gamepad_mappings_WiiRemoteMapping.__name__ = "flixel.input.gamepad.mappings.WiiRemoteMapping"; flixel_input_gamepad_mappings_WiiRemoteMapping.getWiiInputLabel = function(id,attachment) { switch(id) { case 6: return "minus"; case 7: return "plus"; case 10: return "home"; default: } switch(attachment._hx_index) { case 0: switch(id) { case 2: return "1"; case 3: return "2"; case 4: return "c"; case 17: return "z"; default: return null; } break; case 1: switch(id) { case 0: return "b"; case 1: return "a"; case 2: return "y"; case 3: return "x"; case 4: return "zl"; case 5: return "zr"; case 17: return "l"; case 18: return "r"; case 30: return "1"; case 31: return "2"; default: return null; } break; case 2: switch(id) { case 2: return "1"; case 3: return "2"; case 6: return "minus"; case 7: return "plus"; case 10: return "home"; default: return null; } break; } }; flixel_input_gamepad_mappings_WiiRemoteMapping.getLabelClassicController = function(ID) { switch(ID) { case 0: return "b"; case 1: return "a"; case 2: return "y"; case 3: return "x"; case 4: return "zl"; case 5: return "zr"; case 17: return "l"; case 18: return "r"; case 30: return "1"; case 31: return "2"; default: return null; } }; flixel_input_gamepad_mappings_WiiRemoteMapping.getLabelNunchuk = function(ID) { switch(ID) { case 2: return "1"; case 3: return "2"; case 4: return "c"; case 17: return "z"; default: return null; } }; flixel_input_gamepad_mappings_WiiRemoteMapping.getLabelDefault = function(ID) { switch(ID) { case 2: return "1"; case 3: return "2"; case 6: return "minus"; case 7: return "plus"; case 10: return "home"; default: return null; } }; flixel_input_gamepad_mappings_WiiRemoteMapping.__super__ = flixel_input_gamepad_mappings_FlxGamepadMapping; flixel_input_gamepad_mappings_WiiRemoteMapping.prototype = $extend(flixel_input_gamepad_mappings_FlxGamepadMapping.prototype,{ initValues: function() { this.supportsMotion = true; this.supportsPointer = false; } ,getID: function(rawID) { switch(this.attachment._hx_index) { case 0: return this.getIDNunchuk(rawID); case 1: return this.getIDClassicController(rawID); case 2: return this.getIDDefault(rawID); } } ,getIDClassicController: function(rawID) { switch(rawID) { case 5: return 11; case 6: return 12; case 7: return 13; case 8: return 14; case 9: return 1; case 10: return 0; case 11: return 2; case 12: return 3; case 13: return 17; case 14: return 18; case 15: return 4; case 16: return 5; case 17: return 7; case 18: return 6; case 19: return 10; case 20: return 30; case 21: return 31; default: var id = rawID; if(id == this.leftStick.rawUp) { return 34; } else { var id1 = rawID; if(id1 == this.leftStick.rawDown) { return 36; } else { var id2 = rawID; if(id2 == this.leftStick.rawLeft) { return 37; } else { var id3 = rawID; if(id3 == this.leftStick.rawRight) { return 35; } else { var id4 = rawID; if(id4 == this.rightStick.rawUp) { return 38; } else { var id5 = rawID; if(id5 == this.rightStick.rawDown) { return 40; } else { var id6 = rawID; if(id6 == this.rightStick.rawLeft) { return 41; } else { var id7 = rawID; if(id7 == this.rightStick.rawRight) { return 39; } else { return -1; } } } } } } } } } } ,getIDNunchuk: function(rawID) { switch(rawID) { case 5: return 11; case 6: return 12; case 7: return 13; case 8: return 14; case 9: return 0; case 10: return 1; case 11: return 4; case 12: return 17; case 13: return 2; case 14: return 3; case 15: return 7; case 16: return 6; case 17: return 10; default: var tmp = rawID == flixel_input_gamepad_id_WiiRemoteID.LEFT_ANALOG_STICK.rawUp; var tmp1 = rawID == flixel_input_gamepad_id_WiiRemoteID.LEFT_ANALOG_STICK.rawDown; var tmp2 = rawID == flixel_input_gamepad_id_WiiRemoteID.LEFT_ANALOG_STICK.rawLeft; var tmp3 = rawID == flixel_input_gamepad_id_WiiRemoteID.LEFT_ANALOG_STICK.rawRight; return -1; } } ,getIDDefault: function(rawID) { switch(rawID) { case 9: return 2; case 10: return 3; case 11: return 0; case 12: return 1; case 13: return 7; case 14: return 6; case 15: return 10; case 22: return 11; case 23: return 12; case 24: return 13; case 25: return 14; default: return -1; } } ,getRawID: function(ID) { switch(this.attachment._hx_index) { case 0: return this.getRawNunchuk(ID); case 1: return this.getRawClassicController(ID); case 2: return this.getRawDefault(ID); } } ,getRawClassicController: function(ID) { switch(ID) { case 0: return 10; case 1: return 9; case 2: return 11; case 3: return 12; case 4: return 15; case 5: return 16; case 6: return 18; case 7: return 17; case 10: return 19; case 11: return 5; case 12: return 6; case 13: return 7; case 14: return 8; case 17: return 13; case 18: return 14; case 30: return 20; case 31: return 21; case 34: return flixel_input_gamepad_id_WiiRemoteID.LEFT_ANALOG_STICK.rawUp; case 35: return flixel_input_gamepad_id_WiiRemoteID.LEFT_ANALOG_STICK.rawRight; case 36: return flixel_input_gamepad_id_WiiRemoteID.LEFT_ANALOG_STICK.rawDown; case 37: return flixel_input_gamepad_id_WiiRemoteID.LEFT_ANALOG_STICK.rawLeft; case 38: return flixel_input_gamepad_id_WiiRemoteID.RIGHT_ANALOG_STICK.rawUp; case 39: return flixel_input_gamepad_id_WiiRemoteID.RIGHT_ANALOG_STICK.rawRight; case 40: return flixel_input_gamepad_id_WiiRemoteID.RIGHT_ANALOG_STICK.rawDown; case 41: return flixel_input_gamepad_id_WiiRemoteID.RIGHT_ANALOG_STICK.rawLeft; default: return -1; } } ,getRawNunchuk: function(ID) { switch(ID) { case 0: return 9; case 1: return 10; case 2: return 13; case 3: return 14; case 4: return 11; case 6: return 16; case 7: return 15; case 10: return 17; case 11: return 5; case 12: return 6; case 13: return 7; case 14: return 8; case 17: return 12; case 26: return 3; case 27: return 2; case 34: return flixel_input_gamepad_id_WiiRemoteID.LEFT_ANALOG_STICK.rawUp; case 35: return flixel_input_gamepad_id_WiiRemoteID.LEFT_ANALOG_STICK.rawRight; case 36: return flixel_input_gamepad_id_WiiRemoteID.LEFT_ANALOG_STICK.rawDown; case 37: return flixel_input_gamepad_id_WiiRemoteID.LEFT_ANALOG_STICK.rawLeft; default: return -1; } } ,getRawDefault: function(ID) { switch(ID) { case 0: return 11; case 1: return 12; case 2: return 9; case 3: return 10; case 6: return 14; case 7: return 13; case 10: return 15; case 11: return 22; case 12: return 23; case 13: return 24; case 14: return 25; case 26: return 2; case 27: return 3; default: return -1; } } ,isAxisForMotion: function(ID) { if(this.attachment == flixel_input_gamepad_FlxGamepadAttachment.NONE) { if(ID == 2 || ID == 3) { return true; } } else if(this.attachment == flixel_input_gamepad_FlxGamepadAttachment.WII_NUNCHUCK) { if(ID == 3 || ID == 2) { return true; } } return false; } ,isAxisFlipped: function(axisID) { return axisID == 4; } ,set_attachment: function(attachment) { var tmp; switch(attachment._hx_index) { case 0:case 1: tmp = flixel_input_gamepad_id_WiiRemoteID.LEFT_ANALOG_STICK; break; case 2: tmp = flixel_input_gamepad_id_WiiRemoteID.REMOTE_DPAD; break; } this.leftStick = tmp; this.rightStick = attachment._hx_index == 1 ? flixel_input_gamepad_id_WiiRemoteID.RIGHT_ANALOG_STICK : null; return flixel_input_gamepad_mappings_FlxGamepadMapping.prototype.set_attachment.call(this,attachment); } ,getInputLabel: function(id) { var label = flixel_input_gamepad_mappings_WiiRemoteMapping.getWiiInputLabel(id,this.attachment); if(label == null) { return flixel_input_gamepad_mappings_FlxGamepadMapping.prototype.getInputLabel.call(this,id); } return label; } ,__class__: flixel_input_gamepad_mappings_WiiRemoteMapping }); var flixel_input_gamepad_mappings_XInputMapping = function(attachment) { flixel_input_gamepad_mappings_FlxGamepadMapping.call(this,attachment); }; $hxClasses["flixel.input.gamepad.mappings.XInputMapping"] = flixel_input_gamepad_mappings_XInputMapping; flixel_input_gamepad_mappings_XInputMapping.__name__ = "flixel.input.gamepad.mappings.XInputMapping"; flixel_input_gamepad_mappings_XInputMapping.__super__ = flixel_input_gamepad_mappings_FlxGamepadMapping; flixel_input_gamepad_mappings_XInputMapping.prototype = $extend(flixel_input_gamepad_mappings_FlxGamepadMapping.prototype,{ initValues: function() { this.leftStick = flixel_input_gamepad_id_XInputID.LEFT_ANALOG_STICK; this.rightStick = flixel_input_gamepad_id_XInputID.RIGHT_ANALOG_STICK; } ,getID: function(rawID) { switch(rawID) { case -1: return 10; case 4: return 17; case 5: return 18; case 6: return 0; case 7: return 1; case 8: return 2; case 9: return 3; case 10: return 6; case 12: return 7; case 13: return 8; case 14: return 9; case 15: return 4; case 16: return 5; case 17: return 11; case 18: return 12; case 19: return 13; case 20: return 14; default: var id = rawID; if(id == this.leftStick.rawUp) { return 34; } else { var id1 = rawID; if(id1 == this.leftStick.rawDown) { return 36; } else { var id2 = rawID; if(id2 == this.leftStick.rawLeft) { return 37; } else { var id3 = rawID; if(id3 == this.leftStick.rawRight) { return 35; } else { var id4 = rawID; if(id4 == this.rightStick.rawUp) { return 38; } else { var id5 = rawID; if(id5 == this.rightStick.rawDown) { return 40; } else { var id6 = rawID; if(id6 == this.rightStick.rawLeft) { return 41; } else { var id7 = rawID; if(id7 == this.rightStick.rawRight) { return 39; } else { return -1; } } } } } } } } } } ,getRawID: function(ID) { switch(ID) { case 0: return 6; case 1: return 7; case 2: return 8; case 3: return 9; case 4: return 15; case 5: return 16; case 6: return 10; case 7: return 12; case 8: return 13; case 9: return 14; case 10: return -1; case 11: return 17; case 12: return 18; case 13: return 19; case 14: return 20; case 17: return 4; case 18: return 5; case 34: return flixel_input_gamepad_id_XInputID.LEFT_ANALOG_STICK.rawUp; case 35: return flixel_input_gamepad_id_XInputID.LEFT_ANALOG_STICK.rawRight; case 36: return flixel_input_gamepad_id_XInputID.LEFT_ANALOG_STICK.rawDown; case 37: return flixel_input_gamepad_id_XInputID.LEFT_ANALOG_STICK.rawLeft; case 38: return flixel_input_gamepad_id_XInputID.RIGHT_ANALOG_STICK.rawUp; case 39: return flixel_input_gamepad_id_XInputID.RIGHT_ANALOG_STICK.rawRight; case 40: return flixel_input_gamepad_id_XInputID.RIGHT_ANALOG_STICK.rawDown; case 41: return flixel_input_gamepad_id_XInputID.RIGHT_ANALOG_STICK.rawLeft; default: return -1; } } ,__class__: flixel_input_gamepad_mappings_XInputMapping }); var flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$ = {}; $hxClasses["flixel.input.keyboard._FlxKey.FlxKey_Impl_"] = flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.__name__ = "flixel.input.keyboard._FlxKey.FlxKey_Impl_"; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.fromString = function(s) { s = s.toUpperCase(); var _this = flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.fromStringMap; if(__map_reserved[s] != null ? _this.existsReserved(s) : _this.h.hasOwnProperty(s)) { var _this1 = flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.fromStringMap; if(__map_reserved[s] != null) { return _this1.getReserved(s); } else { return _this1.h[s]; } } else { return -1; } }; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.toString = function(this1) { return flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.toStringMap.h[this1]; }; var flixel_input_keyboard_FlxKeyList = function(status,keyManager) { flixel_input_FlxBaseKeyList.call(this,status,keyManager); }; $hxClasses["flixel.input.keyboard.FlxKeyList"] = flixel_input_keyboard_FlxKeyList; flixel_input_keyboard_FlxKeyList.__name__ = "flixel.input.keyboard.FlxKeyList"; flixel_input_keyboard_FlxKeyList.__super__ = flixel_input_FlxBaseKeyList; flixel_input_keyboard_FlxKeyList.prototype = $extend(flixel_input_FlxBaseKeyList.prototype,{ get_A: function() { return this.keyManager.checkStatus(65,this.status); } ,get_B: function() { return this.keyManager.checkStatus(66,this.status); } ,get_C: function() { return this.keyManager.checkStatus(67,this.status); } ,get_D: function() { return this.keyManager.checkStatus(68,this.status); } ,get_E: function() { return this.keyManager.checkStatus(69,this.status); } ,get_F: function() { return this.keyManager.checkStatus(70,this.status); } ,get_G: function() { return this.keyManager.checkStatus(71,this.status); } ,get_H: function() { return this.keyManager.checkStatus(72,this.status); } ,get_I: function() { return this.keyManager.checkStatus(73,this.status); } ,get_J: function() { return this.keyManager.checkStatus(74,this.status); } ,get_K: function() { return this.keyManager.checkStatus(75,this.status); } ,get_L: function() { return this.keyManager.checkStatus(76,this.status); } ,get_M: function() { return this.keyManager.checkStatus(77,this.status); } ,get_N: function() { return this.keyManager.checkStatus(78,this.status); } ,get_O: function() { return this.keyManager.checkStatus(79,this.status); } ,get_P: function() { return this.keyManager.checkStatus(80,this.status); } ,get_Q: function() { return this.keyManager.checkStatus(81,this.status); } ,get_R: function() { return this.keyManager.checkStatus(82,this.status); } ,get_S: function() { return this.keyManager.checkStatus(83,this.status); } ,get_T: function() { return this.keyManager.checkStatus(84,this.status); } ,get_U: function() { return this.keyManager.checkStatus(85,this.status); } ,get_V: function() { return this.keyManager.checkStatus(86,this.status); } ,get_W: function() { return this.keyManager.checkStatus(87,this.status); } ,get_X: function() { return this.keyManager.checkStatus(88,this.status); } ,get_Y: function() { return this.keyManager.checkStatus(89,this.status); } ,get_Z: function() { return this.keyManager.checkStatus(90,this.status); } ,get_ZERO: function() { return this.keyManager.checkStatus(48,this.status); } ,get_ONE: function() { return this.keyManager.checkStatus(49,this.status); } ,get_TWO: function() { return this.keyManager.checkStatus(50,this.status); } ,get_THREE: function() { return this.keyManager.checkStatus(51,this.status); } ,get_FOUR: function() { return this.keyManager.checkStatus(52,this.status); } ,get_FIVE: function() { return this.keyManager.checkStatus(53,this.status); } ,get_SIX: function() { return this.keyManager.checkStatus(54,this.status); } ,get_SEVEN: function() { return this.keyManager.checkStatus(55,this.status); } ,get_EIGHT: function() { return this.keyManager.checkStatus(56,this.status); } ,get_NINE: function() { return this.keyManager.checkStatus(57,this.status); } ,get_PAGEUP: function() { return this.keyManager.checkStatus(33,this.status); } ,get_PAGEDOWN: function() { return this.keyManager.checkStatus(34,this.status); } ,get_HOME: function() { return this.keyManager.checkStatus(36,this.status); } ,get_END: function() { return this.keyManager.checkStatus(35,this.status); } ,get_INSERT: function() { return this.keyManager.checkStatus(45,this.status); } ,get_ESCAPE: function() { return this.keyManager.checkStatus(27,this.status); } ,get_MINUS: function() { return this.keyManager.checkStatus(189,this.status); } ,get_PLUS: function() { return this.keyManager.checkStatus(187,this.status); } ,get_DELETE: function() { return this.keyManager.checkStatus(46,this.status); } ,get_BACKSPACE: function() { return this.keyManager.checkStatus(8,this.status); } ,get_LBRACKET: function() { return this.keyManager.checkStatus(219,this.status); } ,get_RBRACKET: function() { return this.keyManager.checkStatus(221,this.status); } ,get_BACKSLASH: function() { return this.keyManager.checkStatus(220,this.status); } ,get_CAPSLOCK: function() { return this.keyManager.checkStatus(20,this.status); } ,get_SEMICOLON: function() { return this.keyManager.checkStatus(186,this.status); } ,get_QUOTE: function() { return this.keyManager.checkStatus(222,this.status); } ,get_ENTER: function() { return this.keyManager.checkStatus(13,this.status); } ,get_SHIFT: function() { return this.keyManager.checkStatus(16,this.status); } ,get_COMMA: function() { return this.keyManager.checkStatus(188,this.status); } ,get_PERIOD: function() { return this.keyManager.checkStatus(190,this.status); } ,get_SLASH: function() { return this.keyManager.checkStatus(191,this.status); } ,get_GRAVEACCENT: function() { return this.keyManager.checkStatus(192,this.status); } ,get_CONTROL: function() { return this.keyManager.checkStatus(17,this.status); } ,get_ALT: function() { return this.keyManager.checkStatus(18,this.status); } ,get_SPACE: function() { return this.keyManager.checkStatus(32,this.status); } ,get_UP: function() { return this.keyManager.checkStatus(38,this.status); } ,get_DOWN: function() { return this.keyManager.checkStatus(40,this.status); } ,get_LEFT: function() { return this.keyManager.checkStatus(37,this.status); } ,get_RIGHT: function() { return this.keyManager.checkStatus(39,this.status); } ,get_TAB: function() { return this.keyManager.checkStatus(9,this.status); } ,get_PRINTSCREEN: function() { return this.keyManager.checkStatus(301,this.status); } ,get_F1: function() { return this.keyManager.checkStatus(112,this.status); } ,get_F2: function() { return this.keyManager.checkStatus(113,this.status); } ,get_F3: function() { return this.keyManager.checkStatus(114,this.status); } ,get_F4: function() { return this.keyManager.checkStatus(115,this.status); } ,get_F5: function() { return this.keyManager.checkStatus(116,this.status); } ,get_F6: function() { return this.keyManager.checkStatus(117,this.status); } ,get_F7: function() { return this.keyManager.checkStatus(118,this.status); } ,get_F8: function() { return this.keyManager.checkStatus(119,this.status); } ,get_F9: function() { return this.keyManager.checkStatus(120,this.status); } ,get_F10: function() { return this.keyManager.checkStatus(121,this.status); } ,get_F11: function() { return this.keyManager.checkStatus(122,this.status); } ,get_F12: function() { return this.keyManager.checkStatus(123,this.status); } ,get_NUMPADONE: function() { return this.keyManager.checkStatus(97,this.status); } ,get_NUMPADTWO: function() { return this.keyManager.checkStatus(98,this.status); } ,get_NUMPADTHREE: function() { return this.keyManager.checkStatus(99,this.status); } ,get_NUMPADFOUR: function() { return this.keyManager.checkStatus(100,this.status); } ,get_NUMPADFIVE: function() { return this.keyManager.checkStatus(101,this.status); } ,get_NUMPADSIX: function() { return this.keyManager.checkStatus(102,this.status); } ,get_NUMPADSEVEN: function() { return this.keyManager.checkStatus(103,this.status); } ,get_NUMPADEIGHT: function() { return this.keyManager.checkStatus(104,this.status); } ,get_NUMPADNINE: function() { return this.keyManager.checkStatus(105,this.status); } ,get_NUMPADZERO: function() { return this.keyManager.checkStatus(96,this.status); } ,get_NUMPADMINUS: function() { return this.keyManager.checkStatus(109,this.status); } ,get_NUMPADPLUS: function() { return this.keyManager.checkStatus(107,this.status); } ,get_NUMPADPERIOD: function() { return this.keyManager.checkStatus(110,this.status); } ,get_NUMPADMULTIPLY: function() { return this.keyManager.checkStatus(106,this.status); } ,__class__: flixel_input_keyboard_FlxKeyList ,__properties__: $extend(flixel_input_FlxBaseKeyList.prototype.__properties__,{get_NUMPADMULTIPLY:"get_NUMPADMULTIPLY",get_NUMPADPERIOD:"get_NUMPADPERIOD",get_NUMPADPLUS:"get_NUMPADPLUS",get_NUMPADMINUS:"get_NUMPADMINUS",get_NUMPADZERO:"get_NUMPADZERO",get_NUMPADNINE:"get_NUMPADNINE",get_NUMPADEIGHT:"get_NUMPADEIGHT",get_NUMPADSEVEN:"get_NUMPADSEVEN",get_NUMPADSIX:"get_NUMPADSIX",get_NUMPADFIVE:"get_NUMPADFIVE",get_NUMPADFOUR:"get_NUMPADFOUR",get_NUMPADTHREE:"get_NUMPADTHREE",get_NUMPADTWO:"get_NUMPADTWO",get_NUMPADONE:"get_NUMPADONE",get_F12:"get_F12",get_F11:"get_F11",get_F10:"get_F10",get_F9:"get_F9",get_F8:"get_F8",get_F7:"get_F7",get_F6:"get_F6",get_F5:"get_F5",get_F4:"get_F4",get_F3:"get_F3",get_F2:"get_F2",get_F1:"get_F1",get_PRINTSCREEN:"get_PRINTSCREEN",get_TAB:"get_TAB",get_RIGHT:"get_RIGHT",get_LEFT:"get_LEFT",get_DOWN:"get_DOWN",get_UP:"get_UP",get_SPACE:"get_SPACE",get_ALT:"get_ALT",get_CONTROL:"get_CONTROL",get_GRAVEACCENT:"get_GRAVEACCENT",get_SLASH:"get_SLASH",get_PERIOD:"get_PERIOD",get_COMMA:"get_COMMA",get_SHIFT:"get_SHIFT",get_ENTER:"get_ENTER",get_QUOTE:"get_QUOTE",get_SEMICOLON:"get_SEMICOLON",get_CAPSLOCK:"get_CAPSLOCK",get_BACKSLASH:"get_BACKSLASH",get_RBRACKET:"get_RBRACKET",get_LBRACKET:"get_LBRACKET",get_BACKSPACE:"get_BACKSPACE",get_DELETE:"get_DELETE",get_PLUS:"get_PLUS",get_MINUS:"get_MINUS",get_ESCAPE:"get_ESCAPE",get_INSERT:"get_INSERT",get_END:"get_END",get_HOME:"get_HOME",get_PAGEDOWN:"get_PAGEDOWN",get_PAGEUP:"get_PAGEUP",get_NINE:"get_NINE",get_EIGHT:"get_EIGHT",get_SEVEN:"get_SEVEN",get_SIX:"get_SIX",get_FIVE:"get_FIVE",get_FOUR:"get_FOUR",get_THREE:"get_THREE",get_TWO:"get_TWO",get_ONE:"get_ONE",get_ZERO:"get_ZERO",get_Z:"get_Z",get_Y:"get_Y",get_X:"get_X",get_W:"get_W",get_V:"get_V",get_U:"get_U",get_T:"get_T",get_S:"get_S",get_R:"get_R",get_Q:"get_Q",get_P:"get_P",get_O:"get_O",get_N:"get_N",get_M:"get_M",get_L:"get_L",get_K:"get_K",get_J:"get_J",get_I:"get_I",get_H:"get_H",get_G:"get_G",get_F:"get_F",get_E:"get_E",get_D:"get_D",get_C:"get_C",get_B:"get_B",get_A:"get_A"}) }); var flixel_input_keyboard_FlxKeyboard = function() { flixel_input_FlxKeyManager.call(this,function(status,keyManager) { return new flixel_input_keyboard_FlxKeyList(status,keyManager); }); this.preventDefaultKeys = [38,40,37,39,32,9]; var _this = flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.fromStringMap; var code = new haxe_ds__$StringMap_StringMapIterator(_this,_this.arrayKeys()); while(code.hasNext()) { var code1 = code.next(); if(code1 != -2 && code1 != -1) { var input = new flixel_input_FlxInput(code1); this._keyListArray.push(input); this._keyListMap.h[code1] = input; } } }; $hxClasses["flixel.input.keyboard.FlxKeyboard"] = flixel_input_keyboard_FlxKeyboard; flixel_input_keyboard_FlxKeyboard.__name__ = "flixel.input.keyboard.FlxKeyboard"; flixel_input_keyboard_FlxKeyboard.__super__ = flixel_input_FlxKeyManager; flixel_input_keyboard_FlxKeyboard.prototype = $extend(flixel_input_FlxKeyManager.prototype,{ onKeyUp: function(event) { flixel_input_FlxKeyManager.prototype.onKeyUp.call(this,event); } ,onKeyDown: function(event) { flixel_input_FlxKeyManager.prototype.onKeyDown.call(this,event); } ,resolveKeyCode: function(e) { return e.keyCode; } ,record: function() { var data = null; var _g = 0; var _g1 = this._keyListArray; while(_g < _g1.length) { var key = _g1[_g]; ++_g; if(key == null || (key.current == 0 || key.current == -1)) { continue; } if(data == null) { data = []; } data.push(new flixel_system_replay_CodeValuePair(key.ID,key.current)); } return data; } ,playback: function(Record) { var i = 0; var l = Record.length; while(i < l) { var o = Record[i++]; var o2 = this._keyListMap.h[o.code]; o2.current = o.value; } } ,__class__: flixel_input_keyboard_FlxKeyboard }); var flixel_input_mouse__$FlxMouse_GraphicCursor = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_input_mouse__$FlxMouse_GraphicCursor.preload != null) { this.__fromImage(flixel_input_mouse__$FlxMouse_GraphicCursor.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_input_mouse__$FlxMouse_GraphicCursor.resourceName),flixel_input_mouse__$FlxMouse_GraphicCursor.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_input_mouse__$FlxMouse_GraphicCursor.preload == null) { flixel_input_mouse__$FlxMouse_GraphicCursor.preload = b.image; } if(onload != null && Reflect.isFunction(onload)) { onload(b); } }); } }; $hxClasses["flixel.input.mouse._FlxMouse.GraphicCursor"] = flixel_input_mouse__$FlxMouse_GraphicCursor; flixel_input_mouse__$FlxMouse_GraphicCursor.__name__ = "flixel.input.mouse._FlxMouse.GraphicCursor"; flixel_input_mouse__$FlxMouse_GraphicCursor.preload = null; flixel_input_mouse__$FlxMouse_GraphicCursor.__super__ = openfl_display_BitmapData; flixel_input_mouse__$FlxMouse_GraphicCursor.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_input_mouse__$FlxMouse_GraphicCursor }); var flixel_input_mouse_FlxMouseButton = function(ID) { this.justPressedTimeInTicks = -1; var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; this.justPressedPosition = point; flixel_input_FlxInput.call(this,ID); }; $hxClasses["flixel.input.mouse.FlxMouseButton"] = flixel_input_mouse_FlxMouseButton; flixel_input_mouse_FlxMouseButton.__name__ = "flixel.input.mouse.FlxMouseButton"; flixel_input_mouse_FlxMouseButton.__interfaces__ = [flixel_util_IFlxDestroyable]; flixel_input_mouse_FlxMouseButton.getByID = function(id) { switch(id) { case -3: return flixel_FlxG.mouse._rightButton; case -2: return flixel_FlxG.mouse._middleButton; case -1: return flixel_FlxG.mouse._leftButton; } }; flixel_input_mouse_FlxMouseButton.__super__ = flixel_input_FlxInput; flixel_input_mouse_FlxMouseButton.prototype = $extend(flixel_input_FlxInput.prototype,{ justPressedPosition: null ,justPressedTimeInTicks: null ,update: function() { flixel_input_FlxInput.prototype.update.call(this); if(this.current == 2) { this.justPressedPosition.set(flixel_FlxG.mouse.screenX,flixel_FlxG.mouse.screenY); this.justPressedTimeInTicks = flixel_FlxG.game.ticks; } else if(this.current == -1) { flixel_FlxG.swipes.push(new flixel_input_FlxSwipe(this.ID,this.justPressedPosition,flixel_FlxG.mouse.getScreenPosition(),this.justPressedTimeInTicks)); } } ,destroy: function() { this.justPressedPosition = flixel_util_FlxDestroyUtil.put(this.justPressedPosition); } ,onDown: function(_) { if(flixel_FlxG.mouse.enabled) { this.press(); } } ,onUp: function(_) { if(flixel_FlxG.mouse.enabled) { this.release(); } } ,__class__: flixel_input_mouse_FlxMouseButton }); var flixel_input_touch_FlxTouch = function(x,y,pointID) { if(pointID == null) { pointID = 0; } if(y == null) { y = 0; } if(x == null) { x = 0; } this.justPressedTimeInTicks = -1; var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; this.justPressedPosition = point; this.flashPoint = new openfl_geom_Point(); flixel_input_FlxPointer.call(this); this.input = new flixel_input_FlxInput(pointID); this.setXY(x,y); }; $hxClasses["flixel.input.touch.FlxTouch"] = flixel_input_touch_FlxTouch; flixel_input_touch_FlxTouch.__name__ = "flixel.input.touch.FlxTouch"; flixel_input_touch_FlxTouch.__interfaces__ = [flixel_input_IFlxInput,flixel_util_IFlxDestroyable]; flixel_input_touch_FlxTouch.__super__ = flixel_input_FlxPointer; flixel_input_touch_FlxTouch.prototype = $extend(flixel_input_FlxPointer.prototype,{ input: null ,flashPoint: null ,justPressedPosition: null ,justPressedTimeInTicks: null ,destroy: function() { this.input = null; this.justPressedPosition = flixel_util_FlxDestroyUtil.put(this.justPressedPosition); this.flashPoint = null; } ,recycle: function(x,y,pointID) { this.setXY(x,y); this.input.ID = pointID; this.input.reset(); } ,update: function() { this.input.update(); if(this.input.current == 2) { this.justPressedPosition.set(this.screenX,this.screenY); this.justPressedTimeInTicks = flixel_FlxG.game.ticks; } else if(this.input.current == -1) { flixel_FlxG.swipes.push(new flixel_input_FlxSwipe(this.input.ID,this.justPressedPosition,this.getScreenPosition(),this.justPressedTimeInTicks)); } } ,setXY: function(X,Y) { this.flashPoint.setTo(X,Y); this.flashPoint = flixel_FlxG.game.globalToLocal(this.flashPoint); this._globalScreenX = this.flashPoint.x / flixel_FlxG.scaleMode.scale.x | 0; this._globalScreenY = this.flashPoint.y / flixel_FlxG.scaleMode.scale.y | 0; this.updatePositions(); } ,get_touchPointID: function() { return this.input.ID; } ,get_justReleased: function() { return this.input.current == -1; } ,get_released: function() { var _this = this.input; if(_this.current != 0) { return _this.current == -1; } else { return true; } } ,get_pressed: function() { var _this = this.input; if(_this.current != 1) { return _this.current == 2; } else { return true; } } ,get_justPressed: function() { return this.input.current == 2; } ,__class__: flixel_input_touch_FlxTouch ,__properties__: {get_justPressed:"get_justPressed",get_pressed:"get_pressed",get_released:"get_released",get_justReleased:"get_justReleased",get_touchPointID:"get_touchPointID"} }); var flixel_input_touch_FlxTouchManager = function() { this.list = []; this._inactiveTouches = []; this._touchesCache = new haxe_ds_IntMap(); flixel_input_touch_FlxTouchManager.maxTouchPoints = openfl_ui_Multitouch.maxTouchPoints; openfl_ui_Multitouch.inputMode = 2; openfl_Lib.get_current().stage.addEventListener("touchBegin",$bind(this,this.handleTouchBegin)); openfl_Lib.get_current().stage.addEventListener("touchEnd",$bind(this,this.handleTouchEnd)); openfl_Lib.get_current().stage.addEventListener("touchMove",$bind(this,this.handleTouchMove)); }; $hxClasses["flixel.input.touch.FlxTouchManager"] = flixel_input_touch_FlxTouchManager; flixel_input_touch_FlxTouchManager.__name__ = "flixel.input.touch.FlxTouchManager"; flixel_input_touch_FlxTouchManager.__interfaces__ = [flixel_input_IFlxInputManager]; flixel_input_touch_FlxTouchManager.prototype = { list: null ,_inactiveTouches: null ,_touchesCache: null ,getByID: function(TouchPointID) { return this._touchesCache.h[TouchPointID]; } ,getFirst: function() { if(this.list[0] != null) { return this.list[0]; } else { return null; } } ,destroy: function() { var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var touch = _g1[_g]; ++_g; touch.destroy(); } this.list = null; var _g2 = 0; var _g3 = this._inactiveTouches; while(_g2 < _g3.length) { var touch1 = _g3[_g2]; ++_g2; touch1.destroy(); } this._inactiveTouches = null; this._touchesCache = null; } ,justStarted: function(TouchArray) { if(TouchArray == null) { TouchArray = []; } var touchLen = TouchArray.length; if(touchLen > 0) { TouchArray.splice(0,touchLen); } var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var touch = _g1[_g]; ++_g; if(touch.input.current == 2) { TouchArray.push(touch); } } return TouchArray; } ,justReleased: function(TouchArray) { if(TouchArray == null) { TouchArray = []; } var touchLen = TouchArray.length; if(touchLen > 0) { TouchArray.splice(0,touchLen); } var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var touch = _g1[_g]; ++_g; if(touch.input.current == -1) { TouchArray.push(touch); } } return TouchArray; } ,reset: function() { var key = this._touchesCache.keys(); while(key.hasNext()) { var key1 = key.next(); this._touchesCache.remove(key1); } var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var touch = _g1[_g]; ++_g; touch.input.reset(); this._inactiveTouches.push(touch); } this.list.splice(0,this.list.length); } ,handleTouchBegin: function(FlashEvent) { var touch = this._touchesCache.h[FlashEvent.touchPointID]; if(touch != null) { touch.setXY(FlashEvent.stageX | 0,FlashEvent.stageY | 0); } else { touch = this.recycle(FlashEvent.stageX | 0,FlashEvent.stageY | 0,FlashEvent.touchPointID); } touch.input.press(); } ,handleTouchEnd: function(FlashEvent) { var touch = this._touchesCache.h[FlashEvent.touchPointID]; if(touch != null) { touch.input.release(); } } ,handleTouchMove: function(FlashEvent) { var touch = this._touchesCache.h[FlashEvent.touchPointID]; if(touch != null) { touch.setXY(FlashEvent.stageX | 0,FlashEvent.stageY | 0); } } ,add: function(Touch1) { this.list.push(Touch1); this._touchesCache.h[Touch1.input.ID] = Touch1; return Touch1; } ,recycle: function(X,Y,PointID) { if(this._inactiveTouches.length > 0) { var touch = this._inactiveTouches.pop(); touch.recycle(X,Y,PointID); return this.add(touch); } return this.add(new flixel_input_touch_FlxTouch(X,Y,PointID)); } ,update: function() { var i = this.list.length - 1; var touch; while(i >= 0) { touch = this.list[i]; var _this = touch.input; if((_this.current == 0 || _this.current == -1) && touch.input.current != -1) { touch.input.reset(); this._touchesCache.remove(touch.input.ID); this.list.splice(i,1); this._inactiveTouches.push(touch); } else { touch.update(); } --i; } } ,onFocus: function() { } ,onFocusLost: function() { this.reset(); } ,__class__: flixel_input_touch_FlxTouchManager }; var flixel_math_FlxAngle = function() { }; $hxClasses["flixel.math.FlxAngle"] = flixel_math_FlxAngle; flixel_math_FlxAngle.__name__ = "flixel.math.FlxAngle"; flixel_math_FlxAngle.__properties__ = {get_TO_RAD:"get_TO_RAD",get_TO_DEG:"get_TO_DEG"}; flixel_math_FlxAngle.wrapAngle = function(angle) { if(angle > 180) { angle = flixel_math_FlxAngle.wrapAngle(angle - 360); } else if(angle < -180) { angle = flixel_math_FlxAngle.wrapAngle(angle + 360); } return angle; }; flixel_math_FlxAngle.asDegrees = function(radians) { return radians * (180 / Math.PI); }; flixel_math_FlxAngle.asRadians = function(degrees) { return degrees * (Math.PI / 180); }; flixel_math_FlxAngle.angleBetween = function(SpriteA,SpriteB,AsDegrees) { if(AsDegrees == null) { AsDegrees = false; } var dx = SpriteB.x + SpriteB.origin.x - (SpriteA.x + SpriteA.origin.x); var dy = SpriteB.y + SpriteB.origin.y - (SpriteA.y + SpriteA.origin.y); if(AsDegrees) { return Math.atan2(dy,dx) * (180 / Math.PI); } else { return Math.atan2(dy,dx); } }; flixel_math_FlxAngle.angleBetweenPoint = function(Sprite,Target,AsDegrees) { if(AsDegrees == null) { AsDegrees = false; } var dx = Target.x - (Sprite.x + Sprite.origin.x); var dy = Target.y - (Sprite.y + Sprite.origin.y); if(Target._weak) { Target.put(); } if(AsDegrees) { return Math.atan2(dy,dx) * (180 / Math.PI); } else { return Math.atan2(dy,dx); } }; flixel_math_FlxAngle.angleBetweenMouse = function(Object1,AsDegrees) { if(AsDegrees == null) { AsDegrees = false; } if(Object1 == null) { return 0; } var p = Object1.getScreenPosition(); var dx = flixel_FlxG.mouse.screenX - p.x; var dy = flixel_FlxG.mouse.screenY - p.y; p.put(); if(AsDegrees) { return Math.atan2(dy,dx) * (180 / Math.PI); } else { return Math.atan2(dy,dx); } }; flixel_math_FlxAngle.angleBetweenTouch = function(Object1,Touch1,AsDegrees) { if(AsDegrees == null) { AsDegrees = false; } var p = Object1.getScreenPosition(); var dx = Touch1.screenX - p.x; var dy = Touch1.screenY - p.y; p.put(); if(AsDegrees) { return Math.atan2(dy,dx) * (180 / Math.PI); } else { return Math.atan2(dy,dx); } }; flixel_math_FlxAngle.angleFromFacing = function(FacingBitmask,AsDegrees) { if(AsDegrees == null) { AsDegrees = false; } var degrees; switch(FacingBitmask) { case 1: degrees = 180; break; case 16: degrees = 0; break; case 256: degrees = -90; break; case 4096: degrees = 90; break; default: var f = FacingBitmask; if(f == 257) { degrees = -135; } else { var f1 = FacingBitmask; if(f1 == 272) { degrees = -45; } else { var f2 = FacingBitmask; if(f2 == 4097) { degrees = 135; } else { var f3 = FacingBitmask; degrees = f3 == 4112 ? 45 : 0; } } } } if(AsDegrees) { return degrees; } else { return degrees * (Math.PI / 180); } }; flixel_math_FlxAngle.getCartesianCoords = function(Radius,Angle,point) { var p = point; if(p == null) { var point1 = flixel_math_FlxPoint._pool.get().set(0,0); point1._inPool = false; p = point1; } p.set_x(Radius * Math.cos(Angle * (Math.PI / 180))); p.set_y(Radius * Math.sin(Angle * (Math.PI / 180))); return p; }; flixel_math_FlxAngle.getPolarCoords = function(X,Y,point) { var p = point; if(p == null) { var point1 = flixel_math_FlxPoint._pool.get().set(0,0); point1._inPool = false; p = point1; } p.set_x(Math.sqrt(X * X + Y * Y)); p.set_y(Math.atan2(Y,X) * (180 / Math.PI)); return p; }; flixel_math_FlxAngle.get_TO_DEG = function() { return 180 / Math.PI; }; flixel_math_FlxAngle.get_TO_RAD = function() { return Math.PI / 180; }; var flixel_math_FlxMath = function() { }; $hxClasses["flixel.math.FlxMath"] = flixel_math_FlxMath; flixel_math_FlxMath.__name__ = "flixel.math.FlxMath"; flixel_math_FlxMath.roundDecimal = function(Value,Precision) { var mult = 1; var _g = 0; var _g1 = Precision; while(_g < _g1) { var i = _g++; mult *= 10; } return Math.round(Value * mult) / mult; }; flixel_math_FlxMath.bound = function(Value,Min,Max) { var lowerBound = Min != null && Value < Min ? Min : Value; if(Max != null && lowerBound > Max) { return Max; } else { return lowerBound; } }; flixel_math_FlxMath.lerp = function(a,b,ratio) { return a + ratio * (b - a); }; flixel_math_FlxMath.inBounds = function(Value,Min,Max) { if(Min == null || Value >= Min) { if(Max != null) { return Value <= Max; } else { return true; } } else { return false; } }; flixel_math_FlxMath.isOdd = function(n) { return ((n | 0) & 1) != 0; }; flixel_math_FlxMath.isEven = function(n) { return ((n | 0) & 1) == 0; }; flixel_math_FlxMath.numericComparison = function(a,b) { if(b > a) { return -1; } else if(a > b) { return 1; } return 0; }; flixel_math_FlxMath.pointInCoordinates = function(pointX,pointY,rectX,rectY,rectWidth,rectHeight) { if(pointX >= rectX && pointX <= rectX + rectWidth) { if(pointY >= rectY && pointY <= rectY + rectHeight) { return true; } } return false; }; flixel_math_FlxMath.pointInFlxRect = function(pointX,pointY,rect) { if(pointX >= rect.x && pointX <= rect.x + rect.width && pointY >= rect.y) { return pointY <= rect.y + rect.height; } else { return false; } }; flixel_math_FlxMath.mouseInFlxRect = function(useWorldCoords,rect) { if(rect == null) { return true; } if(useWorldCoords) { return flixel_math_FlxMath.pointInFlxRect(Math.floor(flixel_FlxG.mouse.x),Math.floor(flixel_FlxG.mouse.y),rect); } else { return flixel_math_FlxMath.pointInFlxRect(flixel_FlxG.mouse.screenX,flixel_FlxG.mouse.screenY,rect); } }; flixel_math_FlxMath.pointInRectangle = function(pointX,pointY,rect) { if(pointX >= rect.x && pointX <= rect.get_right() && pointY >= rect.y) { return pointY <= rect.get_bottom(); } else { return false; } }; flixel_math_FlxMath.maxAdd = function(value,amount,max,min) { if(min == null) { min = 0; } value += amount; if(value > max) { value = max; } else if(value <= min) { value = min; } return value; }; flixel_math_FlxMath.wrap = function(value,min,max) { var range = max - min + 1; if(value < min) { value += range * ((min - value) / range + 1 | 0); } return min + (value - min) % range; }; flixel_math_FlxMath.remapToRange = function(value,start1,stop1,start2,stop2) { return start2 + (value - start1) * ((stop2 - start2) / (stop1 - start1)); }; flixel_math_FlxMath.dotProduct = function(ax,ay,bx,by) { return ax * bx + ay * by; }; flixel_math_FlxMath.vectorLength = function(dx,dy) { return Math.sqrt(dx * dx + dy * dy); }; flixel_math_FlxMath.distanceBetween = function(SpriteA,SpriteB) { var dx = SpriteA.x + SpriteA.origin.x - (SpriteB.x + SpriteB.origin.x); var dy = SpriteA.y + SpriteA.origin.y - (SpriteB.y + SpriteB.origin.y); return Math.sqrt(dx * dx + dy * dy) | 0; }; flixel_math_FlxMath.isDistanceWithin = function(SpriteA,SpriteB,Distance,IncludeEqual) { if(IncludeEqual == null) { IncludeEqual = false; } var dx = SpriteA.x + SpriteA.origin.x - (SpriteB.x + SpriteB.origin.x); var dy = SpriteA.y + SpriteA.origin.y - (SpriteB.y + SpriteB.origin.y); if(IncludeEqual) { return dx * dx + dy * dy <= Distance * Distance; } else { return dx * dx + dy * dy < Distance * Distance; } }; flixel_math_FlxMath.distanceToPoint = function(Sprite,Target) { var dx = Sprite.x + Sprite.origin.x - Target.x; var dy = Sprite.y + Sprite.origin.y - Target.y; if(Target._weak) { Target.put(); } return Math.sqrt(dx * dx + dy * dy) | 0; }; flixel_math_FlxMath.isDistanceToPointWithin = function(Sprite,Target,Distance,IncludeEqual) { if(IncludeEqual == null) { IncludeEqual = false; } var dx = Sprite.x + Sprite.origin.x - Target.x; var dy = Sprite.y + Sprite.origin.y - Target.y; if(Target._weak) { Target.put(); } if(IncludeEqual) { return dx * dx + dy * dy <= Distance * Distance; } else { return dx * dx + dy * dy < Distance * Distance; } }; flixel_math_FlxMath.distanceToMouse = function(Sprite) { var dx = Sprite.x + Sprite.origin.x - flixel_FlxG.mouse.screenX; var dy = Sprite.y + Sprite.origin.y - flixel_FlxG.mouse.screenY; return Math.sqrt(dx * dx + dy * dy) | 0; }; flixel_math_FlxMath.isDistanceToMouseWithin = function(Sprite,Distance,IncludeEqual) { if(IncludeEqual == null) { IncludeEqual = false; } var dx = Sprite.x + Sprite.origin.x - flixel_FlxG.mouse.screenX; var dy = Sprite.y + Sprite.origin.y - flixel_FlxG.mouse.screenY; if(IncludeEqual) { return dx * dx + dy * dy <= Distance * Distance; } else { return dx * dx + dy * dy < Distance * Distance; } }; flixel_math_FlxMath.distanceToTouch = function(Sprite,Touch1) { var dx = Sprite.x + Sprite.origin.x - Touch1.screenX; var dy = Sprite.y + Sprite.origin.y - Touch1.screenY; return Math.sqrt(dx * dx + dy * dy) | 0; }; flixel_math_FlxMath.isDistanceToTouchWithin = function(Sprite,Touch1,Distance,IncludeEqual) { if(IncludeEqual == null) { IncludeEqual = false; } var dx = Sprite.x + Sprite.origin.x - Touch1.screenX; var dy = Sprite.y + Sprite.origin.y - Touch1.screenY; if(IncludeEqual) { return dx * dx + dy * dy <= Distance * Distance; } else { return dx * dx + dy * dy < Distance * Distance; } }; flixel_math_FlxMath.getDecimals = function(n) { var helperArray = (n == null ? "null" : "" + n).split("."); var decimals = 0; if(helperArray.length > 1) { decimals = helperArray[1].length; } return decimals; }; flixel_math_FlxMath.equal = function(aValueA,aValueB,aDiff) { if(aDiff == null) { aDiff = 0.0000001; } return Math.abs(aValueA - aValueB) <= aDiff; }; flixel_math_FlxMath.signOf = function(n) { if(n < 0) { return -1; } else { return 1; } }; flixel_math_FlxMath.sameSign = function(a,b) { return (a < 0 ? -1 : 1) == (b < 0 ? -1 : 1); }; flixel_math_FlxMath.fastSin = function(n) { n *= 0.3183098862; if(n > 1) { n -= Math.ceil(n) >> 1 << 1; } else if(n < -1) { n += Math.ceil(-n) >> 1 << 1; } if(n > 0) { return n * (3.1 + n * (0.5 + n * (-7.2 + n * 3.6))); } else { return n * (3.1 - n * (0.5 + n * (7.2 + n * 3.6))); } }; flixel_math_FlxMath.fastCos = function(n) { var n1 = n + 1.570796327; n1 *= 0.3183098862; if(n1 > 1) { n1 -= Math.ceil(n1) >> 1 << 1; } else if(n1 < -1) { n1 += Math.ceil(-n1) >> 1 << 1; } if(n1 > 0) { return n1 * (3.1 + n1 * (0.5 + n1 * (-7.2 + n1 * 3.6))); } else { return n1 * (3.1 - n1 * (0.5 + n1 * (7.2 + n1 * 3.6))); } }; flixel_math_FlxMath.sinh = function(n) { return (Math.exp(n) - Math.exp(-n)) / 2; }; flixel_math_FlxMath.maxInt = function(a,b) { if(a > b) { return a; } else { return b; } }; flixel_math_FlxMath.minInt = function(a,b) { if(a > b) { return b; } else { return a; } }; flixel_math_FlxMath.absInt = function(n) { if(n > 0) { return n; } else { return -n; } }; var flixel_math_FlxMatrix = function(a,b,c,d,tx,ty) { openfl_geom_Matrix.call(this,a,b,c,d,tx,ty); }; $hxClasses["flixel.math.FlxMatrix"] = flixel_math_FlxMatrix; flixel_math_FlxMatrix.__name__ = "flixel.math.FlxMatrix"; flixel_math_FlxMatrix.__super__ = openfl_geom_Matrix; flixel_math_FlxMatrix.prototype = $extend(openfl_geom_Matrix.prototype,{ rotateWithTrig: function(cos,sin) { var a1 = this.a * cos - this.b * sin; this.b = this.a * sin + this.b * cos; this.a = a1; var c1 = this.c * cos - this.d * sin; this.d = this.c * sin + this.d * cos; this.c = c1; var tx1 = this.tx * cos - this.ty * sin; this.ty = this.tx * sin + this.ty * cos; this.tx = tx1; return this; } ,rotateBy180: function() { this.setTo(-this.a,-this.b,-this.c,-this.d,-this.tx,-this.ty); return this; } ,rotateByPositive90: function() { this.setTo(-this.b,this.a,-this.d,this.c,-this.ty,this.tx); return this; } ,rotateByNegative90: function() { this.setTo(this.b,-this.a,this.d,-this.c,this.ty,-this.tx); return this; } ,transformX: function(px,py) { return px * this.a + py * this.c + this.tx; } ,transformY: function(px,py) { return px * this.b + py * this.d + this.ty; } ,__class__: flixel_math_FlxMatrix }); var flixel_math_FlxCallbackPoint = function(setXCallback,setYCallback,setXYCallback) { flixel_math_FlxPoint.call(this); this._setXCallback = setXCallback; this._setYCallback = setXYCallback; this._setXYCallback = setXYCallback; if(this._setXCallback != null) { if(this._setYCallback == null) { this._setYCallback = setXCallback; } if(this._setXYCallback == null) { this._setXYCallback = setXCallback; } } }; $hxClasses["flixel.math.FlxCallbackPoint"] = flixel_math_FlxCallbackPoint; flixel_math_FlxCallbackPoint.__name__ = "flixel.math.FlxCallbackPoint"; flixel_math_FlxCallbackPoint.__super__ = flixel_math_FlxPoint; flixel_math_FlxCallbackPoint.prototype = $extend(flixel_math_FlxPoint.prototype,{ _setXCallback: null ,_setYCallback: null ,_setXYCallback: null ,set: function(X,Y) { if(Y == null) { Y = 0; } if(X == null) { X = 0; } flixel_math_FlxPoint.prototype.set.call(this,X,Y); if(this._setXYCallback != null) { this._setXYCallback(this); } return this; } ,set_x: function(Value) { flixel_math_FlxPoint.prototype.set_x.call(this,Value); if(this._setXCallback != null) { this._setXCallback(this); } return Value; } ,set_y: function(Value) { flixel_math_FlxPoint.prototype.set_y.call(this,Value); if(this._setYCallback != null) { this._setYCallback(this); } return Value; } ,destroy: function() { flixel_math_FlxPoint.prototype.destroy.call(this); this._setXCallback = null; this._setYCallback = null; this._setXYCallback = null; } ,put: function() { } ,__class__: flixel_math_FlxCallbackPoint }); var flixel_math__$FlxVector_FlxVector_$Impl_$ = {}; $hxClasses["flixel.math._FlxVector.FlxVector_Impl_"] = flixel_math__$FlxVector_FlxVector_$Impl_$; flixel_math__$FlxVector_FlxVector_$Impl_$.__name__ = "flixel.math._FlxVector.FlxVector_Impl_"; flixel_math__$FlxVector_FlxVector_$Impl_$.__properties__ = {get_ly:"get_ly",get_lx:"get_lx",get_ry:"get_ry",get_rx:"get_rx",set_radians:"set_radians",get_radians:"get_radians",set_degrees:"set_degrees",get_degrees:"get_degrees",get_lengthSquared:"get_lengthSquared",set_length:"set_length",get_length:"get_length",get_dy:"get_dy",get_dx:"get_dx",set_y:"set_y",get_y:"get_y",set_x:"set_x",get_x:"get_x",get_pool:"get_pool"}; flixel_math__$FlxVector_FlxVector_$Impl_$.get = function(x,y) { if(y == null) { y = 0; } if(x == null) { x = 0; } var X = x; var Y = y; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; return point; }; flixel_math__$FlxVector_FlxVector_$Impl_$.weak = function(x,y) { if(y == null) { y = 0; } if(x == null) { x = 0; } var X = x; var Y = y; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var X1 = X; var Y1 = Y; if(Y1 == null) { Y1 = 0; } if(X1 == null) { X1 = 0; } var point = flixel_math_FlxPoint._pool.get().set(X1,Y1); point._inPool = false; var point1 = point; point1._weak = true; return point1; }; flixel_math__$FlxVector_FlxVector_$Impl_$._new = function(x,y) { if(y == null) { y = 0; } if(x == null) { x = 0; } var this1 = new flixel_math_FlxPoint(x,y); return this1; }; flixel_math__$FlxVector_FlxVector_$Impl_$.set = function(this1,x,y) { if(y == null) { y = 0; } if(x == null) { x = 0; } return this1.set(x,y); }; flixel_math__$FlxVector_FlxVector_$Impl_$.add = function(this1,x,y) { if(y == null) { y = 0; } if(x == null) { x = 0; } var X = x; var Y = y; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var _g = this1; _g.set_x(_g.x + X); var _g1 = this1; _g1.set_y(_g1.y + Y); return this1; }; flixel_math__$FlxVector_FlxVector_$Impl_$.addPoint = function(this1,point) { return this1.addPoint(point); }; flixel_math__$FlxVector_FlxVector_$Impl_$.subtract = function(this1,x,y) { if(y == null) { y = 0; } if(x == null) { x = 0; } var X = x; var Y = y; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var _g = this1; _g.set_x(_g.x - X); var _g1 = this1; _g1.set_y(_g1.y - Y); return this1; }; flixel_math__$FlxVector_FlxVector_$Impl_$.subtractPoint = function(this1,point) { return this1.subtractPoint(point); }; flixel_math__$FlxVector_FlxVector_$Impl_$.scale = function(this1,k) { return this1.scale(k); }; flixel_math__$FlxVector_FlxVector_$Impl_$.scaleNew = function(this1,k) { return flixel_math__$FlxVector_FlxVector_$Impl_$.clone(this1).scale(k); }; flixel_math__$FlxVector_FlxVector_$Impl_$.addNew = function(this1,v) { return flixel_math__$FlxVector_FlxVector_$Impl_$.clone(this1).addPoint(v); }; flixel_math__$FlxVector_FlxVector_$Impl_$.subtractNew = function(this1,v) { return flixel_math__$FlxVector_FlxVector_$Impl_$.clone(this1).subtractPoint(v); }; flixel_math__$FlxVector_FlxVector_$Impl_$.copyFrom = function(this1,point) { this1.set_x(point.x); this1.set_y(point.y); if(point._weak) { point.put(); } return this1; }; flixel_math__$FlxVector_FlxVector_$Impl_$.copyFromFlash = function(this1,flashPoint) { this1.set_x(flashPoint.x); this1.set_y(flashPoint.y); return this1; }; flixel_math__$FlxVector_FlxVector_$Impl_$.floor = function(this1) { this1.set_x(Math.floor(this1.x)); this1.set_y(Math.floor(this1.y)); return this1; }; flixel_math__$FlxVector_FlxVector_$Impl_$.ceil = function(this1) { this1.set_x(Math.ceil(this1.x)); this1.set_y(Math.ceil(this1.y)); return this1; }; flixel_math__$FlxVector_FlxVector_$Impl_$.round = function(this1) { this1.set_x(Math.round(this1.x)); this1.set_y(Math.round(this1.y)); return this1; }; flixel_math__$FlxVector_FlxVector_$Impl_$.rotate = function(this1,pivot,angle) { return this1.rotate(pivot,angle); }; flixel_math__$FlxVector_FlxVector_$Impl_$.transform = function(this1,matrix) { var x1 = this1.x * matrix.a + this1.y * matrix.c + matrix.tx; var y1 = this1.x * matrix.b + this1.y * matrix.d + matrix.ty; return this1.set(x1,y1); }; flixel_math__$FlxVector_FlxVector_$Impl_$.dotProduct = function(this1,v) { var dp = this1.x * v.x + this1.y * v.y; if(v._weak) { v.put(); } return dp; }; flixel_math__$FlxVector_FlxVector_$Impl_$.dotProductWeak = function(this1,v) { return this1.x * v.x + this1.y * v.y; }; flixel_math__$FlxVector_FlxVector_$Impl_$.dotProdWithNormalizing = function(this1,v) { var normalized = flixel_math__$FlxVector_FlxVector_$Impl_$.normalize(flixel_math__$FlxVector_FlxVector_$Impl_$.clone(v,flixel_math__$FlxVector_FlxVector_$Impl_$._vector1)); if(v._weak) { v.put(); } return this1.x * normalized.x + this1.y * normalized.y; }; flixel_math__$FlxVector_FlxVector_$Impl_$.isPerpendicular = function(this1,v) { var dp = this1.x * v.x + this1.y * v.y; if(v._weak) { v.put(); } return Math.abs(dp) < 9.99999999999999841e-15; }; flixel_math__$FlxVector_FlxVector_$Impl_$.crossProductLength = function(this1,v) { var cp = this1.x * v.y - this1.y * v.x; if(v._weak) { v.put(); } return cp; }; flixel_math__$FlxVector_FlxVector_$Impl_$.crossProductLengthWeak = function(this1,v) { return this1.x * v.y - this1.y * v.x; }; flixel_math__$FlxVector_FlxVector_$Impl_$.isParallel = function(this1,v) { var p = Math.abs(this1.x * v.y - this1.y * v.x) < 9.99999999999999841e-15; if(v._weak) { v.put(); } return p; }; flixel_math__$FlxVector_FlxVector_$Impl_$.isParallelWeak = function(this1,v) { return Math.abs(this1.x * v.y - this1.y * v.x) < 9.99999999999999841e-15; }; flixel_math__$FlxVector_FlxVector_$Impl_$.isZero = function(this1) { if(Math.abs(this1.x) < 0.0000001) { return Math.abs(this1.y) < 0.0000001; } else { return false; } }; flixel_math__$FlxVector_FlxVector_$Impl_$.zero = function(this1) { this1.set_x(this1.set_y(0)); return this1; }; flixel_math__$FlxVector_FlxVector_$Impl_$.normalize = function(this1) { if(Math.abs(this1.x) < 0.0000001 && Math.abs(this1.y) < 0.0000001) { return this1; } return this1.scale(1 / Math.sqrt(this1.x * this1.x + this1.y * this1.y)); }; flixel_math__$FlxVector_FlxVector_$Impl_$.isNormalized = function(this1) { return Math.abs(this1.x * this1.x + this1.y * this1.y - 1) < 9.99999999999999841e-15; }; flixel_math__$FlxVector_FlxVector_$Impl_$.rotateByRadians = function(this1,rads) { var s = Math.sin(rads); var c = Math.cos(rads); var tempX = this1.x; this1.set_x(tempX * c - this1.y * s); this1.set_y(tempX * s + this1.y * c); return this1; }; flixel_math__$FlxVector_FlxVector_$Impl_$.rotateByDegrees = function(this1,degs) { var rads = degs * (Math.PI / 180); var s = Math.sin(rads); var c = Math.cos(rads); var tempX = this1.x; this1.set_x(tempX * c - this1.y * s); this1.set_y(tempX * s + this1.y * c); return this1; }; flixel_math__$FlxVector_FlxVector_$Impl_$.rotateWithTrig = function(this1,sin,cos) { var tempX = this1.x; this1.set_x(tempX * cos - this1.y * sin); this1.set_y(tempX * sin + this1.y * cos); return this1; }; flixel_math__$FlxVector_FlxVector_$Impl_$.rightNormal = function(this1,vec) { if(vec == null) { var X = 0; var Y = 0; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; vec = point; } var x = -this1.y; var y = this1.x; if(y == null) { y = 0; } if(x == null) { x = 0; } vec.set(x,y); return vec; }; flixel_math__$FlxVector_FlxVector_$Impl_$.leftNormal = function(this1,vec) { if(vec == null) { var X = 0; var Y = 0; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; vec = point; } var x = this1.y; var y = -this1.x; if(y == null) { y = 0; } if(x == null) { x = 0; } vec.set(x,y); return vec; }; flixel_math__$FlxVector_FlxVector_$Impl_$.negate = function(this1) { var _g = this1; _g.set_x(_g.x * -1); var _g1 = this1; _g1.set_y(_g1.y * -1); return this1; }; flixel_math__$FlxVector_FlxVector_$Impl_$.negateNew = function(this1) { var this2 = flixel_math__$FlxVector_FlxVector_$Impl_$.clone(this1); var _g = this2; _g.set_x(_g.x * -1); var _g1 = this2; _g1.set_y(_g1.y * -1); return this2; }; flixel_math__$FlxVector_FlxVector_$Impl_$.projectTo = function(this1,v,proj) { var dp = this1.x * v.x + this1.y * v.y; var lenSq = v.x * v.x + v.y * v.y; if(proj == null) { var X = 0; var Y = 0; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; proj = point; } var x = dp * v.x / lenSq; var y = dp * v.y / lenSq; if(y == null) { y = 0; } if(x == null) { x = 0; } proj.set(x,y); if(v._weak) { v.put(); } return proj; }; flixel_math__$FlxVector_FlxVector_$Impl_$.projectToNormalized = function(this1,v,proj) { var proj1 = proj; var dp = this1.x * v.x + this1.y * v.y; if(proj1 == null) { var X = 0; var Y = 0; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; proj1 = point; } var x = dp * v.x; var y = dp * v.y; if(y == null) { y = 0; } if(x == null) { x = 0; } proj = proj1.set(x,y); if(v._weak) { v.put(); } return proj; }; flixel_math__$FlxVector_FlxVector_$Impl_$.projectToNormalizedWeak = function(this1,v,proj) { var dp = this1.x * v.x + this1.y * v.y; if(proj == null) { var X = 0; var Y = 0; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; proj = point; } var x = dp * v.x; var y = dp * v.y; if(y == null) { y = 0; } if(x == null) { x = 0; } return proj.set(x,y); }; flixel_math__$FlxVector_FlxVector_$Impl_$.perpProduct = function(this1,v) { var pp = this1.y * v.x + -this1.x * v.y; if(v._weak) { v.put(); } return pp; }; flixel_math__$FlxVector_FlxVector_$Impl_$.perpProductWeak = function(this1,v) { return this1.y * v.x + -this1.x * v.y; }; flixel_math__$FlxVector_FlxVector_$Impl_$.ratio = function(this1,a,b,v) { var r; if(Math.abs(this1.x * v.y - this1.y * v.x) < 9.99999999999999841e-15) { r = NaN; } else if(this1.x * this1.x + this1.y * this1.y < 9.99999999999999841e-15 || v.x * v.x + v.y * v.y < 9.99999999999999841e-15) { r = NaN; } else { flixel_math__$FlxVector_FlxVector_$Impl_$._vector1 = flixel_math__$FlxVector_FlxVector_$Impl_$.clone(b,flixel_math__$FlxVector_FlxVector_$Impl_$._vector1); var _this = flixel_math__$FlxVector_FlxVector_$Impl_$._vector1; var _g = _this; _g.set_x(_g.x - a.x); var _g1 = _this; _g1.set_y(_g1.y - a.y); var this2 = flixel_math__$FlxVector_FlxVector_$Impl_$._vector1; r = (this2.y * v.x + -this2.x * v.y) / (this1.y * v.x + -this1.x * v.y); } if(a._weak) { a.put(); } if(b._weak) { b.put(); } if(v._weak) { v.put(); } return r; }; flixel_math__$FlxVector_FlxVector_$Impl_$.ratioWeak = function(this1,a,b,v) { if(Math.abs(this1.x * v.y - this1.y * v.x) < 9.99999999999999841e-15) { return NaN; } if(this1.x * this1.x + this1.y * this1.y < 9.99999999999999841e-15 || v.x * v.x + v.y * v.y < 9.99999999999999841e-15) { return NaN; } flixel_math__$FlxVector_FlxVector_$Impl_$._vector1 = flixel_math__$FlxVector_FlxVector_$Impl_$.clone(b,flixel_math__$FlxVector_FlxVector_$Impl_$._vector1); var _this = flixel_math__$FlxVector_FlxVector_$Impl_$._vector1; var _g = _this; _g.set_x(_g.x - a.x); var _g1 = _this; _g1.set_y(_g1.y - a.y); var this2 = flixel_math__$FlxVector_FlxVector_$Impl_$._vector1; return (this2.y * v.x + -this2.x * v.y) / (this1.y * v.x + -this1.x * v.y); }; flixel_math__$FlxVector_FlxVector_$Impl_$.findIntersection = function(this1,a,b,v,intersection) { var t; if(Math.abs(this1.x * v.y - this1.y * v.x) < 9.99999999999999841e-15) { t = NaN; } else if(this1.x * this1.x + this1.y * this1.y < 9.99999999999999841e-15 || v.x * v.x + v.y * v.y < 9.99999999999999841e-15) { t = NaN; } else { flixel_math__$FlxVector_FlxVector_$Impl_$._vector1 = flixel_math__$FlxVector_FlxVector_$Impl_$.clone(b,flixel_math__$FlxVector_FlxVector_$Impl_$._vector1); var _this = flixel_math__$FlxVector_FlxVector_$Impl_$._vector1; var _g = _this; _g.set_x(_g.x - a.x); var _g1 = _this; _g1.set_y(_g1.y - a.y); var this2 = flixel_math__$FlxVector_FlxVector_$Impl_$._vector1; t = (this2.y * v.x + -this2.x * v.y) / (this1.y * v.x + -this1.x * v.y); } if(intersection == null) { var X = 0; var Y = 0; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; intersection = point; } if(isNaN(t)) { var x = NaN; var y = NaN; if(y == null) { y = 0; } if(x == null) { x = 0; } intersection.set(x,y); } else { var x1 = a.x + t * this1.x; var y1 = a.y + t * this1.y; if(y1 == null) { y1 = 0; } if(x1 == null) { x1 = 0; } intersection.set(x1,y1); } if(a._weak) { a.put(); } if(b._weak) { b.put(); } if(v._weak) { v.put(); } return intersection; }; flixel_math__$FlxVector_FlxVector_$Impl_$.findIntersectionInBounds = function(this1,a,b,v,intersection) { if(intersection == null) { var X = 0; var Y = 0; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; intersection = point; } var t1; if(Math.abs(this1.x * v.y - this1.y * v.x) < 9.99999999999999841e-15) { t1 = NaN; } else if(this1.x * this1.x + this1.y * this1.y < 9.99999999999999841e-15 || v.x * v.x + v.y * v.y < 9.99999999999999841e-15) { t1 = NaN; } else { flixel_math__$FlxVector_FlxVector_$Impl_$._vector1 = flixel_math__$FlxVector_FlxVector_$Impl_$.clone(b,flixel_math__$FlxVector_FlxVector_$Impl_$._vector1); var _this = flixel_math__$FlxVector_FlxVector_$Impl_$._vector1; var _g = _this; _g.set_x(_g.x - a.x); var _g1 = _this; _g1.set_y(_g1.y - a.y); var this2 = flixel_math__$FlxVector_FlxVector_$Impl_$._vector1; t1 = (this2.y * v.x + -this2.x * v.y) / (this1.y * v.x + -this1.x * v.y); } var t2; if(Math.abs(v.x * this1.y - v.y * this1.x) < 9.99999999999999841e-15) { t2 = NaN; } else if(v.x * v.x + v.y * v.y < 9.99999999999999841e-15 || this1.x * this1.x + this1.y * this1.y < 9.99999999999999841e-15) { t2 = NaN; } else { flixel_math__$FlxVector_FlxVector_$Impl_$._vector1 = flixel_math__$FlxVector_FlxVector_$Impl_$.clone(a,flixel_math__$FlxVector_FlxVector_$Impl_$._vector1); var _this1 = flixel_math__$FlxVector_FlxVector_$Impl_$._vector1; var _g2 = _this1; _g2.set_x(_g2.x - b.x); var _g3 = _this1; _g3.set_y(_g3.y - b.y); var this3 = flixel_math__$FlxVector_FlxVector_$Impl_$._vector1; t2 = (this3.y * this1.x + -this3.x * this1.y) / (v.y * this1.x + -v.x * this1.y); } if(!isNaN(t1) && !isNaN(t2) && t1 > 0 && t1 <= 1 && t2 > 0 && t2 <= 1) { var x = a.x + t1 * this1.x; var y = a.y + t1 * this1.y; if(y == null) { y = 0; } if(x == null) { x = 0; } intersection.set(x,y); } else { var x1 = NaN; var y1 = NaN; if(y1 == null) { y1 = 0; } if(x1 == null) { x1 = 0; } intersection.set(x1,y1); } if(a._weak) { a.put(); } if(b._weak) { b.put(); } if(v._weak) { v.put(); } return intersection; }; flixel_math__$FlxVector_FlxVector_$Impl_$.truncate = function(this1,max) { var l = Math.min(max,Math.sqrt(this1.x * this1.x + this1.y * this1.y)); if(!(Math.abs(this1.x) < 0.0000001 && Math.abs(this1.y) < 0.0000001)) { var a = flixel_math__$FlxVector_FlxVector_$Impl_$.get_radians(this1); this1.set_x(l * Math.cos(a)); this1.set_y(l * Math.sin(a)); } return this1; }; flixel_math__$FlxVector_FlxVector_$Impl_$.radiansBetween = function(this1,v) { var rads = Math.acos((this1.x * v.x + this1.y * v.y) / (Math.sqrt(this1.x * this1.x + this1.y * this1.y) * Math.sqrt(v.x * v.x + v.y * v.y))); if(v._weak) { v.put(); } return rads; }; flixel_math__$FlxVector_FlxVector_$Impl_$.degreesBetween = function(this1,v) { var rads = Math.acos((this1.x * v.x + this1.y * v.y) / (Math.sqrt(this1.x * this1.x + this1.y * this1.y) * Math.sqrt(v.x * v.x + v.y * v.y))); if(v._weak) { v.put(); } return rads * (180 / Math.PI); }; flixel_math__$FlxVector_FlxVector_$Impl_$.sign = function(this1,a,b) { var signFl = (a.x - this1.x) * (b.y - this1.y) - (a.y - this1.y) * (b.x - this1.x); if(a._weak) { a.put(); } if(b._weak) { b.put(); } if(signFl == 0) { return 0; } return Math.round(signFl / Math.abs(signFl)); }; flixel_math__$FlxVector_FlxVector_$Impl_$.dist = function(this1,v) { var dx = v.x - this1.x; var dy = v.y - this1.y; if(v._weak) { v.put(); } return Math.sqrt(dx * dx + dy * dy); }; flixel_math__$FlxVector_FlxVector_$Impl_$.distSquared = function(this1,v) { var dx = v.x - this1.x; var dy = v.y - this1.y; if(v._weak) { v.put(); } return dx * dx + dy * dy; }; flixel_math__$FlxVector_FlxVector_$Impl_$.bounce = function(this1,normal,bounceCoeff) { if(bounceCoeff == null) { bounceCoeff = 1; } var d = (1 + bounceCoeff) * (this1.x * normal.x + this1.y * normal.y); var _g = this1; _g.set_x(_g.x - d * normal.x); var _g1 = this1; _g1.set_y(_g1.y - d * normal.y); if(normal._weak) { normal.put(); } return this1; }; flixel_math__$FlxVector_FlxVector_$Impl_$.bounceWithFriction = function(this1,normal,bounceCoeff,friction) { if(friction == null) { friction = 0; } if(bounceCoeff == null) { bounceCoeff = 1; } var v = flixel_math__$FlxVector_FlxVector_$Impl_$.rightNormal(normal,flixel_math__$FlxVector_FlxVector_$Impl_$._vector3); var proj = flixel_math__$FlxVector_FlxVector_$Impl_$._vector1; var dp = this1.x * v.x + this1.y * v.y; if(proj == null) { var X = 0; var Y = 0; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; proj = point; } var x = dp * v.x; var y = dp * v.y; if(y == null) { y = 0; } if(x == null) { x = 0; } var p1 = proj.set(x,y); var proj1 = flixel_math__$FlxVector_FlxVector_$Impl_$._vector2; var dp1 = this1.x * normal.x + this1.y * normal.y; if(proj1 == null) { var X1 = 0; var Y1 = 0; if(Y1 == null) { Y1 = 0; } if(X1 == null) { X1 = 0; } var point1 = flixel_math_FlxPoint._pool.get().set(X1,Y1); point1._inPool = false; proj1 = point1; } var x1 = dp1 * normal.x; var y1 = dp1 * normal.y; if(y1 == null) { y1 = 0; } if(x1 == null) { x1 = 0; } var p2 = proj1.set(x1,y1); var bounceX = -p2.x; var bounceY = -p2.y; var frictionX = p1.x; var frictionY = p1.y; this1.set_x(bounceX * bounceCoeff + frictionX * friction); this1.set_y(bounceY * bounceCoeff + frictionY * friction); if(normal._weak) { normal.put(); } return this1; }; flixel_math__$FlxVector_FlxVector_$Impl_$.isValid = function(this1) { if(!isNaN(this1.x) && !isNaN(this1.y) && isFinite(this1.x)) { return isFinite(this1.y); } else { return false; } }; flixel_math__$FlxVector_FlxVector_$Impl_$.clone = function(this1,vec) { if(vec == null) { var X = 0; var Y = 0; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; vec = point; } vec.set_x(this1.x); vec.set_y(this1.y); return vec; }; flixel_math__$FlxVector_FlxVector_$Impl_$.get_x = function(this1) { return this1.x; }; flixel_math__$FlxVector_FlxVector_$Impl_$.set_x = function(this1,x) { return this1.set_x(x); }; flixel_math__$FlxVector_FlxVector_$Impl_$.get_y = function(this1) { return this1.y; }; flixel_math__$FlxVector_FlxVector_$Impl_$.set_y = function(this1,y) { return this1.set_y(y); }; flixel_math__$FlxVector_FlxVector_$Impl_$.get_dx = function(this1) { if(Math.abs(this1.x) < 0.0000001 && Math.abs(this1.y) < 0.0000001) { return 0; } return this1.x / Math.sqrt(this1.x * this1.x + this1.y * this1.y); }; flixel_math__$FlxVector_FlxVector_$Impl_$.get_dy = function(this1) { if(Math.abs(this1.x) < 0.0000001 && Math.abs(this1.y) < 0.0000001) { return 0; } return this1.y / Math.sqrt(this1.x * this1.x + this1.y * this1.y); }; flixel_math__$FlxVector_FlxVector_$Impl_$.get_length = function(this1) { return Math.sqrt(this1.x * this1.x + this1.y * this1.y); }; flixel_math__$FlxVector_FlxVector_$Impl_$.set_length = function(this1,l) { if(!(Math.abs(this1.x) < 0.0000001 && Math.abs(this1.y) < 0.0000001)) { var a = flixel_math__$FlxVector_FlxVector_$Impl_$.get_radians(this1); this1.set_x(l * Math.cos(a)); this1.set_y(l * Math.sin(a)); } return l; }; flixel_math__$FlxVector_FlxVector_$Impl_$.get_lengthSquared = function(this1) { return this1.x * this1.x + this1.y * this1.y; }; flixel_math__$FlxVector_FlxVector_$Impl_$.get_degrees = function(this1) { return flixel_math__$FlxVector_FlxVector_$Impl_$.get_radians(this1) * (180 / Math.PI); }; flixel_math__$FlxVector_FlxVector_$Impl_$.set_degrees = function(this1,degs) { var rads = degs * (Math.PI / 180); var len = Math.sqrt(this1.x * this1.x + this1.y * this1.y); this1.set_x(len * Math.cos(rads)); this1.set_y(len * Math.sin(rads)); return degs; }; flixel_math__$FlxVector_FlxVector_$Impl_$.get_radians = function(this1) { if(Math.abs(this1.x) < 0.0000001 && Math.abs(this1.y) < 0.0000001) { return 0; } return Math.atan2(this1.y,this1.x); }; flixel_math__$FlxVector_FlxVector_$Impl_$.set_radians = function(this1,rads) { var len = Math.sqrt(this1.x * this1.x + this1.y * this1.y); this1.set_x(len * Math.cos(rads)); this1.set_y(len * Math.sin(rads)); return rads; }; flixel_math__$FlxVector_FlxVector_$Impl_$.get_rx = function(this1) { return -this1.y; }; flixel_math__$FlxVector_FlxVector_$Impl_$.get_ry = function(this1) { return this1.x; }; flixel_math__$FlxVector_FlxVector_$Impl_$.get_lx = function(this1) { return this1.y; }; flixel_math__$FlxVector_FlxVector_$Impl_$.get_ly = function(this1) { return -this1.x; }; flixel_math__$FlxVector_FlxVector_$Impl_$.get_pool = function() { return flixel_math_FlxPoint.get_pool(); }; var flixel_math_FlxVelocity = function() { }; $hxClasses["flixel.math.FlxVelocity"] = flixel_math_FlxVelocity; flixel_math_FlxVelocity.__name__ = "flixel.math.FlxVelocity"; flixel_math_FlxVelocity.moveTowardsObject = function(Source,Dest,Speed,MaxTime) { if(MaxTime == null) { MaxTime = 0; } if(Speed == null) { Speed = 60; } var a = flixel_math_FlxAngle.angleBetween(Source,Dest); if(MaxTime > 0) { var dx = Source.x + Source.origin.x - (Dest.x + Dest.origin.x); var dy = Source.y + Source.origin.y - (Dest.y + Dest.origin.y); var d = Math.sqrt(dx * dx + dy * dy) | 0; Speed = d / (MaxTime / 1000) | 0; } Source.velocity.set_x(Math.cos(a) * Speed); Source.velocity.set_y(Math.sin(a) * Speed); }; flixel_math_FlxVelocity.accelerateTowardsObject = function(Source,Dest,Acceleration,MaxSpeed) { var a = flixel_math_FlxAngle.angleBetween(Source,Dest); var sinA = Math.sin(a); var cosA = Math.cos(a); Source.velocity.set(0,0); Source.acceleration.set(cosA * Acceleration,sinA * Acceleration); Source.maxVelocity.set(Math.abs(cosA * MaxSpeed),Math.abs(sinA * MaxSpeed)); }; flixel_math_FlxVelocity.moveTowardsMouse = function(Source,Speed,MaxTime) { if(MaxTime == null) { MaxTime = 0; } if(Speed == null) { Speed = 60; } var a = flixel_math_FlxAngle.angleBetweenMouse(Source); if(MaxTime > 0) { var dx = Source.x + Source.origin.x - flixel_FlxG.mouse.screenX; var dy = Source.y + Source.origin.y - flixel_FlxG.mouse.screenY; var d = Math.sqrt(dx * dx + dy * dy) | 0; Speed = d / (MaxTime / 1000) | 0; } Source.velocity.set_x(Math.cos(a) * Speed); Source.velocity.set_y(Math.sin(a) * Speed); }; flixel_math_FlxVelocity.moveTowardsTouch = function(Source,Touch1,Speed,MaxTime) { if(MaxTime == null) { MaxTime = 0; } if(Speed == null) { Speed = 60; } var a = flixel_math_FlxAngle.angleBetweenTouch(Source,Touch1); if(MaxTime > 0) { var dx = Source.x + Source.origin.x - Touch1.screenX; var dy = Source.y + Source.origin.y - Touch1.screenY; var d = Math.sqrt(dx * dx + dy * dy) | 0; Speed = d / (MaxTime / 1000) | 0; } Source.velocity.set_x(Math.cos(a) * Speed); Source.velocity.set_y(Math.sin(a) * Speed); }; flixel_math_FlxVelocity.accelerateTowardsMouse = function(Source,Acceleration,MaxSpeed) { var a = flixel_math_FlxAngle.angleBetweenMouse(Source); var sinA = Math.sin(a); var cosA = Math.cos(a); Source.velocity.set(0,0); Source.acceleration.set(cosA * Acceleration,sinA * Acceleration); Source.maxVelocity.set(Math.abs(cosA * MaxSpeed),Math.abs(sinA * MaxSpeed)); }; flixel_math_FlxVelocity.accelerateTowardsTouch = function(Source,Touch1,Acceleration,MaxSpeed) { var a = flixel_math_FlxAngle.angleBetweenTouch(Source,Touch1); var sinA = Math.sin(a); var cosA = Math.cos(a); Source.velocity.set(0,0); Source.acceleration.set(cosA * Acceleration,sinA * Acceleration); Source.maxVelocity.set(Math.abs(cosA * MaxSpeed),Math.abs(sinA * MaxSpeed)); }; flixel_math_FlxVelocity.moveTowardsPoint = function(Source,Target,Speed,MaxTime) { if(MaxTime == null) { MaxTime = 0; } if(Speed == null) { Speed = 60; } var a = flixel_math_FlxAngle.angleBetweenPoint(Source,Target); if(MaxTime > 0) { var dx = Source.x + Source.origin.x - Target.x; var dy = Source.y + Source.origin.y - Target.y; if(Target._weak) { Target.put(); } var d = Math.sqrt(dx * dx + dy * dy) | 0; Speed = d / (MaxTime / 1000) | 0; } Source.velocity.set_x(Math.cos(a) * Speed); Source.velocity.set_y(Math.sin(a) * Speed); if(Target._weak) { Target.put(); } }; flixel_math_FlxVelocity.accelerateTowardsPoint = function(Source,Target,Acceleration,MaxSpeed) { var a = flixel_math_FlxAngle.angleBetweenPoint(Source,Target); var sinA = Math.sin(a); var cosA = Math.cos(a); Source.velocity.set(0,0); Source.acceleration.set(cosA * Acceleration,sinA * Acceleration); Source.maxVelocity.set(Math.abs(cosA * MaxSpeed),Math.abs(sinA * MaxSpeed)); if(Target._weak) { Target.put(); } }; flixel_math_FlxVelocity.velocityFromAngle = function(Angle,Speed) { var a = Angle * (Math.PI / 180); var X = Math.cos(a) * Speed; var Y = Math.sin(a) * Speed; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; return point; }; flixel_math_FlxVelocity.velocityFromFacing = function(Parent,Speed) { var a = flixel_math_FlxAngle.angleFromFacing(Parent.facing); var X = Math.cos(a) * Speed; var Y = Math.sin(a) * Speed; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; return point; }; flixel_math_FlxVelocity.computeVelocity = function(Velocity,Acceleration,Drag,Max,Elapsed) { if(Acceleration != 0) { Velocity += Acceleration * Elapsed; } else if(Drag != 0) { var drag = Drag * Elapsed; if(Velocity - drag > 0) { Velocity -= drag; } else if(Velocity + drag < 0) { Velocity += drag; } else { Velocity = 0; } } if(Velocity != 0 && Max != 0) { if(Velocity > Max) { Velocity = Max; } else if(Velocity < -Max) { Velocity = -Max; } } return Velocity; }; flixel_math_FlxVelocity.accelerateFromAngle = function(source,radians,acceleration,maxSpeed,resetVelocity) { if(resetVelocity == null) { resetVelocity = true; } var sinA = Math.sin(radians); var cosA = Math.cos(radians); if(resetVelocity) { source.velocity.set(0,0); } source.acceleration.set(cosA * acceleration,sinA * acceleration); source.maxVelocity.set(Math.abs(cosA * maxSpeed),Math.abs(sinA * maxSpeed)); }; var flixel_system_GraphicLogo = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_system_GraphicLogo.preload != null) { this.__fromImage(flixel_system_GraphicLogo.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_GraphicLogo.resourceName),flixel_system_GraphicLogo.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_system_GraphicLogo.preload == null) { flixel_system_GraphicLogo.preload = b.image; } if(onload != null && Reflect.isFunction(onload)) { onload(b); } }); } }; $hxClasses["flixel.system.GraphicLogo"] = flixel_system_GraphicLogo; flixel_system_GraphicLogo.__name__ = "flixel.system.GraphicLogo"; flixel_system_GraphicLogo.preload = null; flixel_system_GraphicLogo.__super__ = openfl_display_BitmapData; flixel_system_GraphicLogo.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_system_GraphicLogo }); var flixel_system_GraphicVirtualInput = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_system_GraphicVirtualInput.preload != null) { this.__fromImage(flixel_system_GraphicVirtualInput.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_GraphicVirtualInput.resourceName),flixel_system_GraphicVirtualInput.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_system_GraphicVirtualInput.preload == null) { flixel_system_GraphicVirtualInput.preload = b.image; } if(onload != null && Reflect.isFunction(onload)) { onload(b); } }); } }; $hxClasses["flixel.system.GraphicVirtualInput"] = flixel_system_GraphicVirtualInput; flixel_system_GraphicVirtualInput.__name__ = "flixel.system.GraphicVirtualInput"; flixel_system_GraphicVirtualInput.preload = null; flixel_system_GraphicVirtualInput.__super__ = openfl_display_BitmapData; flixel_system_GraphicVirtualInput.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_system_GraphicVirtualInput }); var haxe_io_Bytes = function(data) { this.length = data.byteLength; this.b = new Uint8Array(data); this.b.bufferValue = data; data.hxBytes = this; data.bytes = this.b; }; $hxClasses["haxe.io.Bytes"] = haxe_io_Bytes; haxe_io_Bytes.__name__ = "haxe.io.Bytes"; haxe_io_Bytes.alloc = function(length) { return new haxe_io_Bytes(new ArrayBuffer(length)); }; haxe_io_Bytes.ofString = function(s,encoding) { var a = []; var i = 0; while(i < s.length) { var c = s.charCodeAt(i++); if(55296 <= c && c <= 56319) { c = c - 55232 << 10 | s.charCodeAt(i++) & 1023; } if(c <= 127) { a.push(c); } else if(c <= 2047) { a.push(192 | c >> 6); a.push(128 | c & 63); } else if(c <= 65535) { a.push(224 | c >> 12); a.push(128 | c >> 6 & 63); a.push(128 | c & 63); } else { a.push(240 | c >> 18); a.push(128 | c >> 12 & 63); a.push(128 | c >> 6 & 63); a.push(128 | c & 63); } } return new haxe_io_Bytes(new Uint8Array(a).buffer); }; haxe_io_Bytes.ofData = function(b) { var hb = b.hxBytes; if(hb != null) { return hb; } return new haxe_io_Bytes(b); }; haxe_io_Bytes.ofHex = function(s) { if((s.length & 1) != 0) { throw new js__$Boot_HaxeError("Not a hex string (odd number of digits)"); } var a = []; var i = 0; var len = s.length >> 1; while(i < len) { var high = s.charCodeAt(i * 2); var low = s.charCodeAt(i * 2 + 1); high = (high & 15) + ((high & 64) >> 6) * 9; low = (low & 15) + ((low & 64) >> 6) * 9; a.push((high << 4 | low) & 255); ++i; } return new haxe_io_Bytes(new Uint8Array(a).buffer); }; haxe_io_Bytes.fastGet = function(b,pos) { return b.bytes[pos]; }; haxe_io_Bytes.prototype = { length: null ,b: null ,data: null ,get: function(pos) { return this.b[pos]; } ,set: function(pos,v) { this.b[pos] = v & 255; } ,blit: function(pos,src,srcpos,len) { if(pos < 0 || srcpos < 0 || len < 0 || pos + len > this.length || srcpos + len > src.length) { throw new js__$Boot_HaxeError(haxe_io_Error.OutsideBounds); } if(srcpos == 0 && len == src.b.byteLength) { this.b.set(src.b,pos); } else { this.b.set(src.b.subarray(srcpos,srcpos + len),pos); } } ,fill: function(pos,len,value) { var _g = 0; var _g1 = len; while(_g < _g1) { var i = _g++; this.b[pos++] = value & 255; } } ,sub: function(pos,len) { if(pos < 0 || len < 0 || pos + len > this.length) { throw new js__$Boot_HaxeError(haxe_io_Error.OutsideBounds); } return new haxe_io_Bytes(this.b.buffer.slice(pos + this.b.byteOffset,pos + this.b.byteOffset + len)); } ,compare: function(other) { var b1 = this.b; var b2 = other.b; var len = this.length < other.length ? this.length : other.length; var _g = 0; var _g1 = len; while(_g < _g1) { var i = _g++; if(b1[i] != b2[i]) { return b1[i] - b2[i]; } } return this.length - other.length; } ,initData: function() { if(this.data == null) { this.data = new DataView(this.b.buffer,this.b.byteOffset,this.b.byteLength); } } ,getDouble: function(pos) { if(this.data == null) { this.data = new DataView(this.b.buffer,this.b.byteOffset,this.b.byteLength); } return this.data.getFloat64(pos,true); } ,getFloat: function(pos) { if(this.data == null) { this.data = new DataView(this.b.buffer,this.b.byteOffset,this.b.byteLength); } return this.data.getFloat32(pos,true); } ,setDouble: function(pos,v) { if(this.data == null) { this.data = new DataView(this.b.buffer,this.b.byteOffset,this.b.byteLength); } this.data.setFloat64(pos,v,true); } ,setFloat: function(pos,v) { if(this.data == null) { this.data = new DataView(this.b.buffer,this.b.byteOffset,this.b.byteLength); } this.data.setFloat32(pos,v,true); } ,getUInt16: function(pos) { if(this.data == null) { this.data = new DataView(this.b.buffer,this.b.byteOffset,this.b.byteLength); } return this.data.getUint16(pos,true); } ,setUInt16: function(pos,v) { if(this.data == null) { this.data = new DataView(this.b.buffer,this.b.byteOffset,this.b.byteLength); } this.data.setUint16(pos,v,true); } ,getInt32: function(pos) { if(this.data == null) { this.data = new DataView(this.b.buffer,this.b.byteOffset,this.b.byteLength); } return this.data.getInt32(pos,true); } ,setInt32: function(pos,v) { if(this.data == null) { this.data = new DataView(this.b.buffer,this.b.byteOffset,this.b.byteLength); } this.data.setInt32(pos,v,true); } ,getInt64: function(pos) { var this1 = new haxe__$Int64__$_$_$Int64(this.getInt32(pos + 4),this.getInt32(pos)); return this1; } ,setInt64: function(pos,v) { this.setInt32(pos,v.low); this.setInt32(pos + 4,v.high); } ,getString: function(pos,len,encoding) { if(pos < 0 || len < 0 || pos + len > this.length) { throw new js__$Boot_HaxeError(haxe_io_Error.OutsideBounds); } var s = ""; var b = this.b; var fcc = _$String_String_$Impl_$.fromCharCode; var i = pos; var max = pos + len; while(i < max) { var c = b[i++]; if(c < 128) { if(c == 0) { break; } s += fcc(c); } else if(c < 224) { s += fcc((c & 63) << 6 | b[i++] & 127); } else if(c < 240) { var c2 = b[i++]; s += fcc((c & 31) << 12 | (c2 & 127) << 6 | b[i++] & 127); } else { var c21 = b[i++]; var c3 = b[i++]; var u = (c & 15) << 18 | (c21 & 127) << 12 | (c3 & 127) << 6 | b[i++] & 127; s += fcc((u >> 10) + 55232); s += fcc(u & 1023 | 56320); } } return s; } ,readString: function(pos,len) { return this.getString(pos,len); } ,toString: function() { return this.getString(0,this.length); } ,toHex: function() { var s_b = ""; var chars = []; var str = "0123456789abcdef"; var _g = 0; var _g1 = str.length; while(_g < _g1) { var i = _g++; chars.push(HxOverrides.cca(str,i)); } var _g2 = 0; var _g3 = this.length; while(_g2 < _g3) { var i1 = _g2++; var c = this.b[i1]; s_b += String.fromCodePoint(chars[c >> 4]); s_b += String.fromCodePoint(chars[c & 15]); } return s_b; } ,getData: function() { return this.b.bufferValue; } ,__class__: haxe_io_Bytes }; var openfl_utils_IDataOutput = function() { }; $hxClasses["openfl.utils.IDataOutput"] = openfl_utils_IDataOutput; openfl_utils_IDataOutput.__name__ = "openfl.utils.IDataOutput"; openfl_utils_IDataOutput.__isInterface__ = true; openfl_utils_IDataOutput.prototype = { get_endian: null ,set_endian: null ,objectEncoding: null ,writeBoolean: null ,writeByte: null ,writeBytes: null ,writeDouble: null ,writeFloat: null ,writeInt: null ,writeMultiByte: null ,writeObject: null ,writeShort: null ,writeUnsignedInt: null ,writeUTF: null ,writeUTFBytes: null ,__class__: openfl_utils_IDataOutput ,__properties__: {set_endian:"set_endian",get_endian:"get_endian"} }; var openfl_utils_IDataInput = function() { }; $hxClasses["openfl.utils.IDataInput"] = openfl_utils_IDataInput; openfl_utils_IDataInput.__name__ = "openfl.utils.IDataInput"; openfl_utils_IDataInput.__isInterface__ = true; openfl_utils_IDataInput.prototype = { get_bytesAvailable: null ,get_endian: null ,set_endian: null ,objectEncoding: null ,readBoolean: null ,readByte: null ,readBytes: null ,readDouble: null ,readFloat: null ,readInt: null ,readMultiByte: null ,readObject: null ,readShort: null ,readUnsignedByte: null ,readUnsignedInt: null ,readUnsignedShort: null ,readUTF: null ,readUTFBytes: null ,__class__: openfl_utils_IDataInput ,__properties__: {set_endian:"set_endian",get_endian:"get_endian",get_bytesAvailable:"get_bytesAvailable"} }; var openfl_utils_ByteArrayData = function(length) { if(length == null) { length = 0; } var bytes = new haxe_io_Bytes(new ArrayBuffer(length)); haxe_io_Bytes.call(this,bytes.b.buffer); this.__length = length; if(openfl_utils_ByteArrayData.__defaultEndian == null) { if(lime_system_System.get_endianness() == lime_system_Endian.LITTLE_ENDIAN) { openfl_utils_ByteArrayData.__defaultEndian = 1; } else { openfl_utils_ByteArrayData.__defaultEndian = 0; } } this.__endian = openfl_utils_ByteArrayData.__defaultEndian; this.objectEncoding = openfl_utils_ByteArrayData.defaultObjectEncoding; this.position = 0; }; $hxClasses["openfl.utils.ByteArrayData"] = openfl_utils_ByteArrayData; openfl_utils_ByteArrayData.__name__ = "openfl.utils.ByteArrayData"; openfl_utils_ByteArrayData.__interfaces__ = [openfl_utils_IDataOutput,openfl_utils_IDataInput]; openfl_utils_ByteArrayData.__properties__ = {set_defaultEndian:"set_defaultEndian",get_defaultEndian:"get_defaultEndian"}; openfl_utils_ByteArrayData.fromBytes = function(bytes) { var result = new openfl_utils_ByteArrayData(); result.__fromBytes(bytes); return result; }; openfl_utils_ByteArrayData.get_defaultEndian = function() { if(openfl_utils_ByteArrayData.__defaultEndian == null) { if(lime_system_System.get_endianness() == lime_system_Endian.LITTLE_ENDIAN) { openfl_utils_ByteArrayData.__defaultEndian = 1; } else { openfl_utils_ByteArrayData.__defaultEndian = 0; } } return openfl_utils_ByteArrayData.__defaultEndian; }; openfl_utils_ByteArrayData.set_defaultEndian = function(value) { return openfl_utils_ByteArrayData.__defaultEndian = value; }; openfl_utils_ByteArrayData.__super__ = haxe_io_Bytes; openfl_utils_ByteArrayData.prototype = $extend(haxe_io_Bytes.prototype,{ objectEncoding: null ,position: null ,__endian: null ,__length: null ,clear: function() { this.length = 0; this.position = 0; } ,compress: function(algorithm) { if(algorithm == null) { algorithm = 2; } if(this.__length > this.length) { var cacheLength = this.length; this.length = this.__length; var data = new haxe_io_Bytes(new ArrayBuffer(cacheLength)); data.blit(0,this,0,cacheLength); this.b = data.b; this.__length = data.length; this.data = data.data; this.length = cacheLength; } var limeBytes = this; var bytes; switch(algorithm) { case 0: bytes = lime_utils__$Bytes_Bytes_$Impl_$.compress(limeBytes,lime_utils_CompressionAlgorithm.DEFLATE); break; case 1: bytes = lime_utils__$Bytes_Bytes_$Impl_$.compress(limeBytes,lime_utils_CompressionAlgorithm.LZMA); break; default: bytes = lime_utils__$Bytes_Bytes_$Impl_$.compress(limeBytes,lime_utils_CompressionAlgorithm.ZLIB); } if(bytes != null) { this.b = bytes.b; this.__length = bytes.length; this.data = bytes.data; this.length = this.__length; this.position = this.length; } } ,deflate: function() { this.compress(0); } ,inflate: function() { this.uncompress(0); } ,readBoolean: function() { if(this.position < this.length) { return this.b[this.position++] != 0; } else { throw new js__$Boot_HaxeError(new openfl_errors_EOFError()); } } ,readByte: function() { var value = this.readUnsignedByte(); if((value & 128) != 0) { return value - 256; } else { return value; } } ,readBytes: function(bytes,offset,length) { if(length == null) { length = 0; } if(offset == null) { offset = 0; } if(length == 0) { length = this.length - this.position; } if(this.position + length > this.length) { throw new js__$Boot_HaxeError(new openfl_errors_EOFError()); } if(bytes.length < offset + length) { bytes.__resize(offset + length); } bytes.blit(offset,this,this.position,length); this.position += length; } ,readDouble: function() { if(this.__endian == 1) { if(this.position + 8 > this.length) { throw new js__$Boot_HaxeError(new openfl_errors_EOFError()); } this.position += 8; return this.getDouble(this.position - 8); } else { var ch1 = this.readInt(); var ch2 = this.readInt(); return haxe_io_FPHelper.i64ToDouble(ch2,ch1); } } ,readFloat: function() { if(this.__endian == 1) { if(this.position + 4 > this.length) { throw new js__$Boot_HaxeError(new openfl_errors_EOFError()); } this.position += 4; return this.getFloat(this.position - 4); } else { return haxe_io_FPHelper.i32ToFloat(this.readInt()); } } ,readInt: function() { var ch1 = this.readUnsignedByte(); var ch2 = this.readUnsignedByte(); var ch3 = this.readUnsignedByte(); var ch4 = this.readUnsignedByte(); if(this.__endian == 1) { return ch4 << 24 | ch3 << 16 | ch2 << 8 | ch1; } else { return ch1 << 24 | ch2 << 16 | ch3 << 8 | ch4; } } ,readMultiByte: function(length,charSet) { return this.readUTFBytes(length); } ,readObject: function() { switch(this.objectEncoding) { case 10: var data = this.readUTF(); return haxe_Unserializer.run(data); case 12: var data1 = this.readUTF(); return JSON.parse(data1); default: return null; } } ,readShort: function() { var ch1 = this.readUnsignedByte(); var ch2 = this.readUnsignedByte(); var value; if(this.__endian == 1) { value = ch2 << 8 | ch1; } else { value = ch1 << 8 | ch2; } if((value & 32768) != 0) { return value - 65536; } else { return value; } } ,readUnsignedByte: function() { if(this.position < this.length) { return this.b[this.position++]; } else { throw new js__$Boot_HaxeError(new openfl_errors_EOFError()); } } ,readUnsignedInt: function() { var ch1 = this.readUnsignedByte(); var ch2 = this.readUnsignedByte(); var ch3 = this.readUnsignedByte(); var ch4 = this.readUnsignedByte(); if(this.__endian == 1) { return ch4 << 24 | ch3 << 16 | ch2 << 8 | ch1; } else { return ch1 << 24 | ch2 << 16 | ch3 << 8 | ch4; } } ,readUnsignedShort: function() { var ch1 = this.readUnsignedByte(); var ch2 = this.readUnsignedByte(); if(this.__endian == 1) { return (ch2 << 8) + ch1; } else { return ch1 << 8 | ch2; } } ,readUTF: function() { var bytesCount = this.readUnsignedShort(); return this.readUTFBytes(bytesCount); } ,readUTFBytes: function(length) { if(this.position + length > this.length) { throw new js__$Boot_HaxeError(new openfl_errors_EOFError()); } this.position += length; return this.getString(this.position - length,length); } ,uncompress: function(algorithm) { if(algorithm == null) { algorithm = 2; } if(this.__length > this.length) { var cacheLength = this.length; this.length = this.__length; var data = new haxe_io_Bytes(new ArrayBuffer(cacheLength)); data.blit(0,this,0,cacheLength); this.b = data.b; this.__length = data.length; this.data = data.data; this.length = cacheLength; } var limeBytes = this; var bytes; switch(algorithm) { case 0: bytes = lime_utils__$Bytes_Bytes_$Impl_$.decompress(limeBytes,lime_utils_CompressionAlgorithm.DEFLATE); break; case 1: bytes = lime_utils__$Bytes_Bytes_$Impl_$.decompress(limeBytes,lime_utils_CompressionAlgorithm.LZMA); break; default: bytes = lime_utils__$Bytes_Bytes_$Impl_$.decompress(limeBytes,lime_utils_CompressionAlgorithm.ZLIB); } if(bytes != null) { this.b = bytes.b; this.__length = bytes.length; this.data = bytes.data; this.length = this.__length; } this.position = 0; } ,writeBoolean: function(value) { this.writeByte(value ? 1 : 0); } ,writeByte: function(value) { this.__resize(this.position + 1); this.b[this.position++] = value & 255 & 255; } ,writeBytes: function(bytes,offset,length) { if(length == null) { length = 0; } if(offset == null) { offset = 0; } if(openfl_utils__$ByteArray_ByteArray_$Impl_$.get_length(bytes) == 0) { return; } if(length == 0) { length = openfl_utils__$ByteArray_ByteArray_$Impl_$.get_length(bytes) - offset; } this.__resize(this.position + length); this.blit(this.position,bytes,offset,length); this.position = this.position + length; } ,writeDouble: function(value) { var int64 = haxe_io_FPHelper.doubleToI64(value); if(this.__endian == 1) { this.writeInt(int64.low); this.writeInt(int64.high); } else { this.writeInt(int64.high); this.writeInt(int64.low); } } ,writeFloat: function(value) { if(this.__endian == 1) { this.__resize(this.position + 4); this.setFloat(this.position,value); this.position += 4; } else { var int = haxe_io_FPHelper.floatToI32(value); this.writeInt(int); } } ,writeInt: function(value) { this.__resize(this.position + 4); if(this.__endian == 1) { this.b[this.position++] = value & 255 & 255; this.b[this.position++] = value >> 8 & 255 & 255; this.b[this.position++] = value >> 16 & 255 & 255; this.b[this.position++] = value >> 24 & 255 & 255; } else { this.b[this.position++] = value >> 24 & 255 & 255; this.b[this.position++] = value >> 16 & 255 & 255; this.b[this.position++] = value >> 8 & 255 & 255; this.b[this.position++] = value & 255 & 255; } } ,writeMultiByte: function(value,charSet) { this.writeUTFBytes(value); } ,writeObject: function(object) { switch(this.objectEncoding) { case 10: var value = haxe_Serializer.run(object); this.writeUTF(value); break; case 12: var value1 = JSON.stringify(object); this.writeUTF(value1); break; default: return; } } ,writeShort: function(value) { this.__resize(this.position + 2); if(this.__endian == 1) { this.b[this.position++] = value & 255; this.b[this.position++] = value >> 8 & 255; } else { this.b[this.position++] = value >> 8 & 255; this.b[this.position++] = value & 255; } } ,writeUnsignedInt: function(value) { this.writeInt(value); } ,writeUTF: function(value) { var bytes = haxe_io_Bytes.ofString(value); this.writeShort(bytes.length); this.writeBytes(openfl_utils__$ByteArray_ByteArray_$Impl_$.fromBytes(bytes)); } ,writeUTFBytes: function(value) { var bytes = haxe_io_Bytes.ofString(value); this.writeBytes(openfl_utils__$ByteArray_ByteArray_$Impl_$.fromBytes(bytes)); } ,__fromBytes: function(bytes) { this.b = bytes.b; this.__length = bytes.length; this.data = bytes.data; this.length = bytes.length; } ,__resize: function(size) { if(size > this.__length) { var bytes = new haxe_io_Bytes(new ArrayBuffer((size + 1) * 3 >> 1)); if(this.__length > 0) { var cacheLength = this.length; this.length = this.__length; bytes.blit(0,this,0,this.__length); this.length = cacheLength; } this.b = bytes.b; this.__length = bytes.length; this.data = bytes.data; } if(this.length < size) { this.length = size; } } ,__setData: function(bytes) { this.b = bytes.b; this.__length = bytes.length; this.data = bytes.data; } ,get_bytesAvailable: function() { return this.length - this.position; } ,get_endian: function() { return this.__endian; } ,set_endian: function(value) { return this.__endian = value; } ,__class__: openfl_utils_ByteArrayData ,__properties__: {set_endian:"set_endian",get_endian:"get_endian",get_bytesAvailable:"get_bytesAvailable"} }); var flixel_system_VirtualInputData = function(length) { if(length == null) { length = 0; } openfl_utils_ByteArrayData.call(this); var bytes = haxe_Resource.getBytes(flixel_system_VirtualInputData.resourceName); this.__fromBytes(bytes); }; $hxClasses["flixel.system.VirtualInputData"] = flixel_system_VirtualInputData; flixel_system_VirtualInputData.__name__ = "flixel.system.VirtualInputData"; flixel_system_VirtualInputData.__super__ = openfl_utils_ByteArrayData; flixel_system_VirtualInputData.prototype = $extend(openfl_utils_ByteArrayData.prototype,{ __class__: flixel_system_VirtualInputData }); var flixel_system_FlxAssets = function() { }; $hxClasses["flixel.system.FlxAssets"] = flixel_system_FlxAssets; flixel_system_FlxAssets.__name__ = "flixel.system.FlxAssets"; flixel_system_FlxAssets.drawLogo = function(graph) { graph.beginFill(47394); graph.moveTo(50,13); graph.lineTo(51,13); graph.lineTo(87,50); graph.lineTo(87,51); graph.lineTo(51,87); graph.lineTo(50,87); graph.lineTo(13,51); graph.lineTo(13,50); graph.lineTo(50,13); graph.endFill(); graph.beginFill(16761138); graph.moveTo(0,0); graph.lineTo(25,0); graph.lineTo(50,13); graph.lineTo(13,50); graph.lineTo(0,25); graph.lineTo(0,0); graph.endFill(); graph.beginFill(16066382); graph.moveTo(100,0); graph.lineTo(75,0); graph.lineTo(51,13); graph.lineTo(87,50); graph.lineTo(100,25); graph.lineTo(100,0); graph.endFill(); graph.beginFill(3555839); graph.moveTo(0,100); graph.lineTo(25,100); graph.lineTo(50,87); graph.lineTo(13,51); graph.lineTo(0,75); graph.lineTo(0,100); graph.endFill(); graph.beginFill(314875); graph.moveTo(100,100); graph.lineTo(75,100); graph.lineTo(51,87); graph.lineTo(87,51); graph.lineTo(100,75); graph.lineTo(100,100); graph.endFill(); }; flixel_system_FlxAssets.getBitmapData = function(id) { if(openfl_utils_Assets.exists(id)) { return openfl_utils_Assets.getBitmapData(id,false); } return null; }; flixel_system_FlxAssets.getBitmapFromClass = function(source) { return Type.createInstance(source,[0,0]); }; flixel_system_FlxAssets.resolveBitmapData = function(Graphic) { if(((Graphic) instanceof openfl_display_BitmapData)) { return Graphic; } else if(js_Boot.__instanceof(Graphic,Class)) { return Type.createInstance(Graphic,[0,0]); } else if(typeof(Graphic) == "string") { if(openfl_utils_Assets.exists(Graphic)) { return openfl_utils_Assets.getBitmapData(Graphic,false); } else { return null; } } return null; }; flixel_system_FlxAssets.resolveKey = function(Graphic,Key) { if(Key != null) { return Key; } if(((Graphic) instanceof openfl_display_BitmapData)) { return Key; } else if(js_Boot.__instanceof(Graphic,Class)) { var _this = flixel_FlxG.bitmap; return Graphic.__name__; } else if(typeof(Graphic) == "string") { return Graphic; } return null; }; flixel_system_FlxAssets.getSound = function(id) { var extension = ""; extension = ".ogg"; return openfl_utils_Assets.getSound(id + extension); }; flixel_system_FlxAssets.getVirtualInputFrames = function() { var bitmapData = new flixel_system_GraphicVirtualInput(0,0); Reflect.setProperty(bitmapData,"width",399); Reflect.setProperty(bitmapData,"height",183); var graphic = flixel_graphics_FlxGraphic.fromBitmapData(bitmapData); return flixel_graphics_frames_FlxAtlasFrames.fromSpriteSheetPacker(graphic,Std.string(new flixel_system_VirtualInputData())); }; var flixel_system_FlxBGSprite = function() { flixel_FlxSprite.call(this); this.makeGraphic(1,1,-1,true,flixel_FlxG.bitmap.getUniqueKey("bg_graphic_")); this.scrollFactor.set(); }; $hxClasses["flixel.system.FlxBGSprite"] = flixel_system_FlxBGSprite; flixel_system_FlxBGSprite.__name__ = "flixel.system.FlxBGSprite"; flixel_system_FlxBGSprite.__super__ = flixel_FlxSprite; flixel_system_FlxBGSprite.prototype = $extend(flixel_FlxSprite.prototype,{ draw: function() { var _g = 0; var _g1 = this.get_cameras(); while(_g < _g1.length) { var camera = _g1[_g]; ++_g; if(!camera.visible || !camera.exists) { continue; } this._matrix.identity(); this._matrix.scale(camera.viewWidth,camera.viewHeight); camera.drawPixels(this.frame,null,this._matrix,this.colorTransform); } } ,__class__: flixel_system_FlxBGSprite }); var flixel_system__$FlxBasePreloader_DefaultPreloader = function() { openfl_display_Sprite.call(this); this.addEventListener("addedToStage",$bind(this,this.onAddedToStage)); }; $hxClasses["flixel.system._FlxBasePreloader.DefaultPreloader"] = flixel_system__$FlxBasePreloader_DefaultPreloader; flixel_system__$FlxBasePreloader_DefaultPreloader.__name__ = "flixel.system._FlxBasePreloader.DefaultPreloader"; flixel_system__$FlxBasePreloader_DefaultPreloader.__super__ = openfl_display_Sprite; flixel_system__$FlxBasePreloader_DefaultPreloader.prototype = $extend(openfl_display_Sprite.prototype,{ onAddedToStage: function(_) { this.removeEventListener("addedToStage",$bind(this,this.onAddedToStage)); this.onInit(); this.onUpdate(this.get_loaderInfo().bytesLoaded,this.get_loaderInfo().bytesTotal); this.addEventListener("progress",$bind(this,this.onProgress)); this.addEventListener("complete",$bind(this,this.onComplete)); } ,onComplete: function(event) { event.preventDefault(); this.removeEventListener("progress",$bind(this,this.onProgress)); this.removeEventListener("complete",$bind(this,this.onComplete)); this.onLoaded(); } ,onProgress: function(event) { this.onUpdate(event.bytesLoaded | 0,event.bytesTotal | 0); } ,onInit: function() { } ,onLoaded: function() { this.dispatchEvent(new openfl_events_Event("unload")); } ,onUpdate: function(bytesLoaded,bytesTotal) { var percentLoaded = 0.0; if(bytesTotal > 0) { percentLoaded = bytesLoaded / bytesTotal; if(percentLoaded > 1) { percentLoaded = 1; } } } ,__class__: flixel_system__$FlxBasePreloader_DefaultPreloader }); var flixel_system_FlxBasePreloader = function(MinDisplayTime,AllowedURLs) { if(MinDisplayTime == null) { MinDisplayTime = 0; } this._destroyed = false; this._urlChecked = false; this._loaded = false; this._percent = 0; this.siteLockBodyText = "It appears the website you are using is hosting an unauthorized copy of this game. " + "Storage or redistribution of this content, without the express permission of the " + "developer or other copyright holder, is prohibited under copyright law.\n\n" + "Thank you for your interest in this game! Please support the developer by " + "visiting the following website to play the game:"; this.siteLockTitleText = "Sorry."; this.siteLockURLIndex = 0; this.minDisplayTime = 0; flixel_system__$FlxBasePreloader_DefaultPreloader.call(this); this.minDisplayTime = MinDisplayTime; if(AllowedURLs != null) { this.allowedURLs = AllowedURLs; } else { this.allowedURLs = []; } this._startTime = new Date().getTime(); }; $hxClasses["flixel.system.FlxBasePreloader"] = flixel_system_FlxBasePreloader; flixel_system_FlxBasePreloader.__name__ = "flixel.system.FlxBasePreloader"; flixel_system_FlxBasePreloader.__super__ = flixel_system__$FlxBasePreloader_DefaultPreloader; flixel_system_FlxBasePreloader.prototype = $extend(flixel_system__$FlxBasePreloader_DefaultPreloader.prototype,{ minDisplayTime: null ,allowedURLs: null ,siteLockURLIndex: null ,siteLockTitleText: null ,siteLockBodyText: null ,_percent: null ,_width: null ,_height: null ,_loaded: null ,_urlChecked: null ,_destroyed: null ,_startTime: null ,create: function() { } ,onInit: function() { flixel_system__$FlxBasePreloader_DefaultPreloader.prototype.onInit.call(this); openfl_Lib.get_current().stage.set_scaleMode(2); openfl_Lib.get_current().stage.align = 6; this.create(); this.addEventListener("enterFrame",$bind(this,this.onEnterFrame)); this.checkSiteLock(); } ,onUpdate: function(bytesLoaded,bytesTotal) { this._percent = bytesTotal != 0 ? bytesLoaded / bytesTotal : 0; } ,onEnterFrame: function(E) { var time = new Date().getTime() - this._startTime; var min = this.minDisplayTime * 1000; var percent = this._percent; if(min > 0 && this._percent > time / min) { percent = time / min; } if(!this._destroyed) { this.update(percent); } if(this._loaded && (min <= 0 || time / min >= 1)) { this.removeEventListener("enterFrame",$bind(this,this.onEnterFrame)); flixel_system__$FlxBasePreloader_DefaultPreloader.prototype.onLoaded.call(this); this.destroy(); this._destroyed = true; } } ,destroy: function() { } ,update: function(Percent) { } ,onLoaded: function() { this._loaded = true; this._percent = 1; } ,createBitmap: function(bitmapDataClass,onLoad) { var bmp = new openfl_display_Bitmap(); var tmp = Type.createInstance(bitmapDataClass,[0,0,true,-1,function(_) { onLoad(bmp); }]); bmp.set_bitmapData(tmp); return bmp; } ,loadBitmapData: function(bitmapDataClass,onLoad) { return Type.createInstance(bitmapDataClass,[0,0,true,-1,onLoad]); } ,checkSiteLock: function() { if(this._urlChecked) { return; } if(!this.isHostUrlAllowed()) { this.removeChildren(); this.removeEventListener("enterFrame",$bind(this,this.onEnterFrame)); this.createSiteLockFailureScreen(); } else { this._urlChecked = true; } } ,createSiteLockFailureScreen: function() { this.addChild(this.createSiteLockFailureBackground(16777215,15066597)); this.addChild(this.createSiteLockFailureIcon(15066597,0.9)); this.addChild(this.createSiteLockFailureText(30)); } ,createSiteLockFailureBackground: function(innerColor,outerColor) { var shape = new openfl_display_Shape(); var graphics = shape.get_graphics(); graphics.clear(); var fillMatrix = new openfl_geom_Matrix(); fillMatrix.createGradientBox(1,1,0,-0.5,-0.5); var scaling = Math.max(this.stage.stageWidth,this.stage.stageHeight); fillMatrix.scale(scaling,scaling); fillMatrix.translate(0.5 * this.stage.stageWidth,0.5 * this.stage.stageHeight); graphics.beginGradientFill(1,[innerColor,outerColor],[1,1],[0,255],fillMatrix); graphics.drawRect(0,0,this.stage.stageWidth,this.stage.stageHeight); graphics.endFill(); return shape; } ,createSiteLockFailureIcon: function(color,scale) { var shape = new openfl_display_Shape(); var graphics = shape.get_graphics(); graphics.clear(); graphics.beginFill(color); var array = [1,6,2,2,2,6,6,2,2,2,6,1,6,2,6,2,6,2,6,1,6,6,2,2,2,6,6]; var vector = openfl__$Vector_Vector_$Impl_$.toIntVector(null); var _g = 0; var _g1 = array.length; while(_g < _g1) { var i = _g++; vector.set(i,array[i]); } var tmp = vector; var array1 = [120.0,0,164,0,200,35,200,79,200,130,160,130,160,79,160,57,142,40,120,40,97,40,79,57,79,79,80,130,40,130,40,79,40,35,75,0,120,0,220,140,231,140,240,148,240,160,240,300,240,311,231,320,220,320,20,320,8,320,0,311,0,300,0,160,0,148,8,140,20,140,120,190,108,190,100,198,100,210,100,217,104,223,110,227,110,270,130,270,130,227,135,223,140,217,140,210,140,198,131,190,120,190]; var vector1 = openfl__$Vector_Vector_$Impl_$.toFloatVector(null); var _g2 = 0; var _g11 = array1.length; while(_g2 < _g11) { var i1 = _g2++; vector1.set(i1,array1[i1]); } graphics.drawPath(tmp,vector1,1); graphics.endFill(); var transformMatrix = new openfl_geom_Matrix(); transformMatrix.translate(-0.5 * shape.get_width(),-0.5 * shape.get_height()); var scaling = scale * Math.min(this.stage.stageWidth / shape.get_width(),this.stage.stageHeight / shape.get_height()); transformMatrix.scale(scaling,scaling); transformMatrix.translate(0.5 * this.stage.stageWidth,0.5 * this.stage.stageHeight); shape.get_transform().set_matrix(transformMatrix); return shape; } ,createSiteLockFailureText: function(margin) { var sprite = new openfl_display_Sprite(); var bounds = new openfl_geom_Rectangle(0,0,this.stage.stageWidth,this.stage.stageHeight); bounds.inflate(-margin,-margin); var titleText = new openfl_text_TextField(); var titleTextFormat = new openfl_text_TextFormat("_sans",33,3355443,true); titleTextFormat.align = 3; titleText.set_defaultTextFormat(titleTextFormat); titleText.set_selectable(false); titleText.set_width(bounds.width); titleText.set_text(this.siteLockTitleText); var bodyText = new openfl_text_TextField(); var bodyTextFormat = new openfl_text_TextFormat("_sans",22,3355443); bodyTextFormat.align = 2; bodyText.set_defaultTextFormat(bodyTextFormat); bodyText.set_multiline(true); bodyText.set_wordWrap(true); bodyText.set_selectable(false); bodyText.set_width(bounds.width); bodyText.set_text(this.siteLockBodyText); var hyperlinkText = new openfl_text_TextField(); var hyperlinkTextFormat = new openfl_text_TextFormat("_sans",22,7247820,true,false,true); hyperlinkTextFormat.align = 0; hyperlinkTextFormat.url = this.allowedURLs[this.siteLockURLIndex]; hyperlinkText.set_defaultTextFormat(hyperlinkTextFormat); hyperlinkText.set_selectable(true); hyperlinkText.set_width(bounds.width); hyperlinkText.set_text(this.allowedURLs[this.siteLockURLIndex]); this.adjustSiteLockTextFields(titleText,bodyText,hyperlinkText); var gutterSize = 4; titleText.set_height(titleText.get_textHeight() + gutterSize); bodyText.set_height(bodyText.get_textHeight() + gutterSize); hyperlinkText.set_height(hyperlinkText.get_textHeight() + gutterSize); titleText.set_x(bodyText.set_x(hyperlinkText.set_x(bounds.get_left()))); titleText.set_y(bounds.get_top()); bodyText.set_y(titleText.get_y() + 2.0 * titleText.get_height()); hyperlinkText.set_y(bodyText.get_y() + bodyText.get_height() + hyperlinkText.get_height()); sprite.addChild(titleText); sprite.addChild(bodyText); sprite.addChild(hyperlinkText); return sprite; } ,adjustSiteLockTextFields: function(titleText,bodyText,hyperlinkText) { } ,goToMyURL: function(e) { if(this.allowedURLs[this.siteLockURLIndex] != "localhost") { var URL1 = this.allowedURLs[this.siteLockURLIndex]; var prefix = ""; if(!new EReg("^https?://","").match(URL1)) { prefix = "http://"; } openfl_Lib.getURL(new openfl_net_URLRequest(prefix + URL1),"_blank"); } else { openfl_Lib.getURL(new openfl_net_URLRequest(this.allowedURLs[this.siteLockURLIndex])); } } ,isHostUrlAllowed: function() { if(this.allowedURLs.length == 0) { return true; } var homeURL = window.location.href; var homeDomain = flixel_util_FlxStringUtil.getDomain(homeURL); var _g = 0; var _g1 = this.allowedURLs; while(_g < _g1.length) { var allowedURL = _g1[_g]; ++_g; var allowedDomain = flixel_util_FlxStringUtil.getDomain(allowedURL); if(allowedDomain == homeDomain) { return true; } } return false; } ,__class__: flixel_system_FlxBasePreloader }); var flixel_system_FlxLinkedList = function() { this.exists = true; }; $hxClasses["flixel.system.FlxLinkedList"] = flixel_system_FlxLinkedList; flixel_system_FlxLinkedList.__name__ = "flixel.system.FlxLinkedList"; flixel_system_FlxLinkedList.__interfaces__ = [flixel_util_IFlxDestroyable]; flixel_system_FlxLinkedList._cachedListsHead = null; flixel_system_FlxLinkedList.recycle = function() { if(flixel_system_FlxLinkedList._cachedListsHead != null) { var cachedList = flixel_system_FlxLinkedList._cachedListsHead; flixel_system_FlxLinkedList._cachedListsHead = flixel_system_FlxLinkedList._cachedListsHead.next; flixel_system_FlxLinkedList._NUM_CACHED_FLX_LIST--; cachedList.exists = true; cachedList.next = null; return cachedList; } else { return new flixel_system_FlxLinkedList(); } }; flixel_system_FlxLinkedList.clearCache = function() { while(flixel_system_FlxLinkedList._cachedListsHead != null) { var node = flixel_system_FlxLinkedList._cachedListsHead; flixel_system_FlxLinkedList._cachedListsHead = flixel_system_FlxLinkedList._cachedListsHead.next; node.object = null; node.next = null; } flixel_system_FlxLinkedList._NUM_CACHED_FLX_LIST = 0; }; flixel_system_FlxLinkedList.prototype = { object: null ,next: null ,exists: null ,destroy: function() { if(!this.exists) { return; } this.object = null; if(this.next != null) { this.next.destroy(); } this.exists = false; this.next = flixel_system_FlxLinkedList._cachedListsHead; flixel_system_FlxLinkedList._cachedListsHead = this; flixel_system_FlxLinkedList._NUM_CACHED_FLX_LIST++; } ,__class__: flixel_system_FlxLinkedList }; var flixel_system__$FlxPreloader_GraphicLogoLight = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_system__$FlxPreloader_GraphicLogoLight.preload != null) { this.__fromImage(flixel_system__$FlxPreloader_GraphicLogoLight.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system__$FlxPreloader_GraphicLogoLight.resourceName),flixel_system__$FlxPreloader_GraphicLogoLight.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_system__$FlxPreloader_GraphicLogoLight.preload == null) { flixel_system__$FlxPreloader_GraphicLogoLight.preload = b.image; } if(onload != null && Reflect.isFunction(onload)) { onload(b); } }); } }; $hxClasses["flixel.system._FlxPreloader.GraphicLogoLight"] = flixel_system__$FlxPreloader_GraphicLogoLight; flixel_system__$FlxPreloader_GraphicLogoLight.__name__ = "flixel.system._FlxPreloader.GraphicLogoLight"; flixel_system__$FlxPreloader_GraphicLogoLight.preload = null; flixel_system__$FlxPreloader_GraphicLogoLight.__super__ = openfl_display_BitmapData; flixel_system__$FlxPreloader_GraphicLogoLight.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_system__$FlxPreloader_GraphicLogoLight }); var flixel_system__$FlxPreloader_GraphicLogoCorners = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_system__$FlxPreloader_GraphicLogoCorners.preload != null) { this.__fromImage(flixel_system__$FlxPreloader_GraphicLogoCorners.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system__$FlxPreloader_GraphicLogoCorners.resourceName),flixel_system__$FlxPreloader_GraphicLogoCorners.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_system__$FlxPreloader_GraphicLogoCorners.preload == null) { flixel_system__$FlxPreloader_GraphicLogoCorners.preload = b.image; } if(onload != null && Reflect.isFunction(onload)) { onload(b); } }); } }; $hxClasses["flixel.system._FlxPreloader.GraphicLogoCorners"] = flixel_system__$FlxPreloader_GraphicLogoCorners; flixel_system__$FlxPreloader_GraphicLogoCorners.__name__ = "flixel.system._FlxPreloader.GraphicLogoCorners"; flixel_system__$FlxPreloader_GraphicLogoCorners.preload = null; flixel_system__$FlxPreloader_GraphicLogoCorners.__super__ = openfl_display_BitmapData; flixel_system__$FlxPreloader_GraphicLogoCorners.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_system__$FlxPreloader_GraphicLogoCorners }); var flixel_system_FlxPreloader = function(MinDisplayTime,AllowedURLs) { if(MinDisplayTime == null) { MinDisplayTime = 0; } flixel_system_FlxBasePreloader.call(this,MinDisplayTime,AllowedURLs); }; $hxClasses["flixel.system.FlxPreloader"] = flixel_system_FlxPreloader; flixel_system_FlxPreloader.__name__ = "flixel.system.FlxPreloader"; flixel_system_FlxPreloader.__super__ = flixel_system_FlxBasePreloader; flixel_system_FlxPreloader.prototype = $extend(flixel_system_FlxBasePreloader.prototype,{ _buffer: null ,_bmpBar: null ,_text: null ,_logo: null ,_logoGlow: null ,create: function() { var _gthis = this; this._buffer = new openfl_display_Sprite(); this._buffer.set_scaleX(this._buffer.set_scaleY(2)); this.addChild(this._buffer); this._width = openfl_Lib.get_current().stage.stageWidth / this._buffer.get_scaleX() | 0; this._height = openfl_Lib.get_current().stage.stageHeight / this._buffer.get_scaleY() | 0; this._buffer.addChild(new openfl_display_Bitmap(new openfl_display_BitmapData(this._width,this._height,false,13406))); var logoLight = this.createBitmap(flixel_system__$FlxPreloader_GraphicLogoLight,function(logoLight1) { logoLight1.set_width(logoLight1.set_height(_gthis._height)); logoLight1.set_x((_gthis._width - logoLight1.get_width()) / 2); }); logoLight.smoothing = true; this._buffer.addChild(logoLight); this._bmpBar = new openfl_display_Bitmap(new openfl_display_BitmapData(1,7,false,6253311)); this._bmpBar.set_x(4); this._bmpBar.set_y(this._height - 11); this._buffer.addChild(this._bmpBar); this._text = new openfl_text_TextField(); this._text.set_defaultTextFormat(new openfl_text_TextFormat(flixel_system_FlxAssets.FONT_DEFAULT,8,6253311)); this._text.set_embedFonts(true); this._text.set_selectable(false); this._text.set_multiline(false); this._text.set_x(2); this._text.set_y(this._bmpBar.get_y() - 11); this._text.set_width(200); this._buffer.addChild(this._text); this._logo = new openfl_display_Sprite(); flixel_system_FlxAssets.drawLogo(this._logo.get_graphics()); this._logo.set_scaleX(this._logo.set_scaleY(this._height / 8 * 0.04)); this._logo.set_x((this._width - this._logo.get_width()) / 2); this._logo.set_y((this._height - this._logo.get_height()) / 2); this._buffer.addChild(this._logo); this._logoGlow = new openfl_display_Sprite(); flixel_system_FlxAssets.drawLogo(this._logoGlow.get_graphics()); this._logoGlow.set_blendMode(12); this._logoGlow.set_scaleX(this._logoGlow.set_scaleY(this._height / 8 * 0.04)); this._logoGlow.set_x((this._width - this._logoGlow.get_width()) / 2); this._logoGlow.set_y((this._height - this._logoGlow.get_height()) / 2); this._buffer.addChild(this._logoGlow); var corners = this.createBitmap(flixel_system__$FlxPreloader_GraphicLogoCorners,function(corners1) { corners1.set_width(_gthis._width); corners1.set_height(_gthis.get_height()); }); corners.smoothing = true; this._buffer.addChild(corners); var bitmap = new openfl_display_Bitmap(new openfl_display_BitmapData(this._width,this._height,false,16777215)); var i = 0; var j = 0; while(i < this._height) { j = 0; while(j < this._width) bitmap.get_bitmapData().setPixel(j++,i,0); i += 2; } bitmap.set_blendMode(11); bitmap.set_alpha(0.25); this._buffer.addChild(bitmap); flixel_system_FlxBasePreloader.prototype.create.call(this); } ,destroy: function() { if(this._buffer != null) { this.removeChild(this._buffer); } this._buffer = null; this._bmpBar = null; this._text = null; this._logo = null; this._logoGlow = null; flixel_system_FlxBasePreloader.prototype.destroy.call(this); } ,update: function(Percent) { this._bmpBar.set_scaleX(Percent * (this._width - 8)); this._text.set_text(Std.string(flixel_FlxG.VERSION) + " " + (Percent * 100 | 0) + "%"); if(Percent < 0.1) { this._logoGlow.set_alpha(0); this._logo.set_alpha(0); } else if(Percent < 0.15) { this._logoGlow.set_alpha(Math.random()); this._logo.set_alpha(0); } else if(Percent < 0.2) { this._logoGlow.set_alpha(0); this._logo.set_alpha(0); } else if(Percent < 0.25) { this._logoGlow.set_alpha(0); this._logo.set_alpha(Math.random()); } else if(Percent < 0.7) { this._logoGlow.set_alpha((Percent - 0.45) / 0.45); this._logo.set_alpha(1); } else if(Percent > 0.8 && Percent < 0.9) { this._logoGlow.set_alpha(1 - (Percent - 0.8) / 0.1); this._logo.set_alpha(0); } else if(Percent > 0.9) { this._buffer.set_alpha(1 - (Percent - 0.9) / 0.1); } } ,__class__: flixel_system_FlxPreloader }); var flixel_system_FlxQuadTree = function(X,Y,Width,Height,Parent) { flixel_math_FlxRect.call(this); var X1 = X; var Y1 = Y; var Width1 = Width; var Height1 = Height; if(Height1 == null) { Height1 = 0; } if(Width1 == null) { Width1 = 0; } if(Y1 == null) { Y1 = 0; } if(X1 == null) { X1 = 0; } this.x = X1; this.y = Y1; this.width = Width1; this.height = Height1; this.reset(X,Y,Width,Height,Parent); }; $hxClasses["flixel.system.FlxQuadTree"] = flixel_system_FlxQuadTree; flixel_system_FlxQuadTree.__name__ = "flixel.system.FlxQuadTree"; flixel_system_FlxQuadTree.divisions = null; flixel_system_FlxQuadTree._min = null; flixel_system_FlxQuadTree._object = null; flixel_system_FlxQuadTree._objectLeftEdge = null; flixel_system_FlxQuadTree._objectTopEdge = null; flixel_system_FlxQuadTree._objectRightEdge = null; flixel_system_FlxQuadTree._objectBottomEdge = null; flixel_system_FlxQuadTree._list = null; flixel_system_FlxQuadTree._useBothLists = null; flixel_system_FlxQuadTree._processingCallback = null; flixel_system_FlxQuadTree._notifyCallback = null; flixel_system_FlxQuadTree._iterator = null; flixel_system_FlxQuadTree._objectHullX = null; flixel_system_FlxQuadTree._objectHullY = null; flixel_system_FlxQuadTree._objectHullWidth = null; flixel_system_FlxQuadTree._objectHullHeight = null; flixel_system_FlxQuadTree._checkObjectHullX = null; flixel_system_FlxQuadTree._checkObjectHullY = null; flixel_system_FlxQuadTree._checkObjectHullWidth = null; flixel_system_FlxQuadTree._checkObjectHullHeight = null; flixel_system_FlxQuadTree._cachedTreesHead = null; flixel_system_FlxQuadTree.recycle = function(X,Y,Width,Height,Parent) { if(flixel_system_FlxQuadTree._cachedTreesHead != null) { var cachedTree = flixel_system_FlxQuadTree._cachedTreesHead; flixel_system_FlxQuadTree._cachedTreesHead = flixel_system_FlxQuadTree._cachedTreesHead.next; flixel_system_FlxQuadTree._NUM_CACHED_QUAD_TREES--; cachedTree.reset(X,Y,Width,Height,Parent); return cachedTree; } else { return new flixel_system_FlxQuadTree(X,Y,Width,Height,Parent); } }; flixel_system_FlxQuadTree.clearCache = function() { while(flixel_system_FlxQuadTree._cachedTreesHead != null) { var node = flixel_system_FlxQuadTree._cachedTreesHead; flixel_system_FlxQuadTree._cachedTreesHead = flixel_system_FlxQuadTree._cachedTreesHead.next; node.next = null; } flixel_system_FlxQuadTree._NUM_CACHED_QUAD_TREES = 0; }; flixel_system_FlxQuadTree.__super__ = flixel_math_FlxRect; flixel_system_FlxQuadTree.prototype = $extend(flixel_math_FlxRect.prototype,{ exists: null ,_canSubdivide: null ,_headA: null ,_tailA: null ,_headB: null ,_tailB: null ,_northWestTree: null ,_northEastTree: null ,_southEastTree: null ,_southWestTree: null ,_leftEdge: null ,_rightEdge: null ,_topEdge: null ,_bottomEdge: null ,_halfWidth: null ,_halfHeight: null ,_midpointX: null ,_midpointY: null ,next: null ,reset: function(X,Y,Width,Height,Parent) { this.exists = true; var X1 = X; var Y1 = Y; var Width1 = Width; var Height1 = Height; if(Height1 == null) { Height1 = 0; } if(Width1 == null) { Width1 = 0; } if(Y1 == null) { Y1 = 0; } if(X1 == null) { X1 = 0; } this.x = X1; this.y = Y1; this.width = Width1; this.height = Height1; this._headA = this._tailA = flixel_system_FlxLinkedList.recycle(); this._headB = this._tailB = flixel_system_FlxLinkedList.recycle(); if(Parent != null) { var iterator; var ot; if(Parent._headA.object != null) { iterator = Parent._headA; while(iterator != null) { if(this._tailA.object != null) { ot = this._tailA; this._tailA = flixel_system_FlxLinkedList.recycle(); ot.next = this._tailA; } this._tailA.object = iterator.object; iterator = iterator.next; } } if(Parent._headB.object != null) { iterator = Parent._headB; while(iterator != null) { if(this._tailB.object != null) { ot = this._tailB; this._tailB = flixel_system_FlxLinkedList.recycle(); ot.next = this._tailB; } this._tailB.object = iterator.object; iterator = iterator.next; } } } else { flixel_system_FlxQuadTree._min = Math.floor((this.width + this.height) / (2 * flixel_system_FlxQuadTree.divisions)); } this._canSubdivide = this.width > flixel_system_FlxQuadTree._min || this.height > flixel_system_FlxQuadTree._min; this._northWestTree = null; this._northEastTree = null; this._southEastTree = null; this._southWestTree = null; this._leftEdge = this.x; this._rightEdge = this.x + this.width; this._halfWidth = this.width / 2; this._midpointX = this._leftEdge + this._halfWidth; this._topEdge = this.y; this._bottomEdge = this.y + this.height; this._halfHeight = this.height / 2; this._midpointY = this._topEdge + this._halfHeight; } ,destroy: function() { this._headA = flixel_util_FlxDestroyUtil.destroy(this._headA); this._headB = flixel_util_FlxDestroyUtil.destroy(this._headB); this._tailA = flixel_util_FlxDestroyUtil.destroy(this._tailA); this._tailB = flixel_util_FlxDestroyUtil.destroy(this._tailB); this._northWestTree = flixel_util_FlxDestroyUtil.destroy(this._northWestTree); this._northEastTree = flixel_util_FlxDestroyUtil.destroy(this._northEastTree); this._southWestTree = flixel_util_FlxDestroyUtil.destroy(this._southWestTree); this._southEastTree = flixel_util_FlxDestroyUtil.destroy(this._southEastTree); flixel_system_FlxQuadTree._object = null; flixel_system_FlxQuadTree._processingCallback = null; flixel_system_FlxQuadTree._notifyCallback = null; this.exists = false; this.next = flixel_system_FlxQuadTree._cachedTreesHead; flixel_system_FlxQuadTree._cachedTreesHead = this; flixel_system_FlxQuadTree._NUM_CACHED_QUAD_TREES++; flixel_math_FlxRect.prototype.destroy.call(this); } ,load: function(ObjectOrGroup1,ObjectOrGroup2,NotifyCallback,ProcessCallback) { this.add(ObjectOrGroup1,0); if(ObjectOrGroup2 != null) { this.add(ObjectOrGroup2,1); flixel_system_FlxQuadTree._useBothLists = true; } else { flixel_system_FlxQuadTree._useBothLists = false; } flixel_system_FlxQuadTree._notifyCallback = NotifyCallback; flixel_system_FlxQuadTree._processingCallback = ProcessCallback; } ,add: function(ObjectOrGroup,list) { flixel_system_FlxQuadTree._list = list; var group = flixel_group_FlxTypedGroup.resolveGroup(ObjectOrGroup); if(group != null) { var i = 0; var basic; var members = group.members; var l = group.length; while(i < l) { basic = members[i++]; if(basic != null && basic.exists) { group = flixel_group_FlxTypedGroup.resolveGroup(basic); if(group != null) { this.add(group,list); } else { flixel_system_FlxQuadTree._object = basic; if(flixel_system_FlxQuadTree._object.exists && flixel_system_FlxQuadTree._object.allowCollisions != 0) { flixel_system_FlxQuadTree._objectLeftEdge = flixel_system_FlxQuadTree._object.x; flixel_system_FlxQuadTree._objectTopEdge = flixel_system_FlxQuadTree._object.y; flixel_system_FlxQuadTree._objectRightEdge = flixel_system_FlxQuadTree._object.x + flixel_system_FlxQuadTree._object.get_width(); flixel_system_FlxQuadTree._objectBottomEdge = flixel_system_FlxQuadTree._object.y + flixel_system_FlxQuadTree._object.get_height(); this.addObject(); } } } } } else { flixel_system_FlxQuadTree._object = ObjectOrGroup; if(flixel_system_FlxQuadTree._object.exists && flixel_system_FlxQuadTree._object.allowCollisions != 0) { flixel_system_FlxQuadTree._objectLeftEdge = flixel_system_FlxQuadTree._object.x; flixel_system_FlxQuadTree._objectTopEdge = flixel_system_FlxQuadTree._object.y; flixel_system_FlxQuadTree._objectRightEdge = flixel_system_FlxQuadTree._object.x + flixel_system_FlxQuadTree._object.get_width(); flixel_system_FlxQuadTree._objectBottomEdge = flixel_system_FlxQuadTree._object.y + flixel_system_FlxQuadTree._object.get_height(); this.addObject(); } } } ,addObject: function() { if(!this._canSubdivide || this._leftEdge >= flixel_system_FlxQuadTree._objectLeftEdge && this._rightEdge <= flixel_system_FlxQuadTree._objectRightEdge && this._topEdge >= flixel_system_FlxQuadTree._objectTopEdge && this._bottomEdge <= flixel_system_FlxQuadTree._objectBottomEdge) { this.addToList(); return; } if(flixel_system_FlxQuadTree._objectLeftEdge > this._leftEdge && flixel_system_FlxQuadTree._objectRightEdge < this._midpointX) { if(flixel_system_FlxQuadTree._objectTopEdge > this._topEdge && flixel_system_FlxQuadTree._objectBottomEdge < this._midpointY) { if(this._northWestTree == null) { this._northWestTree = flixel_system_FlxQuadTree.recycle(this._leftEdge,this._topEdge,this._halfWidth,this._halfHeight,this); } this._northWestTree.addObject(); return; } if(flixel_system_FlxQuadTree._objectTopEdge > this._midpointY && flixel_system_FlxQuadTree._objectBottomEdge < this._bottomEdge) { if(this._southWestTree == null) { this._southWestTree = flixel_system_FlxQuadTree.recycle(this._leftEdge,this._midpointY,this._halfWidth,this._halfHeight,this); } this._southWestTree.addObject(); return; } } if(flixel_system_FlxQuadTree._objectLeftEdge > this._midpointX && flixel_system_FlxQuadTree._objectRightEdge < this._rightEdge) { if(flixel_system_FlxQuadTree._objectTopEdge > this._topEdge && flixel_system_FlxQuadTree._objectBottomEdge < this._midpointY) { if(this._northEastTree == null) { this._northEastTree = flixel_system_FlxQuadTree.recycle(this._midpointX,this._topEdge,this._halfWidth,this._halfHeight,this); } this._northEastTree.addObject(); return; } if(flixel_system_FlxQuadTree._objectTopEdge > this._midpointY && flixel_system_FlxQuadTree._objectBottomEdge < this._bottomEdge) { if(this._southEastTree == null) { this._southEastTree = flixel_system_FlxQuadTree.recycle(this._midpointX,this._midpointY,this._halfWidth,this._halfHeight,this); } this._southEastTree.addObject(); return; } } if(flixel_system_FlxQuadTree._objectRightEdge > this._leftEdge && flixel_system_FlxQuadTree._objectLeftEdge < this._midpointX && flixel_system_FlxQuadTree._objectBottomEdge > this._topEdge && flixel_system_FlxQuadTree._objectTopEdge < this._midpointY) { if(this._northWestTree == null) { this._northWestTree = flixel_system_FlxQuadTree.recycle(this._leftEdge,this._topEdge,this._halfWidth,this._halfHeight,this); } this._northWestTree.addObject(); } if(flixel_system_FlxQuadTree._objectRightEdge > this._midpointX && flixel_system_FlxQuadTree._objectLeftEdge < this._rightEdge && flixel_system_FlxQuadTree._objectBottomEdge > this._topEdge && flixel_system_FlxQuadTree._objectTopEdge < this._midpointY) { if(this._northEastTree == null) { this._northEastTree = flixel_system_FlxQuadTree.recycle(this._midpointX,this._topEdge,this._halfWidth,this._halfHeight,this); } this._northEastTree.addObject(); } if(flixel_system_FlxQuadTree._objectRightEdge > this._midpointX && flixel_system_FlxQuadTree._objectLeftEdge < this._rightEdge && flixel_system_FlxQuadTree._objectBottomEdge > this._midpointY && flixel_system_FlxQuadTree._objectTopEdge < this._bottomEdge) { if(this._southEastTree == null) { this._southEastTree = flixel_system_FlxQuadTree.recycle(this._midpointX,this._midpointY,this._halfWidth,this._halfHeight,this); } this._southEastTree.addObject(); } if(flixel_system_FlxQuadTree._objectRightEdge > this._leftEdge && flixel_system_FlxQuadTree._objectLeftEdge < this._midpointX && flixel_system_FlxQuadTree._objectBottomEdge > this._midpointY && flixel_system_FlxQuadTree._objectTopEdge < this._bottomEdge) { if(this._southWestTree == null) { this._southWestTree = flixel_system_FlxQuadTree.recycle(this._leftEdge,this._midpointY,this._halfWidth,this._halfHeight,this); } this._southWestTree.addObject(); } } ,addToList: function() { var ot; if(flixel_system_FlxQuadTree._list == 0) { if(this._tailA.object != null) { ot = this._tailA; this._tailA = flixel_system_FlxLinkedList.recycle(); ot.next = this._tailA; } this._tailA.object = flixel_system_FlxQuadTree._object; } else { if(this._tailB.object != null) { ot = this._tailB; this._tailB = flixel_system_FlxLinkedList.recycle(); ot.next = this._tailB; } this._tailB.object = flixel_system_FlxQuadTree._object; } if(!this._canSubdivide) { return; } if(this._northWestTree != null) { this._northWestTree.addToList(); } if(this._northEastTree != null) { this._northEastTree.addToList(); } if(this._southEastTree != null) { this._southEastTree.addToList(); } if(this._southWestTree != null) { this._southWestTree.addToList(); } } ,execute: function() { var overlapProcessed = false; if(this._headA.object != null) { var iterator = this._headA; while(iterator != null) { flixel_system_FlxQuadTree._object = iterator.object; if(flixel_system_FlxQuadTree._useBothLists) { flixel_system_FlxQuadTree._iterator = this._headB; } else { flixel_system_FlxQuadTree._iterator = iterator.next; } if(flixel_system_FlxQuadTree._object != null && flixel_system_FlxQuadTree._object.exists && flixel_system_FlxQuadTree._object.allowCollisions > 0 && flixel_system_FlxQuadTree._iterator != null && flixel_system_FlxQuadTree._iterator.object != null && this.overlapNode()) { overlapProcessed = true; } iterator = iterator.next; } } if(this._northWestTree != null && this._northWestTree.execute()) { overlapProcessed = true; } if(this._northEastTree != null && this._northEastTree.execute()) { overlapProcessed = true; } if(this._southEastTree != null && this._southEastTree.execute()) { overlapProcessed = true; } if(this._southWestTree != null && this._southWestTree.execute()) { overlapProcessed = true; } return overlapProcessed; } ,overlapNode: function() { flixel_system_FlxQuadTree._objectHullX = flixel_system_FlxQuadTree._object.x < flixel_system_FlxQuadTree._object.last.x ? flixel_system_FlxQuadTree._object.x : flixel_system_FlxQuadTree._object.last.x; flixel_system_FlxQuadTree._objectHullY = flixel_system_FlxQuadTree._object.y < flixel_system_FlxQuadTree._object.last.y ? flixel_system_FlxQuadTree._object.y : flixel_system_FlxQuadTree._object.last.y; flixel_system_FlxQuadTree._objectHullWidth = flixel_system_FlxQuadTree._object.x - flixel_system_FlxQuadTree._object.last.x; flixel_system_FlxQuadTree._objectHullWidth = flixel_system_FlxQuadTree._object.get_width() + (flixel_system_FlxQuadTree._objectHullWidth > 0 ? flixel_system_FlxQuadTree._objectHullWidth : -flixel_system_FlxQuadTree._objectHullWidth); flixel_system_FlxQuadTree._objectHullHeight = flixel_system_FlxQuadTree._object.y - flixel_system_FlxQuadTree._object.last.y; flixel_system_FlxQuadTree._objectHullHeight = flixel_system_FlxQuadTree._object.get_height() + (flixel_system_FlxQuadTree._objectHullHeight > 0 ? flixel_system_FlxQuadTree._objectHullHeight : -flixel_system_FlxQuadTree._objectHullHeight); var overlapProcessed = false; var checkObject; while(flixel_system_FlxQuadTree._iterator != null) { checkObject = flixel_system_FlxQuadTree._iterator.object; if(flixel_system_FlxQuadTree._object == checkObject || !checkObject.exists || checkObject.allowCollisions <= 0) { flixel_system_FlxQuadTree._iterator = flixel_system_FlxQuadTree._iterator.next; continue; } flixel_system_FlxQuadTree._checkObjectHullX = checkObject.x < checkObject.last.x ? checkObject.x : checkObject.last.x; flixel_system_FlxQuadTree._checkObjectHullY = checkObject.y < checkObject.last.y ? checkObject.y : checkObject.last.y; flixel_system_FlxQuadTree._checkObjectHullWidth = checkObject.x - checkObject.last.x; flixel_system_FlxQuadTree._checkObjectHullWidth = checkObject.get_width() + (flixel_system_FlxQuadTree._checkObjectHullWidth > 0 ? flixel_system_FlxQuadTree._checkObjectHullWidth : -flixel_system_FlxQuadTree._checkObjectHullWidth); flixel_system_FlxQuadTree._checkObjectHullHeight = checkObject.y - checkObject.last.y; flixel_system_FlxQuadTree._checkObjectHullHeight = checkObject.get_height() + (flixel_system_FlxQuadTree._checkObjectHullHeight > 0 ? flixel_system_FlxQuadTree._checkObjectHullHeight : -flixel_system_FlxQuadTree._checkObjectHullHeight); if(flixel_system_FlxQuadTree._objectHullX + flixel_system_FlxQuadTree._objectHullWidth > flixel_system_FlxQuadTree._checkObjectHullX && flixel_system_FlxQuadTree._objectHullX < flixel_system_FlxQuadTree._checkObjectHullX + flixel_system_FlxQuadTree._checkObjectHullWidth && flixel_system_FlxQuadTree._objectHullY + flixel_system_FlxQuadTree._objectHullHeight > flixel_system_FlxQuadTree._checkObjectHullY && flixel_system_FlxQuadTree._objectHullY < flixel_system_FlxQuadTree._checkObjectHullY + flixel_system_FlxQuadTree._checkObjectHullHeight) { if(flixel_system_FlxQuadTree._processingCallback == null || flixel_system_FlxQuadTree._processingCallback(flixel_system_FlxQuadTree._object,checkObject)) { overlapProcessed = true; if(flixel_system_FlxQuadTree._notifyCallback != null) { flixel_system_FlxQuadTree._notifyCallback(flixel_system_FlxQuadTree._object,checkObject); } } } if(flixel_system_FlxQuadTree._iterator != null) { flixel_system_FlxQuadTree._iterator = flixel_system_FlxQuadTree._iterator.next; } } return overlapProcessed; } ,__class__: flixel_system_FlxQuadTree }); var flixel_system_FlxSound = function() { this._alreadyPaused = false; this._volumeAdjust = 1.0; this._length = 0; this._time = 0; this.loopTime = 0; flixel_FlxBasic.call(this); this.reset(); }; $hxClasses["flixel.system.FlxSound"] = flixel_system_FlxSound; flixel_system_FlxSound.__name__ = "flixel.system.FlxSound"; flixel_system_FlxSound.__super__ = flixel_FlxBasic; flixel_system_FlxSound.prototype = $extend(flixel_FlxBasic.prototype,{ x: null ,y: null ,persist: null ,name: null ,artist: null ,amplitude: null ,amplitudeLeft: null ,amplitudeRight: null ,autoDestroy: null ,onComplete: null ,group: null ,looped: null ,loopTime: null ,endTime: null ,fadeTween: null ,_sound: null ,_channel: null ,_transform: null ,_paused: null ,_volume: null ,_time: null ,_length: null ,_volumeAdjust: null ,_target: null ,_radius: null ,_proximityPan: null ,_alreadyPaused: null ,reset: function() { this.destroy(); this.x = 0; this.y = 0; this._time = 0; this._paused = false; this._volume = 1.0; this._volumeAdjust = 1.0; this.looped = false; this.loopTime = 0.0; this.endTime = 0.0; this._target = null; this._radius = 0; this._proximityPan = false; this.set_visible(false); this.amplitude = 0; this.amplitudeLeft = 0; this.amplitudeRight = 0; this.autoDestroy = false; if(this._transform == null) { this._transform = new openfl_media_SoundTransform(); } this._transform.pan = 0; } ,destroy: function() { this._transform = null; this.set_exists(false); this.set_active(false); this._target = null; this.name = null; this.artist = null; if(this._channel != null) { this._channel.removeEventListener("soundComplete",$bind(this,this.stopped)); this._channel.stop(); this._channel = null; } if(this._sound != null) { this._sound.removeEventListener("id3",$bind(this,this.gotID3)); this._sound = null; } this.onComplete = null; flixel_FlxBasic.prototype.destroy.call(this); } ,update: function(elapsed) { if(this._channel == null) { return; } this._time = this._channel.get_position(); var radialMultiplier = 1.0; if(this._target != null) { var targetPosition = this._target.getPosition(); var X = this.x; var Y = this.y; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var X1 = X; var Y1 = Y; if(Y1 == null) { Y1 = 0; } if(X1 == null) { X1 = 0; } var point = flixel_math_FlxPoint._pool.get().set(X1,Y1); point._inPool = false; var point1 = point; point1._weak = true; radialMultiplier = targetPosition.distanceTo(point1) / this._radius; targetPosition.put(); var lowerBound = radialMultiplier < 0 ? 0 : radialMultiplier; radialMultiplier = 1 - (lowerBound > 1 ? 1 : lowerBound); if(this._proximityPan) { var d = (this.x - this._target.x) / this._radius; var lowerBound1 = d < -1 ? -1 : d; this._transform.pan = lowerBound1 > 1 ? 1 : lowerBound1; } } this._volumeAdjust = radialMultiplier; this.updateTransform(); if(this._transform.volume > 0) { this.amplitudeLeft = this._channel.leftPeak / this._transform.volume; this.amplitudeRight = this._channel.rightPeak / this._transform.volume; this.amplitude = (this.amplitudeLeft + this.amplitudeRight) * 0.5; } else { this.amplitudeLeft = 0; this.amplitudeRight = 0; this.amplitude = 0; } if(this.endTime != null && this._time >= this.endTime) { this.stopped(); } } ,kill: function() { flixel_FlxBasic.prototype.kill.call(this); this.cleanup(false); } ,loadEmbedded: function(EmbeddedSound,Looped,AutoDestroy,OnComplete) { if(AutoDestroy == null) { AutoDestroy = false; } if(Looped == null) { Looped = false; } if(EmbeddedSound == null) { return this; } this.cleanup(true); if(((EmbeddedSound) instanceof openfl_media_Sound)) { this._sound = EmbeddedSound; } else if(js_Boot.__instanceof(EmbeddedSound,Class)) { this._sound = Type.createInstance(EmbeddedSound,[]); } else if(typeof(EmbeddedSound) == "string") { if(openfl_utils_Assets.exists(EmbeddedSound,"SOUND") || openfl_utils_Assets.exists(EmbeddedSound,"MUSIC")) { this._sound = openfl_utils_Assets.getSound(EmbeddedSound); } } return this.init(Looped,AutoDestroy,OnComplete); } ,loadStream: function(SoundURL,Looped,AutoDestroy,OnComplete,OnLoad) { if(AutoDestroy == null) { AutoDestroy = false; } if(Looped == null) { Looped = false; } var _gthis = this; this.cleanup(true); this._sound = new openfl_media_Sound(); this._sound.addEventListener("id3",$bind(this,this.gotID3)); var loadCallback = null; loadCallback = function(e) { e.target.removeEventListener(e.type,loadCallback); if(_gthis._sound == e.target) { _gthis._length = _gthis._sound.get_length(); if(OnLoad != null) { OnLoad(); } } }; this._sound.addEventListener("complete",loadCallback,false,0,true); this._sound.load(new openfl_net_URLRequest(SoundURL)); return this.init(Looped,AutoDestroy,OnComplete); } ,init: function(Looped,AutoDestroy,OnComplete) { if(AutoDestroy == null) { AutoDestroy = false; } if(Looped == null) { Looped = false; } this.looped = Looped; this.autoDestroy = AutoDestroy; this.updateTransform(); this.set_exists(true); this.onComplete = OnComplete; this._length = this._sound == null ? 0 : this._sound.get_length(); this.endTime = this._length; return this; } ,proximity: function(X,Y,TargetObject,Radius,Pan) { if(Pan == null) { Pan = true; } this.x = X; this.y = Y; this._target = TargetObject; this._radius = Radius; this._proximityPan = Pan; return this; } ,play: function(ForceRestart,StartTime,EndTime) { if(StartTime == null) { StartTime = 0.0; } if(ForceRestart == null) { ForceRestart = false; } if(!this.exists) { return this; } if(ForceRestart) { this.cleanup(false,true); } else if(this._channel != null) { return this; } if(this._paused) { this.resume(); } else { this.startSound(StartTime); } this.endTime = EndTime; return this; } ,resume: function() { if(this._paused) { this.startSound(this._time); } return this; } ,pause: function() { if(this._channel == null) { return this; } this._time = this._channel.get_position(); this._paused = true; this.cleanup(false,false); return this; } ,stop: function() { this.cleanup(this.autoDestroy,true); return this; } ,fadeOut: function(Duration,To,onComplete) { if(To == null) { To = 0; } if(Duration == null) { Duration = 1; } if(this.fadeTween != null) { this.fadeTween.cancel(); } this.fadeTween = flixel_tweens_FlxTween.num(this._volume,To,Duration,{ onComplete : onComplete},$bind(this,this.volumeTween)); return this; } ,fadeIn: function(Duration,From,To,onComplete) { if(To == null) { To = 1; } if(From == null) { From = 0; } if(Duration == null) { Duration = 1; } if(this._channel == null) { this.play(); } if(this.fadeTween != null) { this.fadeTween.cancel(); } this.fadeTween = flixel_tweens_FlxTween.num(From,To,Duration,{ onComplete : onComplete},$bind(this,this.volumeTween)); return this; } ,volumeTween: function(f) { this.set_volume(f); } ,getActualVolume: function() { return this._volume * this._volumeAdjust; } ,setPosition: function(X,Y) { if(Y == null) { Y = 0; } if(X == null) { X = 0; } this.x = X; this.y = Y; } ,updateTransform: function() { this._transform.volume = (flixel_FlxG.sound.muted ? 0 : 1) * flixel_FlxG.sound.volume * (this.group != null ? this.group.volume : 1) * this._volume * this._volumeAdjust; if(this._channel != null) { this._channel.set_soundTransform(this._transform); } } ,startSound: function(StartTime) { if(this._sound == null) { return; } this._time = StartTime; this._paused = false; this._channel = this._sound.play(this._time,0,this._transform); if(this._channel != null) { this._channel.addEventListener("soundComplete",$bind(this,this.stopped)); this.set_active(true); } else { this.set_exists(false); this.set_active(false); } } ,stopped: function(_) { if(this.onComplete != null) { this.onComplete(); } if(this.looped) { this.cleanup(false); this.play(false,this.loopTime,this.endTime); } else { this.cleanup(this.autoDestroy); } } ,cleanup: function(destroySound,resetPosition) { if(resetPosition == null) { resetPosition = true; } if(destroySound) { this.reset(); return; } if(this._channel != null) { this._channel.removeEventListener("soundComplete",$bind(this,this.stopped)); this._channel.stop(); this._channel = null; } this.set_active(false); if(resetPosition) { this._time = 0; this._paused = false; } } ,gotID3: function(_) { this.name = this._sound.get_id3().songName; this.artist = this._sound.get_id3().artist; this._sound.removeEventListener("id3",$bind(this,this.gotID3)); } ,onFocus: function() { if(!this._alreadyPaused) { this.resume(); } } ,onFocusLost: function() { this._alreadyPaused = this._paused; this.pause(); } ,set_group: function(group) { if(this.group != group) { var oldGroup = this.group; this.group = group; if(oldGroup != null) { oldGroup.remove(this); } if(group != null) { group.add(this); } this.updateTransform(); } return group; } ,get_playing: function() { return this._channel != null; } ,get_volume: function() { return this._volume; } ,set_volume: function(Volume) { var lowerBound = Volume < 0 ? 0 : Volume; this._volume = lowerBound > 1 ? 1 : lowerBound; this.updateTransform(); return Volume; } ,get_pan: function() { return this._transform.pan; } ,set_pan: function(pan) { return this._transform.pan = pan; } ,get_time: function() { return this._time; } ,set_time: function(time) { if(this._channel != null) { this.cleanup(false,true); this.startSound(time); } return this._time = time; } ,get_length: function() { return this._length; } ,toString: function() { var value = this._channel != null; var _this = flixel_util_LabelValuePair._pool.get(); _this.label = "playing"; _this.value = value; var value1 = this._time; var _this1 = flixel_util_LabelValuePair._pool.get(); _this1.label = "time"; _this1.value = value1; var value2 = this._length; var _this2 = flixel_util_LabelValuePair._pool.get(); _this2.label = "length"; _this2.value = value2; var value3 = this._volume; var _this3 = flixel_util_LabelValuePair._pool.get(); _this3.label = "volume"; _this3.value = value3; return flixel_util_FlxStringUtil.getDebugString([_this,_this1,_this2,_this3]); } ,__class__: flixel_system_FlxSound ,__properties__: $extend(flixel_FlxBasic.prototype.__properties__,{set_group:"set_group",get_length:"get_length",set_time:"set_time",get_time:"get_time",set_volume:"set_volume",get_volume:"get_volume",get_playing:"get_playing",set_pan:"set_pan",get_pan:"get_pan"}) }); var flixel_system_FlxSoundGroup = function(volume) { if(volume == null) { volume = 1; } this.sounds = []; this.set_volume(volume); }; $hxClasses["flixel.system.FlxSoundGroup"] = flixel_system_FlxSoundGroup; flixel_system_FlxSoundGroup.__name__ = "flixel.system.FlxSoundGroup"; flixel_system_FlxSoundGroup.prototype = { sounds: null ,volume: null ,add: function(sound) { if(this.sounds.indexOf(sound) < 0) { this.sounds.push(sound); sound.set_group(this); return true; } return false; } ,remove: function(sound) { if(this.sounds.indexOf(sound) >= 0) { sound.set_group(null); return HxOverrides.remove(this.sounds,sound); } return false; } ,pause: function() { var _g = 0; var _g1 = this.sounds; while(_g < _g1.length) { var sound = _g1[_g]; ++_g; sound.pause(); } } ,resume: function() { var _g = 0; var _g1 = this.sounds; while(_g < _g1.length) { var sound = _g1[_g]; ++_g; sound.resume(); } } ,set_volume: function(volume) { this.volume = volume; var _g = 0; var _g1 = this.sounds; while(_g < _g1.length) { var sound = _g1[_g]; ++_g; sound.updateTransform(); } return volume; } ,__class__: flixel_system_FlxSoundGroup ,__properties__: {set_volume:"set_volume"} }; var flixel_system_FlxSplash = function(MaxSize) { this._curPart = 0; flixel_FlxState.call(this,MaxSize); }; $hxClasses["flixel.system.FlxSplash"] = flixel_system_FlxSplash; flixel_system_FlxSplash.__name__ = "flixel.system.FlxSplash"; flixel_system_FlxSplash.nextState = null; flixel_system_FlxSplash.__super__ = flixel_FlxState; flixel_system_FlxSplash.prototype = $extend(flixel_FlxState.prototype,{ _sprite: null ,_gfx: null ,_text: null ,_times: null ,_colors: null ,_functions: null ,_curPart: null ,_cachedBgColor: null ,_cachedTimestep: null ,_cachedAutoPause: null ,create: function() { this._cachedBgColor = flixel_FlxG.cameras.get_bgColor(); flixel_FlxG.cameras.set_bgColor(-16777216); this._cachedTimestep = flixel_FlxG.fixedTimestep; flixel_FlxG.fixedTimestep = false; this._cachedAutoPause = flixel_FlxG.autoPause; flixel_FlxG.autoPause = false; flixel_FlxG.keys.enabled = false; this._times = [0.041,0.184,0.334,0.495,0.636]; this._colors = [47394,16761138,16066382,3555839,314875]; this._functions = [$bind(this,this.drawGreen),$bind(this,this.drawYellow),$bind(this,this.drawRed),$bind(this,this.drawBlue),$bind(this,this.drawLightBlue)]; var _g = 0; var _g1 = this._times; while(_g < _g1.length) { var time = _g1[_g]; ++_g; new flixel_util_FlxTimer().start(time,$bind(this,this.timerCallback)); } var stageWidth = openfl_Lib.get_current().stage.stageWidth; var stageHeight = openfl_Lib.get_current().stage.stageHeight; this._sprite = new openfl_display_Sprite(); openfl_Lib.get_current().stage.addChild(this._sprite); this._gfx = this._sprite.get_graphics(); this._text = new openfl_text_TextField(); this._text.set_selectable(false); this._text.set_embedFonts(true); var dtf = new openfl_text_TextFormat(flixel_system_FlxAssets.FONT_DEFAULT,16,16777215); dtf.align = 0; this._text.set_defaultTextFormat(dtf); this._text.set_text("HaxeFlixel"); openfl_Lib.get_current().stage.addChild(this._text); this.onResize(stageWidth,stageHeight); if(!flixel_system_FlxSplash.muted) { var extension = ""; extension = ".ogg"; flixel_FlxG.sound.load(openfl_utils_Assets.getSound("flixel/sounds/flixel" + extension)).play(); } } ,destroy: function() { this._sprite = null; this._gfx = null; this._text = null; this._times = null; this._colors = null; this._functions = null; flixel_FlxState.prototype.destroy.call(this); } ,onResize: function(Width,Height) { flixel_FlxState.prototype.onResize.call(this,Width,Height); this._sprite.set_x(Width / 2); this._sprite.set_y(Height / 2 - 20 * flixel_FlxG.game.get_scaleY()); this._text.set_width(Width / flixel_FlxG.game.get_scaleX()); this._text.set_x(0); this._text.set_y(this._sprite.get_y() + 80 * flixel_FlxG.game.get_scaleY()); this._sprite.set_scaleX(this._text.set_scaleX(flixel_FlxG.game.get_scaleX())); this._sprite.set_scaleY(this._text.set_scaleY(flixel_FlxG.game.get_scaleY())); } ,timerCallback: function(Timer) { this._functions[this._curPart](); this._text.set_textColor(this._colors[this._curPart]); this._text.set_text("HaxeFlixel"); this._curPart++; if(this._curPart == 5) { flixel_tweens_FlxTween.tween(this._sprite,{ alpha : 0},3.0,{ ease : flixel_tweens_FlxEase.quadOut, onComplete : $bind(this,this.onComplete)}); flixel_tweens_FlxTween.tween(this._text,{ alpha : 0},3.0,{ ease : flixel_tweens_FlxEase.quadOut}); } } ,drawGreen: function() { this._gfx.beginFill(47394); this._gfx.moveTo(0,-37); this._gfx.lineTo(1,-37); this._gfx.lineTo(37,0); this._gfx.lineTo(37,1); this._gfx.lineTo(1,37); this._gfx.lineTo(0,37); this._gfx.lineTo(-37,1); this._gfx.lineTo(-37,0); this._gfx.lineTo(0,-37); this._gfx.endFill(); } ,drawYellow: function() { this._gfx.beginFill(16761138); this._gfx.moveTo(-50,-50); this._gfx.lineTo(-25,-50); this._gfx.lineTo(0,-37); this._gfx.lineTo(-37,0); this._gfx.lineTo(-50,-25); this._gfx.lineTo(-50,-50); this._gfx.endFill(); } ,drawRed: function() { this._gfx.beginFill(16066382); this._gfx.moveTo(50,-50); this._gfx.lineTo(25,-50); this._gfx.lineTo(1,-37); this._gfx.lineTo(37,0); this._gfx.lineTo(50,-25); this._gfx.lineTo(50,-50); this._gfx.endFill(); } ,drawBlue: function() { this._gfx.beginFill(3555839); this._gfx.moveTo(-50,50); this._gfx.lineTo(-25,50); this._gfx.lineTo(0,37); this._gfx.lineTo(-37,1); this._gfx.lineTo(-50,25); this._gfx.lineTo(-50,50); this._gfx.endFill(); } ,drawLightBlue: function() { this._gfx.beginFill(314875); this._gfx.moveTo(50,50); this._gfx.lineTo(25,50); this._gfx.lineTo(1,37); this._gfx.lineTo(37,1); this._gfx.lineTo(50,25); this._gfx.lineTo(50,50); this._gfx.endFill(); } ,onComplete: function(Tween) { flixel_FlxG.cameras.set_bgColor(this._cachedBgColor); flixel_FlxG.fixedTimestep = this._cachedTimestep; flixel_FlxG.autoPause = this._cachedAutoPause; flixel_FlxG.keys.enabled = true; openfl_Lib.get_current().stage.removeChild(this._sprite); openfl_Lib.get_current().stage.removeChild(this._text); var nextState = Type.createInstance(flixel_system_FlxSplash.nextState,[]); if(flixel_FlxG.game._state.switchTo(nextState)) { flixel_FlxG.game._requestedState = nextState; } flixel_FlxG.game._gameJustStarted = true; } ,__class__: flixel_system_FlxSplash }); var flixel_system_debug_DebuggerUtil = function() { }; $hxClasses["flixel.system.debug.DebuggerUtil"] = flixel_system_debug_DebuggerUtil; flixel_system_debug_DebuggerUtil.__name__ = "flixel.system.debug.DebuggerUtil"; flixel_system_debug_DebuggerUtil.createTextField = function(X,Y,Color,Size) { if(Size == null) { Size = 12; } if(Color == null) { Color = -1; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } return flixel_system_debug_DebuggerUtil.initTextField(new openfl_text_TextField(),X,Y,Color,Size); }; flixel_system_debug_DebuggerUtil.initTextField = function(tf,X,Y,Color,Size) { if(Size == null) { Size = 12; } if(Color == null) { Color = -1; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } tf.set_x(X); tf.set_y(Y); tf.set_multiline(false); tf.set_wordWrap(false); tf.set_embedFonts(true); tf.set_selectable(false); tf.set_defaultTextFormat(new openfl_text_TextFormat(flixel_system_FlxAssets.FONT_DEBUGGER,Size,Color & 16777215)); tf.set_alpha((Color >> 24 & 255) / 255); tf.set_autoSize(1); return tf; }; flixel_system_debug_DebuggerUtil.fixSize = function(bitmapData) { Reflect.setProperty(bitmapData,"width",11); Reflect.setProperty(bitmapData,"height",11); return bitmapData; }; var flixel_system_debug__$FlxDebugger_GraphicFlixel = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_system_debug__$FlxDebugger_GraphicFlixel.preload != null) { this.__fromImage(flixel_system_debug__$FlxDebugger_GraphicFlixel.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug__$FlxDebugger_GraphicFlixel.resourceName),flixel_system_debug__$FlxDebugger_GraphicFlixel.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_system_debug__$FlxDebugger_GraphicFlixel.preload == null) { flixel_system_debug__$FlxDebugger_GraphicFlixel.preload = b.image; } if(onload != null && Reflect.isFunction(onload)) { onload(b); } }); } }; $hxClasses["flixel.system.debug._FlxDebugger.GraphicFlixel"] = flixel_system_debug__$FlxDebugger_GraphicFlixel; flixel_system_debug__$FlxDebugger_GraphicFlixel.__name__ = "flixel.system.debug._FlxDebugger.GraphicFlixel"; flixel_system_debug__$FlxDebugger_GraphicFlixel.preload = null; flixel_system_debug__$FlxDebugger_GraphicFlixel.__super__ = openfl_display_BitmapData; flixel_system_debug__$FlxDebugger_GraphicFlixel.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_system_debug__$FlxDebugger_GraphicFlixel }); var flixel_system_debug__$FlxDebugger_GraphicDrawDebug = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_system_debug__$FlxDebugger_GraphicDrawDebug.preload != null) { this.__fromImage(flixel_system_debug__$FlxDebugger_GraphicDrawDebug.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug__$FlxDebugger_GraphicDrawDebug.resourceName),flixel_system_debug__$FlxDebugger_GraphicDrawDebug.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_system_debug__$FlxDebugger_GraphicDrawDebug.preload == null) { flixel_system_debug__$FlxDebugger_GraphicDrawDebug.preload = b.image; } if(onload != null && Reflect.isFunction(onload)) { onload(b); } }); } }; $hxClasses["flixel.system.debug._FlxDebugger.GraphicDrawDebug"] = flixel_system_debug__$FlxDebugger_GraphicDrawDebug; flixel_system_debug__$FlxDebugger_GraphicDrawDebug.__name__ = "flixel.system.debug._FlxDebugger.GraphicDrawDebug"; flixel_system_debug__$FlxDebugger_GraphicDrawDebug.preload = null; flixel_system_debug__$FlxDebugger_GraphicDrawDebug.__super__ = openfl_display_BitmapData; flixel_system_debug__$FlxDebugger_GraphicDrawDebug.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_system_debug__$FlxDebugger_GraphicDrawDebug }); var flixel_system_debug_GraphicLog = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_system_debug_GraphicLog.preload != null) { this.__fromImage(flixel_system_debug_GraphicLog.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug_GraphicLog.resourceName),flixel_system_debug_GraphicLog.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_system_debug_GraphicLog.preload == null) { flixel_system_debug_GraphicLog.preload = b.image; } if(onload != null && Reflect.isFunction(onload)) { onload(b); } }); } }; $hxClasses["flixel.system.debug.GraphicLog"] = flixel_system_debug_GraphicLog; flixel_system_debug_GraphicLog.__name__ = "flixel.system.debug.GraphicLog"; flixel_system_debug_GraphicLog.preload = null; flixel_system_debug_GraphicLog.__super__ = openfl_display_BitmapData; flixel_system_debug_GraphicLog.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_system_debug_GraphicLog }); var flixel_system_debug_GraphicStats = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_system_debug_GraphicStats.preload != null) { this.__fromImage(flixel_system_debug_GraphicStats.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug_GraphicStats.resourceName),flixel_system_debug_GraphicStats.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_system_debug_GraphicStats.preload == null) { flixel_system_debug_GraphicStats.preload = b.image; } if(onload != null && Reflect.isFunction(onload)) { onload(b); } }); } }; $hxClasses["flixel.system.debug.GraphicStats"] = flixel_system_debug_GraphicStats; flixel_system_debug_GraphicStats.__name__ = "flixel.system.debug.GraphicStats"; flixel_system_debug_GraphicStats.preload = null; flixel_system_debug_GraphicStats.__super__ = openfl_display_BitmapData; flixel_system_debug_GraphicStats.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_system_debug_GraphicStats }); var flixel_system_debug_GraphicWatch = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_system_debug_GraphicWatch.preload != null) { this.__fromImage(flixel_system_debug_GraphicWatch.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug_GraphicWatch.resourceName),flixel_system_debug_GraphicWatch.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_system_debug_GraphicWatch.preload == null) { flixel_system_debug_GraphicWatch.preload = b.image; } if(onload != null && Reflect.isFunction(onload)) { onload(b); } }); } }; $hxClasses["flixel.system.debug.GraphicWatch"] = flixel_system_debug_GraphicWatch; flixel_system_debug_GraphicWatch.__name__ = "flixel.system.debug.GraphicWatch"; flixel_system_debug_GraphicWatch.preload = null; flixel_system_debug_GraphicWatch.__super__ = openfl_display_BitmapData; flixel_system_debug_GraphicWatch.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_system_debug_GraphicWatch }); var flixel_system_debug_GraphicBitmapLog = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_system_debug_GraphicBitmapLog.preload != null) { this.__fromImage(flixel_system_debug_GraphicBitmapLog.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug_GraphicBitmapLog.resourceName),flixel_system_debug_GraphicBitmapLog.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_system_debug_GraphicBitmapLog.preload == null) { flixel_system_debug_GraphicBitmapLog.preload = b.image; } if(onload != null && Reflect.isFunction(onload)) { onload(b); } }); } }; $hxClasses["flixel.system.debug.GraphicBitmapLog"] = flixel_system_debug_GraphicBitmapLog; flixel_system_debug_GraphicBitmapLog.__name__ = "flixel.system.debug.GraphicBitmapLog"; flixel_system_debug_GraphicBitmapLog.preload = null; flixel_system_debug_GraphicBitmapLog.__super__ = openfl_display_BitmapData; flixel_system_debug_GraphicBitmapLog.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_system_debug_GraphicBitmapLog }); var flixel_system_debug_GraphicConsole = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_system_debug_GraphicConsole.preload != null) { this.__fromImage(flixel_system_debug_GraphicConsole.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug_GraphicConsole.resourceName),flixel_system_debug_GraphicConsole.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_system_debug_GraphicConsole.preload == null) { flixel_system_debug_GraphicConsole.preload = b.image; } if(onload != null && Reflect.isFunction(onload)) { onload(b); } }); } }; $hxClasses["flixel.system.debug.GraphicConsole"] = flixel_system_debug_GraphicConsole; flixel_system_debug_GraphicConsole.__name__ = "flixel.system.debug.GraphicConsole"; flixel_system_debug_GraphicConsole.preload = null; flixel_system_debug_GraphicConsole.__super__ = openfl_display_BitmapData; flixel_system_debug_GraphicConsole.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_system_debug_GraphicConsole }); var flixel_system_debug_GraphicArrowLeft = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_system_debug_GraphicArrowLeft.preload != null) { this.__fromImage(flixel_system_debug_GraphicArrowLeft.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug_GraphicArrowLeft.resourceName),flixel_system_debug_GraphicArrowLeft.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_system_debug_GraphicArrowLeft.preload == null) { flixel_system_debug_GraphicArrowLeft.preload = b.image; } if(onload != null && Reflect.isFunction(onload)) { onload(b); } }); } }; $hxClasses["flixel.system.debug.GraphicArrowLeft"] = flixel_system_debug_GraphicArrowLeft; flixel_system_debug_GraphicArrowLeft.__name__ = "flixel.system.debug.GraphicArrowLeft"; flixel_system_debug_GraphicArrowLeft.preload = null; flixel_system_debug_GraphicArrowLeft.__super__ = openfl_display_BitmapData; flixel_system_debug_GraphicArrowLeft.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_system_debug_GraphicArrowLeft }); var flixel_system_debug_GraphicArrowRight = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_system_debug_GraphicArrowRight.preload != null) { this.__fromImage(flixel_system_debug_GraphicArrowRight.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug_GraphicArrowRight.resourceName),flixel_system_debug_GraphicArrowRight.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_system_debug_GraphicArrowRight.preload == null) { flixel_system_debug_GraphicArrowRight.preload = b.image; } if(onload != null && Reflect.isFunction(onload)) { onload(b); } }); } }; $hxClasses["flixel.system.debug.GraphicArrowRight"] = flixel_system_debug_GraphicArrowRight; flixel_system_debug_GraphicArrowRight.__name__ = "flixel.system.debug.GraphicArrowRight"; flixel_system_debug_GraphicArrowRight.preload = null; flixel_system_debug_GraphicArrowRight.__super__ = openfl_display_BitmapData; flixel_system_debug_GraphicArrowRight.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_system_debug_GraphicArrowRight }); var flixel_system_debug_GraphicCloseButton = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_system_debug_GraphicCloseButton.preload != null) { this.__fromImage(flixel_system_debug_GraphicCloseButton.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug_GraphicCloseButton.resourceName),flixel_system_debug_GraphicCloseButton.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_system_debug_GraphicCloseButton.preload == null) { flixel_system_debug_GraphicCloseButton.preload = b.image; } if(onload != null && Reflect.isFunction(onload)) { onload(b); } }); } }; $hxClasses["flixel.system.debug.GraphicCloseButton"] = flixel_system_debug_GraphicCloseButton; flixel_system_debug_GraphicCloseButton.__name__ = "flixel.system.debug.GraphicCloseButton"; flixel_system_debug_GraphicCloseButton.preload = null; flixel_system_debug_GraphicCloseButton.__super__ = openfl_display_BitmapData; flixel_system_debug_GraphicCloseButton.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_system_debug_GraphicCloseButton }); var flixel_system_debug_GraphicInteractive = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_system_debug_GraphicInteractive.preload != null) { this.__fromImage(flixel_system_debug_GraphicInteractive.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug_GraphicInteractive.resourceName),flixel_system_debug_GraphicInteractive.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_system_debug_GraphicInteractive.preload == null) { flixel_system_debug_GraphicInteractive.preload = b.image; } if(onload != null && Reflect.isFunction(onload)) { onload(b); } }); } }; $hxClasses["flixel.system.debug.GraphicInteractive"] = flixel_system_debug_GraphicInteractive; flixel_system_debug_GraphicInteractive.__name__ = "flixel.system.debug.GraphicInteractive"; flixel_system_debug_GraphicInteractive.preload = null; flixel_system_debug_GraphicInteractive.__super__ = openfl_display_BitmapData; flixel_system_debug_GraphicInteractive.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_system_debug_GraphicInteractive }); var flixel_system_debug_FlxDebugger = function() { openfl_display_Sprite.call(this); }; $hxClasses["flixel.system.debug.FlxDebugger"] = flixel_system_debug_FlxDebugger; flixel_system_debug_FlxDebugger.__name__ = "flixel.system.debug.FlxDebugger"; flixel_system_debug_FlxDebugger.__super__ = openfl_display_Sprite; flixel_system_debug_FlxDebugger.prototype = $extend(openfl_display_Sprite.prototype,{ __class__: flixel_system_debug_FlxDebugger }); var flixel_system_debug_FlxDebuggerLayout = $hxEnums["flixel.system.debug.FlxDebuggerLayout"] = { __ename__ : "flixel.system.debug.FlxDebuggerLayout", __constructs__ : ["STANDARD","MICRO","BIG","TOP","LEFT","RIGHT"] ,STANDARD: {_hx_index:0,__enum__:"flixel.system.debug.FlxDebuggerLayout",toString:$estr} ,MICRO: {_hx_index:1,__enum__:"flixel.system.debug.FlxDebuggerLayout",toString:$estr} ,BIG: {_hx_index:2,__enum__:"flixel.system.debug.FlxDebuggerLayout",toString:$estr} ,TOP: {_hx_index:3,__enum__:"flixel.system.debug.FlxDebuggerLayout",toString:$estr} ,LEFT: {_hx_index:4,__enum__:"flixel.system.debug.FlxDebuggerLayout",toString:$estr} ,RIGHT: {_hx_index:5,__enum__:"flixel.system.debug.FlxDebuggerLayout",toString:$estr} }; var flixel_system_debug_Tooltip = function() { }; $hxClasses["flixel.system.debug.Tooltip"] = flixel_system_debug_Tooltip; flixel_system_debug_Tooltip.__name__ = "flixel.system.debug.Tooltip"; flixel_system_debug_Tooltip._container = null; flixel_system_debug_Tooltip.init = function(container) { flixel_system_debug_Tooltip._container = container; }; flixel_system_debug_Tooltip.add = function(element,text) { var tooltip = new flixel_system_debug_TooltipOverlay(element,text); flixel_system_debug_Tooltip._container.addChild(tooltip); flixel_system_debug_Tooltip._tooltips.push(tooltip); return tooltip; }; flixel_system_debug_Tooltip.remove = function(element) { var removed = false; var _g = 0; var _g1 = flixel_system_debug_Tooltip._tooltips.length; while(_g < _g1) { var i = _g++; if(flixel_system_debug_Tooltip._tooltips[i] != null && flixel_system_debug_Tooltip._tooltips[i].owner == element) { var tooltip = flixel_system_debug_Tooltip._tooltips.splice(i,1)[0]; tooltip.destroy(); removed = true; break; } } return removed; }; var flixel_system_debug_TooltipOverlay = function(target,text,width,height) { if(height == null) { height = 0; } if(width == null) { width = 0; } openfl_display_Sprite.call(this); this.owner = target; this.maxSize = new openfl_geom_Point(width,height); this._shadow = new openfl_display_Bitmap(new openfl_display_BitmapData(1,2,true,-16777216)); this._background = new openfl_display_Bitmap(new openfl_display_BitmapData(1,1,true,-12961222)); this.textField = flixel_system_debug_DebuggerUtil.createTextField(2,1); this.textField.set_alpha(0.8); this.textField.set_text(text); this.textField.set_wordWrap(true); this.addChild(this._shadow); this.addChild(this._background); this.addChild(this.textField); this.updateSize(); this.setVisible(false); if(this.owner != null) { this.owner.addEventListener("mouseOver",$bind(this,this.handleMouseEvents)); this.owner.addEventListener("mouseOut",$bind(this,this.handleMouseEvents)); } }; $hxClasses["flixel.system.debug.TooltipOverlay"] = flixel_system_debug_TooltipOverlay; flixel_system_debug_TooltipOverlay.__name__ = "flixel.system.debug.TooltipOverlay"; flixel_system_debug_TooltipOverlay.__super__ = openfl_display_Sprite; flixel_system_debug_TooltipOverlay.prototype = $extend(openfl_display_Sprite.prototype,{ _width: null ,_height: null ,_background: null ,_shadow: null ,textField: null ,owner: null ,maxSize: null ,destroy: function() { this._shadow = flixel_util_FlxDestroyUtil.removeChild(this,this._shadow); this._background = flixel_util_FlxDestroyUtil.removeChild(this,this._background); this.textField = flixel_util_FlxDestroyUtil.removeChild(this,this.textField); this.maxSize = null; if(this.owner != null) { this.owner.removeEventListener("mouseOver",$bind(this,this.handleMouseEvents)); this.owner.removeEventListener("mouseOut",$bind(this,this.handleMouseEvents)); } this.owner = null; } ,resize: function(Width,Height) { this.maxSize.x = Math.abs(Width) | 0; this.maxSize.y = Math.abs(Height) | 0; this.updateSize(); } ,reposition: function(X,Y) { this.set_x(X); this.set_y(Y); this.ensureOnScreen(); } ,setVisible: function(Value) { this.set_visible(Value); if(this.get_visible()) { this.parent.addChild(this); this.ensureOnScreen(); } } ,setText: function(Text1) { this.textField.set_text(Text1); this.updateSize(); this.ensureOnScreen(); } ,toggleVisible: function() { this.setVisible(!this.get_visible()); } ,putOnTop: function() { this.parent.addChild(this); } ,update: function() { } ,updateSize: function() { this._width = ((this.maxSize.x <= 0 ? this.textField.get_textWidth() : Math.abs(this.maxSize.x)) | 0) + 8; this._height = ((this.maxSize.y <= 0 ? this.textField.get_textHeight() : Math.abs(this.maxSize.y)) | 0) + 8; this._background.set_scaleX(this._width); this._background.set_scaleY(this._height); this._shadow.set_scaleX(this._width); this._shadow.set_y(this._height); this.textField.set_width(this._width); } ,ensureOnScreen: function() { this.set_x(this.get_x() < 0 ? 0 : this.get_x()); this.set_y(this.get_y() < 0 ? 0 : this.get_y()); var offsetX = this.get_x() + this.get_width() >= openfl_Lib.get_current().stage.stageWidth ? openfl_Lib.get_current().stage.stageWidth - (this.get_x() + this.get_width()) : 0; var offsetY = this.get_y() + this.get_height() >= openfl_Lib.get_current().stage.stageHeight ? openfl_Lib.get_current().stage.stageHeight - (this.get_y() + this.get_height()) : 0; var _g = this; _g.set_x(_g.get_x() + offsetX); var _g1 = this; _g1.set_y(_g1.get_y() + offsetY); } ,handleMouseEvents: function(event) { if(event.type == "mouseOver" && !this.get_visible()) { this.set_x(event.stageX + 10); this.set_y(event.stageY + 10); this.setVisible(true); } else if(event.type == "mouseOut") { this.setVisible(false); } } ,__class__: flixel_system_debug_TooltipOverlay }); var flixel_system_debug__$Window_GraphicWindowHandle = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_system_debug__$Window_GraphicWindowHandle.preload != null) { this.__fromImage(flixel_system_debug__$Window_GraphicWindowHandle.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug__$Window_GraphicWindowHandle.resourceName),flixel_system_debug__$Window_GraphicWindowHandle.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_system_debug__$Window_GraphicWindowHandle.preload == null) { flixel_system_debug__$Window_GraphicWindowHandle.preload = b.image; } if(onload != null && Reflect.isFunction(onload)) { onload(b); } }); } }; $hxClasses["flixel.system.debug._Window.GraphicWindowHandle"] = flixel_system_debug__$Window_GraphicWindowHandle; flixel_system_debug__$Window_GraphicWindowHandle.__name__ = "flixel.system.debug._Window.GraphicWindowHandle"; flixel_system_debug__$Window_GraphicWindowHandle.preload = null; flixel_system_debug__$Window_GraphicWindowHandle.__super__ = openfl_display_BitmapData; flixel_system_debug__$Window_GraphicWindowHandle.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_system_debug__$Window_GraphicWindowHandle }); var flixel_system_debug_Window = function(Title,Icon,Width,Height,Resizable,Bounds,Closable,AlwaysOnTop) { if(AlwaysOnTop == null) { AlwaysOnTop = true; } if(Closable == null) { Closable = false; } if(Resizable == null) { Resizable = true; } if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } openfl_display_Sprite.call(this); this.minSize = new openfl_geom_Point(50,30); this._width = Math.abs(Width) | 0; this._height = Math.abs(Height) | 0; this.updateBounds(Bounds); this._drag = new openfl_geom_Point(); this._resizable = Resizable; this._closable = Closable; this._alwaysOnTop = AlwaysOnTop; this._shadow = new openfl_display_Bitmap(new openfl_display_BitmapData(1,2,true,-16777216)); this._background = new openfl_display_Bitmap(new openfl_display_BitmapData(1,1,true,-580952225)); this._header = new openfl_display_Bitmap(new openfl_display_BitmapData(1,15,true,-1157627904)); this._background.set_y(this._header.get_height()); this._title = flixel_system_debug_DebuggerUtil.createTextField(2,-1); this._title.set_alpha(0.8); this._title.set_text(Title); this.addChild(this._shadow); this.addChild(this._background); this.addChild(this._header); this.addChild(this._title); if(Icon != null) { flixel_system_debug_DebuggerUtil.fixSize(Icon); this._icon = new openfl_display_Bitmap(Icon); this._icon.set_x(5); this._icon.set_y(2); this._icon.set_alpha(0.8); this._title.set_x(this._icon.get_x() + this._icon.get_width() + 2); this.addChild(this._icon); } if(this._resizable) { this._handle = new openfl_display_Bitmap(flixel_system_debug_DebuggerUtil.fixSize(new flixel_system_debug__$Window_GraphicWindowHandle(0,0))); this.addChild(this._handle); } if(Closable) { this._closeButton = new flixel_system_ui_FlxSystemButton(new flixel_system_debug_GraphicCloseButton(0,0),$bind(this,this.close)); this._closeButton.set_alpha(0.8); this.addChild(this._closeButton); } else { this._id = flixel_system_debug_Window.WINDOW_AMOUNT; this.loadSaveData(); flixel_system_debug_Window.WINDOW_AMOUNT++; } if(this._width != 0 || this._height != 0) { this.updateSize(); } this.bound(); this.addEventListener("enterFrame",$bind(this,this.init)); }; $hxClasses["flixel.system.debug.Window"] = flixel_system_debug_Window; flixel_system_debug_Window.__name__ = "flixel.system.debug.Window"; flixel_system_debug_Window.__super__ = openfl_display_Sprite; flixel_system_debug_Window.prototype = $extend(openfl_display_Sprite.prototype,{ minSize: null ,maxSize: null ,toggleButton: null ,_width: null ,_height: null ,_bounds: null ,_background: null ,_header: null ,_shadow: null ,_title: null ,_handle: null ,_icon: null ,_closeButton: null ,_overHeader: null ,_overHandle: null ,_drag: null ,_dragging: null ,_resizing: null ,_resizable: null ,_closable: null ,_alwaysOnTop: null ,_id: null ,destroy: function() { this.minSize = null; this.maxSize = null; this._bounds = null; if(this._shadow != null) { this.removeChild(this._shadow); } this._shadow = null; if(this._background != null) { this.removeChild(this._background); } this._background = null; if(this._header != null) { this.removeChild(this._header); } this._header = null; if(this._title != null) { this.removeChild(this._title); } this._title = null; if(this._handle != null) { this.removeChild(this._handle); } this._handle = null; this._drag = null; this._closeButton = flixel_util_FlxDestroyUtil.destroy(this._closeButton); var stage = openfl_Lib.get_current().stage; if(stage.hasEventListener("mouseMove")) { stage.removeEventListener("mouseMove",$bind(this,this.onMouseMove)); } if(this.hasEventListener("mouseDown")) { this.removeEventListener("mouseDown",$bind(this,this.onMouseDown)); } if(stage.hasEventListener("mouseUp")) { stage.removeEventListener("mouseUp",$bind(this,this.onMouseUp)); } } ,resize: function(Width,Height) { this._width = Math.abs(Width) | 0; this._height = Math.abs(Height) | 0; this.updateSize(); } ,reposition: function(X,Y) { this.set_x(X); this.set_y(Y); this.bound(); } ,updateBounds: function(Bounds) { this._bounds = Bounds; if(this._bounds != null) { this.maxSize = new openfl_geom_Point(this._bounds.width,this._bounds.height); } else { this.maxSize = new openfl_geom_Point(1.79e+308,1.79e+308); } } ,setVisible: function(Value) { this.set_visible(Value); if(!this._closable) { flixel_FlxG.save.data.windowSettings[this._id] = this.get_visible(); flixel_FlxG.save.flush(); } if(this.toggleButton != null) { this.toggleButton.set_toggled(!this.get_visible()); } if(this.get_visible() && this._alwaysOnTop) { this.parent.addChild(this); } } ,toggleVisible: function() { this.setVisible(!this.get_visible()); } ,putOnTop: function() { this.parent.addChild(this); } ,loadSaveData: function() { if(flixel_FlxG.save.data.windowSettings != null) { this.set_visible(flixel_FlxG.save.data.windowSettings[this._id]); } else { this.initSaveData(); this.loadSaveData(); } } ,initSaveData: function() { var settings = []; settings[0] = true; settings[1] = true; settings[2] = true; settings[3] = true; settings[4] = true; settings[5] = true; settings[6] = true; settings[7] = true; settings[8] = true; settings[9] = true; flixel_FlxG.save.data.windowSettings = settings; flixel_FlxG.save.flush(); } ,update: function() { } ,init: function(E) { if(this.stage == null) { return; } this.removeEventListener("enterFrame",$bind(this,this.init)); this.stage.addEventListener("mouseMove",$bind(this,this.onMouseMove)); this.stage.addEventListener("mouseUp",$bind(this,this.onMouseUp)); this.addEventListener("mouseDown",$bind(this,this.onMouseDown)); } ,onMouseMove: function(E) { var mouseX = this.get_mouseX() < 0 ? 0 : this.get_mouseX(); var mouseY = this.get_mouseY() < 0 ? 0 : this.get_mouseY(); if(!this.parent.get_visible()) { this._overHandle = this._overHeader = false; return; } if(this._dragging) { this._overHeader = true; this.reposition(this.parent.get_mouseX() - this._drag.x,this.parent.get_mouseY() - this._drag.y); } else if(this._resizing) { this._overHandle = true; this.resize(mouseX - this._drag.x,mouseY - this._drag.y); } else if(mouseX >= 0 && mouseX <= this._width && mouseY >= 0 && mouseY <= this._height) { this._overHeader = mouseX <= this._header.get_width() && mouseY <= this._header.get_height(); if(this._resizable) { this._overHandle = mouseX >= this._width - this._handle.get_width() && mouseY >= this._height - this._handle.get_height(); } } else { this._overHandle = this._overHeader = false; } } ,onMouseDown: function(E) { if(this._overHeader) { if(this._alwaysOnTop) { this.parent.addChild(this); } this._dragging = true; this._drag.x = this.get_mouseX(); this._drag.y = this.get_mouseY(); } else if(this._overHandle) { if(this._alwaysOnTop) { this.parent.addChild(this); } this._resizing = true; var tmp = this._width; var tmp1 = this.get_mouseX(); this._drag.x = tmp - tmp1; var tmp2 = this._height; var tmp3 = this.get_mouseY(); this._drag.y = tmp2 - tmp3; } } ,onMouseUp: function(E) { this._dragging = false; this._resizing = false; } ,bound: function() { if(this._bounds != null) { var Value = this.get_x(); var Min = this._bounds.get_left(); var Max = this._bounds.get_right() - this._width; var lowerBound = Min != null && Value < Min ? Min : Value; this.set_x(Max != null && lowerBound > Max ? Max : lowerBound); var Value1 = this.get_y(); var Min1 = this._bounds.get_top(); var Max1 = this._bounds.get_bottom() - this._height; var lowerBound1 = Min1 != null && Value1 < Min1 ? Min1 : Value1; this.set_y(Max1 != null && lowerBound1 > Max1 ? Max1 : lowerBound1); } } ,updateSize: function() { var Value = this._width; var Min = this.minSize.x; var Max = this.maxSize.x; var lowerBound = Min != null && Value < Min ? Min : Value; this._width = (Max != null && lowerBound > Max ? Max : lowerBound) | 0; var Value1 = this._height; var Min1 = this.minSize.y; var Max1 = this.maxSize.y; var lowerBound1 = Min1 != null && Value1 < Min1 ? Min1 : Value1; this._height = (Max1 != null && lowerBound1 > Max1 ? Max1 : lowerBound1) | 0; this._header.set_scaleX(this._width); this._background.set_scaleX(this._width); this._background.set_scaleY(this._height - this._header.get_height()); this._shadow.set_scaleX(this._width); this._shadow.set_y(this._height); this._title.set_width(this._width - 4); if(this._resizable) { this._handle.set_x(this._width - this._handle.get_width()); this._handle.set_y(this._height - this._handle.get_height()); } if(this._closeButton != null) { this._closeButton.set_x(this._width - this._closeButton.get_width() - 3); this._closeButton.set_y(3); } } ,close: function() { this.destroy(); } ,__class__: flixel_system_debug_Window }); var flixel_system_debug_completion_CompletionList = function(capacity) { this.upperVisibleIndex = 0; this.lowerVisibleIndex = 0; this.selectedIndex = 0; this.entries = []; openfl_display_Sprite.call(this); this.set_visible(false); this.upperVisibleIndex = capacity - 1; this.actualHeight = capacity * 20; this.createPopupEntries(capacity); this.createScrollBar(); this.updateSelectedItem(); openfl_Lib.get_current().stage.addEventListener("keyDown",$bind(this,this.onKeyDown)); }; $hxClasses["flixel.system.debug.completion.CompletionList"] = flixel_system_debug_completion_CompletionList; flixel_system_debug_completion_CompletionList.__name__ = "flixel.system.debug.completion.CompletionList"; flixel_system_debug_completion_CompletionList.__super__ = openfl_display_Sprite; flixel_system_debug_completion_CompletionList.prototype = $extend(openfl_display_Sprite.prototype,{ completed: null ,selectionChanged: null ,closed: null ,filter: null ,items: null ,entries: null ,originalItems: null ,selectedIndex: null ,lowerVisibleIndex: null ,upperVisibleIndex: null ,scrollBar: null ,actualHeight: null ,show: function(x,items) { this.set_visible(true); this.set_x(x); this.originalItems = items; this.set_filter(""); this.updateEntries(); } ,setY: function(y) { this.set_y(y - this.actualHeight); } ,close: function() { this.set_visible(false); this.set_filter(null); if(this.closed != null) { this.closed(); } } ,createPopupEntries: function(amount) { var _g = 0; var _g1 = amount; while(_g < _g1) { var i = _g++; var entry = new flixel_system_debug_completion_CompletionListEntry(); this.entries.push(entry); this.addChild(entry); entry.set_y(20 * i); } } ,createScrollBar: function() { this.scrollBar = new flixel_system_debug_completion_CompletionListScrollBar(150,0,5,this.actualHeight); this.addChild(this.scrollBar); } ,onKeyDown: function(e) { if(!this.get_visible()) { return; } switch(e.keyCode) { case 13: if(this.completed != null) { this.completed(this.items[this.selectedIndex]); } this.close(); return; case 27: this.close(); return; case 38: this.updateIndices(-1); break; case 40: this.updateIndices(1); break; } this.updateEntries(); } ,updateIndices: function(modifier) { this.selectedIndex = this.bound(this.selectedIndex + modifier); var Value = this.selectedIndex; var Min = this.lowerVisibleIndex; var Max = this.upperVisibleIndex; if((Min == null || Value >= Min) && (Max == null || Value <= Max)) { return; } this.lowerVisibleIndex = this.bound(this.lowerVisibleIndex + modifier); this.upperVisibleIndex = this.bound(this.upperVisibleIndex + modifier); var range = this.upperVisibleIndex - this.lowerVisibleIndex; if(range == this.items.length) { return; } if(this.lowerVisibleIndex == 0) { this.upperVisibleIndex = this.entries.length - 1; } else if(this.upperVisibleIndex == this.items.length - 1) { this.lowerVisibleIndex = this.items.length - this.entries.length; } } ,bound: function(index) { var Max = this.items.length - 1; var lowerBound = index < 0 ? 0 : index; return (Max != null && lowerBound > Max ? Max : lowerBound) | 0; } ,updateEntries: function() { this.updateLabels(); this.updateSelectedItem(); this.scrollBar.updateHandle(this.lowerVisibleIndex,this.items.length,this.entries.length); } ,updateLabels: function() { var _g = 0; var _g1 = this.entries.length; while(_g < _g1) { var i = _g++; var selectedItem = this.items[this.lowerVisibleIndex + i]; if(selectedItem == null) { selectedItem = ""; } this.entries[i].setItem(selectedItem); } } ,updateSelectedItem: function() { var _g = 0; var _g1 = this.entries; while(_g < _g1.length) { var entry = _g1[_g]; ++_g; entry.set_selected(false); } this.entries[this.selectedIndex - this.lowerVisibleIndex].set_selected(true); if(this.selectionChanged != null) { this.selectionChanged(this.items[this.selectedIndex]); } } ,setItems: function(items) { if(items == null) { return; } if(items.length == 0) { this.close(); } this.items = items; this.selectedIndex = 0; this.lowerVisibleIndex = 0; this.upperVisibleIndex = this.entries.length - 1; this.updateEntries(); } ,filterItems: function(filter) { if(filter == null) { filter = ""; } var _g = []; var _g1 = 0; var _g2 = this.originalItems; while(_g1 < _g2.length) { var v = _g2[_g1]; ++_g1; if(v.toLowerCase().indexOf(filter.toLowerCase()) != -1) { _g.push(v); } } return this.sortItems(filter,_g); } ,sortItems: function(filter,items) { var _gthis = this; if(filter == "") { return items; } items.sort(function(a,b) { var valueA = _gthis.startsWithExt(a,filter); var valueB = _gthis.startsWithExt(b,filter); if(valueA > valueB) { return -valueA; } if(valueB > valueA) { return valueB; } if(valueA == valueB) { return a.length - b.length | 0; } return 0; }); return items; } ,startsWithExt: function(s,start) { if(StringTools.startsWith(s,start)) { return 2; } var _this_r = new RegExp("^[_]+","".split("u").join("")); if(StringTools.startsWith(s.replace(_this_r,""),start)) { return 1; } return 0; } ,set_filter: function(filter) { if(filter == this.filter) { return filter; } this.setItems(this.filterItems(filter)); return this.filter = filter; } ,__class__: flixel_system_debug_completion_CompletionList ,__properties__: $extend(openfl_display_Sprite.prototype.__properties__,{set_filter:"set_filter"}) }); var flixel_system_debug_completion_CompletionListEntry = function() { this.selected = false; openfl_display_Sprite.call(this); this.initBitmapDatas(); this.addChild(this.background = new openfl_display_Bitmap()); this.background.set_bitmapData(flixel_system_debug_completion_CompletionListEntry.normalBitmapData); this.label = flixel_system_debug_DebuggerUtil.createTextField(); this.label.set_x(4); this.addChild(this.label); }; $hxClasses["flixel.system.debug.completion.CompletionListEntry"] = flixel_system_debug_completion_CompletionListEntry; flixel_system_debug_completion_CompletionListEntry.__name__ = "flixel.system.debug.completion.CompletionListEntry"; flixel_system_debug_completion_CompletionListEntry.normalBitmapData = null; flixel_system_debug_completion_CompletionListEntry.highlightBitmapData = null; flixel_system_debug_completion_CompletionListEntry.__super__ = openfl_display_Sprite; flixel_system_debug_completion_CompletionListEntry.prototype = $extend(openfl_display_Sprite.prototype,{ selected: null ,background: null ,label: null ,initBitmapDatas: function() { if(flixel_system_debug_completion_CompletionListEntry.normalBitmapData == null) { flixel_system_debug_completion_CompletionListEntry.normalBitmapData = new openfl_display_BitmapData(150,20,true,-10526881); } if(flixel_system_debug_completion_CompletionListEntry.highlightBitmapData == null) { flixel_system_debug_completion_CompletionListEntry.highlightBitmapData = new openfl_display_BitmapData(150,20,true,-9605779); } } ,setItem: function(item) { this.label.set_text(item); if(this.label.get_width() > 150) { this.label.set_width(150); this.label.set_autoSize(2); } } ,set_selected: function(selected) { if(selected == this.selected) { return selected; } this.background.set_bitmapData(selected ? flixel_system_debug_completion_CompletionListEntry.highlightBitmapData : flixel_system_debug_completion_CompletionListEntry.normalBitmapData); return this.selected = selected; } ,__class__: flixel_system_debug_completion_CompletionListEntry ,__properties__: $extend(openfl_display_Sprite.prototype.__properties__,{set_selected:"set_selected"}) }); var flixel_system_debug_completion_CompletionListScrollBar = function(x,y,width,height) { openfl_display_Sprite.call(this); this.set_x(x); this.set_y(y); this.addChild(new openfl_display_Bitmap(new openfl_display_BitmapData(width,height,true,-12303292))); this.handle = new openfl_display_Bitmap(new openfl_display_BitmapData(width,1,true,-14540254)); this.addChild(this.handle); }; $hxClasses["flixel.system.debug.completion.CompletionListScrollBar"] = flixel_system_debug_completion_CompletionListScrollBar; flixel_system_debug_completion_CompletionListScrollBar.__name__ = "flixel.system.debug.completion.CompletionListScrollBar"; flixel_system_debug_completion_CompletionListScrollBar.__super__ = openfl_display_Sprite; flixel_system_debug_completion_CompletionListScrollBar.prototype = $extend(openfl_display_Sprite.prototype,{ handle: null ,updateHandle: function(lower,items,entries) { this.handle.set_scaleY(Math.min(this.get_height() / items * entries,this.get_height())); this.handle.set_y(this.get_height() / items * lower); var tmp = this.handle; var Value = this.handle.get_y(); var Max = this.get_height() - this.handle.get_scaleY(); var lowerBound = Value < 0 ? 0 : Value; tmp.set_y(Max != null && lowerBound > Max ? Max : lowerBound); } ,__class__: flixel_system_debug_completion_CompletionListScrollBar }); var flixel_system_debug_console_ConsoleUtil = function() { }; $hxClasses["flixel.system.debug.console.ConsoleUtil"] = flixel_system_debug_console_ConsoleUtil; flixel_system_debug_console_ConsoleUtil.__name__ = "flixel.system.debug.console.ConsoleUtil"; flixel_system_debug_console_ConsoleUtil.parser = null; flixel_system_debug_console_ConsoleUtil.interp = null; flixel_system_debug_console_ConsoleUtil.init = function() { flixel_system_debug_console_ConsoleUtil.parser = new hscript_Parser(); flixel_system_debug_console_ConsoleUtil.parser.allowJSON = true; flixel_system_debug_console_ConsoleUtil.parser.allowTypes = true; flixel_system_debug_console_ConsoleUtil.interp = new flixel_system_debug_console__$ConsoleUtil_Interp(); }; flixel_system_debug_console_ConsoleUtil.parseCommand = function(Input) { if(StringTools.endsWith(Input,";")) { Input = HxOverrides.substr(Input,0,-1); } return flixel_system_debug_console_ConsoleUtil.parser.parseString(Input); }; flixel_system_debug_console_ConsoleUtil.runCommand = function(Input) { return flixel_system_debug_console_ConsoleUtil.interp.expr(flixel_system_debug_console_ConsoleUtil.parseCommand(Input)); }; flixel_system_debug_console_ConsoleUtil.runExpr = function(expr) { return flixel_system_debug_console_ConsoleUtil.interp.expr(expr); }; flixel_system_debug_console_ConsoleUtil.registerObject = function(ObjectAlias,AnyObject) { if(AnyObject == null || Reflect.isObject(AnyObject)) { var _this = flixel_system_debug_console_ConsoleUtil.interp.variables; var value = AnyObject; if(__map_reserved[ObjectAlias] != null) { _this.setReserved(ObjectAlias,value); } else { _this.h[ObjectAlias] = value; } } }; flixel_system_debug_console_ConsoleUtil.registerFunction = function(FunctionAlias,Function1) { if(Reflect.isFunction(Function1)) { var _this = flixel_system_debug_console_ConsoleUtil.interp.variables; var value = Function1; if(__map_reserved[FunctionAlias] != null) { _this.setReserved(FunctionAlias,value); } else { _this.h[FunctionAlias] = value; } } }; flixel_system_debug_console_ConsoleUtil.getFields = function(Object1) { var fields = []; if(js_Boot.__instanceof(Object1,Class)) { fields = Type.getClassFields(Object1); } else if(js_Boot.__instanceof(Object1,Enum)) { fields = Object1.__constructs__.slice(); } else if(Reflect.isObject(Object1)) { fields = Type.getInstanceFields(js_Boot.getClass(Object1)); } HxOverrides.remove(fields,"__constructs__"); var filteredFields = []; var _g = 0; while(_g < fields.length) { var field = fields[_g]; ++_g; if(StringTools.startsWith(field,"get_") || StringTools.startsWith(field,"set_")) { var name = HxOverrides.substr(field,4,null); if(fields.indexOf(name) == -1 && filteredFields.indexOf(name) == -1) { filteredFields.push(name); } } else { filteredFields.push(field); } } return flixel_system_debug_console_ConsoleUtil.sortFields(filteredFields); }; flixel_system_debug_console_ConsoleUtil.sortFields = function(fields) { var underscoreList = []; var _g = []; var _g1 = 0; var _g2 = fields; while(_g1 < _g2.length) { var v = _g2[_g1]; ++_g1; var fields1; if(StringTools.startsWith(v,"_")) { underscoreList.push(v); fields1 = false; } else { fields1 = true; } if(fields1) { _g.push(v); } } fields = _g; flixel_util_FlxStringUtil.sortAlphabetically(fields); flixel_util_FlxStringUtil.sortAlphabetically(underscoreList); return fields.concat(underscoreList); }; flixel_system_debug_console_ConsoleUtil.log = function(Text1) { flixel_FlxG.log.advanced([Text1],flixel_system_debug_log_LogStyle.CONSOLE); }; var hscript_Interp = function() { this.locals = new haxe_ds_StringMap(); this.declared = []; this.resetVariables(); this.initOps(); }; $hxClasses["hscript.Interp"] = hscript_Interp; hscript_Interp.__name__ = "hscript.Interp"; hscript_Interp.prototype = { variables: null ,locals: null ,binops: null ,depth: null ,inTry: null ,declared: null ,returnValue: null ,resetVariables: function() { var _gthis = this; this.variables = new haxe_ds_StringMap(); var _this = this.variables; var value = null; if(__map_reserved["null"] != null) { _this.setReserved("null",value); } else { _this.h["null"] = value; } var _this1 = this.variables; if(__map_reserved["true"] != null) { _this1.setReserved("true",true); } else { _this1.h["true"] = true; } var _this2 = this.variables; if(__map_reserved["false"] != null) { _this2.setReserved("false",false); } else { _this2.h["false"] = false; } var _this3 = this.variables; var value1 = Reflect.makeVarArgs(function(el) { var inf = _gthis.posInfos(); var v = el.shift(); if(el.length > 0) { inf.customParams = el; } haxe_Log.trace(Std.string(v),inf); }); if(__map_reserved["trace"] != null) { _this3.setReserved("trace",value1); } else { _this3.h["trace"] = value1; } } ,posInfos: function() { return { fileName : "hscript", lineNumber : 0}; } ,initOps: function() { var me = this; this.binops = new haxe_ds_StringMap(); var _this = this.binops; var value = function(e1,e2) { return me.expr(e1) + me.expr(e2); }; if(__map_reserved["+"] != null) { _this.setReserved("+",value); } else { _this.h["+"] = value; } var _this1 = this.binops; var value1 = function(e11,e21) { return me.expr(e11) - me.expr(e21); }; if(__map_reserved["-"] != null) { _this1.setReserved("-",value1); } else { _this1.h["-"] = value1; } var _this2 = this.binops; var value2 = function(e12,e22) { return me.expr(e12) * me.expr(e22); }; if(__map_reserved["*"] != null) { _this2.setReserved("*",value2); } else { _this2.h["*"] = value2; } var _this3 = this.binops; var value3 = function(e13,e23) { return me.expr(e13) / me.expr(e23); }; if(__map_reserved["/"] != null) { _this3.setReserved("/",value3); } else { _this3.h["/"] = value3; } var _this4 = this.binops; var value4 = function(e14,e24) { return me.expr(e14) % me.expr(e24); }; if(__map_reserved["%"] != null) { _this4.setReserved("%",value4); } else { _this4.h["%"] = value4; } var _this5 = this.binops; var value5 = function(e15,e25) { return me.expr(e15) & me.expr(e25); }; if(__map_reserved["&"] != null) { _this5.setReserved("&",value5); } else { _this5.h["&"] = value5; } var _this6 = this.binops; var value6 = function(e16,e26) { return me.expr(e16) | me.expr(e26); }; if(__map_reserved["|"] != null) { _this6.setReserved("|",value6); } else { _this6.h["|"] = value6; } var _this7 = this.binops; var value7 = function(e17,e27) { return me.expr(e17) ^ me.expr(e27); }; if(__map_reserved["^"] != null) { _this7.setReserved("^",value7); } else { _this7.h["^"] = value7; } var _this8 = this.binops; var value8 = function(e18,e28) { return me.expr(e18) << me.expr(e28); }; if(__map_reserved["<<"] != null) { _this8.setReserved("<<",value8); } else { _this8.h["<<"] = value8; } var _this9 = this.binops; var value9 = function(e19,e29) { return me.expr(e19) >> me.expr(e29); }; if(__map_reserved[">>"] != null) { _this9.setReserved(">>",value9); } else { _this9.h[">>"] = value9; } var _this10 = this.binops; var value10 = function(e110,e210) { return me.expr(e110) >>> me.expr(e210); }; if(__map_reserved[">>>"] != null) { _this10.setReserved(">>>",value10); } else { _this10.h[">>>"] = value10; } var _this11 = this.binops; var value11 = function(e111,e211) { return me.expr(e111) == me.expr(e211); }; if(__map_reserved["=="] != null) { _this11.setReserved("==",value11); } else { _this11.h["=="] = value11; } var _this12 = this.binops; var value12 = function(e112,e212) { return me.expr(e112) != me.expr(e212); }; if(__map_reserved["!="] != null) { _this12.setReserved("!=",value12); } else { _this12.h["!="] = value12; } var _this13 = this.binops; var value13 = function(e113,e213) { return me.expr(e113) >= me.expr(e213); }; if(__map_reserved[">="] != null) { _this13.setReserved(">=",value13); } else { _this13.h[">="] = value13; } var _this14 = this.binops; var value14 = function(e114,e214) { return me.expr(e114) <= me.expr(e214); }; if(__map_reserved["<="] != null) { _this14.setReserved("<=",value14); } else { _this14.h["<="] = value14; } var _this15 = this.binops; var value15 = function(e115,e215) { return me.expr(e115) > me.expr(e215); }; if(__map_reserved[">"] != null) { _this15.setReserved(">",value15); } else { _this15.h[">"] = value15; } var _this16 = this.binops; var value16 = function(e116,e216) { return me.expr(e116) < me.expr(e216); }; if(__map_reserved["<"] != null) { _this16.setReserved("<",value16); } else { _this16.h["<"] = value16; } var _this17 = this.binops; var value17 = function(e117,e217) { if(me.expr(e117) != true) { return me.expr(e217) == true; } else { return true; } }; if(__map_reserved["||"] != null) { _this17.setReserved("||",value17); } else { _this17.h["||"] = value17; } var _this18 = this.binops; var value18 = function(e118,e218) { if(me.expr(e118) == true) { return me.expr(e218) == true; } else { return false; } }; if(__map_reserved["&&"] != null) { _this18.setReserved("&&",value18); } else { _this18.h["&&"] = value18; } var _this19 = this.binops; var value19 = $bind(this,this.assign); if(__map_reserved["="] != null) { _this19.setReserved("=",value19); } else { _this19.h["="] = value19; } var _this20 = this.binops; var value20 = function(e119,e219) { return new IntIterator(me.expr(e119),me.expr(e219)); }; if(__map_reserved["..."] != null) { _this20.setReserved("...",value20); } else { _this20.h["..."] = value20; } this.assignOp("+=",function(v1,v2) { return v1 + v2; }); this.assignOp("-=",function(v11,v21) { return v11 - v21; }); this.assignOp("*=",function(v12,v22) { return v12 * v22; }); this.assignOp("/=",function(v13,v23) { return v13 / v23; }); this.assignOp("%=",function(v14,v24) { return v14 % v24; }); this.assignOp("&=",function(v15,v25) { return v15 & v25; }); this.assignOp("|=",function(v16,v26) { return v16 | v26; }); this.assignOp("^=",function(v17,v27) { return v17 ^ v27; }); this.assignOp("<<=",function(v18,v28) { return v18 << v28; }); this.assignOp(">>=",function(v19,v29) { return v19 >> v29; }); this.assignOp(">>>=",function(v110,v210) { return v110 >>> v210; }); } ,assign: function(e1,e2) { var v = this.expr(e2); switch(e1._hx_index) { case 1: var id = e1.v; var _this = this.locals; var l = __map_reserved[id] != null ? _this.getReserved(id) : _this.h[id]; if(l == null) { var _this1 = this.variables; if(__map_reserved[id] != null) { _this1.setReserved(id,v); } else { _this1.h[id] = v; } } else { l.r = v; } break; case 5: var f = e1.f; var e = e1.e; v = this.set(this.expr(e),f,v); break; case 16: var index = e1.index; var e3 = e1.e; var arr = this.expr(e3); var index1 = this.expr(index); if(js_Boot.__implements(arr,haxe_IMap)) { (js_Boot.__cast(arr , haxe_IMap)).set(index1,v); } else { arr[index1] = v; } break; default: var e4 = hscript_Error.EInvalidOp("="); throw new js__$Boot_HaxeError(e4); } return v; } ,assignOp: function(op,fop) { var me = this; var _this = this.binops; var value = function(e1,e2) { return me.evalAssignOp(op,fop,e1,e2); }; if(__map_reserved[op] != null) { _this.setReserved(op,value); } else { _this.h[op] = value; } } ,evalAssignOp: function(op,fop,e1,e2) { var v; switch(e1._hx_index) { case 1: var id = e1.v; var _this = this.locals; var l = __map_reserved[id] != null ? _this.getReserved(id) : _this.h[id]; v = fop(this.expr(e1),this.expr(e2)); if(l == null) { var _this1 = this.variables; if(__map_reserved[id] != null) { _this1.setReserved(id,v); } else { _this1.h[id] = v; } } else { l.r = v; } break; case 5: var f = e1.f; var e = e1.e; var obj = this.expr(e); v = fop(this.get(obj,f),this.expr(e2)); v = this.set(obj,f,v); break; case 16: var index = e1.index; var e3 = e1.e; var arr = this.expr(e3); var index1 = this.expr(index); if(js_Boot.__implements(arr,haxe_IMap)) { v = fop((js_Boot.__cast(arr , haxe_IMap)).get(index1),this.expr(e2)); (js_Boot.__cast(arr , haxe_IMap)).set(index1,v); } else { v = fop(arr[index1],this.expr(e2)); arr[index1] = v; } break; default: var e4 = hscript_Error.EInvalidOp(op); throw new js__$Boot_HaxeError(e4); } return v; } ,increment: function(e,prefix,delta) { switch(e._hx_index) { case 1: var id = e.v; var _this = this.locals; var l = __map_reserved[id] != null ? _this.getReserved(id) : _this.h[id]; var v; if(l == null) { var _this1 = this.variables; v = __map_reserved[id] != null ? _this1.getReserved(id) : _this1.h[id]; } else { v = l.r; } if(prefix) { v += delta; if(l == null) { var _this2 = this.variables; var value = v; if(__map_reserved[id] != null) { _this2.setReserved(id,value); } else { _this2.h[id] = value; } } else { l.r = v; } } else if(l == null) { var _this3 = this.variables; var value1 = v + delta; if(__map_reserved[id] != null) { _this3.setReserved(id,value1); } else { _this3.h[id] = value1; } } else { l.r = v + delta; } return v; case 5: var f = e.f; var e1 = e.e; var obj = this.expr(e1); var v1 = this.get(obj,f); if(prefix) { v1 += delta; this.set(obj,f,v1); } else { this.set(obj,f,v1 + delta); } return v1; case 16: var index = e.index; var e2 = e.e; var arr = this.expr(e2); var index1 = this.expr(index); if(js_Boot.__implements(arr,haxe_IMap)) { var v2 = (js_Boot.__cast(arr , haxe_IMap)).get(index1); if(prefix) { v2 += delta; (js_Boot.__cast(arr , haxe_IMap)).set(index1,v2); } else { (js_Boot.__cast(arr , haxe_IMap)).set(index1,v2 + delta); } return v2; } else { var v3 = arr[index1]; if(prefix) { v3 += delta; arr[index1] = v3; } else { arr[index1] = v3 + delta; } return v3; } break; default: var e3 = hscript_Error.EInvalidOp(delta > 0 ? "++" : "--"); throw new js__$Boot_HaxeError(e3); } } ,execute: function(expr) { this.depth = 0; this.locals = new haxe_ds_StringMap(); this.declared = []; return this.exprReturn(expr); } ,exprReturn: function(e) { try { return this.expr(e); } catch( e1 ) { haxe_CallStack.lastException = e1; var e2 = ((e1) instanceof js__$Boot_HaxeError) ? e1.val : e1; if(js_Boot.__instanceof(e2,hscript__$Interp_Stop)) { switch(e2._hx_index) { case 0: throw new js__$Boot_HaxeError("Invalid break"); case 1: throw new js__$Boot_HaxeError("Invalid continue"); case 2: var v = this.returnValue; this.returnValue = null; return v; } } else { throw e1; } } } ,duplicate: function(h) { var h2 = new haxe_ds_StringMap(); var k = h.keys(); while(k.hasNext()) { var k1 = k.next(); var value = __map_reserved[k1] != null ? h.getReserved(k1) : h.h[k1]; if(__map_reserved[k1] != null) { h2.setReserved(k1,value); } else { h2.h[k1] = value; } } return h2; } ,restore: function(old) { while(this.declared.length > old) { var d = this.declared.pop(); var key = d.n; var value = d.old; var _this = this.locals; if(__map_reserved[key] != null) { _this.setReserved(key,value); } else { _this.h[key] = value; } } } ,error: function(e,rethrow) { if(rethrow == null) { rethrow = false; } if(rethrow) { throw js__$Boot_HaxeError.wrap(e); } else { throw new js__$Boot_HaxeError(e); } } ,rethrow: function(e) { throw js__$Boot_HaxeError.wrap(e); } ,resolve: function(id) { var _this = this.locals; var l = __map_reserved[id] != null ? _this.getReserved(id) : _this.h[id]; if(l != null) { return l.r; } var _this1 = this.variables; var v = __map_reserved[id] != null ? _this1.getReserved(id) : _this1.h[id]; var tmp; if(v == null) { var _this2 = this.variables; tmp = !(__map_reserved[id] != null ? _this2.existsReserved(id) : _this2.h.hasOwnProperty(id)); } else { tmp = false; } if(tmp) { var e = hscript_Error.EUnknownVariable(id); throw new js__$Boot_HaxeError(e); } return v; } ,expr: function(e) { var _gthis = this; switch(e._hx_index) { case 0: var c = e.c; switch(c._hx_index) { case 0: var v = c.v; return v; case 1: var f = c.f; return f; case 2: var s = c.s; return s; } break; case 1: var id = e.v; return this.resolve(id); case 2: var _g32 = e.t; var e1 = e.e; var n = e.n; var _this = this.locals; this.declared.push({ n : n, old : __map_reserved[n] != null ? _this.getReserved(n) : _this.h[n]}); var this1 = this.locals; var value = { r : e1 == null ? null : this.expr(e1)}; var _this1 = this1; if(__map_reserved[n] != null) { _this1.setReserved(n,value); } else { _this1.h[n] = value; } return null; case 3: var e2 = e.e; return this.expr(e2); case 4: var exprs = e.e; var old = this.declared.length; var v1 = null; var _g = 0; while(_g < exprs.length) { var e3 = exprs[_g]; ++_g; v1 = this.expr(e3); } this.restore(old); return v1; case 5: var f1 = e.f; var e4 = e.e; return this.get(this.expr(e4),f1); case 6: var e21 = e.e2; var e11 = e.e1; var op = e.op; var _this2 = this.binops; var fop = __map_reserved[op] != null ? _this2.getReserved(op) : _this2.h[op]; if(fop == null) { var e5 = hscript_Error.EInvalidOp(op); throw new js__$Boot_HaxeError(e5); } return fop(e11,e21); case 7: var e6 = e.e; var prefix = e.prefix; var op1 = e.op; switch(op1) { case "!": return this.expr(e6) != true; case "++": return this.increment(e6,prefix,1); case "-": return -this.expr(e6); case "--": return this.increment(e6,prefix,-1); case "~": return ~this.expr(e6); default: var e7 = hscript_Error.EInvalidOp(op1); throw new js__$Boot_HaxeError(e7); } break; case 8: var params = e.params; var e8 = e.e; var args = []; var _g1 = 0; while(_g1 < params.length) { var p = params[_g1]; ++_g1; args.push(this.expr(p)); } if(e8._hx_index == 5) { var f2 = e8.f; var e9 = e8.e; var obj = this.expr(e9); if(obj == null) { var e10 = hscript_Error.EInvalidAccess(f2); throw new js__$Boot_HaxeError(e10); } return this.fcall(obj,f2,args); } else { return this.call(null,this.expr(e8),args); } break; case 9: var e22 = e.e2; var e12 = e.e1; var econd = e.cond; if(this.expr(econd) == true) { return this.expr(e12); } else if(e22 == null) { return null; } else { return this.expr(e22); } break; case 10: var e13 = e.e; var econd1 = e.cond; this.whileLoop(econd1,e13); return null; case 11: var e14 = e.e; var it = e.it; var v2 = e.v; this.forLoop(v2,it,e14); return null; case 12: throw new js__$Boot_HaxeError(hscript__$Interp_Stop.SBreak); case 13: throw new js__$Boot_HaxeError(hscript__$Interp_Stop.SContinue); case 14: var _g44 = e.ret; var name = e.name; var fexpr = e.e; var params1 = e.args; var capturedLocals = this.duplicate(this.locals); var me = this; var hasOpt = false; var minParams = 0; var _g2 = 0; while(_g2 < params1.length) { var p1 = params1[_g2]; ++_g2; if(p1.opt) { hasOpt = true; } else { minParams += 1; } } var f3 = function(args1) { if((args1 == null ? 0 : args1.length) != params1.length) { if(args1.length < minParams) { var str = "Invalid number of parameters. Got " + args1.length + ", required " + minParams; if(name != null) { str += " for function '" + name + "'"; } var e15 = hscript_Error.ECustom(str); throw new js__$Boot_HaxeError(e15); } var args2 = []; var extraParams = args1.length - minParams; var pos = 0; var _g11 = 0; while(_g11 < params1.length) { var p2 = params1[_g11]; ++_g11; if(p2.opt) { if(extraParams > 0) { args2.push(args1[pos++]); --extraParams; } else { args2.push(null); } } else { args2.push(args1[pos++]); } } args1 = args2; } var old1 = me.locals; var depth = me.depth; me.depth++; me.locals = me.duplicate(capturedLocals); var _g12 = 0; var _g21 = params1.length; while(_g12 < _g21) { var i = _g12++; var key = params1[i].name; var _this3 = me.locals; var value1 = { r : args1[i]}; if(__map_reserved[key] != null) { _this3.setReserved(key,value1); } else { _this3.h[key] = value1; } } var r = null; if(_gthis.inTry) { try { r = me.exprReturn(fexpr); } catch( e16 ) { haxe_CallStack.lastException = e16; var e17 = ((e16) instanceof js__$Boot_HaxeError) ? e16.val : e16; me.locals = old1; me.depth = depth; throw js__$Boot_HaxeError.wrap(e17); } } else { r = me.exprReturn(fexpr); } me.locals = old1; me.depth = depth; return r; }; var f4 = Reflect.makeVarArgs(f3); if(name != null) { if(this.depth == 0) { var _this4 = this.variables; if(__map_reserved[name] != null) { _this4.setReserved(name,f4); } else { _this4.h[name] = f4; } } else { var tmp = this.declared; var _this5 = this.locals; var tmp1 = __map_reserved[name] != null ? _this5.getReserved(name) : _this5.h[name]; tmp.push({ n : name, old : tmp1}); var ref = { r : f4}; var _this6 = this.locals; if(__map_reserved[name] != null) { _this6.setReserved(name,ref); } else { _this6.h[name] = ref; } if(__map_reserved[name] != null) { capturedLocals.setReserved(name,ref); } else { capturedLocals.h[name] = ref; } } } return f4; case 15: var e18 = e.e; this.returnValue = e18 == null ? null : this.expr(e18); throw new js__$Boot_HaxeError(hscript__$Interp_Stop.SReturn); case 16: var index = e.index; var e19 = e.e; var arr = this.expr(e19); var index1 = this.expr(index); if(js_Boot.__implements(arr,haxe_IMap)) { return (js_Boot.__cast(arr , haxe_IMap)).get(index1); } else { return arr[index1]; } break; case 17: var arr1 = e.e; var tmp2; if(arr1.length > 0) { var _g3 = arr1[0]; if(_g3._hx_index == 6) { var _g31 = _g3.e2; var _g22 = _g3.e1; tmp2 = _g3.op == "=>"; } else { tmp2 = false; } } else { tmp2 = false; } if(tmp2) { var isAllString = true; var isAllInt = true; var isAllObject = true; var isAllEnum = true; var keys = []; var values = []; var _g4 = 0; while(_g4 < arr1.length) { var e20 = arr1[_g4]; ++_g4; if(e20._hx_index == 6) { if(e20.op == "=>") { var eValue = e20.e2; var eKey = e20.e1; var key1 = this.expr(eKey); var value2 = this.expr(eValue); isAllString = isAllString && typeof(key1) == "string"; isAllInt = isAllInt && (typeof(key1) == "number" && ((key1 | 0) === key1)); isAllObject = isAllObject && Reflect.isObject(key1); isAllEnum = isAllEnum && Reflect.isEnumValue(key1); keys.push(key1); values.push(value2); } else { throw new js__$Boot_HaxeError("=> expected"); } } else { throw new js__$Boot_HaxeError("=> expected"); } } var map; if(isAllInt) { map = new haxe_ds_IntMap(); } else if(isAllString) { map = new haxe_ds_StringMap(); } else if(isAllEnum) { map = new haxe_ds_EnumValueMap(); } else if(isAllObject) { map = new haxe_ds_ObjectMap(); } else { throw new js__$Boot_HaxeError("Inconsistent key types"); } var _g5 = 0; var _g6 = keys.length; while(_g5 < _g6) { var n1 = _g5++; (js_Boot.__cast(map , haxe_IMap)).set(keys[n1],values[n1]); } return map; } else { var a = []; var _g41 = 0; while(_g41 < arr1.length) { var e23 = arr1[_g41]; ++_g41; a.push(this.expr(e23)); } return a; } break; case 18: var params2 = e.params; var cl = e.cl; var a1 = []; var _g7 = 0; while(_g7 < params2.length) { var e24 = params2[_g7]; ++_g7; a1.push(this.expr(e24)); } return this.cnew(cl,a1); case 19: var e25 = e.e; throw js__$Boot_HaxeError.wrap(this.expr(e25)); case 20: var _g51 = e.t; var ecatch = e.ecatch; var n2 = e.v; var e26 = e.e; var old2 = this.declared.length; var oldTry = this.inTry; try { this.inTry = true; var v3 = this.expr(e26); this.restore(old2); this.inTry = oldTry; return v3; } catch( e27 ) { haxe_CallStack.lastException = e27; var e28 = ((e27) instanceof js__$Boot_HaxeError) ? e27.val : e27; if(js_Boot.__instanceof(e28,hscript__$Interp_Stop)) { this.inTry = oldTry; throw new js__$Boot_HaxeError(e28); } else { this.restore(old2); this.inTry = oldTry; var _this7 = this.locals; this.declared.push({ n : n2, old : __map_reserved[n2] != null ? _this7.getReserved(n2) : _this7.h[n2]}); var _this8 = this.locals; var value3 = { r : e28}; if(__map_reserved[n2] != null) { _this8.setReserved(n2,value3); } else { _this8.h[n2] = value3; } var v4 = this.expr(ecatch); this.restore(old2); return v4; } } break; case 21: var fl = e.fl; var o = { }; var _g8 = 0; while(_g8 < fl.length) { var f5 = fl[_g8]; ++_g8; this.set(o,f5.name,this.expr(f5.e)); } return o; case 22: var e29 = e.e2; var e110 = e.e1; var econd2 = e.cond; if(this.expr(econd2) == true) { return this.expr(e110); } else { return this.expr(e29); } break; case 23: var def = e.defaultExpr; var cases = e.cases; var e30 = e.e; var val = this.expr(e30); var match = false; var _g9 = 0; while(_g9 < cases.length) { var c1 = cases[_g9]; ++_g9; var _g10 = 0; var _g13 = c1.values; while(_g10 < _g13.length) { var v5 = _g13[_g10]; ++_g10; if(this.expr(v5) == val) { match = true; break; } } if(match) { val = this.expr(c1.expr); break; } } if(!match) { val = def == null ? null : this.expr(def); } return val; case 24: var e31 = e.e; var econd3 = e.cond; this.doWhileLoop(econd3,e31); return null; case 25: var _g52 = e.args; var _g511 = e.name; var e32 = e.e; return this.expr(e32); case 26: var _g46 = e.t; var e33 = e.e; return this.expr(e33); } } ,doWhileLoop: function(econd,e) { var old = this.declared.length; _hx_loop1: while(true) { try { this.expr(e); } catch( err ) { haxe_CallStack.lastException = err; var err1 = ((err) instanceof js__$Boot_HaxeError) ? err.val : err; if(js_Boot.__instanceof(err1,hscript__$Interp_Stop)) { var err2 = err1; switch(err2._hx_index) { case 0: break _hx_loop1; case 1: break; case 2: throw new js__$Boot_HaxeError(err2); } } else { throw err; } } if(!(this.expr(econd) == true)) { break; } } this.restore(old); } ,whileLoop: function(econd,e) { var old = this.declared.length; _hx_loop1: while(this.expr(econd) == true) try { this.expr(e); } catch( err ) { haxe_CallStack.lastException = err; var err1 = ((err) instanceof js__$Boot_HaxeError) ? err.val : err; if(js_Boot.__instanceof(err1,hscript__$Interp_Stop)) { var err2 = err1; switch(err2._hx_index) { case 0: break _hx_loop1; case 1: break; case 2: throw new js__$Boot_HaxeError(err2); } } else { throw err; } } this.restore(old); } ,makeIterator: function(v) { try { v = $getIterator(v); } catch( e ) { haxe_CallStack.lastException = e; var e1 = ((e) instanceof js__$Boot_HaxeError) ? e.val : e; } if(v.hasNext == null || v.next == null) { var e2 = hscript_Error.EInvalidIterator(v); throw new js__$Boot_HaxeError(e2); } return v; } ,forLoop: function(n,it,e) { var old = this.declared.length; var _this = this.locals; this.declared.push({ n : n, old : __map_reserved[n] != null ? _this.getReserved(n) : _this.h[n]}); var it1 = this.makeIterator(this.expr(it)); _hx_loop1: while(it1.hasNext()) { var this1 = this.locals; var value = { r : it1.next()}; var _this1 = this1; if(__map_reserved[n] != null) { _this1.setReserved(n,value); } else { _this1.h[n] = value; } try { this.expr(e); } catch( err ) { haxe_CallStack.lastException = err; var err1 = ((err) instanceof js__$Boot_HaxeError) ? err.val : err; if(js_Boot.__instanceof(err1,hscript__$Interp_Stop)) { var err2 = err1; switch(err2._hx_index) { case 0: break _hx_loop1; case 1: break; case 2: throw new js__$Boot_HaxeError(err2); } } else { throw err; } } } this.restore(old); } ,isMap: function(o) { return js_Boot.__implements(o,haxe_IMap); } ,getMapValue: function(map,key) { return (js_Boot.__cast(map , haxe_IMap)).get(key); } ,setMapValue: function(map,key,value) { (js_Boot.__cast(map , haxe_IMap)).set(key,value); } ,get: function(o,f) { if(o == null) { var e = hscript_Error.EInvalidAccess(f); throw new js__$Boot_HaxeError(e); } return Reflect.getProperty(o,f); } ,set: function(o,f,v) { if(o == null) { var e = hscript_Error.EInvalidAccess(f); throw new js__$Boot_HaxeError(e); } Reflect.setProperty(o,f,v); return v; } ,fcall: function(o,f,args) { return this.call(o,this.get(o,f),args); } ,call: function(o,f,args) { return f.apply(o,args); } ,cnew: function(cl,args) { var c = $hxClasses[cl]; if(c == null) { c = this.resolve(cl); } return Type.createInstance(c,args); } ,__class__: hscript_Interp }; var flixel_system_debug_console__$ConsoleUtil_Interp = function() { hscript_Interp.call(this); }; $hxClasses["flixel.system.debug.console._ConsoleUtil.Interp"] = flixel_system_debug_console__$ConsoleUtil_Interp; flixel_system_debug_console__$ConsoleUtil_Interp.__name__ = "flixel.system.debug.console._ConsoleUtil.Interp"; flixel_system_debug_console__$ConsoleUtil_Interp.__super__ = hscript_Interp; flixel_system_debug_console__$ConsoleUtil_Interp.prototype = $extend(hscript_Interp.prototype,{ getGlobals: function() { return this.toArray(this.locals.keys()).concat(this.toArray(this.variables.keys())); } ,toArray: function(iterator) { var array = []; var element = iterator; while(element.hasNext()) { var element1 = element.next(); array.push(element1); } return array; } ,get: function(o,f) { if(o == null) { var e = hscript_Error.EInvalidAccess(f); throw new js__$Boot_HaxeError(e); } return Reflect.getProperty(o,f); } ,set: function(o,f,v) { if(o == null) { var e = hscript_Error.EInvalidAccess(f); throw new js__$Boot_HaxeError(e); } Reflect.setProperty(o,f,v); return v; } ,__class__: flixel_system_debug_console__$ConsoleUtil_Interp }); var flixel_system_debug_interaction_Interaction = function(container) { this._flixelPointer = new flixel_input_FlxPointer(); this._debuggerInteraction = false; this._keysUp = new haxe_ds_IntMap(); this._keysDown = new haxe_ds_IntMap(); this._turn = 2; this._tools = []; this.shouldDrawItemsSelection = true; this.pointerPressed = false; this.pointerJustReleased = false; this.pointerJustPressed = false; this.flixelPointer = new flixel_math_FlxPoint(); this.selectedItems = new flixel_group_FlxTypedGroup(); flixel_system_debug_Window.call(this,"Tools",new flixel_system_debug_GraphicInteractive(0,0),40,25,false); this.reposition(2,100); this._container = container; this._customCursor = new openfl_display_Sprite(); this._customCursor.mouseEnabled = false; this._container.addChild(this._customCursor); this.addTool(new flixel_system_debug_interaction_tools_Pointer()); this.addTool(new flixel_system_debug_interaction_tools_Mover()); this.addTool(new flixel_system_debug_interaction_tools_Eraser()); this.addTool(new flixel_system_debug_interaction_tools_Transform()); flixel_FlxG.signals.postDraw.add($bind(this,this.postDraw)); flixel_FlxG.debugger.visibilityChanged.add($bind(this,this.handleDebuggerVisibilityChanged)); openfl_Lib.get_current().stage.addEventListener("mouseMove",$bind(this,this.updateMouse)); openfl_Lib.get_current().stage.addEventListener("mouseDown",$bind(this,this.handleMouseClick)); openfl_Lib.get_current().stage.addEventListener("mouseUp",$bind(this,this.handleMouseClick)); openfl_Lib.get_current().stage.addEventListener("keyDown",$bind(this,this.handleKeyEvent)); openfl_Lib.get_current().stage.addEventListener("keyUp",$bind(this,this.handleKeyEvent)); this._container.addEventListener("mouseOver",$bind(this,this.handleMouseInDebugger)); this._container.addEventListener("mouseOut",$bind(this,this.handleMouseInDebugger)); }; $hxClasses["flixel.system.debug.interaction.Interaction"] = flixel_system_debug_interaction_Interaction; flixel_system_debug_interaction_Interaction.__name__ = "flixel.system.debug.interaction.Interaction"; flixel_system_debug_interaction_Interaction.__super__ = flixel_system_debug_Window; flixel_system_debug_interaction_Interaction.prototype = $extend(flixel_system_debug_Window.prototype,{ activeTool: null ,selectedItems: null ,flixelPointer: null ,pointerJustPressed: null ,pointerJustReleased: null ,pointerPressed: null ,shouldDrawItemsSelection: null ,_container: null ,_customCursor: null ,_tools: null ,_turn: null ,_keysDown: null ,_keysUp: null ,_wasMouseVisible: null ,_wasUsingSystemCursor: null ,_debuggerInteraction: null ,_flixelPointer: null ,handleDebuggerVisibilityChanged: function() { if(flixel_FlxG.debugger.visible) { this.saveSystemCursorInfo(); } else { this.restoreSystemCursor(); } } ,updateMouse: function(event) { if(event.stageX == null || event.stageY == null) { return; } var offsetX = 0.0; var offsetY = 0.0; if(this.activeTool != null) { var cursorIcon = this.activeTool.cursor; if(cursorIcon != null) { offsetX = cursorIcon.width / flixel_FlxG.scaleMode.scale.x / 2; offsetY = cursorIcon.height / flixel_FlxG.scaleMode.scale.y / 2; } } this._customCursor.set_x(event.stageX + offsetX); this._customCursor.set_y(event.stageY + offsetY); var _this = this._flixelPointer; _this._globalScreenX = event.stageX / flixel_FlxG.scaleMode.scale.x | 0; _this._globalScreenY = event.stageY / flixel_FlxG.scaleMode.scale.y | 0; _this.updatePositions(); this.flixelPointer.set_x(this._flixelPointer.x + offsetX); this.flixelPointer.set_y(this._flixelPointer.y + offsetY); } ,handleMouseClick: function(event) { if(event.type == "mouseDown" && this.belongsToDebugger(event.target)) { return; } this.pointerJustPressed = event.type == "mouseDown"; this.pointerJustReleased = event.type == "mouseUp"; if(this.pointerJustPressed) { this.pointerPressed = true; } else if(this.pointerJustReleased) { this.pointerPressed = false; } } ,belongsToDebugger: function(object) { if(object == null) { return false; } else if(((object) instanceof flixel_system_debug_FlxDebugger)) { return true; } return this.belongsToDebugger(object.parent); } ,handleMouseInDebugger: function(event) { if(!this.isActive()) { return; } if(event.type == "mouseOver") { this._debuggerInteraction = true; } else if(event.type == "mouseOut") { this._debuggerInteraction = false; } event.stopPropagation(); } ,handleKeyEvent: function(event) { if(event.type == "keyDown") { this._keysDown.h[event.keyCode] = true; } else if(event.type == "keyUp") { this._keysDown.h[event.keyCode] = false; this._keysUp.h[event.keyCode] = this._turn; } } ,countToolsWithUIButton: function() { var count = 0; var _g = 0; var _g1 = this._tools; while(_g < _g1.length) { var tool = _g1[_g]; ++_g; if(tool.button != null) { ++count; } } return count; } ,addTool: function(tool) { tool.init(this); this._tools.push(tool); var button = tool.button; if(button == null) { return; } var buttonsPerLine = 2; var buttons = this.countToolsWithUIButton(); var lines = Math.ceil(buttons / buttonsPerLine) | 0; var slot = buttons / lines | 0; button.set_x(-15 + slot * 25); button.set_y(20 * lines); this.addChild(button); this.resize(25 * Math.min(buttons,buttonsPerLine) + 10,25 * lines + 10); } ,destroy: function() { flixel_FlxG.signals.postDraw.remove($bind(this,this.postDraw)); flixel_FlxG.debugger.visibilityChanged.remove($bind(this,this.handleDebuggerVisibilityChanged)); openfl_Lib.get_current().stage.removeEventListener("mouseMove",$bind(this,this.updateMouse)); openfl_Lib.get_current().stage.removeEventListener("mouseDown",$bind(this,this.handleMouseClick)); openfl_Lib.get_current().stage.removeEventListener("mouseUp",$bind(this,this.handleMouseClick)); openfl_Lib.get_current().stage.removeEventListener("keyDown",$bind(this,this.handleKeyEvent)); openfl_Lib.get_current().stage.removeEventListener("keyUp",$bind(this,this.handleKeyEvent)); if(this._container != null) { this._container.removeEventListener("mouseOver",$bind(this,this.handleMouseInDebugger)); this._container.removeEventListener("mouseOut",$bind(this,this.handleMouseInDebugger)); } if(this._customCursor != null) { this._customCursor.parent.removeChild(this._customCursor); this._customCursor = null; } this._tools = flixel_util_FlxDestroyUtil.destroyArray(this._tools); this.selectedItems = flixel_util_FlxDestroyUtil.destroy(this.selectedItems); this.flixelPointer = flixel_util_FlxDestroyUtil.destroy(this.flixelPointer); this._keysDown = null; this._keysUp = null; } ,isActive: function() { if(flixel_FlxG.debugger.visible) { return this.get_visible(); } else { return false; } } ,update: function() { if(!this.isActive()) { return; } this.updateCustomCursors(); var _g = 0; var _g1 = this._tools; while(_g < _g1.length) { var tool = _g1[_g]; ++_g; tool.update(); } this.pointerJustPressed = false; this.pointerJustReleased = false; this._turn++; } ,postDraw: function() { if(!this.isActive()) { return; } var _g = 0; var _g1 = this._tools; while(_g < _g1.length) { var tool = _g1[_g]; ++_g; tool.draw(); } if(this.shouldDrawItemsSelection) { this.drawItemsSelection(); } } ,getDebugGraphics: function() { if(flixel_FlxG.renderBlit) { flixel_util_FlxSpriteUtil.flashGfx.clear(); return flixel_util_FlxSpriteUtil.flashGfx; } return null; } ,drawItemsSelection: function() { var gfx = this.getDebugGraphics(); if(gfx == null) { return; } var member = new flixel_group_FlxTypedGroupIterator(this.selectedItems.members,null); while(member.hasNext()) { var member1 = member.next(); if(member1 != null && member1.scrollFactor != null && member1.isOnScreen()) { gfx.lineStyle(0.9,16711680); gfx.drawRect(member1.x - flixel_FlxG.camera.scroll.x,member1.y - flixel_FlxG.camera.scroll.y,member1.get_width(),member1.get_height()); } } if(flixel_FlxG.renderBlit) { flixel_FlxG.camera.buffer.draw(flixel_util_FlxSpriteUtil.flashGfxSprite); } } ,getTool: function(className) { var _g = 0; var _g1 = this._tools; while(_g < _g1.length) { var tool = _g1[_g]; ++_g; if(js_Boot.__instanceof(tool,className)) { return tool; } } return null; } ,toggleVisible: function() { flixel_system_debug_Window.prototype.toggleVisible.call(this); if(!this.get_visible()) { this.setActiveTool(null); this.restoreSystemCursor(); } } ,registerCustomCursor: function(name,icon) { if(icon == null) { return; } var sprite = new openfl_display_Sprite(); sprite.set_visible(false); sprite.set_name(name); sprite.addChild(new openfl_display_Bitmap(icon)); this._customCursor.addChild(sprite); } ,updateCustomCursors: function() { if(this.activeTool != null && !this._debuggerInteraction) { if(this.activeTool.cursor != null) { var cursorInUse = this.activeTool.cursorInUse == "" ? this.activeTool.getName() : this.activeTool.cursorInUse; var _g = 0; var _g1 = this._customCursor.get_numChildren(); while(_g < _g1) { var i = _g++; var sprite = this._customCursor.getChildAt(i); sprite.set_visible(sprite.get_name() == cursorInUse); } if(flixel_FlxG.mouse.visible) { flixel_FlxG.mouse.set_visible(false); } } else { flixel_FlxG.mouse.set_useSystemCursor(true); } } else { flixel_FlxG.mouse.set_useSystemCursor(true); } } ,saveSystemCursorInfo: function() { this._wasMouseVisible = flixel_FlxG.mouse.visible; this._wasUsingSystemCursor = flixel_FlxG.mouse.useSystemCursor; } ,restoreSystemCursor: function() { flixel_FlxG.mouse.set_useSystemCursor(this._wasUsingSystemCursor); flixel_FlxG.mouse.set_visible(this._wasMouseVisible); this._customCursor.set_visible(false); } ,setActiveTool: function(value) { if(this.activeTool != null) { this.activeTool.deactivate(); this.activeTool.button.set_toggled(true); } if(this.activeTool == value) { value = null; } this.activeTool = value; if(this.activeTool != null) { this.setToolsCursorVisibility(true); this.activeTool.button.set_toggled(false); this.activeTool.activate(); this.updateCustomCursors(); } else { this.setSystemCursorVisibility(true); } flixel_FlxG.mouse.enabled = !this.isInUse(); } ,setSystemCursorVisibility: function(status) { flixel_FlxG.mouse.set_useSystemCursor(status); this._customCursor.set_visible(!status); } ,setToolsCursorVisibility: function(status) { flixel_FlxG.mouse.set_useSystemCursor(false); this._customCursor.set_visible(status); if(status) { return; } var _g = 0; var _g1 = this._customCursor.get_numChildren(); while(_g < _g1) { var i = _g++; this._customCursor.getChildAt(i).set_visible(false); } } ,clearSelection: function() { this.selectedItems.clear(); } ,keyPressed: function(key) { return this._keysDown.h[key]; } ,keyJustPressed: function(key) { var value = this._keysUp.h[key] == null ? 0 : this._keysUp.h[key]; return this._turn - value == 1; } ,isInUse: function() { if(flixel_FlxG.debugger.visible && this.get_visible()) { return this.activeTool != null; } else { return false; } } ,findItemsWithinState: function(items,state,area) { this.findItemsWithinArea(items,state.members,area); if(state.subState != null) { this.findItemsWithinState(items,state.subState,area); } } ,findItemsWithinArea: function(items,members,area) { var i = members.length; while(i-- > 0) { var member = members[i]; if(member == null || !member.visible || !member.exists) { continue; } var group = flixel_group_FlxTypedGroup.resolveGroup(member); if(group != null) { this.findItemsWithinArea(items,group.members,area); } else { var tmp; if(((member) instanceof flixel_FlxSprite)) { var Rect = (js_Boot.__cast(member , flixel_FlxSprite)).getHitbox(); var result = Rect.x + Rect.width > area.x && Rect.x < area.x + area.width && Rect.y + Rect.height > area.y && Rect.y < area.y + area.height; if(Rect._weak) { if(!Rect._inPool) { Rect._inPool = true; Rect._weak = false; flixel_math_FlxRect._pool.putUnsafe(Rect); } } tmp = result; } else { tmp = false; } if(tmp) { items.push(member); } } } } ,__class__: flixel_system_debug_interaction_Interaction }); var flixel_system_debug_interaction_tools__$Eraser_GraphicEraserTool = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_system_debug_interaction_tools__$Eraser_GraphicEraserTool.preload != null) { this.__fromImage(flixel_system_debug_interaction_tools__$Eraser_GraphicEraserTool.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug_interaction_tools__$Eraser_GraphicEraserTool.resourceName),flixel_system_debug_interaction_tools__$Eraser_GraphicEraserTool.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_system_debug_interaction_tools__$Eraser_GraphicEraserTool.preload == null) { flixel_system_debug_interaction_tools__$Eraser_GraphicEraserTool.preload = b.image; } if(onload != null && Reflect.isFunction(onload)) { onload(b); } }); } }; $hxClasses["flixel.system.debug.interaction.tools._Eraser.GraphicEraserTool"] = flixel_system_debug_interaction_tools__$Eraser_GraphicEraserTool; flixel_system_debug_interaction_tools__$Eraser_GraphicEraserTool.__name__ = "flixel.system.debug.interaction.tools._Eraser.GraphicEraserTool"; flixel_system_debug_interaction_tools__$Eraser_GraphicEraserTool.preload = null; flixel_system_debug_interaction_tools__$Eraser_GraphicEraserTool.__super__ = openfl_display_BitmapData; flixel_system_debug_interaction_tools__$Eraser_GraphicEraserTool.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_system_debug_interaction_tools__$Eraser_GraphicEraserTool }); var flixel_system_debug_interaction_tools_Tool = function() { this._name = "(Unknown tool)"; this.cursorInUse = ""; openfl_display_Sprite.call(this); }; $hxClasses["flixel.system.debug.interaction.tools.Tool"] = flixel_system_debug_interaction_tools_Tool; flixel_system_debug_interaction_tools_Tool.__name__ = "flixel.system.debug.interaction.tools.Tool"; flixel_system_debug_interaction_tools_Tool.__interfaces__ = [flixel_util_IFlxDestroyable]; flixel_system_debug_interaction_tools_Tool.__super__ = openfl_display_Sprite; flixel_system_debug_interaction_tools_Tool.prototype = $extend(openfl_display_Sprite.prototype,{ button: null ,cursor: null ,cursorInUse: null ,_name: null ,_shortcut: null ,_brain: null ,init: function(brain) { this._brain = brain; return this; } ,update: function() { } ,draw: function() { } ,activate: function() { } ,deactivate: function() { } ,destroy: function() { } ,isActive: function() { if(this._brain.activeTool == this) { return this._brain.get_visible(); } else { return false; } } ,setButton: function(Icon) { this.button = new flixel_system_ui_FlxSystemButton(Type.createInstance(Icon,[0,0]),$bind(this,this.onButtonClicked),true); this.button.set_toggled(true); var tooltip = this._name; if(this._shortcut != null) { tooltip += " (" + this._shortcut + ")"; } flixel_system_debug_Tooltip.add(this.button,tooltip); } ,setCursor: function(Icon) { this.cursor = Icon; this._brain.registerCustomCursor(this._name,this.cursor); } ,setCursorInUse: function(customCursorName) { this.cursorInUse = customCursorName; } ,useDefaultCursor: function() { if(this.cursorInUse != "") { this.cursorInUse = ""; } } ,onButtonClicked: function() { this._brain.setActiveTool(this); } ,getName: function() { return this._name; } ,__class__: flixel_system_debug_interaction_tools_Tool }); var flixel_system_debug_interaction_tools_Eraser = function() { flixel_system_debug_interaction_tools_Tool.call(this); }; $hxClasses["flixel.system.debug.interaction.tools.Eraser"] = flixel_system_debug_interaction_tools_Eraser; flixel_system_debug_interaction_tools_Eraser.__name__ = "flixel.system.debug.interaction.tools.Eraser"; flixel_system_debug_interaction_tools_Eraser.__super__ = flixel_system_debug_interaction_tools_Tool; flixel_system_debug_interaction_tools_Eraser.prototype = $extend(flixel_system_debug_interaction_tools_Tool.prototype,{ init: function(Brain) { flixel_system_debug_interaction_tools_Tool.prototype.init.call(this,Brain); this._name = "Eraser"; return this; } ,update: function() { if(this._brain.keyJustPressed(46)) { this.doDeletion(this._brain.keyPressed(16)); } } ,activate: function() { this.doDeletion(this._brain.keyPressed(16)); this._brain.setActiveTool(null); } ,doDeletion: function(remove) { var selectedItems = this._brain.selectedItems; if(selectedItems != null) { this.findAndDelete(selectedItems,remove); selectedItems.clear(); } } ,findAndDelete: function(items,remove) { if(remove == null) { remove = false; } var member = new flixel_group_FlxTypedGroupIterator(items.members,null); while(member.hasNext()) { var member1 = member.next(); if(member1 == null) { continue; } if(!((member1) instanceof flixel_group_FlxTypedGroup)) { member1.kill(); if(remove) { this.removeFromMemory(member1,flixel_FlxG.game._state); } } } } ,removeFromMemory: function(item,parentGroup) { var _g = 0; var _g1 = parentGroup.members; while(_g < _g1.length) { var member = _g1[_g]; ++_g; if(member == null) { continue; } if(((member) instanceof flixel_group_FlxTypedGroup)) { this.removeFromMemory(item,member); } else if(member == item) { parentGroup.remove(member); } } } ,__class__: flixel_system_debug_interaction_tools_Eraser }); var flixel_system_debug_interaction_tools__$Mover_GraphicMoverTool = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_system_debug_interaction_tools__$Mover_GraphicMoverTool.preload != null) { this.__fromImage(flixel_system_debug_interaction_tools__$Mover_GraphicMoverTool.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug_interaction_tools__$Mover_GraphicMoverTool.resourceName),flixel_system_debug_interaction_tools__$Mover_GraphicMoverTool.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_system_debug_interaction_tools__$Mover_GraphicMoverTool.preload == null) { flixel_system_debug_interaction_tools__$Mover_GraphicMoverTool.preload = b.image; } if(onload != null && Reflect.isFunction(onload)) { onload(b); } }); } }; $hxClasses["flixel.system.debug.interaction.tools._Mover.GraphicMoverTool"] = flixel_system_debug_interaction_tools__$Mover_GraphicMoverTool; flixel_system_debug_interaction_tools__$Mover_GraphicMoverTool.__name__ = "flixel.system.debug.interaction.tools._Mover.GraphicMoverTool"; flixel_system_debug_interaction_tools__$Mover_GraphicMoverTool.preload = null; flixel_system_debug_interaction_tools__$Mover_GraphicMoverTool.__super__ = openfl_display_BitmapData; flixel_system_debug_interaction_tools__$Mover_GraphicMoverTool.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_system_debug_interaction_tools__$Mover_GraphicMoverTool }); var flixel_system_debug_interaction_tools_Mover = function() { this._dragging = false; flixel_system_debug_interaction_tools_Tool.call(this); }; $hxClasses["flixel.system.debug.interaction.tools.Mover"] = flixel_system_debug_interaction_tools_Mover; flixel_system_debug_interaction_tools_Mover.__name__ = "flixel.system.debug.interaction.tools.Mover"; flixel_system_debug_interaction_tools_Mover.__super__ = flixel_system_debug_interaction_tools_Tool; flixel_system_debug_interaction_tools_Mover.prototype = $extend(flixel_system_debug_interaction_tools_Tool.prototype,{ _dragging: null ,_lastCursorPosition: null ,init: function(brain) { flixel_system_debug_interaction_tools_Tool.prototype.init.call(this,brain); this._lastCursorPosition = new flixel_math_FlxPoint(brain.flixelPointer.x,brain.flixelPointer.x); this._name = "Mover"; this._shortcut = "Shift"; this.setButton(flixel_system_debug_interaction_tools__$Mover_GraphicMoverTool); this.setCursor(new flixel_system_debug_interaction_tools__$Mover_GraphicMoverTool(0,0)); return this; } ,update: function() { if(!this.isActive() && !this._brain.keyPressed(16)) { return; } if(this._brain.pointerPressed && !this._dragging) { this.startDragging(); } else if(this._brain.pointerPressed && this._dragging) { this.doDragging(); } else if(this._brain.pointerJustReleased) { this.stopDragging(); } this._lastCursorPosition.set_x(this._brain.flixelPointer.x); this._lastCursorPosition.set_y(this._brain.flixelPointer.y); } ,stopDragging: function() { this._dragging = false; } ,startDragging: function() { if(this._dragging) { return; } this._dragging = true; if(!this.isActive() && ((this._brain.activeTool) instanceof flixel_system_debug_interaction_tools_Pointer)) { this._brain.activeTool.cancelSelection(); } } ,doDragging: function() { var dx = this._brain.flixelPointer.x - this._lastCursorPosition.x; var dy = this._brain.flixelPointer.y - this._lastCursorPosition.y; var _g = 0; var _g1 = this._brain.selectedItems.members; while(_g < _g1.length) { var member = _g1[_g]; ++_g; if(!((member) instanceof flixel_FlxObject)) { continue; } var object = member; if(object != null) { var _g2 = object; _g2.set_x(_g2.x + dx); var _g3 = object; _g3.set_y(_g3.y + dy); } } } ,__class__: flixel_system_debug_interaction_tools_Mover }); var flixel_system_debug_interaction_tools_GraphicCursorCross = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_system_debug_interaction_tools_GraphicCursorCross.preload != null) { this.__fromImage(flixel_system_debug_interaction_tools_GraphicCursorCross.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug_interaction_tools_GraphicCursorCross.resourceName),flixel_system_debug_interaction_tools_GraphicCursorCross.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_system_debug_interaction_tools_GraphicCursorCross.preload == null) { flixel_system_debug_interaction_tools_GraphicCursorCross.preload = b.image; } if(onload != null && Reflect.isFunction(onload)) { onload(b); } }); } }; $hxClasses["flixel.system.debug.interaction.tools.GraphicCursorCross"] = flixel_system_debug_interaction_tools_GraphicCursorCross; flixel_system_debug_interaction_tools_GraphicCursorCross.__name__ = "flixel.system.debug.interaction.tools.GraphicCursorCross"; flixel_system_debug_interaction_tools_GraphicCursorCross.preload = null; flixel_system_debug_interaction_tools_GraphicCursorCross.__super__ = openfl_display_BitmapData; flixel_system_debug_interaction_tools_GraphicCursorCross.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_system_debug_interaction_tools_GraphicCursorCross }); var flixel_system_debug_interaction_tools_Pointer = function() { this._itemsInSelectionArea = []; this._selectionArea = new flixel_math_FlxRect(); this._selectionCancelled = false; this._selectionHappening = false; this._selectionEndPoint = new flixel_math_FlxPoint(); this._selectionStartPoint = new flixel_math_FlxPoint(); flixel_system_debug_interaction_tools_Tool.call(this); }; $hxClasses["flixel.system.debug.interaction.tools.Pointer"] = flixel_system_debug_interaction_tools_Pointer; flixel_system_debug_interaction_tools_Pointer.__name__ = "flixel.system.debug.interaction.tools.Pointer"; flixel_system_debug_interaction_tools_Pointer.__super__ = flixel_system_debug_interaction_tools_Tool; flixel_system_debug_interaction_tools_Pointer.prototype = $extend(flixel_system_debug_interaction_tools_Tool.prototype,{ _selectionStartPoint: null ,_selectionEndPoint: null ,_selectionHappening: null ,_selectionCancelled: null ,_selectionArea: null ,_itemsInSelectionArea: null ,init: function(brain) { flixel_system_debug_interaction_tools_Tool.prototype.init.call(this,brain); this._name = "Pointer"; this.setButton(flixel_system_debug_interaction_tools_GraphicCursorCross); this.setCursor(new flixel_system_debug_interaction_tools_GraphicCursorCross(0,0)); return this; } ,update: function() { if(!this.isActive()) { return; } if(this._brain.pointerJustPressed && !this._selectionHappening) { this.startSelection(); } if(this._selectionHappening) { this._selectionEndPoint.set(this._brain.flixelPointer.x,this._brain.flixelPointer.y); this.calculateSelectionArea(); } if(!this._brain.pointerJustReleased) { return; } if(this._selectionHappening) { this.stopSelection(); } if(this._itemsInSelectionArea.length > 0) { this.handleItemAddition(this._itemsInSelectionArea); } else if(!this._brain.keyPressed(17) && !this._selectionCancelled) { this._brain.clearSelection(); } } ,calculateSelectionArea: function() { this._selectionArea.x = this._selectionStartPoint.x; this._selectionArea.y = this._selectionStartPoint.y; this._selectionArea.width = this._selectionEndPoint.x - this._selectionArea.x; this._selectionArea.height = this._selectionEndPoint.y - this._selectionArea.y; if(this._selectionArea.width < 0) { this._selectionArea.width *= -1; this._selectionArea.x -= this._selectionArea.width; } if(this._selectionArea.height < 0) { this._selectionArea.height *= -1; this._selectionArea.y -= this._selectionArea.height; } } ,startSelection: function() { this._selectionHappening = true; this._selectionCancelled = false; this._selectionStartPoint.set(this._brain.flixelPointer.x,this._brain.flixelPointer.y); flixel_util_FlxArrayUtil.clearArray(this._itemsInSelectionArea); this.updateConsoleSelection(); } ,cancelSelection: function() { if(!this._selectionHappening) { return; } this._selectionCancelled = true; this.stopSelection(false); } ,stopSelection: function(findItems) { if(findItems == null) { findItems = true; } if(!this._selectionHappening) { return; } this._selectionEndPoint.set(this._brain.flixelPointer.x,this._brain.flixelPointer.y); this.calculateSelectionArea(); if(findItems) { this._brain.findItemsWithinState(this._itemsInSelectionArea,flixel_FlxG.game._state,this._selectionArea); this.updateConsoleSelection(); } this._selectionHappening = false; var _this = this._selectionArea; var X = 0; var Y = 0; var Width = 0; var Height = 0; if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } _this.x = X; _this.y = Y; _this.width = Width; _this.height = Height; } ,updateConsoleSelection: function() { } ,handleItemAddition: function(itemsInSelectionArea) { var adding = this._brain.keyPressed(17); var selectedItems = this._brain.selectedItems; if(itemsInSelectionArea.length == 0) { return; } if(!adding) { this._brain.clearSelection(); } var _g = 0; while(_g < itemsInSelectionArea.length) { var item = itemsInSelectionArea[_g]; ++_g; if(selectedItems.members.indexOf(item) != -1 && adding) { selectedItems.remove(item); } else { selectedItems.add(item); } } } ,draw: function() { var gfx = this._brain.getDebugGraphics(); if(gfx == null) { return; } if(this._selectionHappening) { gfx.lineStyle(0.9,12255232); gfx.drawRect(this._selectionArea.x - flixel_FlxG.camera.scroll.x,this._selectionArea.y - flixel_FlxG.camera.scroll.y,this._selectionArea.width,this._selectionArea.height); } if(flixel_FlxG.renderBlit) { flixel_FlxG.camera.buffer.draw(flixel_util_FlxSpriteUtil.flashGfxSprite); } } ,__class__: flixel_system_debug_interaction_tools_Pointer }); var flixel_system_debug_interaction_tools__$Transform_GraphicTransformTool = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_system_debug_interaction_tools__$Transform_GraphicTransformTool.preload != null) { this.__fromImage(flixel_system_debug_interaction_tools__$Transform_GraphicTransformTool.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug_interaction_tools__$Transform_GraphicTransformTool.resourceName),flixel_system_debug_interaction_tools__$Transform_GraphicTransformTool.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_system_debug_interaction_tools__$Transform_GraphicTransformTool.preload == null) { flixel_system_debug_interaction_tools__$Transform_GraphicTransformTool.preload = b.image; } if(onload != null && Reflect.isFunction(onload)) { onload(b); } }); } }; $hxClasses["flixel.system.debug.interaction.tools._Transform.GraphicTransformTool"] = flixel_system_debug_interaction_tools__$Transform_GraphicTransformTool; flixel_system_debug_interaction_tools__$Transform_GraphicTransformTool.__name__ = "flixel.system.debug.interaction.tools._Transform.GraphicTransformTool"; flixel_system_debug_interaction_tools__$Transform_GraphicTransformTool.preload = null; flixel_system_debug_interaction_tools__$Transform_GraphicTransformTool.__super__ = openfl_display_BitmapData; flixel_system_debug_interaction_tools__$Transform_GraphicTransformTool.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_system_debug_interaction_tools__$Transform_GraphicTransformTool }); var flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorDefault = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorDefault.preload != null) { this.__fromImage(flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorDefault.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorDefault.resourceName),flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorDefault.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorDefault.preload == null) { flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorDefault.preload = b.image; } if(onload != null && Reflect.isFunction(onload)) { onload(b); } }); } }; $hxClasses["flixel.system.debug.interaction.tools._Transform.GraphicTransformCursorDefault"] = flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorDefault; flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorDefault.__name__ = "flixel.system.debug.interaction.tools._Transform.GraphicTransformCursorDefault"; flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorDefault.preload = null; flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorDefault.__super__ = openfl_display_BitmapData; flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorDefault.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorDefault }); var flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleY = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleY.preload != null) { this.__fromImage(flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleY.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleY.resourceName),flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleY.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleY.preload == null) { flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleY.preload = b.image; } if(onload != null && Reflect.isFunction(onload)) { onload(b); } }); } }; $hxClasses["flixel.system.debug.interaction.tools._Transform.GraphicTransformCursorScaleY"] = flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleY; flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleY.__name__ = "flixel.system.debug.interaction.tools._Transform.GraphicTransformCursorScaleY"; flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleY.preload = null; flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleY.__super__ = openfl_display_BitmapData; flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleY.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleY }); var flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleX = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleX.preload != null) { this.__fromImage(flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleX.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleX.resourceName),flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleX.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleX.preload == null) { flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleX.preload = b.image; } if(onload != null && Reflect.isFunction(onload)) { onload(b); } }); } }; $hxClasses["flixel.system.debug.interaction.tools._Transform.GraphicTransformCursorScaleX"] = flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleX; flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleX.__name__ = "flixel.system.debug.interaction.tools._Transform.GraphicTransformCursorScaleX"; flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleX.preload = null; flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleX.__super__ = openfl_display_BitmapData; flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleX.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleX }); var flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleXY = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleXY.preload != null) { this.__fromImage(flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleXY.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleXY.resourceName),flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleXY.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleXY.preload == null) { flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleXY.preload = b.image; } if(onload != null && Reflect.isFunction(onload)) { onload(b); } }); } }; $hxClasses["flixel.system.debug.interaction.tools._Transform.GraphicTransformCursorScaleXY"] = flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleXY; flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleXY.__name__ = "flixel.system.debug.interaction.tools._Transform.GraphicTransformCursorScaleXY"; flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleXY.preload = null; flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleXY.__super__ = openfl_display_BitmapData; flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleXY.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleXY }); var flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorRotate = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorRotate.preload != null) { this.__fromImage(flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorRotate.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorRotate.resourceName),flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorRotate.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorRotate.preload == null) { flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorRotate.preload = b.image; } if(onload != null && Reflect.isFunction(onload)) { onload(b); } }); } }; $hxClasses["flixel.system.debug.interaction.tools._Transform.GraphicTransformCursorRotate"] = flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorRotate; flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorRotate.__name__ = "flixel.system.debug.interaction.tools._Transform.GraphicTransformCursorRotate"; flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorRotate.preload = null; flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorRotate.__super__ = openfl_display_BitmapData; flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorRotate.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorRotate }); var flixel_system_debug_interaction_tools_Transform = function() { this._mouseCursor = new flixel_math_FlxPoint(); this._targetArea = new flixel_math_FlxRect(); this._markers = []; this._actionScaleDirection = new flixel_math_FlxPoint(); this._actionStartPoint = new flixel_math_FlxPoint(); this._actionTargetStartScale = new flixel_math_FlxPoint(); flixel_system_debug_interaction_tools_Tool.call(this); }; $hxClasses["flixel.system.debug.interaction.tools.Transform"] = flixel_system_debug_interaction_tools_Transform; flixel_system_debug_interaction_tools_Transform.__name__ = "flixel.system.debug.interaction.tools.Transform"; flixel_system_debug_interaction_tools_Transform.__super__ = flixel_system_debug_interaction_tools_Tool; flixel_system_debug_interaction_tools_Transform.prototype = $extend(flixel_system_debug_interaction_tools_Tool.prototype,{ _actionTargetStartScale: null ,_actionTargetStartAngle: null ,_actionStartPoint: null ,_actionHappening: null ,_actionMarker: null ,_actionScaleDirection: null ,_tooltip: null ,_markers: null ,_target: null ,_targetArea: null ,_mouseCursor: null ,init: function(brain) { var _gthis = this; flixel_system_debug_interaction_tools_Tool.prototype.init.call(this,brain); this._name = "Transform"; this.setButton(flixel_system_debug_interaction_tools__$Transform_GraphicTransformTool); this.setCursor(new flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorDefault(0,0)); brain.registerCustomCursor("transformRotate",new flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorRotate(0,0)); brain.registerCustomCursor("transformScaleX",new flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleX(0,0)); brain.registerCustomCursor("transformScaleY",new flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleY(0,0)); brain.registerCustomCursor("transformScaleXY",new flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleXY(0,0)); this._tooltip = flixel_system_debug_Tooltip.add(null,""); this._tooltip.textField.set_wordWrap(false); this._markers.push(new flixel_math_FlxPoint()); this._markers.push(new flixel_math_FlxPoint()); this._markers.push(new flixel_math_FlxPoint()); this._markers.push(new flixel_math_FlxPoint()); this.stopAction(); flixel_FlxG.signals.preStateSwitch.add(function() { _gthis._target = null; }); return this; } ,updateTargetArea: function() { if(this._target == null) { var _this = this._targetArea; _this.x = 0; _this.y = 0; var _this1 = this._targetArea; _this1.width = 0; _this1.height = 0; } else { var _this2 = this._targetArea; _this2.x = this._target.x - flixel_FlxG.camera.scroll.x; _this2.y = this._target.y - flixel_FlxG.camera.scroll.y; var _this3 = this._targetArea; var Width = this._target.get_width(); var Height = this._target.get_height(); _this3.width = Width; _this3.height = Height; } } ,startAction: function(whichMarker) { if(this._actionHappening) { return; } this._actionHappening = true; this._actionMarker = whichMarker; this._actionStartPoint.set(this._brain.flixelPointer.x - flixel_FlxG.camera.scroll.x,this._brain.flixelPointer.y - flixel_FlxG.camera.scroll.y); this._actionTargetStartAngle = flixel_math_FlxAngle.angleBetweenPoint(this._target,this._markers[0],true); this._actionTargetStartScale.set(this._target.scale.x,this._target.scale.y); } ,stopAction: function() { this._actionHappening = false; this._actionMarker = -1; this._tooltip.setVisible(false); } ,getCursorNameByMarker: function(marker) { switch(marker) { case 0: return "transformRotate"; case 1: return "transformScaleX"; case 2: return "transformScaleXY"; case 3: return "transformScaleY"; default: return ""; } } ,handleInteractionsWithMarkersUI: function() { if(this._actionHappening) { return; } var cursorName = ""; var _g = 0; var _g1 = this._markers.length; while(_g < _g1) { var i = _g++; if(this._mouseCursor.distanceTo(this._markers[i]) <= 5.0) { cursorName = this.getCursorNameByMarker(i); if(this._brain.pointerJustPressed) { this.startAction(i); break; } } } if(cursorName != "") { this.setCursorInUse(cursorName); } else { this.useDefaultCursor(); } } ,formatFloat: function(number) { var value = flixel_math_FlxMath.roundDecimal(number,flixel_FlxG.debugger.precision); if(value == null) { return "null"; } else { return "" + value; } } ,showTooltip: function(text) { if(!this._tooltip.get_visible()) { this._tooltip.setVisible(true); } this._tooltip.set_x(this._target.x - flixel_FlxG.camera.scroll.x); this._tooltip.set_y(this._target.y - flixel_FlxG.camera.scroll.y); this._tooltip.setText(text); } ,updateScaleActionDirection: function() { var deltaX = this._mouseCursor.x - this._actionStartPoint.x; var deltaY = this._mouseCursor.y - this._actionStartPoint.y; this._actionScaleDirection.set_x(deltaX >= 0 ? 1 : -1); this._actionScaleDirection.set_y(deltaY >= 0 ? 1 : -1); } ,updateScaleAction: function() { this.updateScaleActionDirection(); var deltaX = this._actionScaleDirection.x * Math.abs(this._mouseCursor.x - this._actionStartPoint.x) / 10.0; var deltaY = this._actionScaleDirection.y * Math.abs(this._mouseCursor.y - this._actionStartPoint.y) / 10.0; if(this._actionMarker == 1 || this._actionMarker == 2) { this._target.scale.set_x(this._actionTargetStartScale.x + deltaX); } if(this._actionMarker == 2 || this._actionMarker == 3) { this._target.scale.set_y(this._actionTargetStartScale.y + deltaY); } this._target.updateHitbox(); var _this = this._target; _this.origin.set(_this.frameWidth * 0.5,_this.frameHeight * 0.5); this.showTooltip("w: " + this.formatFloat(this._target.get_width()) + "\nh: " + this.formatFloat(this._target.get_height())); } ,updateRotateAction: function() { this._target.set_angle(flixel_math_FlxAngle.angleBetweenPoint(this._target,this._brain.flixelPointer,true) - this._actionTargetStartAngle); this.showTooltip("deg: " + this.formatFloat(this._target.angle) + "\nrad: " + this.formatFloat(this._target.angle * (Math.PI / 180))); } ,updateAction: function() { if(!this._actionHappening || this._actionMarker < 0) { return; } if(this._actionMarker == 0) { this.updateRotateAction(); } else { this.updateScaleAction(); } } ,updateMarkersPosition: function() { var topLeftX = this._targetArea.x - 5.0; var topLeftY = this._targetArea.y - 5.0; var width = this._targetArea.width + 10.; var height = this._targetArea.height + 10.; this._markers[0].set(topLeftX,topLeftY); this._markers[1].set(topLeftX + width,topLeftY); this._markers[2].set(topLeftX + width,topLeftY + height); this._markers[3].set(topLeftX,topLeftY + height); if(this._target.angle != 0) { this.updateMarkersRotation(width,height); } } ,updateMarkersRotation: function(outlineWidth,outlineHeight) { var rotationAngleRad = this._target.angle * (Math.PI / 180); var originX = this._markers[0].x + outlineWidth / 2; var originY = this._markers[0].y + outlineHeight / 2; var n = rotationAngleRad + 1.570796327; n *= 0.3183098862; if(n > 1) { n -= Math.ceil(n) >> 1 << 1; } else if(n < -1) { n += Math.ceil(-n) >> 1 << 1; } var cos = n > 0 ? n * (3.1 + n * (0.5 + n * (-7.2 + n * 3.6))) : n * (3.1 - n * (0.5 + n * (7.2 + n * 3.6))); var n1 = rotationAngleRad; n1 *= 0.3183098862; if(n1 > 1) { n1 -= Math.ceil(n1) >> 1 << 1; } else if(n1 < -1) { n1 += Math.ceil(-n1) >> 1 << 1; } var sin = n1 > 0 ? n1 * (3.1 + n1 * (0.5 + n1 * (-7.2 + n1 * 3.6))) : n1 * (3.1 - n1 * (0.5 + n1 * (7.2 + n1 * 3.6))); var _g = 0; var _g1 = this._markers; while(_g < _g1.length) { var marker = _g1[_g]; ++_g; var rotatedX = (marker.x - originX) * cos - (marker.y - originY) * sin; var rotatedY = (marker.x - originX) * sin + (marker.y - originY) * cos; marker.set(rotatedX + originX,rotatedY + originY); } } ,update: function() { if(!this.isActive() || this._target == null) { return; } this._mouseCursor.set_x(this._brain.flixelPointer.x - flixel_FlxG.camera.scroll.x); this._mouseCursor.set_y(this._brain.flixelPointer.y - flixel_FlxG.camera.scroll.y); this.updateTargetArea(); this.updateMarkersPosition(); this.handleInteractionsWithMarkersUI(); if(this._actionHappening) { this.updateAction(); if(this._brain.pointerJustReleased) { this.stopAction(); } } } ,drawTargetAreaOutline: function(gfx) { gfx.lineStyle(0.9,-65281,1.0,false,2,2); gfx.moveTo(this._markers[0].x,this._markers[0].y); var _g = 0; var _g1 = this._markers.length; while(_g < _g1) { var i = _g++; gfx.lineTo(this._markers[i].x,this._markers[i].y); } gfx.lineTo(this._markers[0].x,this._markers[0].y); } ,drawMarkers: function(gfx) { gfx.lineStyle(0.9,-65281,1.0,false,2,2); gfx.beginFill(-65281); var _g = 0; var _g1 = this._markers.length; while(_g < _g1) { var i = _g++; if(i == 0) { gfx.drawCircle(this._markers[i].x,this._markers[i].y,2.7); } else { gfx.drawRect(this._markers[i].x - 1.5,this._markers[i].y - 1.5,3.0,3.0); } } gfx.endFill(); } ,draw: function() { var gfx = this._brain.getDebugGraphics(); if(gfx == null || this._target == null || !this.isActive()) { return; } this.drawTargetAreaOutline(gfx); this.drawMarkers(gfx); if(flixel_FlxG.renderBlit) { flixel_FlxG.camera.buffer.draw(flixel_util_FlxSpriteUtil.flashGfxSprite); } } ,activate: function() { this._target = null; if(this._brain.selectedItems.length == 0) { return; } var member = new flixel_group_FlxTypedGroupIterator(this._brain.selectedItems.members,null); while(member.hasNext()) { var member1 = member.next(); if(member1 != null && member1.scrollFactor != null && member1.isOnScreen()) { this._target = member1; break; } } this._brain.shouldDrawItemsSelection = false; } ,deactivate: function() { this._brain.shouldDrawItemsSelection = true; } ,__class__: flixel_system_debug_interaction_tools_Transform }); var flixel_system_debug_log_LogStyle = function(Prefix,Color,Size,Bold,Italic,Underlined,ErrorSound,OpenConsole,CallbackFunction) { if(OpenConsole == null) { OpenConsole = false; } if(Underlined == null) { Underlined = false; } if(Italic == null) { Italic = false; } if(Bold == null) { Bold = false; } if(Size == null) { Size = 12; } if(Color == null) { Color = "FFFFFF"; } if(Prefix == null) { Prefix = ""; } this.prefix = Prefix; this.color = Color; this.size = Size; this.bold = Bold; this.italic = Italic; this.underlined = Underlined; this.errorSound = ErrorSound; this.openConsole = OpenConsole; this.callbackFunction = CallbackFunction; }; $hxClasses["flixel.system.debug.log.LogStyle"] = flixel_system_debug_log_LogStyle; flixel_system_debug_log_LogStyle.__name__ = "flixel.system.debug.log.LogStyle"; flixel_system_debug_log_LogStyle.prototype = { prefix: null ,color: null ,size: null ,bold: null ,italic: null ,underlined: null ,errorSound: null ,openConsole: null ,callbackFunction: null ,__class__: flixel_system_debug_log_LogStyle }; var flixel_system_debug_stats__$Stats_GraphicMinimizeButton = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_system_debug_stats__$Stats_GraphicMinimizeButton.preload != null) { this.__fromImage(flixel_system_debug_stats__$Stats_GraphicMinimizeButton.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug_stats__$Stats_GraphicMinimizeButton.resourceName),flixel_system_debug_stats__$Stats_GraphicMinimizeButton.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_system_debug_stats__$Stats_GraphicMinimizeButton.preload == null) { flixel_system_debug_stats__$Stats_GraphicMinimizeButton.preload = b.image; } if(onload != null && Reflect.isFunction(onload)) { onload(b); } }); } }; $hxClasses["flixel.system.debug.stats._Stats.GraphicMinimizeButton"] = flixel_system_debug_stats__$Stats_GraphicMinimizeButton; flixel_system_debug_stats__$Stats_GraphicMinimizeButton.__name__ = "flixel.system.debug.stats._Stats.GraphicMinimizeButton"; flixel_system_debug_stats__$Stats_GraphicMinimizeButton.preload = null; flixel_system_debug_stats__$Stats_GraphicMinimizeButton.__super__ = openfl_display_BitmapData; flixel_system_debug_stats__$Stats_GraphicMinimizeButton.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_system_debug_stats__$Stats_GraphicMinimizeButton }); var flixel_system_debug_stats__$Stats_GraphicMaximizeButton = function(width,height,transparent,fillRGBA,onload) { if(fillRGBA == null) { fillRGBA = -1; } if(transparent == null) { transparent = true; } openfl_display_BitmapData.call(this,0,0,transparent,fillRGBA); if(flixel_system_debug_stats__$Stats_GraphicMaximizeButton.preload != null) { this.__fromImage(flixel_system_debug_stats__$Stats_GraphicMaximizeButton.preload); } else { var _gthis = this; lime_graphics_Image.loadFromBase64(haxe_Resource.getString(flixel_system_debug_stats__$Stats_GraphicMaximizeButton.resourceName),flixel_system_debug_stats__$Stats_GraphicMaximizeButton.resourceType).then(function(image) { _gthis.__fromImage(image); return lime_app_Future.withValue(_gthis); }).onComplete(function(b) { if(flixel_system_debug_stats__$Stats_GraphicMaximizeButton.preload == null) { flixel_system_debug_stats__$Stats_GraphicMaximizeButton.preload = b.image; } if(onload != null && Reflect.isFunction(onload)) { onload(b); } }); } }; $hxClasses["flixel.system.debug.stats._Stats.GraphicMaximizeButton"] = flixel_system_debug_stats__$Stats_GraphicMaximizeButton; flixel_system_debug_stats__$Stats_GraphicMaximizeButton.__name__ = "flixel.system.debug.stats._Stats.GraphicMaximizeButton"; flixel_system_debug_stats__$Stats_GraphicMaximizeButton.preload = null; flixel_system_debug_stats__$Stats_GraphicMaximizeButton.__super__ = openfl_display_BitmapData; flixel_system_debug_stats__$Stats_GraphicMaximizeButton.prototype = $extend(openfl_display_BitmapData.prototype,{ __class__: flixel_system_debug_stats__$Stats_GraphicMaximizeButton }); var flixel_system_debug_watch_Watch = function(Title,Icon,Width,Height,Resizable,Bounds,Closable,AlwaysOnTop) { flixel_system_debug_Window.call(this,Title,Icon,Width,Height,Resizable,Bounds,Closable,AlwaysOnTop); }; $hxClasses["flixel.system.debug.watch.Watch"] = flixel_system_debug_watch_Watch; flixel_system_debug_watch_Watch.__name__ = "flixel.system.debug.watch.Watch"; flixel_system_debug_watch_Watch.__super__ = flixel_system_debug_Window; flixel_system_debug_watch_Watch.prototype = $extend(flixel_system_debug_Window.prototype,{ __class__: flixel_system_debug_watch_Watch }); var flixel_system_debug_watch_Tracker = function(Title,Icon,Width,Height,Resizable,Bounds,Closable,AlwaysOnTop) { flixel_system_debug_watch_Watch.call(this,Title,Icon,Width,Height,Resizable,Bounds,Closable,AlwaysOnTop); }; $hxClasses["flixel.system.debug.watch.Tracker"] = flixel_system_debug_watch_Tracker; flixel_system_debug_watch_Tracker.__name__ = "flixel.system.debug.watch.Tracker"; flixel_system_debug_watch_Tracker.__super__ = flixel_system_debug_watch_Watch; flixel_system_debug_watch_Tracker.prototype = $extend(flixel_system_debug_watch_Watch.prototype,{ __class__: flixel_system_debug_watch_Tracker }); var flixel_system_debug_watch_TrackerProfile = function(ObjectClass,Variables,Extensions) { this.objectClass = ObjectClass; this.variables = Variables; this.extensions = Extensions; }; $hxClasses["flixel.system.debug.watch.TrackerProfile"] = flixel_system_debug_watch_TrackerProfile; flixel_system_debug_watch_TrackerProfile.__name__ = "flixel.system.debug.watch.TrackerProfile"; flixel_system_debug_watch_TrackerProfile.prototype = { objectClass: null ,variables: null ,extensions: null ,toString: function() { var value = this.variables; var _this = flixel_util_LabelValuePair._pool.get(); _this.label = "variables"; _this.value = value; var value1 = this.extensions; var _this1 = flixel_util_LabelValuePair._pool.get(); _this1.label = "extensions"; _this1.value = value1; return flixel_util_FlxStringUtil.getDebugString([_this,_this1]); } ,__class__: flixel_system_debug_watch_TrackerProfile }; var flixel_system_frontEnds_FlxBrowser = $hxEnums["flixel.system.frontEnds.FlxBrowser"] = { __ename__ : "flixel.system.frontEnds.FlxBrowser", __constructs__ : ["INTERNET_EXPLORER","CHROME","FIREFOX","SAFARI","OPERA","UNKNOWN"] ,INTERNET_EXPLORER: {_hx_index:0,__enum__:"flixel.system.frontEnds.FlxBrowser",toString:$estr} ,CHROME: {_hx_index:1,__enum__:"flixel.system.frontEnds.FlxBrowser",toString:$estr} ,FIREFOX: {_hx_index:2,__enum__:"flixel.system.frontEnds.FlxBrowser",toString:$estr} ,SAFARI: {_hx_index:3,__enum__:"flixel.system.frontEnds.FlxBrowser",toString:$estr} ,OPERA: {_hx_index:4,__enum__:"flixel.system.frontEnds.FlxBrowser",toString:$estr} ,UNKNOWN: {_hx_index:5,__enum__:"flixel.system.frontEnds.FlxBrowser",toString:$estr} }; var flixel_system_frontEnds_FlxPlatform = $hxEnums["flixel.system.frontEnds.FlxPlatform"] = { __ename__ : "flixel.system.frontEnds.FlxPlatform", __constructs__ : ["WINDOWS","LINUX","MAC","ANDROID","BLACKBERRY","WINDOWS_PHONE","IOS","UNKNOWN"] ,WINDOWS: {_hx_index:0,__enum__:"flixel.system.frontEnds.FlxPlatform",toString:$estr} ,LINUX: {_hx_index:1,__enum__:"flixel.system.frontEnds.FlxPlatform",toString:$estr} ,MAC: {_hx_index:2,__enum__:"flixel.system.frontEnds.FlxPlatform",toString:$estr} ,ANDROID: {_hx_index:3,__enum__:"flixel.system.frontEnds.FlxPlatform",toString:$estr} ,BLACKBERRY: {_hx_index:4,__enum__:"flixel.system.frontEnds.FlxPlatform",toString:$estr} ,WINDOWS_PHONE: {_hx_index:5,__enum__:"flixel.system.frontEnds.FlxPlatform",toString:$estr} ,IOS: ($_=function(device) { return {_hx_index:6,device:device,__enum__:"flixel.system.frontEnds.FlxPlatform",toString:$estr}; },$_.__params__ = ["device"],$_) ,UNKNOWN: {_hx_index:7,__enum__:"flixel.system.frontEnds.FlxPlatform",toString:$estr} }; var flixel_system_frontEnds_FlxIOSDevice = $hxEnums["flixel.system.frontEnds.FlxIOSDevice"] = { __ename__ : "flixel.system.frontEnds.FlxIOSDevice", __constructs__ : ["IPHONE","IPAD","IPOD"] ,IPHONE: {_hx_index:0,__enum__:"flixel.system.frontEnds.FlxIOSDevice",toString:$estr} ,IPAD: {_hx_index:1,__enum__:"flixel.system.frontEnds.FlxIOSDevice",toString:$estr} ,IPOD: {_hx_index:2,__enum__:"flixel.system.frontEnds.FlxIOSDevice",toString:$estr} }; var flixel_system_frontEnds_PluginFrontEnd = function() { this.list = []; this.add_flixel_util_FlxTimerManager(flixel_util_FlxTimer.globalManager = new flixel_util_FlxTimerManager()); this.add_flixel_tweens_FlxTweenManager(flixel_tweens_FlxTween.globalManager = new flixel_tweens_FlxTweenManager()); }; $hxClasses["flixel.system.frontEnds.PluginFrontEnd"] = flixel_system_frontEnds_PluginFrontEnd; flixel_system_frontEnds_PluginFrontEnd.__name__ = "flixel.system.frontEnds.PluginFrontEnd"; flixel_system_frontEnds_PluginFrontEnd.prototype = { add_flixel_tweens_FlxTweenManager: function(Plugin1) { var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var plugin = _g1[_g]; ++_g; if(flixel_util_FlxStringUtil.getClassName(Plugin1,true) == flixel_util_FlxStringUtil.getClassName(plugin,true)) { return Plugin1; } } this.list.push(Plugin1); return Plugin1; } ,add_flixel_util_FlxTimerManager: function(Plugin1) { var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var plugin = _g1[_g]; ++_g; if(flixel_util_FlxStringUtil.getClassName(Plugin1,true) == flixel_util_FlxStringUtil.getClassName(plugin,true)) { return Plugin1; } } this.list.push(Plugin1); return Plugin1; } ,list: null ,get: function(ClassType) { var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var plugin = _g1[_g]; ++_g; if(js_Boot.__instanceof(plugin,ClassType)) { return plugin; } } return null; } ,remove: function(Plugin1) { var i = this.list.length - 1; while(i >= 0) { if(this.list[i] == Plugin1) { this.list.splice(i,1); return Plugin1; } --i; } return Plugin1; } ,removeType: function(ClassType) { var results = false; var i = this.list.length - 1; while(i >= 0) { if(js_Boot.__instanceof(this.list[i],ClassType)) { this.list.splice(i,1); results = true; } --i; } return results; } ,update: function(elapsed) { var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var plugin = _g1[_g]; ++_g; if(plugin.exists && plugin.active) { plugin.update(elapsed); } } } ,draw: function() { var _g = 0; var _g1 = this.list; while(_g < _g1.length) { var plugin = _g1[_g]; ++_g; if(plugin.exists && plugin.visible) { plugin.draw(); } } } ,__class__: flixel_system_frontEnds_PluginFrontEnd }; var flixel_system_frontEnds_SoundFrontEnd = function() { this.volume = 1; this.list = new flixel_group_FlxTypedGroup(); this.defaultSoundGroup = new flixel_system_FlxSoundGroup(); this.defaultMusicGroup = new flixel_system_FlxSoundGroup(); this.soundTrayEnabled = true; this.muteKeys = [48,96]; this.volumeDownKeys = [189,109]; this.volumeUpKeys = [187,107]; this.muted = false; this.loadSavedPrefs(); }; $hxClasses["flixel.system.frontEnds.SoundFrontEnd"] = flixel_system_frontEnds_SoundFrontEnd; flixel_system_frontEnds_SoundFrontEnd.__name__ = "flixel.system.frontEnds.SoundFrontEnd"; flixel_system_frontEnds_SoundFrontEnd.prototype = { music: null ,muted: null ,volumeHandler: null ,volumeUpKeys: null ,volumeDownKeys: null ,muteKeys: null ,soundTrayEnabled: null ,defaultMusicGroup: null ,defaultSoundGroup: null ,list: null ,volume: null ,playMusic: function(Music,Volume,Looped,Group) { if(Looped == null) { Looped = true; } if(Volume == null) { Volume = 1; } if(this.music == null) { this.music = new flixel_system_FlxSound(); } else if(this.music.active) { var _this = this.music; _this.cleanup(_this.autoDestroy,true); } this.music.loadEmbedded(Music,Looped); this.music.set_volume(Volume); this.music.persist = true; this.music.set_group(Group == null ? this.defaultMusicGroup : Group); this.music.play(); } ,load: function(EmbeddedSound,Volume,Looped,Group,AutoDestroy,AutoPlay,URL1,OnComplete,OnLoad) { if(AutoPlay == null) { AutoPlay = false; } if(AutoDestroy == null) { AutoDestroy = false; } if(Looped == null) { Looped = false; } if(Volume == null) { Volume = 1; } if(EmbeddedSound == null && URL1 == null) { return null; } var sound = this.list.recycle(flixel_system_FlxSound); if(EmbeddedSound != null) { sound.loadEmbedded(EmbeddedSound,Looped,AutoDestroy,OnComplete); this.loadHelper(sound,Volume,Group,AutoPlay); if(OnLoad != null && sound._sound != null) { OnLoad(); } } else { var loadCallback = OnLoad; if(AutoPlay) { loadCallback = function() { sound.play(); if(OnLoad != null) { OnLoad(); } }; } sound.loadStream(URL1,Looped,AutoDestroy,OnComplete,loadCallback); this.loadHelper(sound,Volume,Group); } return sound; } ,loadHelper: function(sound,Volume,Group,AutoPlay) { if(AutoPlay == null) { AutoPlay = false; } sound.set_volume(Volume); if(AutoPlay) { sound.play(); } sound.set_group(Group == null ? this.defaultSoundGroup : Group); return sound; } ,cache: function(EmbeddedSound) { if(openfl_utils_Assets.exists(EmbeddedSound,"SOUND") || openfl_utils_Assets.exists(EmbeddedSound,"MUSIC")) { return openfl_utils_Assets.getSound(EmbeddedSound,true); } return null; } ,cacheAll: function() { var _g = 0; var _g1 = openfl_utils_Assets.list("SOUND"); while(_g < _g1.length) { var id = _g1[_g]; ++_g; if(openfl_utils_Assets.exists(id,"SOUND") || openfl_utils_Assets.exists(id,"MUSIC")) { openfl_utils_Assets.getSound(id,true); } } } ,play: function(EmbeddedSound,Volume,Looped,Group,AutoDestroy,OnComplete) { if(AutoDestroy == null) { AutoDestroy = true; } if(Looped == null) { Looped = false; } if(Volume == null) { Volume = 1; } if(typeof(EmbeddedSound) == "string") { EmbeddedSound = openfl_utils_Assets.exists(EmbeddedSound,"SOUND") || openfl_utils_Assets.exists(EmbeddedSound,"MUSIC") ? openfl_utils_Assets.getSound(EmbeddedSound,true) : null; } var sound = this.list.recycle(flixel_system_FlxSound).loadEmbedded(EmbeddedSound,Looped,AutoDestroy,OnComplete); return this.loadHelper(sound,Volume,Group,true); } ,stream: function(URL1,Volume,Looped,Group,AutoDestroy,OnComplete,OnLoad) { if(AutoDestroy == null) { AutoDestroy = true; } if(Looped == null) { Looped = false; } if(Volume == null) { Volume = 1; } return this.load(null,Volume,Looped,Group,AutoDestroy,true,URL1,OnComplete,OnLoad); } ,pause: function() { if(this.music != null && this.music.exists && this.music.active) { this.music.pause(); } var _g = 0; var _g1 = this.list.members; while(_g < _g1.length) { var sound = _g1[_g]; ++_g; if(sound != null && sound.exists && sound.active) { sound.pause(); } } } ,resume: function() { if(this.music != null && this.music.exists) { this.music.resume(); } var _g = 0; var _g1 = this.list.members; while(_g < _g1.length) { var sound = _g1[_g]; ++_g; if(sound != null && sound.exists) { sound.resume(); } } } ,destroy: function(ForceDestroy) { if(ForceDestroy == null) { ForceDestroy = false; } if(this.music != null && (ForceDestroy || !this.music.persist)) { this.destroySound(this.music); this.music = null; } var _g = 0; var _g1 = this.list.members; while(_g < _g1.length) { var sound = _g1[_g]; ++_g; if(sound != null && (ForceDestroy || !sound.persist)) { this.destroySound(sound); } } } ,destroySound: function(sound) { this.defaultMusicGroup.remove(sound); this.defaultSoundGroup.remove(sound); sound.destroy(); } ,toggleMuted: function() { this.muted = !this.muted; if(this.volumeHandler != null) { this.volumeHandler(this.muted ? 0 : this.volume); } this.showSoundTray(); } ,changeVolume: function(Amount) { this.muted = false; var _g = this; _g.set_volume(_g.volume + Amount); this.showSoundTray(); } ,showSoundTray: function() { if(flixel_FlxG.game.soundTray != null && this.soundTrayEnabled) { flixel_FlxG.game.soundTray.show(); } } ,update: function(elapsed) { if(this.music != null && this.music.active) { this.music.update(elapsed); } if(this.list != null && this.list.active) { this.list.update(elapsed); } if(flixel_FlxG.keys.checkKeyArrayState(this.muteKeys,-1)) { this.toggleMuted(); } else if(flixel_FlxG.keys.checkKeyArrayState(this.volumeUpKeys,-1)) { this.changeVolume(0.1); } else if(flixel_FlxG.keys.checkKeyArrayState(this.volumeDownKeys,-1)) { this.changeVolume(-0.1); } } ,onFocusLost: function() { if(this.music != null) { this.music.onFocusLost(); } var _g = 0; var _g1 = this.list.members; while(_g < _g1.length) { var sound = _g1[_g]; ++_g; if(sound != null) { sound.onFocusLost(); } } } ,onFocus: function() { if(this.music != null) { this.music.onFocus(); } var _g = 0; var _g1 = this.list.members; while(_g < _g1.length) { var sound = _g1[_g]; ++_g; if(sound != null) { sound.onFocus(); } } } ,loadSavedPrefs: function() { if(flixel_FlxG.save.data.volume != null) { this.set_volume(flixel_FlxG.save.data.volume); } if(flixel_FlxG.save.data.mute != null) { this.muted = flixel_FlxG.save.data.mute; } } ,set_volume: function(Volume) { var lowerBound = Volume < 0 ? 0 : Volume; Volume = lowerBound > 1 ? 1 : lowerBound; if(this.volumeHandler != null) { var param = this.muted ? 0 : Volume; this.volumeHandler(param); } return this.volume = Volume; } ,__class__: flixel_system_frontEnds_SoundFrontEnd ,__properties__: {set_volume:"set_volume"} }; var flixel_system_frontEnds_VCRFrontEnd = function() { this.stepRequested = false; this.paused = false; }; $hxClasses["flixel.system.frontEnds.VCRFrontEnd"] = flixel_system_frontEnds_VCRFrontEnd; flixel_system_frontEnds_VCRFrontEnd.__name__ = "flixel.system.frontEnds.VCRFrontEnd"; flixel_system_frontEnds_VCRFrontEnd.prototype = { paused: null ,stepRequested: null ,pause: function() { if(!this.paused) { if(!flixel_FlxG.mouse.useSystemCursor) { openfl_ui_Mouse.show(); } this.paused = true; } } ,resume: function() { if(this.paused) { if(!flixel_FlxG.mouse.useSystemCursor) { openfl_ui_Mouse.hide(); } this.paused = false; } } ,__class__: flixel_system_frontEnds_VCRFrontEnd }; var flixel_system_macros_FlxMacroUtil = function() { }; $hxClasses["flixel.system.macros.FlxMacroUtil"] = flixel_system_macros_FlxMacroUtil; flixel_system_macros_FlxMacroUtil.__name__ = "flixel.system.macros.FlxMacroUtil"; var flixel_system_replay_CodeValuePair = function(code,value) { this.code = code; this.value = value; }; $hxClasses["flixel.system.replay.CodeValuePair"] = flixel_system_replay_CodeValuePair; flixel_system_replay_CodeValuePair.__name__ = "flixel.system.replay.CodeValuePair"; flixel_system_replay_CodeValuePair.prototype = { code: null ,value: null ,__class__: flixel_system_replay_CodeValuePair }; var flixel_system_replay_MouseRecord = function(x,y,button,wheel) { this.x = x; this.y = y; this.button = button; this.wheel = wheel; }; $hxClasses["flixel.system.replay.MouseRecord"] = flixel_system_replay_MouseRecord; flixel_system_replay_MouseRecord.__name__ = "flixel.system.replay.MouseRecord"; flixel_system_replay_MouseRecord.prototype = { x: null ,y: null ,button: null ,wheel: null ,__class__: flixel_system_replay_MouseRecord }; var flixel_system_ui_FlxSoundTray = function() { this._defaultScale = 2.0; this._width = 80; openfl_display_Sprite.call(this); this.set_visible(false); this.set_scaleX(this._defaultScale); this.set_scaleY(this._defaultScale); var tmp = new openfl_display_Bitmap(new openfl_display_BitmapData(this._width,30,true,2130706432)); this.screenCenter(); this.addChild(tmp); var text = new openfl_text_TextField(); text.set_width(tmp.get_width()); text.set_height(tmp.get_height()); text.set_multiline(true); text.set_wordWrap(true); text.set_selectable(false); var dtf = new openfl_text_TextFormat(flixel_system_FlxAssets.FONT_DEFAULT,10,16777215); dtf.align = 0; text.set_defaultTextFormat(dtf); this.addChild(text); text.set_text("VOLUME"); text.set_y(16); var bx = 10; var by = 14; this._bars = []; var _g = 0; while(_g < 10) { var i = _g++; tmp = new openfl_display_Bitmap(new openfl_display_BitmapData(4,i + 1,false,-1)); tmp.set_x(bx); tmp.set_y(by); this.addChild(tmp); this._bars.push(tmp); bx += 6; --by; } this.set_y(-this.get_height()); this.set_visible(false); }; $hxClasses["flixel.system.ui.FlxSoundTray"] = flixel_system_ui_FlxSoundTray; flixel_system_ui_FlxSoundTray.__name__ = "flixel.system.ui.FlxSoundTray"; flixel_system_ui_FlxSoundTray.__super__ = openfl_display_Sprite; flixel_system_ui_FlxSoundTray.prototype = $extend(openfl_display_Sprite.prototype,{ active: null ,_timer: null ,_bars: null ,_width: null ,_defaultScale: null ,update: function(MS) { if(this._timer > 0) { this._timer -= MS / 1000; } else if(this.get_y() > -this.get_height()) { var _g = this; _g.set_y(_g.get_y() - MS / 1000 * flixel_FlxG.height * 2); if(this.get_y() <= -this.get_height()) { this.set_visible(false); this.active = false; flixel_FlxG.save.data.mute = flixel_FlxG.sound.muted; flixel_FlxG.save.data.volume = flixel_FlxG.sound.volume; flixel_FlxG.save.flush(); } } } ,show: function(Silent) { if(Silent == null) { Silent = false; } if(!Silent) { var extension = ""; extension = ".ogg"; var sound = openfl_utils_Assets.getSound("flixel/sounds/beep" + extension); if(sound != null) { flixel_FlxG.sound.load(sound).play(); } } this._timer = 1; this.set_y(0); this.set_visible(true); this.active = true; var globalVolume = Math.round(flixel_FlxG.sound.volume * 10); if(flixel_FlxG.sound.muted) { globalVolume = 0; } var _g = 0; var _g1 = this._bars.length; while(_g < _g1) { var i = _g++; if(i < globalVolume) { this._bars[i].set_alpha(1); } else { this._bars[i].set_alpha(0.5); } } } ,screenCenter: function() { this.set_scaleX(this._defaultScale); this.set_scaleY(this._defaultScale); this.set_x(0.5 * (openfl_Lib.get_current().stage.stageWidth - this._width * this._defaultScale) - flixel_FlxG.game.get_x()); } ,__class__: flixel_system_ui_FlxSoundTray }); var flixel_system_ui_FlxSystemButton = function(Icon,UpHandler,ToggleMode) { if(ToggleMode == null) { ToggleMode = false; } this._mouseDown = false; this.toggled = false; this.toggleMode = false; this.enabled = true; openfl_display_Sprite.call(this); if(Icon != null) { this.changeIcon(Icon); } this.upHandler = UpHandler; this.toggleMode = ToggleMode; this.addEventListener("mouseUp",$bind(this,this.onMouseUp)); this.addEventListener("mouseDown",$bind(this,this.onMouseDown)); this.addEventListener("mouseOut",$bind(this,this.onMouseOut)); this.addEventListener("mouseOver",$bind(this,this.onMouseOver)); }; $hxClasses["flixel.system.ui.FlxSystemButton"] = flixel_system_ui_FlxSystemButton; flixel_system_ui_FlxSystemButton.__name__ = "flixel.system.ui.FlxSystemButton"; flixel_system_ui_FlxSystemButton.__interfaces__ = [flixel_util_IFlxDestroyable]; flixel_system_ui_FlxSystemButton.__super__ = openfl_display_Sprite; flixel_system_ui_FlxSystemButton.prototype = $extend(openfl_display_Sprite.prototype,{ upHandler: null ,enabled: null ,toggleMode: null ,toggled: null ,_icon: null ,_mouseDown: null ,changeIcon: function(Icon) { if(this._icon != null) { this.removeChild(this._icon); } flixel_system_debug_DebuggerUtil.fixSize(Icon); this._icon = new openfl_display_Bitmap(Icon); this.addChild(this._icon); } ,destroy: function() { this.removeEventListener("mouseUp",$bind(this,this.onMouseUp)); this.removeEventListener("mouseDown",$bind(this,this.onMouseDown)); this.removeEventListener("mouseOut",$bind(this,this.onMouseOut)); this.removeEventListener("mouseOver",$bind(this,this.onMouseOver)); this._icon = null; this.upHandler = null; } ,onMouseUp: function(_) { if(this.enabled && this._mouseDown) { this.set_toggled(!this.toggled); this._mouseDown = false; if(this.upHandler != null) { this.upHandler(); } } } ,onMouseDown: function(_) { this._mouseDown = true; } ,onMouseOver: function(_) { if(this.enabled) { var _g = this; _g.set_alpha(_g.get_alpha() - 0.2); } } ,onMouseOut: function(_) { if(this.enabled) { var _g = this; _g.set_alpha(_g.get_alpha() + 0.2); } } ,set_toggled: function(Value) { if(this.toggleMode) { this.set_alpha(Value ? 0.3 : 1); } return this.toggled = Value; } ,__class__: flixel_system_ui_FlxSystemButton ,__properties__: $extend(openfl_display_Sprite.prototype.__properties__,{set_toggled:"set_toggled"}) }); var flixel_text_FlxTextFormat = function(FontColor,Bold,Italic,BorderColor) { this.format = new openfl_text_TextFormat(null,null,FontColor,Bold,Italic); this.borderColor = BorderColor == null ? 0 : BorderColor; }; $hxClasses["flixel.text.FlxTextFormat"] = flixel_text_FlxTextFormat; flixel_text_FlxTextFormat.__name__ = "flixel.text.FlxTextFormat"; flixel_text_FlxTextFormat.prototype = { borderColor: null ,format: null ,__class__: flixel_text_FlxTextFormat }; var flixel_text__$FlxText_FlxTextFormatRange = function(format,start,end) { this.range = new flixel_util_helpers_FlxRange(start,end); this.format = format; }; $hxClasses["flixel.text._FlxText.FlxTextFormatRange"] = flixel_text__$FlxText_FlxTextFormatRange; flixel_text__$FlxText_FlxTextFormatRange.__name__ = "flixel.text._FlxText.FlxTextFormatRange"; flixel_text__$FlxText_FlxTextFormatRange.prototype = { range: null ,format: null ,__class__: flixel_text__$FlxText_FlxTextFormatRange }; var flixel_text_FlxTextFormatMarkerPair = function(format,marker) { this.format = format; this.marker = marker; }; $hxClasses["flixel.text.FlxTextFormatMarkerPair"] = flixel_text_FlxTextFormatMarkerPair; flixel_text_FlxTextFormatMarkerPair.__name__ = "flixel.text.FlxTextFormatMarkerPair"; flixel_text_FlxTextFormatMarkerPair.prototype = { format: null ,marker: null ,__class__: flixel_text_FlxTextFormatMarkerPair }; var flixel_text_FlxTextBorderStyle = $hxEnums["flixel.text.FlxTextBorderStyle"] = { __ename__ : "flixel.text.FlxTextBorderStyle", __constructs__ : ["NONE","SHADOW","OUTLINE","OUTLINE_FAST"] ,NONE: {_hx_index:0,__enum__:"flixel.text.FlxTextBorderStyle",toString:$estr} ,SHADOW: {_hx_index:1,__enum__:"flixel.text.FlxTextBorderStyle",toString:$estr} ,OUTLINE: {_hx_index:2,__enum__:"flixel.text.FlxTextBorderStyle",toString:$estr} ,OUTLINE_FAST: {_hx_index:3,__enum__:"flixel.text.FlxTextBorderStyle",toString:$estr} }; var flixel_text__$FlxText_FlxTextAlign_$Impl_$ = {}; $hxClasses["flixel.text._FlxText.FlxTextAlign_Impl_"] = flixel_text__$FlxText_FlxTextAlign_$Impl_$; flixel_text__$FlxText_FlxTextAlign_$Impl_$.__name__ = "flixel.text._FlxText.FlxTextAlign_Impl_"; flixel_text__$FlxText_FlxTextAlign_$Impl_$.fromOpenFL = function(align) { switch(align) { case 0: return "center"; case 2: return "justify"; case 3: return "left"; case 4: return "right"; default: return "left"; } }; flixel_text__$FlxText_FlxTextAlign_$Impl_$.toOpenFL = function(align) { switch(align) { case "center": return 0; case "justify": return 2; case "left": return 3; case "right": return 4; default: return 3; } }; var flixel_tile_FlxBaseTilemap = function() { this._collideIndex = 0; this._drawIndex = 0; this._startingIndex = 0; this._tileObjects = []; this.totalTiles = 0; this.heightInTiles = 0; this.widthInTiles = 0; this.auto = flixel_tile_FlxTilemapAutoTiling.OFF; flixel_FlxObject.call(this); this.flixelType = 3; this.set_immovable(true); this.set_moves(false); }; $hxClasses["flixel.tile.FlxBaseTilemap"] = flixel_tile_FlxBaseTilemap; flixel_tile_FlxBaseTilemap.__name__ = "flixel.tile.FlxBaseTilemap"; flixel_tile_FlxBaseTilemap.__super__ = flixel_FlxObject; flixel_tile_FlxBaseTilemap.prototype = $extend(flixel_FlxObject.prototype,{ auto: null ,widthInTiles: null ,heightInTiles: null ,totalTiles: null ,customTileRemap: null ,_randomIndices: null ,_randomChoices: null ,_randomLambda: null ,_tileObjects: null ,_startingIndex: null ,_data: null ,_drawIndex: null ,_collideIndex: null ,updateTile: function(Index) { throw new js__$Boot_HaxeError("updateTile must be implemented"); } ,cacheGraphics: function(TileWidth,TileHeight,TileGraphic) { throw new js__$Boot_HaxeError("cacheGraphics must be implemented"); } ,initTileObjects: function() { throw new js__$Boot_HaxeError("initTileObjects must be implemented"); } ,updateMap: function() { throw new js__$Boot_HaxeError("updateMap must be implemented"); } ,computeDimensions: function() { throw new js__$Boot_HaxeError("computeDimensions must be implemented"); } ,getTileIndexByCoords: function(Coord) { throw new js__$Boot_HaxeError("getTileIndexByCoords must be implemented"); } ,getTileCoordsByIndex: function(Index,Midpoint) { if(Midpoint == null) { Midpoint = true; } throw new js__$Boot_HaxeError("getTileCoordsByIndex must be implemented"); } ,ray: function(Start,End,Result,Resolution) { if(Resolution == null) { Resolution = 1; } throw new js__$Boot_HaxeError("ray must be implemented"); } ,overlapsWithCallback: function(Object1,Callback,FlipCallbackParams,Position) { if(FlipCallbackParams == null) { FlipCallbackParams = false; } throw new js__$Boot_HaxeError("overlapsWithCallback must be implemented"); } ,setDirty: function(Dirty) { if(Dirty == null) { Dirty = true; } throw new js__$Boot_HaxeError("setDirty must be implemented"); } ,destroy: function() { this._data = null; flixel_FlxObject.prototype.destroy.call(this); } ,loadMapFromCSV: function(MapData,TileGraphic,TileWidth,TileHeight,AutoTile,StartingIndex,DrawIndex,CollideIndex) { if(CollideIndex == null) { CollideIndex = 1; } if(DrawIndex == null) { DrawIndex = 1; } if(StartingIndex == null) { StartingIndex = 0; } if(TileHeight == null) { TileHeight = 0; } if(TileWidth == null) { TileWidth = 0; } if(openfl_utils_Assets.exists(MapData)) { MapData = openfl_utils_Assets.getText(MapData); } this._data = []; var columns; var regex = new EReg("[ \t]*((\r\n)|\r|\n)[ \t]*","g"); var lines = regex.split(MapData); var _g = []; var _g1 = 0; var _g2 = lines; while(_g1 < _g2.length) { var v = _g2[_g1]; ++_g1; if(v != "") { _g.push(v); } } var rows = _g; this.heightInTiles = rows.length; this.widthInTiles = 0; var row = 0; while(row < this.heightInTiles) { var rowString = rows[row]; if(StringTools.endsWith(rowString,",")) { rowString = HxOverrides.substr(rowString,0,rowString.length - 1); } columns = rowString.split(","); if(columns.length == 0) { this.heightInTiles--; continue; } if(this.widthInTiles == 0) { this.widthInTiles = columns.length; } var column = 0; while(column < this.widthInTiles) { var columnString = columns[column]; var curTile = Std.parseInt(columnString); if(curTile == null) { throw new js__$Boot_HaxeError("String in row " + row + ", column " + column + " is not a valid integer: \"" + columnString + "\""); } this._data.push(curTile); ++column; } ++row; } this.loadMapHelper(TileGraphic,TileWidth,TileHeight,AutoTile,StartingIndex,DrawIndex,CollideIndex); return this; } ,loadMapFromArray: function(MapData,WidthInTiles,HeightInTiles,TileGraphic,TileWidth,TileHeight,AutoTile,StartingIndex,DrawIndex,CollideIndex) { if(CollideIndex == null) { CollideIndex = 1; } if(DrawIndex == null) { DrawIndex = 1; } if(StartingIndex == null) { StartingIndex = 0; } if(TileHeight == null) { TileHeight = 0; } if(TileWidth == null) { TileWidth = 0; } this.widthInTiles = WidthInTiles; this.heightInTiles = HeightInTiles; this._data = MapData.slice(); this.loadMapHelper(TileGraphic,TileWidth,TileHeight,AutoTile,StartingIndex,DrawIndex,CollideIndex); return this; } ,loadMapFrom2DArray: function(MapData,TileGraphic,TileWidth,TileHeight,AutoTile,StartingIndex,DrawIndex,CollideIndex) { if(CollideIndex == null) { CollideIndex = 1; } if(DrawIndex == null) { DrawIndex = 1; } if(StartingIndex == null) { StartingIndex = 0; } if(TileHeight == null) { TileHeight = 0; } if(TileWidth == null) { TileWidth = 0; } this.widthInTiles = MapData[0].length; this.heightInTiles = MapData.length; this._data = flixel_util_FlxArrayUtil.flatten2DArray_Int(MapData); this.loadMapHelper(TileGraphic,TileWidth,TileHeight,AutoTile,StartingIndex,DrawIndex,CollideIndex); return this; } ,loadMapFromGraphic: function(MapGraphic,Invert,Scale,ColorMap,TileGraphic,TileWidth,TileHeight,AutoTile,StartingIndex,DrawIndex,CollideIndex) { if(CollideIndex == null) { CollideIndex = 1; } if(DrawIndex == null) { DrawIndex = 1; } if(StartingIndex == null) { StartingIndex = 0; } if(TileHeight == null) { TileHeight = 0; } if(TileWidth == null) { TileWidth = 0; } if(Scale == null) { Scale = 1; } if(Invert == null) { Invert = false; } var mapBitmap = flixel_system_FlxAssets.resolveBitmapData(MapGraphic); var mapData = flixel_util_FlxStringUtil.bitmapToCSV(mapBitmap,Invert,Scale,ColorMap); return this.loadMapFromCSV(mapData,TileGraphic,TileWidth,TileHeight,AutoTile,StartingIndex,DrawIndex,CollideIndex); } ,loadMapHelper: function(TileGraphic,TileWidth,TileHeight,AutoTile,StartingIndex,DrawIndex,CollideIndex) { if(CollideIndex == null) { CollideIndex = 1; } if(DrawIndex == null) { DrawIndex = 1; } if(StartingIndex == null) { StartingIndex = 0; } if(TileHeight == null) { TileHeight = 0; } if(TileWidth == null) { TileWidth = 0; } var _g = 0; var _g1 = this._data.length; while(_g < _g1) { var i = _g++; if(this._data[i] < 0) { this._data[i] = 0; } } this.totalTiles = this._data.length; this.auto = AutoTile == null ? flixel_tile_FlxTilemapAutoTiling.OFF : AutoTile; this._startingIndex = StartingIndex <= 0 ? 0 : StartingIndex; if(this.auto != flixel_tile_FlxTilemapAutoTiling.OFF) { this._startingIndex = 1; DrawIndex = 1; CollideIndex = 1; } this._drawIndex = DrawIndex; this._collideIndex = CollideIndex; this.applyAutoTile(); this.applyCustomRemap(); this.randomizeIndices(); this.cacheGraphics(TileWidth,TileHeight,TileGraphic); this.postGraphicLoad(); } ,postGraphicLoad: function() { this.initTileObjects(); this.computeDimensions(); this.updateMap(); } ,applyAutoTile: function() { if(this.auto != flixel_tile_FlxTilemapAutoTiling.OFF) { var i = 0; while(i < this.totalTiles) this.autoTile(i++); } } ,applyCustomRemap: function() { var i = 0; if(this.customTileRemap != null) { while(i < this.totalTiles) { var oldIndex = this._data[i]; var newIndex = oldIndex; if(oldIndex < this.customTileRemap.length) { newIndex = this.customTileRemap[oldIndex]; } this._data[i] = newIndex; ++i; } } } ,randomizeIndices: function() { var i = 0; if(this._randomIndices != null) { var randLambda = this._randomLambda != null ? this._randomLambda : function() { return flixel_FlxG.random.float(); }; while(i < this.totalTiles) { var oldIndex = this._data[i]; var j = 0; var newIndex = oldIndex; var _g = 0; var _g1 = this._randomIndices; while(_g < _g1.length) { var rand = _g1[_g]; ++_g; if(oldIndex == rand) { var k = randLambda() * this._randomChoices[j].length | 0; newIndex = this._randomChoices[j][k]; } ++j; } this._data[i] = newIndex; ++i; } } } ,autoTile: function(Index) { if(this._data[Index] == 0) { return; } if(this.auto == flixel_tile_FlxTilemapAutoTiling.FULL) { this.autoTileFull(Index); return; } this._data[Index] = 0; if(Index - this.widthInTiles < 0 || this._data[Index - this.widthInTiles] > 0) { this._data[Index] += 1; } if(Index % this.widthInTiles >= this.widthInTiles - 1 || this._data[Index + 1] > 0) { this._data[Index] += 2; } if((Index + this.widthInTiles | 0) >= this.totalTiles || this._data[Index + this.widthInTiles] > 0) { this._data[Index] += 4; } if(Index % this.widthInTiles <= 0 || this._data[Index - 1] > 0) { this._data[Index] += 8; } if(this.auto == flixel_tile_FlxTilemapAutoTiling.ALT && this._data[Index] == 15) { if(Index % this.widthInTiles > 0 && (Index + this.widthInTiles | 0) < this.totalTiles && this._data[Index + this.widthInTiles - 1] <= 0) { this._data[Index] = 1; } if(Index % this.widthInTiles > 0 && Index - this.widthInTiles >= 0 && this._data[Index - this.widthInTiles - 1] <= 0) { this._data[Index] = 2; } if(Index % this.widthInTiles < this.widthInTiles - 1 && Index - this.widthInTiles >= 0 && this._data[Index - this.widthInTiles + 1] <= 0) { this._data[Index] = 4; } if(Index % this.widthInTiles < this.widthInTiles - 1 && (Index + this.widthInTiles | 0) < this.totalTiles && this._data[Index + this.widthInTiles + 1] <= 0) { this._data[Index] = 8; } } this._data[Index] += 1; } ,autoTileFull: function(Index) { this._data[Index] = 0; var wallUp = Index - this.widthInTiles < 0; var wallRight = Index % this.widthInTiles >= this.widthInTiles - 1; var wallDown = (Index + this.widthInTiles | 0) >= this.totalTiles; var wallLeft = Index % this.widthInTiles <= 0; var up = wallUp || this._data[Index - this.widthInTiles] > 0; var upRight = wallUp || wallRight || this._data[Index - this.widthInTiles + 1] > 0; var right = wallRight || this._data[Index + 1] > 0; var rightDown = wallRight || wallDown || this._data[Index + this.widthInTiles + 1] > 0; var down = wallDown || this._data[Index + this.widthInTiles] > 0; var downLeft = wallDown || wallLeft || this._data[Index + this.widthInTiles - 1] > 0; var left = wallLeft || this._data[Index - 1] > 0; var leftUp = wallLeft || wallUp || this._data[Index - this.widthInTiles - 1] > 0; if(up) { this._data[Index] += 1; } if(upRight && up && right) { this._data[Index] += 2; } if(right) { this._data[Index] += 4; } if(rightDown && right && down) { this._data[Index] += 8; } if(down) { this._data[Index] += 16; } if(downLeft && down && left) { this._data[Index] += 32; } if(left) { this._data[Index] += 64; } if(leftUp && left && up) { this._data[Index] += 128; } this._data[Index] -= flixel_tile_FlxBaseTilemap.offsetAutoTile[this._data[Index]] - 1; } ,setCustomTileMappings: function(mappings,randomIndices,randomChoices,randomLambda) { this.customTileRemap = mappings; this._randomIndices = randomIndices; this._randomChoices = randomChoices; this._randomLambda = randomLambda; if(this._randomIndices != null && (this._randomChoices == null || this._randomChoices.length == 0)) { throw new js__$Boot_HaxeError("You must provide valid 'randomChoices' if you wish to randomize tilemap indices, please read documentation of 'setCustomTileMappings' function."); } } ,getTile: function(X,Y) { return this._data[Y * this.widthInTiles + X]; } ,getTileByIndex: function(Index) { return this._data[Index]; } ,getTileCollisions: function(Index) { return this._tileObjects[Index].allowCollisions; } ,getTileInstances: function(Index) { var array = null; var i = 0; var l = this.widthInTiles * this.heightInTiles; while(i < l) { if(this._data[i] == Index) { if(array == null) { array = []; } array.push(i); } ++i; } return array; } ,setTile: function(X,Y,Tile,UpdateGraphics) { if(UpdateGraphics == null) { UpdateGraphics = true; } if(X >= this.widthInTiles || Y >= this.heightInTiles) { return false; } return this.setTileByIndex(Y * this.widthInTiles + X,Tile,UpdateGraphics); } ,setTileByIndex: function(Index,Tile,UpdateGraphics) { if(UpdateGraphics == null) { UpdateGraphics = true; } if(Index >= this._data.length) { return false; } var ok = true; this._data[Index] = Tile; if(!UpdateGraphics) { return ok; } this.setDirty(); if(this.auto == flixel_tile_FlxTilemapAutoTiling.OFF) { this.updateTile(this._data[Index]); return ok; } var i; var row = (Index / this.widthInTiles | 0) - 1; var rowLength = row + 3; var column = Index % this.widthInTiles - 1; var columnHeight = column + 3; while(row < rowLength) { column = columnHeight - 3; while(column < columnHeight) { if(row >= 0 && row < this.heightInTiles && column >= 0 && column < this.widthInTiles) { i = row * this.widthInTiles + column; this.autoTile(i); this.updateTile(this._data[i]); } ++column; } ++row; } return ok; } ,setTileProperties: function(Tile,AllowCollisions,Callback,CallbackFilter,Range1) { if(Range1 == null) { Range1 = 1; } if(AllowCollisions == null) { AllowCollisions = 4369; } if(Range1 <= 0) { Range1 = 1; } var tile; var i = Tile; var l = Tile + Range1; var maxIndex = this._tileObjects.length; if(l > maxIndex) { throw new js__$Boot_HaxeError("Index " + l + " exceeds the maximum tile index of " + maxIndex + ". Please verify the Tile (" + Tile + ") and Range (" + Range1 + ") parameters."); } while(i < l) { tile = this._tileObjects[i++]; tile.set_allowCollisions(AllowCollisions); tile.callbackFunction = Callback; tile.filter = CallbackFilter; } } ,getData: function(Simple) { if(Simple == null) { Simple = false; } if(!Simple) { return this._data; } var i = 0; var l = this._data.length; var data = []; flixel_util_FlxArrayUtil.setLength_Int(data,l); while(i < l) { data[i] = this._tileObjects[this._data[i]].allowCollisions > 0 ? 1 : 0; ++i; } return data; } ,findPath: function(Start,End,Simplify,RaySimplify,DiagonalPolicy) { if(DiagonalPolicy == null) { DiagonalPolicy = 2; } if(RaySimplify == null) { RaySimplify = false; } if(Simplify == null) { Simplify = true; } var startIndex = this.getTileIndexByCoords(Start); var endIndex = this.getTileIndexByCoords(End); if(startIndex < 0 || endIndex < 0) { return null; } if(this._tileObjects[this._data[startIndex]].allowCollisions > 0 || this._tileObjects[this._data[endIndex]].allowCollisions > 0) { return null; } var distances = this.computePathDistance(startIndex,endIndex,DiagonalPolicy); if(distances == null) { return null; } var points = []; this.walkPath(distances,endIndex,points); var node = points[points.length - 1]; node.set_x(Start.x); node.set_y(Start.y); if(Start._weak) { Start.put(); } node = points[0]; node.set_x(End.x); node.set_y(End.y); if(End._weak) { End.put(); } if(Simplify) { this.simplifyPath(points); } if(RaySimplify) { this.raySimplifyPath(points); } var path = []; var i = points.length - 1; while(i >= 0) { node = points[i--]; if(node != null) { path.push(node); } } return path; } ,computePathDistance: function(StartIndex,EndIndex,DiagonalPolicy,StopOnEnd) { if(StopOnEnd == null) { StopOnEnd = true; } var mapSize = this.widthInTiles * this.heightInTiles; var distances = []; flixel_util_FlxArrayUtil.setLength_Int(distances,mapSize); var i = 0; while(i < mapSize) { if(this._tileObjects[this._data[i]].allowCollisions != 0) { distances[i] = -2; } else { distances[i] = -1; } ++i; } distances[StartIndex] = 0; var distance = 1; var neighbors = [StartIndex]; var current; var currentIndex; var left; var right; var up; var down; var currentLength; var foundEnd = false; while(neighbors.length > 0) { current = neighbors; neighbors = []; i = 0; currentLength = current.length; while(i < currentLength) { currentIndex = current[i++]; if(currentIndex == (EndIndex | 0)) { foundEnd = true; if(StopOnEnd) { neighbors = []; break; } } left = currentIndex % this.widthInTiles > 0; right = currentIndex % this.widthInTiles < this.widthInTiles - 1; up = currentIndex / this.widthInTiles > 0; down = currentIndex / this.widthInTiles < this.heightInTiles - 1; var index; if(up) { index = currentIndex - this.widthInTiles; if(distances[index] == -1) { distances[index] = distance; neighbors.push(index); } } if(right) { index = currentIndex + 1; if(distances[index] == -1) { distances[index] = distance; neighbors.push(index); } } if(down) { index = currentIndex + this.widthInTiles; if(distances[index] == -1) { distances[index] = distance; neighbors.push(index); } } if(left) { index = currentIndex - 1; if(distances[index] == -1) { distances[index] = distance; neighbors.push(index); } } if(DiagonalPolicy != 0) { var wideDiagonal = DiagonalPolicy == 2; if(up && right) { index = currentIndex - this.widthInTiles + 1; if(wideDiagonal && distances[index] == -1 && distances[currentIndex - this.widthInTiles] >= -1 && distances[currentIndex + 1] >= -1) { distances[index] = distance; neighbors.push(index); } else if(!wideDiagonal && distances[index] == -1) { distances[index] = distance; neighbors.push(index); } } if(right && down) { index = currentIndex + this.widthInTiles + 1; if(wideDiagonal && distances[index] == -1 && distances[currentIndex + this.widthInTiles] >= -1 && distances[currentIndex + 1] >= -1) { distances[index] = distance; neighbors.push(index); } else if(!wideDiagonal && distances[index] == -1) { distances[index] = distance; neighbors.push(index); } } if(left && down) { index = currentIndex + this.widthInTiles - 1; if(wideDiagonal && distances[index] == -1 && distances[currentIndex + this.widthInTiles] >= -1 && distances[currentIndex - 1] >= -1) { distances[index] = distance; neighbors.push(index); } else if(!wideDiagonal && distances[index] == -1) { distances[index] = distance; neighbors.push(index); } } if(up && left) { index = currentIndex - this.widthInTiles - 1; if(wideDiagonal && distances[index] == -1 && distances[currentIndex - this.widthInTiles] >= -1 && distances[currentIndex - 1] >= -1) { distances[index] = distance; neighbors.push(index); } else if(!wideDiagonal && distances[index] == -1) { distances[index] = distance; neighbors.push(index); } } } } ++distance; } if(!foundEnd) { distances = null; } return distances; } ,walkPath: function(Data,Start,Points) { Points.push(this.getTileCoordsByIndex(Start)); if(Data[Start] == 0) { return; } var left = Start % this.widthInTiles > 0; var right = Start % this.widthInTiles < this.widthInTiles - 1; var up = Start / this.widthInTiles > 0; var down = Start / this.widthInTiles < this.heightInTiles - 1; var current = Data[Start]; var i; if(up) { i = Start - this.widthInTiles; if(i >= 0 && Data[i] >= 0 && Data[i] < current) { this.walkPath(Data,i,Points); return; } } if(right) { i = Start + 1; if(i >= 0 && Data[i] >= 0 && Data[i] < current) { this.walkPath(Data,i,Points); return; } } if(down) { i = Start + this.widthInTiles; if(i >= 0 && Data[i] >= 0 && Data[i] < current) { this.walkPath(Data,i,Points); return; } } if(left) { i = Start - 1; if(i >= 0 && Data[i] >= 0 && Data[i] < current) { this.walkPath(Data,i,Points); return; } } if(up && right) { i = Start - this.widthInTiles + 1; if(i >= 0 && Data[i] >= 0 && Data[i] < current) { this.walkPath(Data,i,Points); return; } } if(right && down) { i = Start + this.widthInTiles + 1; if(i >= 0 && Data[i] >= 0 && Data[i] < current) { this.walkPath(Data,i,Points); return; } } if(left && down) { i = Start + this.widthInTiles - 1; if(i >= 0 && Data[i] >= 0 && Data[i] < current) { this.walkPath(Data,i,Points); return; } } if(up && left) { i = Start - this.widthInTiles - 1; if(i >= 0 && Data[i] >= 0 && Data[i] < current) { this.walkPath(Data,i,Points); return; } } return; } ,simplifyPath: function(Points) { var deltaPrevious; var deltaNext; var last = Points[0]; var node; var i = 1; var l = Points.length - 1; while(i < l) { node = Points[i]; deltaPrevious = (node.x - last.x) / (node.y - last.y); deltaNext = (node.x - Points[i + 1].x) / (node.y - Points[i + 1].y); if(last.x == Points[i + 1].x || last.y == Points[i + 1].y || deltaPrevious == deltaNext) { Points[i] = null; } else { last = node; } ++i; } } ,raySimplifyPath: function(Points) { var source = Points[0]; var lastIndex = -1; var node; var i = 1; var l = Points.length; while(i < l) { node = Points[i++]; if(node == null) { continue; } if(this.ray(source,node,this._point)) { if(lastIndex >= 0) { Points[lastIndex] = null; } } else { source = Points[lastIndex]; } lastIndex = i - 1; } } ,overlaps: function(ObjectOrGroup,InScreenSpace,Camera) { if(InScreenSpace == null) { InScreenSpace = false; } var group = flixel_group_FlxTypedGroup.resolveGroup(ObjectOrGroup); if(group != null) { return flixel_group_FlxTypedGroup.overlaps($bind(this,this.tilemapOverlapsCallback),group,0,0,InScreenSpace,Camera); } else if(ObjectOrGroup.flixelType == 1 || ObjectOrGroup.flixelType == 3 ? this.overlapsWithCallback(ObjectOrGroup) : this.overlaps(ObjectOrGroup,false,null)) { return true; } return false; } ,tilemapOverlapsCallback: function(ObjectOrGroup,X,Y,InScreenSpace,Camera) { if(InScreenSpace == null) { InScreenSpace = false; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } if(ObjectOrGroup.flixelType == 1 || ObjectOrGroup.flixelType == 3) { return this.overlapsWithCallback(ObjectOrGroup); } else { return this.overlaps(ObjectOrGroup,InScreenSpace,Camera); } } ,overlapsAt: function(X,Y,ObjectOrGroup,InScreenSpace,Camera) { if(InScreenSpace == null) { InScreenSpace = false; } var group = flixel_group_FlxTypedGroup.resolveGroup(ObjectOrGroup); if(group != null) { return flixel_group_FlxTypedGroup.overlaps($bind(this,this.tilemapOverlapsAtCallback),group,X,Y,InScreenSpace,Camera); } else if(ObjectOrGroup.flixelType == 1 || ObjectOrGroup.flixelType == 3 ? this.overlapsWithCallback(ObjectOrGroup,null,false,this._point.set(X,Y)) : this.overlapsAt(X,Y,ObjectOrGroup,InScreenSpace,Camera)) { return true; } return false; } ,tilemapOverlapsAtCallback: function(ObjectOrGroup,X,Y,InScreenSpace,Camera) { if(ObjectOrGroup.flixelType == 1 || ObjectOrGroup.flixelType == 3) { return this.overlapsWithCallback(ObjectOrGroup,null,false,this._point.set(X,Y)); } else { return this.overlapsAt(X,Y,ObjectOrGroup,InScreenSpace,Camera); } } ,overlapsPoint: function(WorldPoint,InScreenSpace,Camera) { if(InScreenSpace == null) { InScreenSpace = false; } if(InScreenSpace) { if(Camera == null) { Camera = flixel_FlxG.camera; } WorldPoint.subtractPoint(Camera.scroll); if(WorldPoint._weak) { WorldPoint.put(); } } return this.tileAtPointAllowsCollisions(WorldPoint); } ,tileAtPointAllowsCollisions: function(point) { var tileIndex = this.getTileIndexByCoords(point); if(tileIndex < 0 || tileIndex >= this._data.length) { return false; } return this._tileObjects[this._data[tileIndex]].allowCollisions > 0; } ,getBounds: function(Bounds) { if(Bounds == null) { var _this = flixel_math_FlxRect._pool.get(); var X = 0; var Y = 0; var Width = 0; var Height = 0; if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } _this.x = X; _this.y = Y; _this.width = Width; _this.height = Height; var rect = _this; rect._inPool = false; Bounds = rect; } var X1 = this.x; var Y1 = this.y; var Width1 = this.get_width(); var Height1 = this.get_height(); if(Height1 == null) { Height1 = 0; } if(Width1 == null) { Width1 = 0; } if(Y1 == null) { Y1 = 0; } if(X1 == null) { X1 = 0; } Bounds.x = X1; Bounds.y = Y1; Bounds.width = Width1; Bounds.height = Height1; return Bounds; } ,__class__: flixel_tile_FlxBaseTilemap }); var flixel_tile_FlxTilemapAutoTiling = $hxEnums["flixel.tile.FlxTilemapAutoTiling"] = { __ename__ : "flixel.tile.FlxTilemapAutoTiling", __constructs__ : ["OFF","AUTO","ALT","FULL"] ,OFF: {_hx_index:0,__enum__:"flixel.tile.FlxTilemapAutoTiling",toString:$estr} ,AUTO: {_hx_index:1,__enum__:"flixel.tile.FlxTilemapAutoTiling",toString:$estr} ,ALT: {_hx_index:2,__enum__:"flixel.tile.FlxTilemapAutoTiling",toString:$estr} ,FULL: {_hx_index:3,__enum__:"flixel.tile.FlxTilemapAutoTiling",toString:$estr} }; var flixel_tile_FlxTileblock = function(X,Y,Width,Height) { flixel_FlxSprite.call(this,X,Y); this.makeGraphic(Width,Height,0,true); this.set_active(false); this.set_immovable(true); this.set_moves(false); }; $hxClasses["flixel.tile.FlxTileblock"] = flixel_tile_FlxTileblock; flixel_tile_FlxTileblock.__name__ = "flixel.tile.FlxTileblock"; flixel_tile_FlxTileblock.__super__ = flixel_FlxSprite; flixel_tile_FlxTileblock.prototype = $extend(flixel_FlxSprite.prototype,{ tileSprite: null ,destroy: function() { this.tileSprite = flixel_util_FlxDestroyUtil.destroy(this.tileSprite); flixel_FlxSprite.prototype.destroy.call(this); } ,loadFrames: function(tileFrames,empties) { if(empties == null) { empties = 0; } if(tileFrames == null) { return this; } this.tileSprite = this.tileSprite == null ? new flixel_FlxSprite() : this.tileSprite; this.tileSprite.set_frames(tileFrames); var spriteWidth = this.tileSprite.get_width() | 0; var spriteHeight = this.tileSprite.get_height() | 0; var total = this.tileSprite.numFrames + empties; var regen = false; if(this.get_width() % this.tileSprite.get_width() != 0) { this.set_width((this.get_width() / spriteWidth + 1 | 0) * spriteWidth); regen = true; } if(this.get_height() % this.tileSprite.get_height() != 0) { this.set_height((this.get_height() / spriteHeight + 1 | 0) * spriteHeight); regen = true; } if(regen) { this.makeGraphic(this.get_width() | 0,this.get_height() | 0,0,true); } else { flixel_util_FlxSpriteUtil.fill(this,0); } var row = 0; var column; var destinationX; var destinationY = 0; var widthInTiles = this.get_width() / spriteWidth | 0; var heightInTiles = this.get_height() / spriteHeight | 0; while(row < heightInTiles) { destinationX = 0; column = 0; while(column < widthInTiles) { if(flixel_FlxG.random.float() * total > empties) { this.tileSprite.animation.randomFrame(); this.tileSprite.drawFrame(); this.stamp(this.tileSprite,destinationX,destinationY); } destinationX += spriteWidth; ++column; } destinationY += spriteHeight; ++row; } this.dirty = true; return this; } ,loadTiles: function(TileGraphic,TileWidth,TileHeight,Empties) { if(Empties == null) { Empties = 0; } if(TileHeight == null) { TileHeight = 0; } if(TileWidth == null) { TileWidth = 0; } if(TileGraphic == null) { return this; } var graph = flixel_FlxG.bitmap.add(TileGraphic); if(graph == null) { return this; } if(TileWidth == 0) { TileWidth = graph.height; TileWidth = TileWidth > graph.width ? graph.width : TileWidth; } if(TileHeight == 0) { TileHeight = TileWidth; TileHeight = TileHeight > graph.height ? graph.height : TileHeight; } var X = TileWidth; var Y = TileHeight; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; var tileFrames = flixel_graphics_frames_FlxTileFrames.fromGraphic(graph,point); return this.loadFrames(tileFrames,Empties); } ,setTile: function(x,y,index) { this.tileSprite.animation.set_frameIndex(index); this.stamp(this.tileSprite,x * (this.tileSprite.get_width() | 0),y * (this.tileSprite.get_height() | 0)); this.dirty = true; } ,__class__: flixel_tile_FlxTileblock }); var flixel_tweens_FlxEase = function() { }; $hxClasses["flixel.tweens.FlxEase"] = flixel_tweens_FlxEase; flixel_tweens_FlxEase.__name__ = "flixel.tweens.FlxEase"; flixel_tweens_FlxEase.linear = function(t) { return t; }; flixel_tweens_FlxEase.quadIn = function(t) { return t * t; }; flixel_tweens_FlxEase.quadOut = function(t) { return -t * (t - 2); }; flixel_tweens_FlxEase.quadInOut = function(t) { if(t <= .5) { return t * t * 2; } else { return 1 - --t * t * 2; } }; flixel_tweens_FlxEase.cubeIn = function(t) { return t * t * t; }; flixel_tweens_FlxEase.cubeOut = function(t) { return 1 + --t * t * t; }; flixel_tweens_FlxEase.cubeInOut = function(t) { if(t <= .5) { return t * t * t * 4; } else { return 1 + --t * t * t * 4; } }; flixel_tweens_FlxEase.quartIn = function(t) { return t * t * t * t; }; flixel_tweens_FlxEase.quartOut = function(t) { return 1 - --t * t * t * t; }; flixel_tweens_FlxEase.quartInOut = function(t) { if(t <= .5) { return t * t * t * t * 8; } else { t = t * 2 - 2; return (1 - t * t * t * t) / 2 + .5; } }; flixel_tweens_FlxEase.quintIn = function(t) { return t * t * t * t * t; }; flixel_tweens_FlxEase.quintOut = function(t) { return --t * t * t * t * t + 1; }; flixel_tweens_FlxEase.quintInOut = function(t) { if((t *= 2) < 1) { return t * t * t * t * t / 2; } else { return ((t -= 2) * t * t * t * t + 2) / 2; } }; flixel_tweens_FlxEase.smoothStepIn = function(t) { var t1 = t / 2; return 2 * (t1 * t1 * (t1 * -2 + 3)); }; flixel_tweens_FlxEase.smoothStepOut = function(t) { var t1 = t / 2 + 0.5; return 2 * (t1 * t1 * (t1 * -2 + 3)) - 1; }; flixel_tweens_FlxEase.smoothStepInOut = function(t) { return t * t * (t * -2 + 3); }; flixel_tweens_FlxEase.smootherStepIn = function(t) { var t1 = t / 2; return 2 * (t1 * t1 * t1 * (t1 * (t1 * 6 - 15) + 10)); }; flixel_tweens_FlxEase.smootherStepOut = function(t) { var t1 = t / 2 + 0.5; return 2 * (t1 * t1 * t1 * (t1 * (t1 * 6 - 15) + 10)) - 1; }; flixel_tweens_FlxEase.smootherStepInOut = function(t) { return t * t * t * (t * (t * 6 - 15) + 10); }; flixel_tweens_FlxEase.sineIn = function(t) { return -Math.cos(flixel_tweens_FlxEase.PI2 * t) + 1; }; flixel_tweens_FlxEase.sineOut = function(t) { return Math.sin(flixel_tweens_FlxEase.PI2 * t); }; flixel_tweens_FlxEase.sineInOut = function(t) { return -Math.cos(Math.PI * t) / 2 + .5; }; flixel_tweens_FlxEase.bounceIn = function(t) { t = 1 - t; if(t < flixel_tweens_FlxEase.B1) { return 1 - 7.5625 * t * t; } if(t < flixel_tweens_FlxEase.B2) { return 1 - (7.5625 * (t - flixel_tweens_FlxEase.B3) * (t - flixel_tweens_FlxEase.B3) + .75); } if(t < flixel_tweens_FlxEase.B4) { return 1 - (7.5625 * (t - flixel_tweens_FlxEase.B5) * (t - flixel_tweens_FlxEase.B5) + .9375); } return 1 - (7.5625 * (t - flixel_tweens_FlxEase.B6) * (t - flixel_tweens_FlxEase.B6) + .984375); }; flixel_tweens_FlxEase.bounceOut = function(t) { if(t < flixel_tweens_FlxEase.B1) { return 7.5625 * t * t; } if(t < flixel_tweens_FlxEase.B2) { return 7.5625 * (t - flixel_tweens_FlxEase.B3) * (t - flixel_tweens_FlxEase.B3) + .75; } if(t < flixel_tweens_FlxEase.B4) { return 7.5625 * (t - flixel_tweens_FlxEase.B5) * (t - flixel_tweens_FlxEase.B5) + .9375; } return 7.5625 * (t - flixel_tweens_FlxEase.B6) * (t - flixel_tweens_FlxEase.B6) + .984375; }; flixel_tweens_FlxEase.bounceInOut = function(t) { if(t < .5) { t = 1 - t * 2; if(t < flixel_tweens_FlxEase.B1) { return (1 - 7.5625 * t * t) / 2; } if(t < flixel_tweens_FlxEase.B2) { return (1 - (7.5625 * (t - flixel_tweens_FlxEase.B3) * (t - flixel_tweens_FlxEase.B3) + .75)) / 2; } if(t < flixel_tweens_FlxEase.B4) { return (1 - (7.5625 * (t - flixel_tweens_FlxEase.B5) * (t - flixel_tweens_FlxEase.B5) + .9375)) / 2; } return (1 - (7.5625 * (t - flixel_tweens_FlxEase.B6) * (t - flixel_tweens_FlxEase.B6) + .984375)) / 2; } t = t * 2 - 1; if(t < flixel_tweens_FlxEase.B1) { return 7.5625 * t * t / 2 + .5; } if(t < flixel_tweens_FlxEase.B2) { return (7.5625 * (t - flixel_tweens_FlxEase.B3) * (t - flixel_tweens_FlxEase.B3) + .75) / 2 + .5; } if(t < flixel_tweens_FlxEase.B4) { return (7.5625 * (t - flixel_tweens_FlxEase.B5) * (t - flixel_tweens_FlxEase.B5) + .9375) / 2 + .5; } return (7.5625 * (t - flixel_tweens_FlxEase.B6) * (t - flixel_tweens_FlxEase.B6) + .984375) / 2 + .5; }; flixel_tweens_FlxEase.circIn = function(t) { return -(Math.sqrt(1 - t * t) - 1); }; flixel_tweens_FlxEase.circOut = function(t) { return Math.sqrt(1 - (t - 1) * (t - 1)); }; flixel_tweens_FlxEase.circInOut = function(t) { if(t <= .5) { return (Math.sqrt(1 - t * t * 4) - 1) / -2; } else { return (Math.sqrt(1 - (t * 2 - 2) * (t * 2 - 2)) + 1) / 2; } }; flixel_tweens_FlxEase.expoIn = function(t) { return Math.pow(2,10 * (t - 1)); }; flixel_tweens_FlxEase.expoOut = function(t) { return -Math.pow(2,-10 * t) + 1; }; flixel_tweens_FlxEase.expoInOut = function(t) { if(t < .5) { return Math.pow(2,10 * (t * 2 - 1)) / 2; } else { return (-Math.pow(2,-10 * (t * 2 - 1)) + 2) / 2; } }; flixel_tweens_FlxEase.backIn = function(t) { return t * t * (2.70158 * t - 1.70158); }; flixel_tweens_FlxEase.backOut = function(t) { return 1 - --t * t * (-2.70158 * t - 1.70158); }; flixel_tweens_FlxEase.backInOut = function(t) { t *= 2; if(t < 1) { return t * t * (2.70158 * t - 1.70158) / 2; } --t; return (1 - --t * t * (-2.70158 * t - 1.70158)) / 2 + .5; }; flixel_tweens_FlxEase.elasticIn = function(t) { return -(flixel_tweens_FlxEase.ELASTIC_AMPLITUDE * Math.pow(2,10 * --t) * Math.sin((t - flixel_tweens_FlxEase.ELASTIC_PERIOD / (2 * Math.PI) * Math.asin(1 / flixel_tweens_FlxEase.ELASTIC_AMPLITUDE)) * (2 * Math.PI) / flixel_tweens_FlxEase.ELASTIC_PERIOD)); }; flixel_tweens_FlxEase.elasticOut = function(t) { return flixel_tweens_FlxEase.ELASTIC_AMPLITUDE * Math.pow(2,-10 * t) * Math.sin((t - flixel_tweens_FlxEase.ELASTIC_PERIOD / (2 * Math.PI) * Math.asin(1 / flixel_tweens_FlxEase.ELASTIC_AMPLITUDE)) * (2 * Math.PI) / flixel_tweens_FlxEase.ELASTIC_PERIOD) + 1; }; flixel_tweens_FlxEase.elasticInOut = function(t) { if(t < 0.5) { return -0.5 * (Math.pow(2,10 * (t -= 0.5)) * Math.sin((t - flixel_tweens_FlxEase.ELASTIC_PERIOD / 4) * (2 * Math.PI) / flixel_tweens_FlxEase.ELASTIC_PERIOD)); } return Math.pow(2,-10 * (t -= 0.5)) * Math.sin((t - flixel_tweens_FlxEase.ELASTIC_PERIOD / 4) * (2 * Math.PI) / flixel_tweens_FlxEase.ELASTIC_PERIOD) * 0.5 + 1; }; var flixel_tweens_FlxTween = function(Options,manager) { this._waitingForRestart = false; this._running = false; this._delayToUse = 0; this._secondsSinceStart = 0; this.loopDelay = 0; this.startDelay = 0; this.executions = 0; this.scale = 0; this.duration = 0; this.active = false; Options = this.resolveTweenOptions(Options); this.set_type(Options.type); this.onStart = Options.onStart; this.onUpdate = Options.onUpdate; this.onComplete = Options.onComplete; this.ease = Options.ease; this.setDelays(Options.startDelay,Options.loopDelay); this.manager = manager != null ? manager : flixel_tweens_FlxTween.globalManager; }; $hxClasses["flixel.tweens.FlxTween"] = flixel_tweens_FlxTween; flixel_tweens_FlxTween.__name__ = "flixel.tweens.FlxTween"; flixel_tweens_FlxTween.__interfaces__ = [flixel_util_IFlxDestroyable]; flixel_tweens_FlxTween.globalManager = null; flixel_tweens_FlxTween.tween = function(Object1,Values,Duration,Options) { if(Duration == null) { Duration = 1; } return flixel_tweens_FlxTween.globalManager.tween(Object1,Values,Duration,Options); }; flixel_tweens_FlxTween.num = function(FromValue,ToValue,Duration,Options,TweenFunction) { if(Duration == null) { Duration = 1; } return flixel_tweens_FlxTween.globalManager.num(FromValue,ToValue,Duration,Options,TweenFunction); }; flixel_tweens_FlxTween.angle = function(Sprite,FromAngle,ToAngle,Duration,Options) { if(Duration == null) { Duration = 1; } return flixel_tweens_FlxTween.globalManager.angle(Sprite,FromAngle,ToAngle,Duration,Options); }; flixel_tweens_FlxTween.color = function(Sprite,Duration,FromColor,ToColor,Options) { if(Duration == null) { Duration = 1; } return flixel_tweens_FlxTween.globalManager.color(Sprite,Duration,FromColor,ToColor,Options); }; flixel_tweens_FlxTween.linearMotion = function(Object1,FromX,FromY,ToX,ToY,DurationOrSpeed,UseDuration,Options) { if(UseDuration == null) { UseDuration = true; } if(DurationOrSpeed == null) { DurationOrSpeed = 1; } return flixel_tweens_FlxTween.globalManager.linearMotion(Object1,FromX,FromY,ToX,ToY,DurationOrSpeed,UseDuration,Options); }; flixel_tweens_FlxTween.quadMotion = function(Object1,FromX,FromY,ControlX,ControlY,ToX,ToY,DurationOrSpeed,UseDuration,Options) { if(UseDuration == null) { UseDuration = true; } if(DurationOrSpeed == null) { DurationOrSpeed = 1; } return flixel_tweens_FlxTween.globalManager.quadMotion(Object1,FromX,FromY,ControlX,ControlY,ToX,ToY,DurationOrSpeed,UseDuration,Options); }; flixel_tweens_FlxTween.cubicMotion = function(Object1,FromX,FromY,aX,aY,bX,bY,ToX,ToY,Duration,Options) { if(Duration == null) { Duration = 1; } return flixel_tweens_FlxTween.globalManager.cubicMotion(Object1,FromX,FromY,aX,aY,bX,bY,ToX,ToY,Duration,Options); }; flixel_tweens_FlxTween.circularMotion = function(Object1,CenterX,CenterY,Radius,Angle,Clockwise,DurationOrSpeed,UseDuration,Options) { if(UseDuration == null) { UseDuration = true; } if(DurationOrSpeed == null) { DurationOrSpeed = 1; } return flixel_tweens_FlxTween.globalManager.circularMotion(Object1,CenterX,CenterY,Radius,Angle,Clockwise,DurationOrSpeed,UseDuration,Options); }; flixel_tweens_FlxTween.linearPath = function(Object1,Points,DurationOrSpeed,UseDuration,Options) { if(UseDuration == null) { UseDuration = true; } if(DurationOrSpeed == null) { DurationOrSpeed = 1; } return flixel_tweens_FlxTween.globalManager.linearPath(Object1,Points,DurationOrSpeed,UseDuration,Options); }; flixel_tweens_FlxTween.quadPath = function(Object1,Points,DurationOrSpeed,UseDuration,Options) { if(UseDuration == null) { UseDuration = true; } if(DurationOrSpeed == null) { DurationOrSpeed = 1; } return flixel_tweens_FlxTween.globalManager.quadPath(Object1,Points,DurationOrSpeed,UseDuration,Options); }; flixel_tweens_FlxTween.cancelTweensOf = function(Object1,FieldPaths) { flixel_tweens_FlxTween.globalManager.cancelTweensOf(Object1,FieldPaths); }; flixel_tweens_FlxTween.completeTweensOf = function(Object1,FieldPaths) { flixel_tweens_FlxTween.globalManager.completeTweensOf(Object1,FieldPaths); }; flixel_tweens_FlxTween.prototype = { manager: null ,active: null ,duration: null ,ease: null ,onStart: null ,onUpdate: null ,onComplete: null ,type: null ,finished: null ,scale: null ,backward: null ,executions: null ,startDelay: null ,loopDelay: null ,_secondsSinceStart: null ,_delayToUse: null ,_running: null ,_waitingForRestart: null ,_chainedTweens: null ,_nextTweenInChain: null ,resolveTweenOptions: function(Options) { if(Options == null) { Options = { type : 8}; } if(Options.type == null) { Options.type = 8; } return Options; } ,destroy: function() { this.onStart = null; this.onUpdate = null; this.onComplete = null; this.ease = null; this.manager = null; this._chainedTweens = null; this._nextTweenInChain = null; } ,then: function(tween) { return this.addChainedTween(tween); } ,wait: function(delay) { return this.addChainedTween(flixel_tweens_FlxTween.num(0,0,delay)); } ,addChainedTween: function(tween) { tween.setVarsOnEnd(); tween.manager.remove(tween,false); if(this._chainedTweens == null) { this._chainedTweens = []; } this._chainedTweens.push(tween); return this; } ,update: function(elapsed) { this._secondsSinceStart += elapsed; var delay = this.executions > 0 ? this.loopDelay : this.startDelay; if(this._secondsSinceStart < delay) { return; } this.scale = Math.max(this._secondsSinceStart - delay,0) / this.duration; if(this.ease != null) { this.scale = this.ease(this.scale); } if(this.backward) { this.scale = 1 - this.scale; } if(this._secondsSinceStart > delay && !this._running) { this._running = true; if(this.onStart != null) { this.onStart(this); } } if(this._secondsSinceStart >= this.duration + delay) { this.scale = this.backward ? 0 : 1; this.finished = true; } else if(this.onUpdate != null) { this.onUpdate(this); } } ,start: function() { this._waitingForRestart = false; this._secondsSinceStart = 0; this._delayToUse = this.executions > 0 ? this.loopDelay : this.startDelay; if(this.duration == 0) { this.set_active(false); return this; } this.set_active(true); this._running = false; this.finished = false; return this; } ,cancel: function() { this.onEnd(); if(this.manager != null) { this.manager.remove(this); } } ,cancelChain: function() { if(this._nextTweenInChain != null) { this._nextTweenInChain.cancelChain(); } if(this._chainedTweens != null) { this._chainedTweens = null; } this.cancel(); } ,finish: function() { this.executions++; if(this.onComplete != null) { this.onComplete(this); } var type = this.type & ~16; if(type == 1 || type == 8) { this.onEnd(); this._secondsSinceStart = this.duration + this.startDelay; if(type == 8 && this.manager != null) { this.manager.remove(this); } } if(type == 2 || type == 4) { this._secondsSinceStart = (this._secondsSinceStart - this._delayToUse) % this.duration + this._delayToUse; this.scale = Math.max(this._secondsSinceStart - this._delayToUse,0) / this.duration; if(this.ease != null && this.scale > 0 && this.scale < 1) { this.scale = this.ease(this.scale); } if(type == 4) { this.backward = !this.backward; if(this.backward) { this.scale = 1 - this.scale; } } this.restart(); } } ,onEnd: function() { this.setVarsOnEnd(); this.processTweenChain(); } ,setVarsOnEnd: function() { this.set_active(false); this._running = false; this.finished = true; } ,processTweenChain: function() { if(this._chainedTweens == null || this._chainedTweens.length <= 0) { return; } this._nextTweenInChain = this._chainedTweens.shift(); this.doNextTween(this._nextTweenInChain); this._chainedTweens = null; } ,doNextTween: function(tween) { if(!tween.active) { tween.start(); this.manager.add_flixel_tweens_FlxTween(tween); } tween.setChain(this._chainedTweens); } ,setChain: function(previousChain) { if(previousChain == null) { return; } if(this._chainedTweens == null) { this._chainedTweens = previousChain; } else { this._chainedTweens = this._chainedTweens.concat(previousChain); } } ,restart: function() { if(this.active) { this.start(); } else { this._waitingForRestart = true; } } ,isTweenOf: function(Object1,Field) { return false; } ,setDelays: function(StartDelay,LoopDelay) { this.set_startDelay(StartDelay != null ? StartDelay : 0); this.set_loopDelay(LoopDelay != null ? LoopDelay : 0); return this; } ,set_startDelay: function(value) { var dly = Math.abs(value); if(this.executions == 0) { this._delayToUse = dly; } return this.startDelay = dly; } ,set_loopDelay: function(value) { var dly = Math.abs(value); if(this.executions > 0) { this._secondsSinceStart = this.duration * (Math.max(this._secondsSinceStart - this._delayToUse,0) / this.duration) + Math.max(dly - this.loopDelay,0); this._delayToUse = dly; } return this.loopDelay = dly; } ,get_percent: function() { return Math.max(this._secondsSinceStart - this._delayToUse,0) / this.duration; } ,set_percent: function(value) { return this._secondsSinceStart = this.duration * value + this._delayToUse; } ,set_type: function(value) { if(value == 0) { value = 8; } else if(value == 16) { value = 1 | 16; } this.backward = (value & 16) > 0; return this.type = value; } ,set_active: function(active) { this.active = active; if(this._waitingForRestart) { this.restart(); } return active; } ,__class__: flixel_tweens_FlxTween ,__properties__: {set_loopDelay:"set_loopDelay",set_startDelay:"set_startDelay",set_percent:"set_percent",get_percent:"get_percent",set_type:"set_type",set_active:"set_active"} }; var flixel_tweens_FlxTweenManager = function() { this._tweens = []; flixel_FlxBasic.call(this); this.set_visible(false); flixel_FlxG.signals.preStateSwitch.add($bind(this,this.clear)); }; $hxClasses["flixel.tweens.FlxTweenManager"] = flixel_tweens_FlxTweenManager; flixel_tweens_FlxTweenManager.__name__ = "flixel.tweens.FlxTweenManager"; flixel_tweens_FlxTweenManager.__super__ = flixel_FlxBasic; flixel_tweens_FlxTweenManager.prototype = $extend(flixel_FlxBasic.prototype,{ add_flixel_tweens_motion_QuadPath: function(Tween,Start) { if(Start == null) { Start = false; } if(Tween == null) { return null; } this._tweens.push(Tween); if(Start) { Tween.start(); } return Tween; } ,add_flixel_tweens_motion_LinearPath: function(Tween,Start) { if(Start == null) { Start = false; } if(Tween == null) { return null; } this._tweens.push(Tween); if(Start) { Tween.start(); } return Tween; } ,add_flixel_tweens_motion_CircularMotion: function(Tween,Start) { if(Start == null) { Start = false; } if(Tween == null) { return null; } this._tweens.push(Tween); if(Start) { Tween.start(); } return Tween; } ,add_flixel_tweens_motion_CubicMotion: function(Tween,Start) { if(Start == null) { Start = false; } if(Tween == null) { return null; } this._tweens.push(Tween); if(Start) { Tween.start(); } return Tween; } ,add_flixel_tweens_motion_QuadMotion: function(Tween,Start) { if(Start == null) { Start = false; } if(Tween == null) { return null; } this._tweens.push(Tween); if(Start) { Tween.start(); } return Tween; } ,add_flixel_tweens_motion_LinearMotion: function(Tween,Start) { if(Start == null) { Start = false; } if(Tween == null) { return null; } this._tweens.push(Tween); if(Start) { Tween.start(); } return Tween; } ,add_flixel_tweens_misc_ColorTween: function(Tween,Start) { if(Start == null) { Start = false; } if(Tween == null) { return null; } this._tweens.push(Tween); if(Start) { Tween.start(); } return Tween; } ,add_flixel_tweens_misc_AngleTween: function(Tween,Start) { if(Start == null) { Start = false; } if(Tween == null) { return null; } this._tweens.push(Tween); if(Start) { Tween.start(); } return Tween; } ,add_flixel_tweens_misc_NumTween: function(Tween,Start) { if(Start == null) { Start = false; } if(Tween == null) { return null; } this._tweens.push(Tween); if(Start) { Tween.start(); } return Tween; } ,add_flixel_tweens_FlxTween: function(Tween,Start) { if(Start == null) { Start = false; } if(Tween == null) { return null; } this._tweens.push(Tween); if(Start) { Tween.start(); } return Tween; } ,add_flixel_tweens_misc_VarTween: function(Tween,Start) { if(Start == null) { Start = false; } if(Tween == null) { return null; } this._tweens.push(Tween); if(Start) { Tween.start(); } return Tween; } ,_tweens: null ,tween: function(Object1,Values,Duration,Options) { if(Duration == null) { Duration = 1; } var tween = new flixel_tweens_misc_VarTween(Options,this); tween.tween(Object1,Values,Duration); return this.add_flixel_tweens_misc_VarTween(tween); } ,num: function(FromValue,ToValue,Duration,Options,TweenFunction) { if(Duration == null) { Duration = 1; } var tween = new flixel_tweens_misc_NumTween(Options,this); tween.tween(FromValue,ToValue,Duration,TweenFunction); return this.add_flixel_tweens_misc_NumTween(tween); } ,angle: function(Sprite,FromAngle,ToAngle,Duration,Options) { if(Duration == null) { Duration = 1; } var tween = new flixel_tweens_misc_AngleTween(Options,this); tween.tween(FromAngle,ToAngle,Duration,Sprite); return this.add_flixel_tweens_misc_AngleTween(tween); } ,color: function(Sprite,Duration,FromColor,ToColor,Options) { if(Duration == null) { Duration = 1; } var tween = new flixel_tweens_misc_ColorTween(Options,this); tween.tween(Duration,FromColor,ToColor,Sprite); return this.add_flixel_tweens_misc_ColorTween(tween); } ,linearMotion: function(Object1,FromX,FromY,ToX,ToY,DurationOrSpeed,UseDuration,Options) { if(UseDuration == null) { UseDuration = true; } if(DurationOrSpeed == null) { DurationOrSpeed = 1; } var tween = new flixel_tweens_motion_LinearMotion(Options,this); tween.setObject(Object1); tween.setMotion(FromX,FromY,ToX,ToY,DurationOrSpeed,UseDuration); return this.add_flixel_tweens_motion_LinearMotion(tween); } ,quadMotion: function(Object1,FromX,FromY,ControlX,ControlY,ToX,ToY,DurationOrSpeed,UseDuration,Options) { if(UseDuration == null) { UseDuration = true; } if(DurationOrSpeed == null) { DurationOrSpeed = 1; } var tween = new flixel_tweens_motion_QuadMotion(Options,this); tween.setObject(Object1); tween.setMotion(FromX,FromY,ControlX,ControlY,ToX,ToY,DurationOrSpeed,UseDuration); return this.add_flixel_tweens_motion_QuadMotion(tween); } ,cubicMotion: function(Object1,FromX,FromY,aX,aY,bX,bY,ToX,ToY,Duration,Options) { if(Duration == null) { Duration = 1; } var tween = new flixel_tweens_motion_CubicMotion(Options,this); tween.setObject(Object1); tween.setMotion(FromX,FromY,aX,aY,bX,bY,ToX,ToY,Duration); return this.add_flixel_tweens_motion_CubicMotion(tween); } ,circularMotion: function(Object1,CenterX,CenterY,Radius,Angle,Clockwise,DurationOrSpeed,UseDuration,Options) { if(UseDuration == null) { UseDuration = true; } if(DurationOrSpeed == null) { DurationOrSpeed = 1; } var tween = new flixel_tweens_motion_CircularMotion(Options,this); tween.setObject(Object1); tween.setMotion(CenterX,CenterY,Radius,Angle,Clockwise,DurationOrSpeed,UseDuration); return this.add_flixel_tweens_motion_CircularMotion(tween); } ,linearPath: function(Object1,Points,DurationOrSpeed,UseDuration,Options) { if(UseDuration == null) { UseDuration = true; } if(DurationOrSpeed == null) { DurationOrSpeed = 1; } var tween = new flixel_tweens_motion_LinearPath(Options,this); if(Points != null) { var _g = 0; while(_g < Points.length) { var point = Points[_g]; ++_g; tween.addPoint(point.x,point.y); } } tween.setObject(Object1); tween.setMotion(DurationOrSpeed,UseDuration); return this.add_flixel_tweens_motion_LinearPath(tween); } ,quadPath: function(Object1,Points,DurationOrSpeed,UseDuration,Options) { if(UseDuration == null) { UseDuration = true; } if(DurationOrSpeed == null) { DurationOrSpeed = 1; } var tween = new flixel_tweens_motion_QuadPath(Options,this); if(Points != null) { var _g = 0; while(_g < Points.length) { var point = Points[_g]; ++_g; tween.addPoint(point.x,point.y); } } tween.setObject(Object1); tween.setMotion(DurationOrSpeed,UseDuration); return this.add_flixel_tweens_motion_QuadPath(tween); } ,destroy: function() { flixel_FlxBasic.prototype.destroy.call(this); flixel_FlxG.signals.preStateSwitch.remove($bind(this,this.clear)); } ,update: function(elapsed) { var finishedTweens = null; var _g = 0; var _g1 = this._tweens; while(_g < _g1.length) { var tween = _g1[_g]; ++_g; if(!tween.active) { continue; } tween.update(elapsed); if(tween.finished) { if(finishedTweens == null) { finishedTweens = []; } finishedTweens.push(tween); } } if(finishedTweens != null) { while(finishedTweens.length > 0) finishedTweens.shift().finish(); } } ,remove: function(Tween,Destroy) { if(Destroy == null) { Destroy = true; } if(Tween == null) { return null; } Tween.set_active(false); if(Destroy) { Tween.destroy(); } var array = this._tweens; var index = array.indexOf(Tween); if(index != -1) { array[index] = array[array.length - 1]; array.pop(); } return Tween; } ,clear: function() { var _g = 0; var _g1 = this._tweens; while(_g < _g1.length) { var tween = _g1[_g]; ++_g; if(tween != null) { tween.set_active(false); tween.destroy(); } } this._tweens.splice(0,this._tweens.length); } ,cancelTweensOf: function(Object1,FieldPaths) { this.forEachTweensOf(Object1,FieldPaths,function(tween) { tween.cancel(); }); } ,completeTweensOf: function(Object1,FieldPaths) { this.forEachTweensOf(Object1,FieldPaths,function(tween) { if((tween.type & 2) == 0 && (tween.type & 4) == 0 && tween.active) { tween.update(1.79e+308); } }); } ,forEachTweensOf: function(Object1,FieldPaths,Function1) { if(Object1 == null) { throw new js__$Boot_HaxeError("Cannot cancel tween variables of an object that is null."); } if(FieldPaths == null || FieldPaths.length == 0) { var i = this._tweens.length; while(i-- > 0) { var tween = this._tweens[i]; if(tween.isTweenOf(Object1)) { Function1(tween); } } } else { var propertyInfos = []; var _g = 0; while(_g < FieldPaths.length) { var fieldPath = FieldPaths[_g]; ++_g; var target = Object1; var path = fieldPath.split("."); var field = path.pop(); var _g1 = 0; while(_g1 < path.length) { var component = path[_g1]; ++_g1; target = Reflect.getProperty(target,component); if(!Reflect.isObject(target)) { break; } } if(Reflect.isObject(target)) { propertyInfos.push({ object : target, field : field}); } } var i1 = this._tweens.length; while(i1-- > 0) { var tween1 = this._tweens[i1]; var _g11 = 0; while(_g11 < propertyInfos.length) { var info = propertyInfos[_g11]; ++_g11; if(tween1.isTweenOf(info.object,info.field)) { Function1(tween1); break; } } } } } ,completeAll: function() { var _g = 0; var _g1 = this._tweens; while(_g < _g1.length) { var tween = _g1[_g]; ++_g; if((tween.type & 2) == 0 && (tween.type & 4) == 0 && tween.active) { tween.update(1.79e+308); } } } ,forEach: function(Function1) { var _g = 0; var _g1 = this._tweens; while(_g < _g1.length) { var tween = _g1[_g]; ++_g; Function1(tween); } } ,__class__: flixel_tweens_FlxTweenManager }); var flixel_tweens_misc_AngleTween = function(Options,manager) { flixel_tweens_FlxTween.call(this,Options,manager); }; $hxClasses["flixel.tweens.misc.AngleTween"] = flixel_tweens_misc_AngleTween; flixel_tweens_misc_AngleTween.__name__ = "flixel.tweens.misc.AngleTween"; flixel_tweens_misc_AngleTween.__super__ = flixel_tweens_FlxTween; flixel_tweens_misc_AngleTween.prototype = $extend(flixel_tweens_FlxTween.prototype,{ angle: null ,sprite: null ,_start: null ,_range: null ,destroy: function() { flixel_tweens_FlxTween.prototype.destroy.call(this); this.sprite = null; } ,tween: function(FromAngle,ToAngle,Duration,Sprite) { this._start = this.angle = FromAngle; this._range = ToAngle - this.angle; this.duration = Duration; this.sprite = Sprite; if(this.sprite != null) { this.sprite.set_angle(this.angle % 360); } this.start(); return this; } ,update: function(elapsed) { flixel_tweens_FlxTween.prototype.update.call(this,elapsed); this.angle = this._start + this._range * this.scale; if(this.sprite != null) { var spriteAngle = this.angle % 360; this.sprite.set_angle(spriteAngle); } } ,isTweenOf: function(object,field) { if(this.sprite == object) { if(field != null) { return field == "angle"; } else { return true; } } else { return false; } } ,__class__: flixel_tweens_misc_AngleTween }); var flixel_tweens_misc_ColorTween = function(Options,manager) { flixel_tweens_FlxTween.call(this,Options,manager); }; $hxClasses["flixel.tweens.misc.ColorTween"] = flixel_tweens_misc_ColorTween; flixel_tweens_misc_ColorTween.__name__ = "flixel.tweens.misc.ColorTween"; flixel_tweens_misc_ColorTween.__super__ = flixel_tweens_FlxTween; flixel_tweens_misc_ColorTween.prototype = $extend(flixel_tweens_FlxTween.prototype,{ color: null ,startColor: null ,endColor: null ,sprite: null ,destroy: function() { flixel_tweens_FlxTween.prototype.destroy.call(this); this.sprite = null; } ,tween: function(Duration,FromColor,ToColor,Sprite) { this.color = this.startColor = FromColor; this.endColor = ToColor; this.duration = Duration; this.sprite = Sprite; this.start(); return this; } ,update: function(elapsed) { flixel_tweens_FlxTween.prototype.update.call(this,elapsed); var Color1 = this.startColor; var Color2 = this.endColor; var Factor = this.scale; if(Factor == null) { Factor = 0.5; } var r = ((Color2 >> 16 & 255) - (Color1 >> 16 & 255)) * Factor + (Color1 >> 16 & 255) | 0; var g = ((Color2 >> 8 & 255) - (Color1 >> 8 & 255)) * Factor + (Color1 >> 8 & 255) | 0; var b = ((Color2 & 255) - (Color1 & 255)) * Factor + (Color1 & 255) | 0; var a = ((Color2 >> 24 & 255) - (Color1 >> 24 & 255)) * Factor + (Color1 >> 24 & 255) | 0; var Alpha = a; if(Alpha == null) { Alpha = 255; } var color = flixel_util__$FlxColor_FlxColor_$Impl_$._new(); var Alpha1 = Alpha; if(Alpha1 == null) { Alpha1 = 255; } color &= -16711681; color |= (r > 255 ? 255 : r < 0 ? 0 : r) << 16; color &= -65281; color |= (g > 255 ? 255 : g < 0 ? 0 : g) << 8; color &= -256; color |= b > 255 ? 255 : b < 0 ? 0 : b; color &= 16777215; color |= (Alpha1 > 255 ? 255 : Alpha1 < 0 ? 0 : Alpha1) << 24; this.color = color; if(this.sprite != null) { this.sprite.set_color(this.color); this.sprite.set_alpha((this.color >> 24 & 255) / 255); } } ,isTweenOf: function(object,field) { if(this.sprite == object) { if(field != null) { return field == "color"; } else { return true; } } else { return false; } } ,__class__: flixel_tweens_misc_ColorTween }); var flixel_tweens_misc_NumTween = function(Options,manager) { flixel_tweens_FlxTween.call(this,Options,manager); }; $hxClasses["flixel.tweens.misc.NumTween"] = flixel_tweens_misc_NumTween; flixel_tweens_misc_NumTween.__name__ = "flixel.tweens.misc.NumTween"; flixel_tweens_misc_NumTween.__super__ = flixel_tweens_FlxTween; flixel_tweens_misc_NumTween.prototype = $extend(flixel_tweens_FlxTween.prototype,{ value: null ,_tweenFunction: null ,_start: null ,_range: null ,destroy: function() { flixel_tweens_FlxTween.prototype.destroy.call(this); this._tweenFunction = null; } ,tween: function(fromValue,toValue,duration,tweenFunction) { this._tweenFunction = tweenFunction; this._start = this.value = fromValue; this._range = toValue - this.value; this.duration = duration; this.start(); return this; } ,update: function(elapsed) { flixel_tweens_FlxTween.prototype.update.call(this,elapsed); this.value = this._start + this._range * this.scale; if(this._tweenFunction != null) { this._tweenFunction(this.value); } } ,__class__: flixel_tweens_misc_NumTween }); var flixel_tweens_misc_VarTween = function(options,manager) { flixel_tweens_FlxTween.call(this,options,manager); }; $hxClasses["flixel.tweens.misc.VarTween"] = flixel_tweens_misc_VarTween; flixel_tweens_misc_VarTween.__name__ = "flixel.tweens.misc.VarTween"; flixel_tweens_misc_VarTween.__super__ = flixel_tweens_FlxTween; flixel_tweens_misc_VarTween.prototype = $extend(flixel_tweens_FlxTween.prototype,{ _object: null ,_properties: null ,_propertyInfos: null ,tween: function(object,properties,duration) { this._object = object; this._properties = properties; this._propertyInfos = []; this.duration = duration; this.start(); this.initializeVars(); return this; } ,update: function(elapsed) { var delay = this.executions > 0 ? this.loopDelay : this.startDelay; if(this._secondsSinceStart < delay) { flixel_tweens_FlxTween.prototype.update.call(this,elapsed); } else { if(isNaN(this._propertyInfos[0].startValue)) { this.setStartValues(); } flixel_tweens_FlxTween.prototype.update.call(this,elapsed); var _g = 0; var _g1 = this._propertyInfos; while(_g < _g1.length) { var info = _g1[_g]; ++_g; Reflect.setProperty(info.object,info.field,info.startValue + info.range * this.scale); } } } ,initializeVars: function() { var fieldPaths; if(Reflect.isObject(this._properties)) { fieldPaths = Reflect.fields(this._properties); } else { throw new js__$Boot_HaxeError("Unsupported properties container - use an object containing key/value pairs."); } var _g = 0; while(_g < fieldPaths.length) { var fieldPath = fieldPaths[_g]; ++_g; var target = this._object; var path = fieldPath.split("."); var field = path.pop(); var _g1 = 0; while(_g1 < path.length) { var component = path[_g1]; ++_g1; target = Reflect.getProperty(target,component); if(!Reflect.isObject(target)) { throw new js__$Boot_HaxeError("The object does not have the property \"" + component + "\" in \"" + fieldPath + "\""); } } this._propertyInfos.push({ object : target, field : field, startValue : NaN, range : Reflect.getProperty(this._properties,fieldPath)}); } } ,setStartValues: function() { var _g = 0; var _g1 = this._propertyInfos; while(_g < _g1.length) { var info = _g1[_g]; ++_g; if(Reflect.getProperty(info.object,info.field) == null) { throw new js__$Boot_HaxeError("The object does not have the property \"" + info.field + "\""); } var value = Reflect.getProperty(info.object,info.field); if(isNaN(value)) { throw new js__$Boot_HaxeError("The property \"" + info.field + "\" is not numeric."); } info.startValue = value; info.range -= value; } } ,destroy: function() { flixel_tweens_FlxTween.prototype.destroy.call(this); this._object = null; this._properties = null; this._propertyInfos = null; } ,isTweenOf: function(object,field) { var _g = 0; var _g1 = this._propertyInfos; while(_g < _g1.length) { var property = _g1[_g]; ++_g; if(object == property.object && (field == property.field || field == null)) { return true; } } return false; } ,__class__: flixel_tweens_misc_VarTween }); var flixel_tweens_motion_Motion = function(Options,manager) { this.y = 0; this.x = 0; flixel_tweens_FlxTween.call(this,Options,manager); }; $hxClasses["flixel.tweens.motion.Motion"] = flixel_tweens_motion_Motion; flixel_tweens_motion_Motion.__name__ = "flixel.tweens.motion.Motion"; flixel_tweens_motion_Motion.__super__ = flixel_tweens_FlxTween; flixel_tweens_motion_Motion.prototype = $extend(flixel_tweens_FlxTween.prototype,{ x: null ,y: null ,_object: null ,_wasObjectImmovable: null ,destroy: function() { flixel_tweens_FlxTween.prototype.destroy.call(this); this._object = null; } ,setObject: function(object) { this._object = object; this._wasObjectImmovable = this._object.immovable; this._object.set_immovable(true); return this; } ,update: function(elapsed) { flixel_tweens_FlxTween.prototype.update.call(this,elapsed); this.postUpdate(); } ,onEnd: function() { this._object.set_immovable(this._wasObjectImmovable); flixel_tweens_FlxTween.prototype.onEnd.call(this); } ,postUpdate: function() { if(this._object != null) { this._object.setPosition(this.x,this.y); } } ,isTweenOf: function(object,field) { if(this._object == object) { if(!(field == null || field == "x")) { return field == "y"; } else { return true; } } else { return false; } } ,__class__: flixel_tweens_motion_Motion }); var flixel_tweens_motion_CircularMotion = function(Options,manager) { this._angleFinish = 0; this._angleStart = 0; this._radius = 0; this._centerY = 0; this._centerX = 0; this.angle = 0; flixel_tweens_motion_Motion.call(this,Options,manager); }; $hxClasses["flixel.tweens.motion.CircularMotion"] = flixel_tweens_motion_CircularMotion; flixel_tweens_motion_CircularMotion.__name__ = "flixel.tweens.motion.CircularMotion"; flixel_tweens_motion_CircularMotion.__super__ = flixel_tweens_motion_Motion; flixel_tweens_motion_CircularMotion.prototype = $extend(flixel_tweens_motion_Motion.prototype,{ angle: null ,_centerX: null ,_centerY: null ,_radius: null ,_angleStart: null ,_angleFinish: null ,setMotion: function(CenterX,CenterY,Radius,Angle,Clockwise,DurationOrSpeed,UseDuration) { if(UseDuration == null) { UseDuration = true; } this._centerX = CenterX; this._centerY = CenterY; this._radius = Radius; this.angle = this._angleStart = Angle * Math.PI / -180; this._angleFinish = Math.PI * 2 * (Clockwise ? 1 : -1); if(UseDuration) { this.duration = DurationOrSpeed; } else { this.duration = this._radius * (Math.PI * 2) / DurationOrSpeed; } this.start(); return this; } ,update: function(elapsed) { flixel_tweens_motion_Motion.prototype.update.call(this,elapsed); this.angle = this._angleStart + this._angleFinish * this.scale; this.x = this._centerX + Math.cos(this.angle) * this._radius; this.y = this._centerY + Math.sin(this.angle) * this._radius; if(this.finished) { this.postUpdate(); } } ,get_circumference: function() { return this._radius * (Math.PI * 2); } ,__class__: flixel_tweens_motion_CircularMotion ,__properties__: $extend(flixel_tweens_motion_Motion.prototype.__properties__,{get_circumference:"get_circumference"}) }); var flixel_tweens_motion_CubicMotion = function(Options,manager) { this._tt = 0; this._ttt = 0; this._bY = 0; this._bX = 0; this._aY = 0; this._aX = 0; this._toY = 0; this._toX = 0; this._fromY = 0; this._fromX = 0; flixel_tweens_motion_Motion.call(this,Options,manager); }; $hxClasses["flixel.tweens.motion.CubicMotion"] = flixel_tweens_motion_CubicMotion; flixel_tweens_motion_CubicMotion.__name__ = "flixel.tweens.motion.CubicMotion"; flixel_tweens_motion_CubicMotion.__super__ = flixel_tweens_motion_Motion; flixel_tweens_motion_CubicMotion.prototype = $extend(flixel_tweens_motion_Motion.prototype,{ _fromX: null ,_fromY: null ,_toX: null ,_toY: null ,_aX: null ,_aY: null ,_bX: null ,_bY: null ,_ttt: null ,_tt: null ,setMotion: function(fromX,fromY,aX,aY,bX,bY,toX,toY,duration) { this.x = this._fromX = fromX; this.y = this._fromY = fromY; this._aX = aX; this._aY = aY; this._bX = bX; this._bY = bY; this._toX = toX; this._toY = toY; this.duration = duration; this.start(); return this; } ,update: function(elapsed) { flixel_tweens_motion_Motion.prototype.update.call(this,elapsed); this.x = this.scale * this.scale * this.scale * (this._toX + 3 * (this._aX - this._bX) - this._fromX) + 3 * this.scale * this.scale * (this._fromX - 2 * this._aX + this._bX) + 3 * this.scale * (this._aX - this._fromX) + this._fromX; this.y = this.scale * this.scale * this.scale * (this._toY + 3 * (this._aY - this._bY) - this._fromY) + 3 * this.scale * this.scale * (this._fromY - 2 * this._aY + this._bY) + 3 * this.scale * (this._aY - this._fromY) + this._fromY; if(this.finished) { this.postUpdate(); } } ,__class__: flixel_tweens_motion_CubicMotion }); var flixel_tweens_motion_LinearMotion = function(Options,manager) { this._distance = -1; this._moveY = 0; this._moveX = 0; this._fromY = 0; this._fromX = 0; flixel_tweens_motion_Motion.call(this,Options,manager); }; $hxClasses["flixel.tweens.motion.LinearMotion"] = flixel_tweens_motion_LinearMotion; flixel_tweens_motion_LinearMotion.__name__ = "flixel.tweens.motion.LinearMotion"; flixel_tweens_motion_LinearMotion.__super__ = flixel_tweens_motion_Motion; flixel_tweens_motion_LinearMotion.prototype = $extend(flixel_tweens_motion_Motion.prototype,{ _fromX: null ,_fromY: null ,_moveX: null ,_moveY: null ,_distance: null ,setMotion: function(FromX,FromY,ToX,ToY,DurationOrSpeed,UseDuration) { if(UseDuration == null) { UseDuration = true; } this._distance = -1; this.x = this._fromX = FromX; this.y = this._fromY = FromY; this._moveX = ToX - FromX; this._moveY = ToY - FromY; if(UseDuration) { this.duration = DurationOrSpeed; } else { this.duration = this.get_distance() / DurationOrSpeed; } this.start(); return this; } ,update: function(elapsed) { flixel_tweens_motion_Motion.prototype.update.call(this,elapsed); this.x = this._fromX + this._moveX * this.scale; this.y = this._fromY + this._moveY * this.scale; if(this.x == this._fromX + this._moveX && this.y == this._fromY + this._moveY && this.active && this._secondsSinceStart >= this.duration) { this.finished = true; } if(this.finished) { this.postUpdate(); } } ,get_distance: function() { if(this._distance >= 0) { return this._distance; } return this._distance = Math.sqrt(this._moveX * this._moveX + this._moveY * this._moveY); } ,__class__: flixel_tweens_motion_LinearMotion ,__properties__: $extend(flixel_tweens_motion_Motion.prototype.__properties__,{get_distance:"get_distance"}) }); var flixel_tweens_motion_LinearPath = function(Options,manager) { this._index = 0; this._speed = 0; this.distance = 0; flixel_tweens_motion_Motion.call(this,Options,manager); this.points = []; this._pointD = [0]; this._pointT = [0]; }; $hxClasses["flixel.tweens.motion.LinearPath"] = flixel_tweens_motion_LinearPath; flixel_tweens_motion_LinearPath.__name__ = "flixel.tweens.motion.LinearPath"; flixel_tweens_motion_LinearPath.__super__ = flixel_tweens_motion_Motion; flixel_tweens_motion_LinearPath.prototype = $extend(flixel_tweens_motion_Motion.prototype,{ distance: null ,points: null ,_pointD: null ,_pointT: null ,_speed: null ,_index: null ,_last: null ,_prevPoint: null ,_nextPoint: null ,destroy: function() { flixel_tweens_motion_Motion.prototype.destroy.call(this); var _g = 0; var _g1 = this.points; while(_g < _g1.length) { var point = _g1[_g]; ++_g; point = flixel_util_FlxDestroyUtil.put(point); } this._last = flixel_util_FlxDestroyUtil.put(this._last); this._prevPoint = flixel_util_FlxDestroyUtil.put(this._prevPoint); this._nextPoint = flixel_util_FlxDestroyUtil.put(this._nextPoint); } ,setMotion: function(DurationOrSpeed,UseDuration) { if(UseDuration == null) { UseDuration = true; } this.updatePath(); if(UseDuration) { this.duration = DurationOrSpeed; this._speed = this.distance / DurationOrSpeed; } else { this.duration = this.distance / DurationOrSpeed; this._speed = DurationOrSpeed; } this.start(); return this; } ,addPoint: function(x,y) { if(y == null) { y = 0; } if(x == null) { x = 0; } if(this._last != null) { this.distance += Math.sqrt((x - this._last.x) * (x - this._last.x) + (y - this._last.y) * (y - this._last.y)); this._pointD[this.points.length] = this.distance; } var tmp = this.points; var tmp1 = this.points.length; var X = x; var Y = y; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; tmp[tmp1] = this._last = point; return this; } ,getPoint: function(index) { if(index == null) { index = 0; } if(this.points.length == 0) { throw new js__$Boot_HaxeError("No points have been added to the path yet."); } return this.points[index % this.points.length]; } ,start: function() { this._index = this.backward ? this.points.length - 1 : 0; flixel_tweens_motion_Motion.prototype.start.call(this); return this; } ,update: function(elapsed) { flixel_tweens_motion_Motion.prototype.update.call(this,elapsed); var td; var tt; if(this.points == null) { return; } if(!this.backward) { if(this._index < this.points.length - 1) { while(this.scale > this._pointT[this._index + 1]) { this._index++; if(this._index == this.points.length - 1) { this._index -= 1; break; } } } td = this._pointT[this._index]; tt = this._pointT[this._index + 1] - td; td = (this.scale - td) / tt; this._prevPoint = this.points[this._index]; this._nextPoint = this.points[this._index + 1]; this.x = this._prevPoint.x + (this._nextPoint.x - this._prevPoint.x) * td; this.y = this._prevPoint.y + (this._nextPoint.y - this._prevPoint.y) * td; } else { if(this._index > 0) { while(this.scale < this._pointT[this._index - 1]) { this._index -= 1; if(this._index == 0) { this._index += 1; break; } } } td = this._pointT[this._index]; tt = this._pointT[this._index - 1] - td; td = (this.scale - td) / tt; this._prevPoint = this.points[this._index]; this._nextPoint = this.points[this._index - 1]; this.x = this._prevPoint.x + (this._nextPoint.x - this._prevPoint.x) * td; this.y = this._prevPoint.y + (this._nextPoint.y - this._prevPoint.y) * td; } flixel_tweens_motion_Motion.prototype.postUpdate.call(this); } ,updatePath: function() { if(this.points.length < 2) { throw new js__$Boot_HaxeError("A LinearPath must have at least 2 points to operate."); } if(this._pointD.length == this._pointT.length) { return; } var i = 0; while(i < this.points.length) this._pointT[i] = this._pointD[i++] / this.distance; } ,__class__: flixel_tweens_motion_LinearPath }); var flixel_tweens_motion_QuadMotion = function(Options,manager) { this._controlY = 0; this._controlX = 0; this._toY = 0; this._toX = 0; this._fromY = 0; this._fromX = 0; this._distance = -1; flixel_tweens_motion_Motion.call(this,Options,manager); }; $hxClasses["flixel.tweens.motion.QuadMotion"] = flixel_tweens_motion_QuadMotion; flixel_tweens_motion_QuadMotion.__name__ = "flixel.tweens.motion.QuadMotion"; flixel_tweens_motion_QuadMotion.__super__ = flixel_tweens_motion_Motion; flixel_tweens_motion_QuadMotion.prototype = $extend(flixel_tweens_motion_Motion.prototype,{ _distance: null ,_fromX: null ,_fromY: null ,_toX: null ,_toY: null ,_controlX: null ,_controlY: null ,setMotion: function(FromX,FromY,ControlX,ControlY,ToX,ToY,DurationOrSpeed,UseDuration) { if(UseDuration == null) { UseDuration = true; } this._distance = -1; this.x = this._fromX = FromX; this.y = this._fromY = FromY; this._controlX = ControlX; this._controlY = ControlY; this._toX = ToX; this._toY = ToY; if(UseDuration) { this.duration = DurationOrSpeed; } else { this.duration = this.get_distance() / DurationOrSpeed; } this.start(); return this; } ,update: function(elapsed) { flixel_tweens_motion_Motion.prototype.update.call(this,elapsed); this.x = this._fromX * (1 - this.scale) * (1 - this.scale) + this._controlX * 2 * (1 - this.scale) * this.scale + this._toX * this.scale * this.scale; this.y = this._fromY * (1 - this.scale) * (1 - this.scale) + this._controlY * 2 * (1 - this.scale) * this.scale + this._toY * this.scale * this.scale; if(this.finished) { this.postUpdate(); } } ,get_distance: function() { if(this._distance >= 0) { return this._distance; } var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; var p1 = point; var point1 = flixel_math_FlxPoint._pool.get().set(0,0); point1._inPool = false; var p2 = point1; p1.set_x(this.x - 2 * this._controlX + this._toX); p1.set_y(this.y - 2 * this._controlY + this._toY); p2.set_x(2 * this._controlX - 2 * this.x); p2.set_y(2 * this._controlY - 2 * this.y); var a = 4 * (p1.x * p1.x + p1.y * p1.y); var b = 4 * (p1.x * p2.x + p1.y * p2.y); var c = p2.x * p2.x + p2.y * p2.y; var abc = 2 * Math.sqrt(a + b + c); var a2 = Math.sqrt(a); var a32 = 2 * a * a2; var c2 = 2 * Math.sqrt(c); var ba = b / a2; p1.put(); p2.put(); return (a32 * abc + a2 * b * (abc - c2) + (4 * c * a - b * b) * Math.log((2 * a2 + ba + abc) / (ba + c2))) / (4 * a32); } ,__class__: flixel_tweens_motion_QuadMotion ,__properties__: $extend(flixel_tweens_motion_Motion.prototype.__properties__,{get_distance:"get_distance"}) }); var flixel_tweens_motion_QuadPath = function(Options,manager) { this._updateCurve = true; this._numSegs = 0; this._index = 0; this._speed = 0; this._distance = 0; flixel_tweens_motion_Motion.call(this,Options,manager); this._points = []; this._curveT = []; this._curveD = []; }; $hxClasses["flixel.tweens.motion.QuadPath"] = flixel_tweens_motion_QuadPath; flixel_tweens_motion_QuadPath.__name__ = "flixel.tweens.motion.QuadPath"; flixel_tweens_motion_QuadPath.__super__ = flixel_tweens_motion_Motion; flixel_tweens_motion_QuadPath.prototype = $extend(flixel_tweens_motion_Motion.prototype,{ _points: null ,_distance: null ,_speed: null ,_index: null ,_numSegs: null ,_updateCurve: null ,_curveT: null ,_curveD: null ,_a: null ,_b: null ,_c: null ,destroy: function() { flixel_tweens_motion_Motion.prototype.destroy.call(this); var _g = 0; var _g1 = this._points; while(_g < _g1.length) { var point = _g1[_g]; ++_g; point = flixel_util_FlxDestroyUtil.put(point); } this._a = flixel_util_FlxDestroyUtil.put(this._a); this._b = flixel_util_FlxDestroyUtil.put(this._b); this._c = flixel_util_FlxDestroyUtil.put(this._c); } ,setMotion: function(DurationOrSpeed,UseDuration) { if(UseDuration == null) { UseDuration = true; } this.updatePath(); if(UseDuration) { this.duration = DurationOrSpeed; this._speed = this._distance / DurationOrSpeed; } else { this.duration = this._distance / DurationOrSpeed; this._speed = DurationOrSpeed; } this.start(); return this; } ,addPoint: function(x,y) { if(y == null) { y = 0; } if(x == null) { x = 0; } this._updateCurve = true; var tmp = this._points; var X = x; var Y = y; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; tmp.push(point); return this; } ,getPoint: function(index) { if(index == null) { index = 0; } if(this._points.length == 0) { throw new js__$Boot_HaxeError("No points have been added to the path yet."); } return this._points[index % this._points.length]; } ,start: function() { this._index = this.backward ? this._numSegs - 1 : 0; flixel_tweens_motion_Motion.prototype.start.call(this); return this; } ,update: function(elapsed) { flixel_tweens_motion_Motion.prototype.update.call(this,elapsed); var td; var tt; if(!this.backward && this._points != null) { if(this._index < this._numSegs - 1) { while(this.scale > this._curveT[this._index + 1]) { this._index++; if(this._index == this._numSegs - 1) { break; } } } td = this._curveT[this._index]; tt = this._curveT[this._index + 1] - td; td = (this.scale - td) / tt; this._a = this._points[this._index * 2]; this._b = this._points[this._index * 2 + 1]; this._c = this._points[this._index * 2 + 2]; this.x = this._a.x * (1 - td) * (1 - td) + this._b.x * 2 * (1 - td) * td + this._c.x * td * td; this.y = this._a.y * (1 - td) * (1 - td) + this._b.y * 2 * (1 - td) * td + this._c.y * td * td; } else if(this._points != null) { if(this._index > 0) { while(this.scale < this._curveT[this._index]) { this._index--; if(this._index == 0) { break; } } } td = this._curveT[this._index + 1]; tt = this._curveT[this._index] - td; td = (this.scale - td) / tt; this._a = this._points[this._index * 2 + 2]; this._b = this._points[this._index * 2 + 1]; this._c = this._points[this._index * 2]; this.x = this._a.x * (1 - td) * (1 - td) + this._b.x * 2 * (1 - td) * td + this._c.x * td * td; this.y = this._a.y * (1 - td) * (1 - td) + this._b.y * 2 * (1 - td) * td + this._c.y * td * td; } flixel_tweens_motion_Motion.prototype.postUpdate.call(this); } ,updatePath: function() { if((this._points.length - 1) % 2 != 0 || this._points.length < 3) { throw new js__$Boot_HaxeError("A QuadPath must have at least 3 points to operate and number of points must be a odd."); } if(!this._updateCurve) { return; } this._updateCurve = false; var i = 0; var j = 0; this._distance = 0; this._numSegs = (this._points.length - 1) / 2 | 0; while(i < this._numSegs) { j = i * 2; this._curveD[i] = this.getCurveLength(this._points[j],this._points[j + 1],this._points[j + 2]); this._distance += this._curveD[i++]; } i = 0; var d = 0; while(i < this._numSegs) { d += this._curveD[i]; this._curveT[i++] = d / this._distance; } this._curveT[this._numSegs - 1] = 1; this._curveT.unshift(0); } ,getCurveLength: function(start,control,finish) { var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; var p1 = point; var point1 = flixel_math_FlxPoint._pool.get().set(0,0); point1._inPool = false; var p2 = point1; p1.set_x(start.x - 2 * control.x + finish.x); p1.set_y(start.y - 2 * control.y + finish.y); p2.set_x(2 * control.x - 2 * start.x); p2.set_y(2 * control.y - 2 * start.y); var a = 4 * (p1.x * p1.x + p1.y * p1.y); var b = 4 * (p1.x * p2.x + p1.y * p2.y); var c = p2.x * p2.x + p2.y * p2.y; var abc = 2 * Math.sqrt(a + b + c); var a2 = Math.sqrt(a); var a32 = 2 * a * a2; var c2 = 2 * Math.sqrt(c); var ba = b / a2; p1.put(); p2.put(); return (a32 * abc + a2 * b * (abc - c2) + (4 * c * a - b * b) * Math.log((2 * a2 + ba + abc) / (ba + c2))) / (4 * a32); } ,__class__: flixel_tweens_motion_QuadPath }); var flixel_ui_FlxBarFillDirection = $hxEnums["flixel.ui.FlxBarFillDirection"] = { __ename__ : "flixel.ui.FlxBarFillDirection", __constructs__ : ["LEFT_TO_RIGHT","RIGHT_TO_LEFT","TOP_TO_BOTTOM","BOTTOM_TO_TOP","HORIZONTAL_INSIDE_OUT","HORIZONTAL_OUTSIDE_IN","VERTICAL_INSIDE_OUT","VERTICAL_OUTSIDE_IN"] ,LEFT_TO_RIGHT: {_hx_index:0,__enum__:"flixel.ui.FlxBarFillDirection",toString:$estr} ,RIGHT_TO_LEFT: {_hx_index:1,__enum__:"flixel.ui.FlxBarFillDirection",toString:$estr} ,TOP_TO_BOTTOM: {_hx_index:2,__enum__:"flixel.ui.FlxBarFillDirection",toString:$estr} ,BOTTOM_TO_TOP: {_hx_index:3,__enum__:"flixel.ui.FlxBarFillDirection",toString:$estr} ,HORIZONTAL_INSIDE_OUT: {_hx_index:4,__enum__:"flixel.ui.FlxBarFillDirection",toString:$estr} ,HORIZONTAL_OUTSIDE_IN: {_hx_index:5,__enum__:"flixel.ui.FlxBarFillDirection",toString:$estr} ,VERTICAL_INSIDE_OUT: {_hx_index:6,__enum__:"flixel.ui.FlxBarFillDirection",toString:$estr} ,VERTICAL_OUTSIDE_IN: {_hx_index:7,__enum__:"flixel.ui.FlxBarFillDirection",toString:$estr} }; var flixel_ui_FlxTypedButton_$flixel_$text_$FlxText = function(X,Y,OnClick) { if(Y == null) { Y = 0; } if(X == null) { X = 0; } this.lastStatus = -1; this.maxInputMovement = Infinity; this.mouseButtons = [-1]; this.allowSwiping = true; this.statusAnimations = ["normal","highlight","pressed"]; this.labelAlphas = [0.8,1.0,0.5]; var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; var point1 = flixel_math_FlxPoint._pool.get().set(0,0); point1._inPool = false; var point2 = flixel_math_FlxPoint._pool.get().set(0,1); point2._inPool = false; this.labelOffsets = [point,point1,point2]; flixel_FlxSprite.call(this,X,Y); this.loadDefaultGraphic(); this.onUp = new flixel_ui__$FlxButton_FlxButtonEvent(OnClick); this.onDown = new flixel_ui__$FlxButton_FlxButtonEvent(); this.onOver = new flixel_ui__$FlxButton_FlxButtonEvent(); this.onOut = new flixel_ui__$FlxButton_FlxButtonEvent(); this.set_status(0); this.scrollFactor.set(); openfl_Lib.get_current().stage.addEventListener("mouseUp",$bind(this,this.onUpEventListener)); this.input = new flixel_input_FlxInput(0); }; $hxClasses["flixel.ui.FlxTypedButton_flixel_text_FlxText"] = flixel_ui_FlxTypedButton_$flixel_$text_$FlxText; flixel_ui_FlxTypedButton_$flixel_$text_$FlxText.__name__ = "flixel.ui.FlxTypedButton_flixel_text_FlxText"; flixel_ui_FlxTypedButton_$flixel_$text_$FlxText.__interfaces__ = [flixel_input_IFlxInput]; flixel_ui_FlxTypedButton_$flixel_$text_$FlxText.__super__ = flixel_FlxSprite; flixel_ui_FlxTypedButton_$flixel_$text_$FlxText.prototype = $extend(flixel_FlxSprite.prototype,{ label: null ,labelOffsets: null ,labelAlphas: null ,statusAnimations: null ,allowSwiping: null ,mouseButtons: null ,maxInputMovement: null ,status: null ,onUp: null ,onDown: null ,onOver: null ,onOut: null ,_spriteLabel: null ,input: null ,currentInput: null ,lastStatus: null ,graphicLoaded: function() { flixel_FlxSprite.prototype.graphicLoaded.call(this); this.setupAnimation("normal",0); this.setupAnimation("highlight",1); this.setupAnimation("pressed",2); } ,loadDefaultGraphic: function() { this.loadGraphic("flixel/images/ui/button.png",true,80,20); } ,setupAnimation: function(animationName,frameIndex) { frameIndex = Math.min(frameIndex,this.animation._sprite.numFrames - 1) | 0; this.animation.add(animationName,[frameIndex]); } ,destroy: function() { this.set_label(flixel_util_FlxDestroyUtil.destroy(this.label)); this._spriteLabel = null; this.onUp = flixel_util_FlxDestroyUtil.destroy(this.onUp); this.onDown = flixel_util_FlxDestroyUtil.destroy(this.onDown); this.onOver = flixel_util_FlxDestroyUtil.destroy(this.onOver); this.onOut = flixel_util_FlxDestroyUtil.destroy(this.onOut); this.labelOffsets = flixel_util_FlxDestroyUtil.putArray(this.labelOffsets); this.labelAlphas = null; this.currentInput = null; this.input = null; openfl_Lib.get_current().stage.removeEventListener("mouseUp",$bind(this,this.onUpEventListener)); flixel_FlxSprite.prototype.destroy.call(this); } ,update: function(elapsed) { flixel_FlxSprite.prototype.update.call(this,elapsed); if(this.visible) { this.updateButton(); if(this.lastStatus != this.status) { this.updateStatusAnimation(); this.lastStatus = this.status; } } this.input.update(); } ,updateStatusAnimation: function() { this.animation.play(this.statusAnimations[this.status]); } ,draw: function() { flixel_FlxSprite.prototype.draw.call(this); if(this._spriteLabel != null && this._spriteLabel.visible) { this._spriteLabel.set_cameras(this.get_cameras()); this._spriteLabel.draw(); } } ,stampOnAtlas: function(atlas) { var buttonNode = atlas.addNode(this.graphic.bitmap,this.graphic.key); var result = buttonNode != null; if(buttonNode != null) { var buttonFrames = this.frames; var X = buttonFrames.tileSize.x; var Y = buttonFrames.tileSize.y; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; var tileSize = point; var tileFrames = buttonNode.getTileFrames(tileSize); this.set_frames(tileFrames); } if(result && this.label != null) { var labelNode = atlas.addNode(this.label.graphic.bitmap,this.label.graphic.key); result = result && labelNode != null; if(labelNode != null) { this.label.set_frames(labelNode.getImageFrame()); } } return result; } ,updateButton: function() { var overlapFound = this.checkMouseOverlap(); if(!overlapFound) { overlapFound = this.checkTouchOverlap(); } if(this.currentInput != null && this.currentInput.get_justReleased() && overlapFound) { this.onUpHandler(); } if(this.status != 0 && (!overlapFound || this.currentInput != null && this.currentInput.get_justReleased())) { this.onOutHandler(); } } ,checkMouseOverlap: function() { var overlap = false; var _g = 0; var _g1 = this.get_cameras(); while(_g < _g1.length) { var camera = _g1[_g]; ++_g; var _g2 = 0; var _g11 = this.mouseButtons; while(_g2 < _g11.length) { var buttonID = _g11[_g2]; ++_g2; var button = flixel_input_mouse_FlxMouseButton.getByID(buttonID); if(button != null && this.checkInput(flixel_FlxG.mouse,button,button.justPressedPosition,camera)) { overlap = true; } } } return overlap; } ,checkTouchOverlap: function() { var overlap = false; var _g = 0; var _g1 = this.get_cameras(); while(_g < _g1.length) { var camera = _g1[_g]; ++_g; var _g2 = 0; var _g11 = flixel_FlxG.touches.list; while(_g2 < _g11.length) { var touch = _g11[_g2]; ++_g2; if(this.checkInput(touch,touch,touch.justPressedPosition,camera)) { overlap = true; } } } return overlap; } ,checkInput: function(pointer,input,justPressedPosition,camera) { var tmp; if(this.maxInputMovement != Infinity) { var X = 0; var Y = 0; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; var point1 = point; point1._weak = true; tmp = justPressedPosition.distanceTo(pointer.getScreenPosition(null,point1)) > this.maxInputMovement; } else { tmp = false; } if(tmp && input == this.currentInput) { this.currentInput = null; } else if(this.overlapsPoint(pointer.getWorldPosition(camera,this._point),true,camera)) { this.updateStatus(input); return true; } return false; } ,updateStatus: function(input) { if(input.get_justPressed()) { this.currentInput = input; this.onDownHandler(); } else if(this.status == 0) { if(this.allowSwiping && input.get_pressed()) { this.onDownHandler(); } else { this.onOverHandler(); } } } ,updateLabelPosition: function() { if(this._spriteLabel != null) { this._spriteLabel.set_x((this.pixelPerfectPosition ? Math.floor(this.x) : this.x) + this.labelOffsets[this.status].x); this._spriteLabel.set_y((this.pixelPerfectPosition ? Math.floor(this.y) : this.y) + this.labelOffsets[this.status].y); } } ,updateLabelAlpha: function() { if(this._spriteLabel != null && this.labelAlphas.length > this.status) { this._spriteLabel.set_alpha(this.alpha * this.labelAlphas[this.status]); } } ,onUpEventListener: function(_) { if(this.visible && this.exists && this.active && this.status == 2) { this.onUpHandler(); } } ,onUpHandler: function() { this.set_status(0); this.input.release(); this.currentInput = null; var _this = this.onUp; if(_this.callback != null) { _this.callback(); } if(_this.sound != null) { _this.sound.play(true); } } ,onDownHandler: function() { this.set_status(2); this.input.press(); var _this = this.onDown; if(_this.callback != null) { _this.callback(); } if(_this.sound != null) { _this.sound.play(true); } } ,onOverHandler: function() { if(!flixel_FlxG.mouse.enabled) { this.set_status(0); return; } this.set_status(1); var _this = this.onOver; if(_this.callback != null) { _this.callback(); } if(_this.sound != null) { _this.sound.play(true); } } ,onOutHandler: function() { this.set_status(0); this.input.release(); var _this = this.onOut; if(_this.callback != null) { _this.callback(); } if(_this.sound != null) { _this.sound.play(true); } } ,set_label: function(Value) { if(Value != null) { Value.scrollFactor.put(); Value.scrollFactor = this.scrollFactor; } this.label = Value; this._spriteLabel = this.label; this.updateLabelPosition(); return Value; } ,set_status: function(Value) { this.status = Value; this.updateLabelAlpha(); return this.status; } ,set_alpha: function(Value) { flixel_FlxSprite.prototype.set_alpha.call(this,Value); this.updateLabelAlpha(); return this.alpha; } ,set_x: function(Value) { flixel_FlxSprite.prototype.set_x.call(this,Value); this.updateLabelPosition(); return this.x; } ,set_y: function(Value) { flixel_FlxSprite.prototype.set_y.call(this,Value); this.updateLabelPosition(); return this.y; } ,get_justReleased: function() { return this.input.current == -1; } ,get_released: function() { var _this = this.input; if(_this.current != 0) { return _this.current == -1; } else { return true; } } ,get_pressed: function() { var _this = this.input; if(_this.current != 1) { return _this.current == 2; } else { return true; } } ,get_justPressed: function() { return this.input.current == 2; } ,__class__: flixel_ui_FlxTypedButton_$flixel_$text_$FlxText ,__properties__: $extend(flixel_FlxSprite.prototype.__properties__,{get_justPressed:"get_justPressed",get_pressed:"get_pressed",get_released:"get_released",get_justReleased:"get_justReleased",set_status:"set_status",set_label:"set_label"}) }); var flixel_ui_FlxButton = function(X,Y,Text1,OnClick) { if(Y == null) { Y = 0; } if(X == null) { X = 0; } flixel_ui_FlxTypedButton_$flixel_$text_$FlxText.call(this,X,Y,OnClick); var _g = 0; var _g1 = this.labelOffsets; while(_g < _g1.length) { var point = _g1[_g]; ++_g; point.set(point.x - 1,point.y + 3); } if(Text1 != null) { this.set_label(new flixel_text_FlxText(this.x + this.labelOffsets[0].x,this.y + this.labelOffsets[0].y,80,Text1)); this.label.setFormat(null,8,3355443,"center"); this.label.set_alpha(this.labelAlphas[this.status]); this.label.drawFrame(true); } }; $hxClasses["flixel.ui.FlxButton"] = flixel_ui_FlxButton; flixel_ui_FlxButton.__name__ = "flixel.ui.FlxButton"; flixel_ui_FlxButton.__super__ = flixel_ui_FlxTypedButton_$flixel_$text_$FlxText; flixel_ui_FlxButton.prototype = $extend(flixel_ui_FlxTypedButton_$flixel_$text_$FlxText.prototype,{ resetHelpers: function() { flixel_ui_FlxTypedButton_$flixel_$text_$FlxText.prototype.resetHelpers.call(this); if(this.label != null) { var tmp = this.label; var tmp1 = this.get_width() | 0; tmp.set_fieldWidth(this.label.frameWidth = tmp1); this.label.set_size(this.label._defaultFormat.size | 0); } } ,initLabel: function(Text1) { if(Text1 != null) { this.set_label(new flixel_text_FlxText(this.x + this.labelOffsets[0].x,this.y + this.labelOffsets[0].y,80,Text1)); this.label.setFormat(null,8,3355443,"center"); this.label.set_alpha(this.labelAlphas[this.status]); this.label.drawFrame(true); } } ,get_text: function() { if(this.label != null) { return this.label.text; } else { return null; } } ,set_text: function(Text1) { if(this.label == null) { if(Text1 != null) { this.set_label(new flixel_text_FlxText(this.x + this.labelOffsets[0].x,this.y + this.labelOffsets[0].y,80,Text1)); this.label.setFormat(null,8,3355443,"center"); this.label.set_alpha(this.labelAlphas[this.status]); this.label.drawFrame(true); } } else { this.label.set_text(Text1); } return Text1; } ,__class__: flixel_ui_FlxButton ,__properties__: $extend(flixel_ui_FlxTypedButton_$flixel_$text_$FlxText.prototype.__properties__,{set_text:"set_text",get_text:"get_text"}) }); var flixel_ui__$FlxButton_FlxButtonEvent = function(Callback,sound) { this.callback = Callback; this.sound = sound; }; $hxClasses["flixel.ui._FlxButton.FlxButtonEvent"] = flixel_ui__$FlxButton_FlxButtonEvent; flixel_ui__$FlxButton_FlxButtonEvent.__name__ = "flixel.ui._FlxButton.FlxButtonEvent"; flixel_ui__$FlxButton_FlxButtonEvent.__interfaces__ = [flixel_util_IFlxDestroyable]; flixel_ui__$FlxButton_FlxButtonEvent.prototype = { callback: null ,sound: null ,destroy: function() { this.callback = null; this.sound = flixel_util_FlxDestroyUtil.destroy(this.sound); } ,fire: function() { if(this.callback != null) { this.callback(); } if(this.sound != null) { this.sound.play(true); } } ,__class__: flixel_ui__$FlxButton_FlxButtonEvent }; var flixel_ui_FlxTypedButton_$flixel_$FlxSprite = function(X,Y,OnClick) { if(Y == null) { Y = 0; } if(X == null) { X = 0; } this.lastStatus = -1; this.maxInputMovement = Infinity; this.mouseButtons = [-1]; this.allowSwiping = true; this.statusAnimations = ["normal","highlight","pressed"]; this.labelAlphas = [0.8,1.0,0.5]; var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; var point1 = flixel_math_FlxPoint._pool.get().set(0,0); point1._inPool = false; var point2 = flixel_math_FlxPoint._pool.get().set(0,1); point2._inPool = false; this.labelOffsets = [point,point1,point2]; flixel_FlxSprite.call(this,X,Y); this.loadDefaultGraphic(); this.onUp = new flixel_ui__$FlxButton_FlxButtonEvent(OnClick); this.onDown = new flixel_ui__$FlxButton_FlxButtonEvent(); this.onOver = new flixel_ui__$FlxButton_FlxButtonEvent(); this.onOut = new flixel_ui__$FlxButton_FlxButtonEvent(); this.set_status(0); this.scrollFactor.set(); openfl_Lib.get_current().stage.addEventListener("mouseUp",$bind(this,this.onUpEventListener)); this.input = new flixel_input_FlxInput(0); }; $hxClasses["flixel.ui.FlxTypedButton_flixel_FlxSprite"] = flixel_ui_FlxTypedButton_$flixel_$FlxSprite; flixel_ui_FlxTypedButton_$flixel_$FlxSprite.__name__ = "flixel.ui.FlxTypedButton_flixel_FlxSprite"; flixel_ui_FlxTypedButton_$flixel_$FlxSprite.__interfaces__ = [flixel_input_IFlxInput]; flixel_ui_FlxTypedButton_$flixel_$FlxSprite.__super__ = flixel_FlxSprite; flixel_ui_FlxTypedButton_$flixel_$FlxSprite.prototype = $extend(flixel_FlxSprite.prototype,{ label: null ,labelOffsets: null ,labelAlphas: null ,statusAnimations: null ,allowSwiping: null ,mouseButtons: null ,maxInputMovement: null ,status: null ,onUp: null ,onDown: null ,onOver: null ,onOut: null ,_spriteLabel: null ,input: null ,currentInput: null ,lastStatus: null ,graphicLoaded: function() { flixel_FlxSprite.prototype.graphicLoaded.call(this); this.setupAnimation("normal",0); this.setupAnimation("highlight",1); this.setupAnimation("pressed",2); } ,loadDefaultGraphic: function() { this.loadGraphic("flixel/images/ui/button.png",true,80,20); } ,setupAnimation: function(animationName,frameIndex) { frameIndex = Math.min(frameIndex,this.animation._sprite.numFrames - 1) | 0; this.animation.add(animationName,[frameIndex]); } ,destroy: function() { this.set_label(flixel_util_FlxDestroyUtil.destroy(this.label)); this._spriteLabel = null; this.onUp = flixel_util_FlxDestroyUtil.destroy(this.onUp); this.onDown = flixel_util_FlxDestroyUtil.destroy(this.onDown); this.onOver = flixel_util_FlxDestroyUtil.destroy(this.onOver); this.onOut = flixel_util_FlxDestroyUtil.destroy(this.onOut); this.labelOffsets = flixel_util_FlxDestroyUtil.putArray(this.labelOffsets); this.labelAlphas = null; this.currentInput = null; this.input = null; openfl_Lib.get_current().stage.removeEventListener("mouseUp",$bind(this,this.onUpEventListener)); flixel_FlxSprite.prototype.destroy.call(this); } ,update: function(elapsed) { flixel_FlxSprite.prototype.update.call(this,elapsed); if(this.visible) { this.updateButton(); if(this.lastStatus != this.status) { this.updateStatusAnimation(); this.lastStatus = this.status; } } this.input.update(); } ,updateStatusAnimation: function() { this.animation.play(this.statusAnimations[this.status]); } ,draw: function() { flixel_FlxSprite.prototype.draw.call(this); if(this._spriteLabel != null && this._spriteLabel.visible) { this._spriteLabel.set_cameras(this.get_cameras()); this._spriteLabel.draw(); } } ,stampOnAtlas: function(atlas) { var buttonNode = atlas.addNode(this.graphic.bitmap,this.graphic.key); var result = buttonNode != null; if(buttonNode != null) { var buttonFrames = this.frames; var X = buttonFrames.tileSize.x; var Y = buttonFrames.tileSize.y; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; var tileSize = point; var tileFrames = buttonNode.getTileFrames(tileSize); this.set_frames(tileFrames); } if(result && this.label != null) { var labelNode = atlas.addNode(this.label.graphic.bitmap,this.label.graphic.key); result = result && labelNode != null; if(labelNode != null) { this.label.set_frames(labelNode.getImageFrame()); } } return result; } ,updateButton: function() { var overlapFound = this.checkMouseOverlap(); if(!overlapFound) { overlapFound = this.checkTouchOverlap(); } if(this.currentInput != null && this.currentInput.get_justReleased() && overlapFound) { this.onUpHandler(); } if(this.status != 0 && (!overlapFound || this.currentInput != null && this.currentInput.get_justReleased())) { this.onOutHandler(); } } ,checkMouseOverlap: function() { var overlap = false; var _g = 0; var _g1 = this.get_cameras(); while(_g < _g1.length) { var camera = _g1[_g]; ++_g; var _g2 = 0; var _g11 = this.mouseButtons; while(_g2 < _g11.length) { var buttonID = _g11[_g2]; ++_g2; var button = flixel_input_mouse_FlxMouseButton.getByID(buttonID); if(button != null && this.checkInput(flixel_FlxG.mouse,button,button.justPressedPosition,camera)) { overlap = true; } } } return overlap; } ,checkTouchOverlap: function() { var overlap = false; var _g = 0; var _g1 = this.get_cameras(); while(_g < _g1.length) { var camera = _g1[_g]; ++_g; var _g2 = 0; var _g11 = flixel_FlxG.touches.list; while(_g2 < _g11.length) { var touch = _g11[_g2]; ++_g2; if(this.checkInput(touch,touch,touch.justPressedPosition,camera)) { overlap = true; } } } return overlap; } ,checkInput: function(pointer,input,justPressedPosition,camera) { var tmp; if(this.maxInputMovement != Infinity) { var X = 0; var Y = 0; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; var point1 = point; point1._weak = true; tmp = justPressedPosition.distanceTo(pointer.getScreenPosition(null,point1)) > this.maxInputMovement; } else { tmp = false; } if(tmp && input == this.currentInput) { this.currentInput = null; } else if(this.overlapsPoint(pointer.getWorldPosition(camera,this._point),true,camera)) { this.updateStatus(input); return true; } return false; } ,updateStatus: function(input) { if(input.get_justPressed()) { this.currentInput = input; this.onDownHandler(); } else if(this.status == 0) { if(this.allowSwiping && input.get_pressed()) { this.onDownHandler(); } else { this.onOverHandler(); } } } ,updateLabelPosition: function() { if(this._spriteLabel != null) { this._spriteLabel.set_x((this.pixelPerfectPosition ? Math.floor(this.x) : this.x) + this.labelOffsets[this.status].x); this._spriteLabel.set_y((this.pixelPerfectPosition ? Math.floor(this.y) : this.y) + this.labelOffsets[this.status].y); } } ,updateLabelAlpha: function() { if(this._spriteLabel != null && this.labelAlphas.length > this.status) { this._spriteLabel.set_alpha(this.alpha * this.labelAlphas[this.status]); } } ,onUpEventListener: function(_) { if(this.visible && this.exists && this.active && this.status == 2) { this.onUpHandler(); } } ,onUpHandler: function() { this.set_status(0); this.input.release(); this.currentInput = null; var _this = this.onUp; if(_this.callback != null) { _this.callback(); } if(_this.sound != null) { _this.sound.play(true); } } ,onDownHandler: function() { this.set_status(2); this.input.press(); var _this = this.onDown; if(_this.callback != null) { _this.callback(); } if(_this.sound != null) { _this.sound.play(true); } } ,onOverHandler: function() { if(!flixel_FlxG.mouse.enabled) { this.set_status(0); return; } this.set_status(1); var _this = this.onOver; if(_this.callback != null) { _this.callback(); } if(_this.sound != null) { _this.sound.play(true); } } ,onOutHandler: function() { this.set_status(0); this.input.release(); var _this = this.onOut; if(_this.callback != null) { _this.callback(); } if(_this.sound != null) { _this.sound.play(true); } } ,set_label: function(Value) { if(Value != null) { Value.scrollFactor.put(); Value.scrollFactor = this.scrollFactor; } this.label = Value; this._spriteLabel = this.label; this.updateLabelPosition(); return Value; } ,set_status: function(Value) { this.status = Value; this.updateLabelAlpha(); return this.status; } ,set_alpha: function(Value) { flixel_FlxSprite.prototype.set_alpha.call(this,Value); this.updateLabelAlpha(); return this.alpha; } ,set_x: function(Value) { flixel_FlxSprite.prototype.set_x.call(this,Value); this.updateLabelPosition(); return this.x; } ,set_y: function(Value) { flixel_FlxSprite.prototype.set_y.call(this,Value); this.updateLabelPosition(); return this.y; } ,get_justReleased: function() { return this.input.current == -1; } ,get_released: function() { var _this = this.input; if(_this.current != 0) { return _this.current == -1; } else { return true; } } ,get_pressed: function() { var _this = this.input; if(_this.current != 1) { return _this.current == 2; } else { return true; } } ,get_justPressed: function() { return this.input.current == 2; } ,__class__: flixel_ui_FlxTypedButton_$flixel_$FlxSprite ,__properties__: $extend(flixel_FlxSprite.prototype.__properties__,{get_justPressed:"get_justPressed",get_pressed:"get_pressed",get_released:"get_released",get_justReleased:"get_justReleased",set_status:"set_status",set_label:"set_label"}) }); var flixel_ui_FlxSpriteButton = function(X,Y,Label,OnClick) { if(Y == null) { Y = 0; } if(X == null) { X = 0; } flixel_ui_FlxTypedButton_$flixel_$FlxSprite.call(this,X,Y,OnClick); var _g = 0; var _g1 = this.labelOffsets; while(_g < _g1.length) { var point = _g1[_g]; ++_g; point.set(point.x - 1,point.y + 4); } this.set_label(Label); }; $hxClasses["flixel.ui.FlxSpriteButton"] = flixel_ui_FlxSpriteButton; flixel_ui_FlxSpriteButton.__name__ = "flixel.ui.FlxSpriteButton"; flixel_ui_FlxSpriteButton.__interfaces__ = [flixel_input_IFlxInput]; flixel_ui_FlxSpriteButton.__super__ = flixel_ui_FlxTypedButton_$flixel_$FlxSprite; flixel_ui_FlxSpriteButton.prototype = $extend(flixel_ui_FlxTypedButton_$flixel_$FlxSprite.prototype,{ createTextLabel: function(Text1,font,size,color,align) { if(align == null) { align = "center"; } if(color == null) { color = 3355443; } if(size == null) { size = 8; } if(Text1 != null) { var text = new flixel_text_FlxText(0,0,this.frameWidth,Text1); text.setFormat(font,size,color,align); text.set_alpha(this.labelAlphas[this.status]); text.drawFrame(true); var labelBitmap = text.graphic.bitmap.clone(); var labelKey = text.graphic.key; text.destroy(); if(this.label == null) { this.set_label(new flixel_FlxSprite()); } var labelGraphic = flixel_FlxG.bitmap.add(labelBitmap,false,labelKey); this.label.set_frames(flixel_graphics_frames_FlxImageFrame.fromGraphic(labelGraphic)); } return this; } ,__class__: flixel_ui_FlxSpriteButton }); var flixel_util_FlxArrayUtil = function() { }; $hxClasses["flixel.util.FlxArrayUtil"] = flixel_util_FlxArrayUtil; flixel_util_FlxArrayUtil.__name__ = "flixel.util.FlxArrayUtil"; flixel_util_FlxArrayUtil.setLength_Int = function(array,newLength) { if(newLength < 0) { return array; } var oldLength = array.length; var diff = newLength - oldLength; if(diff >= 0) { return array; } diff = -diff; var _g = 0; var _g1 = diff; while(_g < _g1) { var i = _g++; array.pop(); } return array; }; flixel_util_FlxArrayUtil.flatten2DArray_Int = function(array) { var result = []; var _g = 0; while(_g < array.length) { var innerArray = array[_g]; ++_g; var _g1 = 0; while(_g1 < innerArray.length) { var element = innerArray[_g1]; ++_g1; result.push(element); } } return result; }; flixel_util_FlxArrayUtil.setLength_cacheValue_T = function(array,newLength) { if(newLength < 0) { return array; } var oldLength = array.length; var diff = newLength - oldLength; if(diff >= 0) { return array; } diff = -diff; var _g = 0; var _g1 = diff; while(_g < _g1) { var i = _g++; array.pop(); } return array; }; flixel_util_FlxArrayUtil.fastSplice_flixel_tweens_FlxTween = function(array,element) { var index = array.indexOf(element); if(index != -1) { array[index] = array[array.length - 1]; array.pop(); return array; } return array; }; flixel_util_FlxArrayUtil.fastSplice_flixel_util_FlxTimer = function(array,element) { var index = array.indexOf(element); if(index != -1) { array[index] = array[array.length - 1]; array.pop(); return array; } return array; }; flixel_util_FlxArrayUtil.swapAndPop_fastSplice_T = function(array,index) { array[index] = array[array.length - 1]; array.pop(); return array; }; flixel_util_FlxArrayUtil.setLength_flixel_group_FlxTypedGroup_T = function(array,newLength) { if(newLength < 0) { return array; } var oldLength = array.length; var diff = newLength - oldLength; if(diff >= 0) { return array; } diff = -diff; var _g = 0; var _g1 = diff; while(_g < _g1) { var i = _g++; array.pop(); } return array; }; flixel_util_FlxArrayUtil.clearArray = function(array,recursive) { if(recursive == null) { recursive = false; } if(array == null) { return array; } if(recursive) { while(array.length > 0) { var thing = array.pop(); if(((thing) instanceof Array)) { flixel_util_FlxArrayUtil.clearArray(array,recursive); } } } else { while(array.length > 0) array.pop(); } return array; }; flixel_util_FlxArrayUtil.equals = function(array1,array2) { if(array1 == null && array2 == null) { return true; } if(array1 == null && array2 != null) { return false; } if(array1 != null && array2 == null) { return false; } if(array1.length != array2.length) { return false; } var _g = 0; var _g1 = array1.length; while(_g < _g1) { var i = _g++; if(array1[i] != array2[i]) { return false; } } return true; }; flixel_util_FlxArrayUtil.last = function(array) { if(array == null || array.length == 0) { return null; } return array[array.length - 1]; }; flixel_util_FlxArrayUtil.safePush = function(array,element) { if(array == null) { array = []; } array.push(element); return array; }; flixel_util_FlxArrayUtil.contains = function(array,element) { return array.indexOf(element) != -1; }; var flixel_util_FlxAxes = $hxEnums["flixel.util.FlxAxes"] = { __ename__ : "flixel.util.FlxAxes", __constructs__ : ["X","Y","XY"] ,X: {_hx_index:0,__enum__:"flixel.util.FlxAxes",toString:$estr} ,Y: {_hx_index:1,__enum__:"flixel.util.FlxAxes",toString:$estr} ,XY: {_hx_index:2,__enum__:"flixel.util.FlxAxes",toString:$estr} }; var flixel_util_FlxBitmapDataPool = function() { }; $hxClasses["flixel.util.FlxBitmapDataPool"] = flixel_util_FlxBitmapDataPool; flixel_util_FlxBitmapDataPool.__name__ = "flixel.util.FlxBitmapDataPool"; flixel_util_FlxBitmapDataPool.__properties__ = {set_maxLength:"set_maxLength"}; flixel_util_FlxBitmapDataPool.get = function(w,h,transparent,fillColor,exactSize) { if(exactSize == null) { exactSize = false; } if(transparent == null) { transparent = true; } var res = null; var node = flixel_util_FlxBitmapDataPool._head; while(node != null) { var bmd = node.bmd; if(bmd.transparent == transparent && bmd.width >= w && bmd.height >= h && (!exactSize || exactSize && bmd.width == w && bmd.height == h)) { res = bmd; if(node.prev != null) { node.prev.next = node.next; } if(node.next != null) { node.next.prev = node.prev; } if(node == flixel_util_FlxBitmapDataPool._head) { flixel_util_FlxBitmapDataPool._head = node.next; } if(node == flixel_util_FlxBitmapDataPool._tail) { flixel_util_FlxBitmapDataPool._tail = node.prev; } node = null; flixel_util_FlxBitmapDataPool.$length--; break; } node = node.next; } if(res != null) { if(fillColor != null) { flixel_util_FlxBitmapDataPool._rect.x = 0; flixel_util_FlxBitmapDataPool._rect.y = 0; flixel_util_FlxBitmapDataPool._rect.width = w; flixel_util_FlxBitmapDataPool._rect.height = h; res.fillRect(flixel_util_FlxBitmapDataPool._rect,fillColor); } } else { res = new openfl_display_BitmapData(w,h,transparent,fillColor != null ? fillColor : -1); } return res; }; flixel_util_FlxBitmapDataPool.put = function(bmd) { if(flixel_util_FlxBitmapDataPool.$length >= flixel_util_FlxBitmapDataPool.maxLength) { var last = flixel_util_FlxBitmapDataPool._tail; last.bmd.dispose(); if(last.prev != null) { last.prev.next = null; flixel_util_FlxBitmapDataPool._tail = last.prev; } last = null; flixel_util_FlxBitmapDataPool.$length--; } var node = new flixel_util__$FlxBitmapDataPool_FlxBitmapDataPoolNode(bmd); node.next = flixel_util_FlxBitmapDataPool._head; if(flixel_util_FlxBitmapDataPool._head == null) { flixel_util_FlxBitmapDataPool._head = flixel_util_FlxBitmapDataPool._tail = node; } else { flixel_util_FlxBitmapDataPool._head = node; node.next.prev = node; } flixel_util_FlxBitmapDataPool.$length++; }; flixel_util_FlxBitmapDataPool.clear = function() { var node = flixel_util_FlxBitmapDataPool._head; while(node != null) { var bmd = node.bmd; bmd.dispose(); bmd = null; node = node.next; } flixel_util_FlxBitmapDataPool.$length = 0; flixel_util_FlxBitmapDataPool._head = flixel_util_FlxBitmapDataPool._tail = null; }; flixel_util_FlxBitmapDataPool.set_maxLength = function(value) { if(flixel_util_FlxBitmapDataPool.maxLength != value) { var node = flixel_util_FlxBitmapDataPool._tail; while(node != null && flixel_util_FlxBitmapDataPool.$length > value) { var bmd = node.bmd; bmd.dispose(); bmd = null; node = node.prev; flixel_util_FlxBitmapDataPool.$length--; } } return flixel_util_FlxBitmapDataPool.maxLength = value; }; var flixel_util__$FlxBitmapDataPool_FlxBitmapDataPoolNode = function(bmd,prev,next) { this.bmd = bmd; this.prev = prev; this.next = next; }; $hxClasses["flixel.util._FlxBitmapDataPool.FlxBitmapDataPoolNode"] = flixel_util__$FlxBitmapDataPool_FlxBitmapDataPoolNode; flixel_util__$FlxBitmapDataPool_FlxBitmapDataPoolNode.__name__ = "flixel.util._FlxBitmapDataPool.FlxBitmapDataPoolNode"; flixel_util__$FlxBitmapDataPool_FlxBitmapDataPoolNode.prototype = { bmd: null ,prev: null ,next: null ,__class__: flixel_util__$FlxBitmapDataPool_FlxBitmapDataPoolNode }; var flixel_util_FlxBitmapDataUtil = function() { }; $hxClasses["flixel.util.FlxBitmapDataUtil"] = flixel_util_FlxBitmapDataUtil; flixel_util_FlxBitmapDataUtil.__name__ = "flixel.util.FlxBitmapDataUtil"; flixel_util_FlxBitmapDataUtil.merge = function(sourceBitmapData,sourceRect,destBitmapData,destPoint,redMultiplier,greenMultiplier,blueMultiplier,alphaMultiplier) { if(destPoint.x >= destBitmapData.width || destPoint.y >= destBitmapData.height || sourceRect.x >= sourceBitmapData.width || sourceRect.y >= sourceBitmapData.height || sourceRect.x + sourceRect.width <= 0 || sourceRect.y + sourceRect.height <= 0) { return; } while(sourceRect.x + sourceRect.width > sourceBitmapData.width || sourceRect.y + sourceRect.height > sourceBitmapData.height || sourceRect.x < 0 || sourceRect.y < 0 || destPoint.x < 0 || destPoint.y < 0) { if(sourceRect.x + sourceRect.width > sourceBitmapData.width) { sourceRect.width = sourceBitmapData.width - sourceRect.x; } if(sourceRect.y + sourceRect.height > sourceBitmapData.height) { sourceRect.height = sourceBitmapData.height - sourceRect.y; } if(sourceRect.x < 0) { destPoint.x -= sourceRect.x; sourceRect.width += sourceRect.x; sourceRect.x = 0; } if(sourceRect.y < 0) { destPoint.y -= sourceRect.y; sourceRect.height += sourceRect.y; sourceRect.y = 0; } if(destPoint.x >= destBitmapData.width || destPoint.y >= destBitmapData.height) { return; } if(destPoint.x < 0) { sourceRect.x -= destPoint.x; sourceRect.width += destPoint.x; destPoint.x = 0; } if(destPoint.y < 0) { sourceRect.y -= destPoint.y; sourceRect.height += destPoint.y; destPoint.y = 0; } } if(sourceRect.width <= 0 || sourceRect.height <= 0) { return; } var startSourceX = Math.round(sourceRect.x); var startSourceY = Math.round(sourceRect.y); var width = Math.round(sourceRect.width); var height = Math.round(sourceRect.height); var sourceX = startSourceX; var sourceY = startSourceY; var destX = Math.round(destPoint.x); var destY = Math.round(destPoint.y); var currX = destX; var currY = destY; var sourceColor; var destColor; var resultRed; var resultGreen; var resultBlue; var resultAlpha; var resultColor = 0; destBitmapData.lock(); var _g = 0; var _g1 = width; while(_g < _g1) { var i = _g++; var _g2 = 0; var _g11 = height; while(_g2 < _g11) { var j = _g2++; sourceX = startSourceX + i; sourceY = startSourceY + j; currX = destX + i; currY = destY + j; sourceColor = sourceBitmapData.getPixel32(sourceX,sourceY); destColor = destBitmapData.getPixel32(currX,currY); resultRed = ((sourceColor >> 16 & 255) * redMultiplier + (destColor >> 16 & 255) * (256 - redMultiplier)) / 256 | 0; resultGreen = ((sourceColor >> 8 & 255) * greenMultiplier + (destColor >> 8 & 255) * (256 - greenMultiplier)) / 256 | 0; resultBlue = ((sourceColor & 255) * blueMultiplier + (destColor & 255) * (256 - blueMultiplier)) / 256 | 0; resultAlpha = ((sourceColor >> 24 & 255) * alphaMultiplier + (destColor >> 24 & 255) * (256 - alphaMultiplier)) / 256 | 0; var Alpha = resultAlpha; if(Alpha == null) { Alpha = 255; } var color = flixel_util__$FlxColor_FlxColor_$Impl_$._new(); var Alpha1 = Alpha; if(Alpha1 == null) { Alpha1 = 255; } color &= -16711681; color |= (resultRed > 255 ? 255 : resultRed < 0 ? 0 : resultRed) << 16; color &= -65281; color |= (resultGreen > 255 ? 255 : resultGreen < 0 ? 0 : resultGreen) << 8; color &= -256; color |= resultBlue > 255 ? 255 : resultBlue < 0 ? 0 : resultBlue; color &= 16777215; color |= (Alpha1 > 255 ? 255 : Alpha1 < 0 ? 0 : Alpha1) << 24; resultColor = color; destBitmapData.setPixel32(currX,currY,resultColor); } } destBitmapData.unlock(); }; flixel_util_FlxBitmapDataUtil.mergeColorComponent = function(source,dest,multiplier) { return (source * multiplier + dest * (256 - multiplier)) / 256 | 0; }; flixel_util_FlxBitmapDataUtil.compare = function(Bitmap1,Bitmap2) { if(Bitmap1 == Bitmap2) { return 0; } if(Bitmap1.width != Bitmap2.width) { return -3; } else if(Bitmap1.height != Bitmap2.height) { return -4; } else { var width = Bitmap1.width; var height = Bitmap1.height; var result = new openfl_display_BitmapData(width,height,true,0); var identical = true; var _g = 0; var _g1 = width; while(_g < _g1) { var i = _g++; var _g2 = 0; var _g11 = height; while(_g2 < _g11) { var j = _g2++; var pixel1 = Bitmap1.getPixel32(i,j); var pixel2 = Bitmap2.getPixel32(i,j); if(pixel1 != pixel2) { identical = false; if((pixel1 & 16777215) != (pixel2 & 16777215)) { var diff = (pixel1 >> 16 & 255) - (pixel2 >> 16 & 255); var Red = diff >= 0 ? diff : 256 + diff; var diff1 = (pixel1 >> 8 & 255) - (pixel2 >> 8 & 255); var Green = diff1 >= 0 ? diff1 : 256 + diff1; var diff2 = (pixel1 & 255) - (pixel2 & 255); var Blue = diff2 >= 0 ? diff2 : 256 + diff2; var color = flixel_util__$FlxColor_FlxColor_$Impl_$._new(); var Alpha = 255; if(Alpha == null) { Alpha = 255; } color &= -16711681; color |= (Red > 255 ? 255 : Red < 0 ? 0 : Red) << 16; color &= -65281; color |= (Green > 255 ? 255 : Green < 0 ? 0 : Green) << 8; color &= -256; color |= Blue > 255 ? 255 : Blue < 0 ? 0 : Blue; color &= 16777215; color |= (Alpha > 255 ? 255 : Alpha < 0 ? 0 : Alpha) << 24; result.setPixel32(i,j,color); } else { var alpha1 = pixel1 >> 24 & 255; var alpha2 = pixel2 >> 24 & 255; if(alpha1 != alpha2) { var diff3 = alpha1 - alpha2; var Alpha1 = diff3 >= 0 ? diff3 : 256 + diff3; if(Alpha1 == null) { Alpha1 = 255; } var color1 = flixel_util__$FlxColor_FlxColor_$Impl_$._new(); var Alpha2 = Alpha1; if(Alpha2 == null) { Alpha2 = 255; } color1 &= -16711681; color1 |= 16711680; color1 &= -65281; color1 |= 65280; color1 &= -256; color1 |= 255; color1 &= 16777215; color1 |= (Alpha2 > 255 ? 255 : Alpha2 < 0 ? 0 : Alpha2) << 24; result.setPixel32(i,j,color1); } } } } } if(!identical) { return result; } } return 0; }; flixel_util_FlxBitmapDataUtil.getDiff = function(value1,value2) { var diff = value1 - value2; if(diff >= 0) { return diff; } else { return 256 + diff; } }; flixel_util_FlxBitmapDataUtil.getMemorySize = function(bitmapData) { return bitmapData.width * bitmapData.height * 4; }; flixel_util_FlxBitmapDataUtil.replaceColor = function(bitmapData,color,newColor,fetchPositions,rect) { if(fetchPositions == null) { fetchPositions = false; } var positions = null; if(fetchPositions) { positions = []; } var startX = 0; var startY = 0; var columns = bitmapData.width; var rows = bitmapData.height; if(rect != null) { startX = rect.x | 0; startY = rect.y | 0; columns = rect.width | 0; rows = rect.height | 0; } columns = Math.max(columns,bitmapData.width) | 0; rows = Math.max(rows,bitmapData.height) | 0; var row = 0; var column = 0; var x; var y; var changed = false; bitmapData.lock(); while(row < rows) { column = 0; while(column < columns) { x = startX + column; y = startY + row; if(bitmapData.getPixel32(x,y) == color) { bitmapData.setPixel32(x,y,newColor); changed = true; if(fetchPositions) { var X = x; var Y = y; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; positions.push(point); } } ++column; } ++row; } bitmapData.unlock(); if(changed && positions == null) { positions = []; } return positions; }; flixel_util_FlxBitmapDataUtil.addSpacesAndBorders = function(bitmapData,frameSize,spacing,border,region) { if(region == null) { var X = 0; var Y = 0; var Width = bitmapData.width; var Height = bitmapData.height; if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } var _this = flixel_math_FlxRect._pool.get(); var X1 = X; var Y1 = Y; var Width1 = Width; var Height1 = Height; if(Height1 == null) { Height1 = 0; } if(Width1 == null) { Width1 = 0; } if(Y1 == null) { Y1 = 0; } if(X1 == null) { X1 = 0; } _this.x = X1; _this.y = Y1; _this.width = Width1; _this.height = Height1; var rect = _this; rect._inPool = false; region = rect; } var frameWidth = region.width | 0; var frameHeight = region.height | 0; if(frameSize != null) { frameWidth = frameSize.x | 0; frameHeight = frameSize.y | 0; } var numHorizontalFrames = region.width / frameWidth | 0; var numVerticalFrames = region.height / frameHeight | 0; var spaceX = 0; var spaceY = 0; if(spacing != null) { spaceX = spacing.x | 0; spaceY = spacing.y | 0; } var borderX = 0; var borderY = 0; if(border != null) { borderX = border.x | 0; borderY = border.y | 0; } var result = new openfl_display_BitmapData(region.width + (numHorizontalFrames - 1) * spaceX + 2 * numHorizontalFrames * borderX | 0,region.height + (numVerticalFrames - 1) * spaceY + 2 * numVerticalFrames * borderY | 0,true,0); result.lock(); var tempRect = new openfl_geom_Rectangle(0,0,frameWidth,frameHeight); var tempPoint = new openfl_geom_Point(); var _g = 0; var _g1 = numHorizontalFrames; while(_g < _g1) { var i = _g++; tempPoint.x = i * (frameWidth + spaceX + 2 * borderX) + borderX; tempRect.x = i * frameWidth + region.x; var _g2 = 0; var _g11 = numVerticalFrames; while(_g2 < _g11) { var j = _g2++; tempPoint.y = j * (frameHeight + spaceY + 2 * borderY) + borderY; tempRect.y = j * frameHeight + region.y; result.copyPixels(bitmapData,tempRect,tempPoint); } } result.unlock(); flixel_util_FlxBitmapDataUtil.copyBorderPixels(result,frameWidth,frameHeight,spaceX,spaceY,borderX,borderY,numHorizontalFrames,numVerticalFrames); return result; }; flixel_util_FlxBitmapDataUtil.copyBorderPixels = function(bitmapData,frameWidth,frameHeight,spaceX,spaceY,borderX,borderY,horizontalFrames,verticalFrames) { var tempRect = new openfl_geom_Rectangle(0,0,1,bitmapData.height); var tempPoint = new openfl_geom_Point(); bitmapData.lock(); var _g = 0; var _g1 = horizontalFrames; while(_g < _g1) { var i = _g++; tempRect.x = i * (frameWidth + 2 * borderX + spaceX) + borderX; var _g2 = 0; var _g11 = borderX; while(_g2 < _g11) { var j = _g2++; tempPoint.x = tempRect.x - j - 1; bitmapData.copyPixels(bitmapData,tempRect,tempPoint); } tempRect.x += frameWidth - 1; var _g21 = 0; var _g3 = borderX; while(_g21 < _g3) { var j1 = _g21++; tempPoint.x = tempRect.x + j1 + 1; bitmapData.copyPixels(bitmapData,tempRect,tempPoint); } } tempPoint.setTo(0,0); tempRect.setTo(0,0,bitmapData.width,1); var _g22 = 0; var _g31 = verticalFrames; while(_g22 < _g31) { var i1 = _g22++; tempRect.y = i1 * (frameHeight + 2 * borderY + spaceY) + borderY; var _g23 = 0; var _g32 = borderY; while(_g23 < _g32) { var j2 = _g23++; tempPoint.y = tempRect.y - j2 - 1; bitmapData.copyPixels(bitmapData,tempRect,tempPoint); } tempRect.y += frameHeight - 1; var _g4 = 0; var _g5 = borderY; while(_g4 < _g5) { var j3 = _g4++; tempPoint.y = tempRect.y + j3 + 1; bitmapData.copyPixels(bitmapData,tempRect,tempPoint); } } bitmapData.unlock(); return bitmapData; }; flixel_util_FlxBitmapDataUtil.generateRotations = function(brush,rotations,antiAliasing,autoBuffer) { if(autoBuffer == null) { autoBuffer = false; } if(antiAliasing == null) { antiAliasing = false; } if(rotations == null) { rotations = 16; } var brushWidth = brush.width; var brushHeight = brush.height; var max = brushHeight > brushWidth ? brushHeight : brushWidth; max = autoBuffer ? max * 1.5 | 0 : max; var rows = Math.sqrt(rotations) | 0; var columns = Math.ceil(rotations / rows); var bakedRotationAngle = 360 / rotations; var width = max * columns; var height = max * rows; var result = new openfl_display_BitmapData(width,height,true,0); var row = 0; var column = 0; var bakedAngle = 0; var halfBrushWidth = brushWidth * 0.5 | 0; var halfBrushHeight = brushHeight * 0.5 | 0; var midpointX = max * 0.5 | 0; var midpointY = max * 0.5 | 0; while(row < rows) { column = 0; while(column < columns) { flixel_util_FlxBitmapDataUtil.matrix.identity(); flixel_util_FlxBitmapDataUtil.matrix.translate(-halfBrushWidth,-halfBrushHeight); flixel_util_FlxBitmapDataUtil.matrix.rotate(bakedAngle * (Math.PI / 180)); flixel_util_FlxBitmapDataUtil.matrix.translate(max * column + midpointX,midpointY); bakedAngle += bakedRotationAngle; result.draw(brush,flixel_util_FlxBitmapDataUtil.matrix,null,null,null,antiAliasing); ++column; } midpointY += max; ++row; } return result; }; var flixel_util_FlxCollision = function() { }; $hxClasses["flixel.util.FlxCollision"] = flixel_util_FlxCollision; flixel_util_FlxCollision.__name__ = "flixel.util.FlxCollision"; flixel_util_FlxCollision.pixelPerfectCheck = function(Contact,Target,AlphaTolerance,Camera) { if(AlphaTolerance == null) { AlphaTolerance = 1; } var considerRotation = Contact.angle != 0 || Target.angle != 0; Camera = Camera != null ? Camera : flixel_FlxG.camera; flixel_util_FlxCollision.pointA.set_x(Contact.x - (Camera.scroll.x * Contact.scrollFactor.x | 0) - Contact.offset.x); flixel_util_FlxCollision.pointA.set_y(Contact.y - (Camera.scroll.y * Contact.scrollFactor.y | 0) - Contact.offset.y); flixel_util_FlxCollision.pointB.set_x(Target.x - (Camera.scroll.x * Target.scrollFactor.x | 0) - Target.offset.x); flixel_util_FlxCollision.pointB.set_y(Target.y - (Camera.scroll.y * Target.scrollFactor.y | 0) - Target.offset.y); if(considerRotation) { Contact.origin.copyTo(flixel_util_FlxCollision.centerA); Target.origin.copyTo(flixel_util_FlxCollision.centerB); var this1 = flixel_util_FlxCollision.centerA; var lengthA = Math.sqrt(this1.x * this1.x + this1.y * this1.y); flixel_util_FlxCollision.boundsA.x = flixel_util_FlxCollision.pointA.x + flixel_util_FlxCollision.centerA.x - lengthA; flixel_util_FlxCollision.boundsA.y = flixel_util_FlxCollision.pointA.y + flixel_util_FlxCollision.centerA.y - lengthA; flixel_util_FlxCollision.boundsA.width = lengthA * 2; flixel_util_FlxCollision.boundsA.height = flixel_util_FlxCollision.boundsA.width; var this2 = flixel_util_FlxCollision.centerB; var lengthB = Math.sqrt(this2.x * this2.x + this2.y * this2.y); flixel_util_FlxCollision.boundsB.x = flixel_util_FlxCollision.pointB.x + flixel_util_FlxCollision.centerB.x - lengthB; flixel_util_FlxCollision.boundsB.y = flixel_util_FlxCollision.pointB.y + flixel_util_FlxCollision.centerB.y - lengthB; flixel_util_FlxCollision.boundsB.width = lengthB * 2; flixel_util_FlxCollision.boundsB.height = flixel_util_FlxCollision.boundsB.width; } else { flixel_util_FlxCollision.boundsA.x = flixel_util_FlxCollision.pointA.x; flixel_util_FlxCollision.boundsA.y = flixel_util_FlxCollision.pointA.y; flixel_util_FlxCollision.boundsA.width = Contact.frameWidth; flixel_util_FlxCollision.boundsA.height = Contact.frameHeight; flixel_util_FlxCollision.boundsB.x = flixel_util_FlxCollision.pointB.x; flixel_util_FlxCollision.boundsB.y = flixel_util_FlxCollision.pointB.y; flixel_util_FlxCollision.boundsB.width = Target.frameWidth; flixel_util_FlxCollision.boundsB.height = Target.frameHeight; } var _this = flixel_util_FlxCollision.intersect; _this.x = 0; _this.y = 0; _this.width = 0; _this.height = 0; flixel_util_FlxCollision.boundsA.intersection(flixel_util_FlxCollision.boundsB,_this); var _this1 = flixel_util_FlxCollision.intersect; if(_this1.width == 0 || _this1.height == 0 || flixel_util_FlxCollision.intersect.width < 1 || flixel_util_FlxCollision.intersect.height < 1) { return false; } flixel_util_FlxCollision.matrixA.identity(); flixel_util_FlxCollision.matrixA.translate(-(flixel_util_FlxCollision.intersect.x - flixel_util_FlxCollision.boundsA.x),-(flixel_util_FlxCollision.intersect.y - flixel_util_FlxCollision.boundsA.y)); flixel_util_FlxCollision.matrixB.identity(); flixel_util_FlxCollision.matrixB.translate(-(flixel_util_FlxCollision.intersect.x - flixel_util_FlxCollision.boundsB.x),-(flixel_util_FlxCollision.intersect.y - flixel_util_FlxCollision.boundsB.y)); Contact.drawFrame(); Target.drawFrame(); var testA = Contact.framePixels; var testB = Target.framePixels; var overlapWidth = flixel_util_FlxCollision.intersect.width | 0; var overlapHeight = flixel_util_FlxCollision.intersect.height | 0; if(considerRotation) { flixel_util_FlxCollision.testMatrix.identity(); flixel_util_FlxCollision.testMatrix.translate(-Contact.origin.x,-Contact.origin.y); flixel_util_FlxCollision.testMatrix.rotate(Contact.angle * (Math.PI / 180)); flixel_util_FlxCollision.testMatrix.translate(flixel_util_FlxCollision.boundsA.width / 2,flixel_util_FlxCollision.boundsA.height / 2); var testA2 = flixel_util_FlxBitmapDataPool.get(Math.floor(flixel_util_FlxCollision.boundsA.width),Math.floor(flixel_util_FlxCollision.boundsA.height),true,0,false); testA2.draw(testA,flixel_util_FlxCollision.testMatrix,null,null,null,false); testA = testA2; flixel_util_FlxCollision.testMatrix.identity(); flixel_util_FlxCollision.testMatrix.translate(-Target.origin.x,-Target.origin.y); flixel_util_FlxCollision.testMatrix.rotate(Target.angle * (Math.PI / 180)); flixel_util_FlxCollision.testMatrix.translate(flixel_util_FlxCollision.boundsB.width / 2,flixel_util_FlxCollision.boundsB.height / 2); var testB2 = flixel_util_FlxBitmapDataPool.get(Math.floor(flixel_util_FlxCollision.boundsB.width),Math.floor(flixel_util_FlxCollision.boundsB.height),true,0,false); testB2.draw(testB,flixel_util_FlxCollision.testMatrix,null,null,null,false); testB = testB2; } flixel_util_FlxCollision.boundsA.x = -flixel_util_FlxCollision.matrixA.tx | 0; flixel_util_FlxCollision.boundsA.y = -flixel_util_FlxCollision.matrixA.ty | 0; flixel_util_FlxCollision.boundsA.width = overlapWidth; flixel_util_FlxCollision.boundsA.height = overlapHeight; flixel_util_FlxCollision.boundsB.x = -flixel_util_FlxCollision.matrixB.tx | 0; flixel_util_FlxCollision.boundsB.y = -flixel_util_FlxCollision.matrixB.ty | 0; flixel_util_FlxCollision.boundsB.width = overlapWidth; flixel_util_FlxCollision.boundsB.height = overlapHeight; var _this2 = flixel_util_FlxCollision.boundsA; var FlashRect = flixel_util_FlxCollision.flashRect; if(FlashRect == null) { FlashRect = new openfl_geom_Rectangle(); } FlashRect.x = _this2.x; FlashRect.y = _this2.y; FlashRect.width = _this2.width; FlashRect.height = _this2.height; var pixelsA = testA.getPixels(flixel_util_FlxCollision.flashRect); var _this3 = flixel_util_FlxCollision.boundsB; var FlashRect1 = flixel_util_FlxCollision.flashRect; if(FlashRect1 == null) { FlashRect1 = new openfl_geom_Rectangle(); } FlashRect1.x = _this3.x; FlashRect1.y = _this3.y; FlashRect1.width = _this3.width; FlashRect1.height = _this3.height; var pixelsB = testB.getPixels(flixel_util_FlxCollision.flashRect); var hit = false; var alphaA = 0; var alphaB = 0; var overlapPixels = overlapWidth * overlapHeight; var alphaIdx = 0; var _g = 0; var _g1 = Math.ceil(overlapPixels / 2); while(_g < _g1) { var i = _g++; alphaIdx = i << 3; pixelsA.position = pixelsB.position = alphaIdx; alphaA = pixelsA.readUnsignedByte(); alphaB = pixelsB.readUnsignedByte(); if(alphaA >= AlphaTolerance && alphaB >= AlphaTolerance) { hit = true; break; } } if(!hit) { var _g2 = 0; var _g3 = overlapPixels >> 1; while(_g2 < _g3) { var i1 = _g2++; alphaIdx = (i1 << 3) + 4; pixelsA.position = pixelsB.position = alphaIdx; alphaA = pixelsA.readUnsignedByte(); alphaB = pixelsB.readUnsignedByte(); if(alphaA >= AlphaTolerance && alphaB >= AlphaTolerance) { hit = true; break; } } } if(considerRotation) { flixel_util_FlxBitmapDataPool.put(testA); flixel_util_FlxBitmapDataPool.put(testB); } return hit; }; flixel_util_FlxCollision.pixelPerfectPointCheck = function(PointX,PointY,Target,AlphaTolerance) { if(AlphaTolerance == null) { AlphaTolerance = 1; } if(!flixel_math_FlxMath.pointInCoordinates(PointX,PointY,Math.floor(Target.x),Math.floor(Target.y),Target.get_width() | 0,Target.get_height() | 0)) { return false; } if(flixel_FlxG.renderTile) { Target.drawFrame(); } var test = Target.framePixels; var pixelAlpha = flixel_util__$FlxColor_FlxColor_$Impl_$._new(test.getPixel32(Math.floor(PointX - Target.x),Math.floor(PointY - Target.y))) >> 24 & 255; if(flixel_FlxG.renderTile) { pixelAlpha = pixelAlpha * Target.alpha | 0; } return pixelAlpha >= AlphaTolerance; }; flixel_util_FlxCollision.createCameraWall = function(Camera,PlaceOutside,Thickness,AdjustWorldBounds) { if(AdjustWorldBounds == null) { AdjustWorldBounds = false; } if(PlaceOutside == null) { PlaceOutside = true; } var left = null; var right = null; var top = null; var bottom = null; if(PlaceOutside) { left = new flixel_tile_FlxTileblock(Math.floor(Camera.x - Thickness),Math.floor(Camera.y + Thickness),Thickness,Camera.height - Thickness * 2); right = new flixel_tile_FlxTileblock(Math.floor(Camera.x + Camera.width),Math.floor(Camera.y + Thickness),Thickness,Camera.height - Thickness * 2); top = new flixel_tile_FlxTileblock(Math.floor(Camera.x - Thickness),Math.floor(Camera.y - Thickness),Camera.width + Thickness * 2,Thickness); bottom = new flixel_tile_FlxTileblock(Math.floor(Camera.x - Thickness),Camera.height,Camera.width + Thickness * 2,Thickness); if(AdjustWorldBounds) { var _this = flixel_FlxG.worldBounds; var X = Camera.x - Thickness; var Y = Camera.y - Thickness; var Width = Camera.width + Thickness * 2; var Height = Camera.height + Thickness * 2; if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } _this.x = X; _this.y = Y; _this.width = Width; _this.height = Height; } } else { left = new flixel_tile_FlxTileblock(Math.floor(Camera.x),Math.floor(Camera.y + Thickness),Thickness,Camera.height - Thickness * 2); right = new flixel_tile_FlxTileblock(Math.floor(Camera.x + Camera.width - Thickness),Math.floor(Camera.y + Thickness),Thickness,Camera.height - Thickness * 2); top = new flixel_tile_FlxTileblock(Math.floor(Camera.x),Math.floor(Camera.y),Camera.width,Thickness); bottom = new flixel_tile_FlxTileblock(Math.floor(Camera.x),Camera.height - Thickness,Camera.width,Thickness); if(AdjustWorldBounds) { var _this1 = flixel_FlxG.worldBounds; var X1 = Camera.x; var Y1 = Camera.y; var Width1 = Camera.width; var Height1 = Camera.height; if(Height1 == null) { Height1 = 0; } if(Width1 == null) { Width1 = 0; } if(Y1 == null) { Y1 = 0; } if(X1 == null) { X1 = 0; } _this1.x = X1; _this1.y = Y1; _this1.width = Width1; _this1.height = Height1; } } var result = new flixel_group_FlxTypedGroup(); result.add(left); result.add(right); result.add(top); result.add(bottom); return result; }; var flixel_util__$FlxColor_FlxColor_$Impl_$ = {}; $hxClasses["flixel.util._FlxColor.FlxColor_Impl_"] = flixel_util__$FlxColor_FlxColor_$Impl_$; flixel_util__$FlxColor_FlxColor_$Impl_$.__name__ = "flixel.util._FlxColor.FlxColor_Impl_"; flixel_util__$FlxColor_FlxColor_$Impl_$.__properties__ = {set_lightness:"set_lightness",get_lightness:"get_lightness",set_brightness:"set_brightness",get_brightness:"get_brightness",set_saturation:"set_saturation",get_saturation:"get_saturation",set_hue:"set_hue",get_hue:"get_hue",set_black:"set_black",get_black:"get_black",set_yellow:"set_yellow",get_yellow:"get_yellow",set_magenta:"set_magenta",get_magenta:"get_magenta",set_cyan:"set_cyan",get_cyan:"get_cyan",set_alphaFloat:"set_alphaFloat",get_alphaFloat:"get_alphaFloat",set_greenFloat:"set_greenFloat",get_greenFloat:"get_greenFloat",set_blueFloat:"set_blueFloat",get_blueFloat:"get_blueFloat",set_redFloat:"set_redFloat",get_redFloat:"get_redFloat",set_alpha:"set_alpha",get_alpha:"get_alpha",set_green:"set_green",get_green:"get_green",set_blue:"set_blue",get_blue:"get_blue",set_red:"set_red",get_red:"get_red"}; flixel_util__$FlxColor_FlxColor_$Impl_$.fromInt = function(Value) { return flixel_util__$FlxColor_FlxColor_$Impl_$._new(Value); }; flixel_util__$FlxColor_FlxColor_$Impl_$.fromRGB = function(Red,Green,Blue,Alpha) { if(Alpha == null) { Alpha = 255; } var color = flixel_util__$FlxColor_FlxColor_$Impl_$._new(); var Alpha1 = Alpha; if(Alpha1 == null) { Alpha1 = 255; } color &= -16711681; color |= (Red > 255 ? 255 : Red < 0 ? 0 : Red) << 16; color &= -65281; color |= (Green > 255 ? 255 : Green < 0 ? 0 : Green) << 8; color &= -256; color |= Blue > 255 ? 255 : Blue < 0 ? 0 : Blue; color &= 16777215; color |= (Alpha1 > 255 ? 255 : Alpha1 < 0 ? 0 : Alpha1) << 24; return color; }; flixel_util__$FlxColor_FlxColor_$Impl_$.fromRGBFloat = function(Red,Green,Blue,Alpha) { if(Alpha == null) { Alpha = 1; } var color = flixel_util__$FlxColor_FlxColor_$Impl_$._new(); var Alpha1 = Alpha; if(Alpha1 == null) { Alpha1 = 1; } var Value = Math.round(Red * 255); color &= -16711681; color |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16; var Value1 = Math.round(Green * 255); color &= -65281; color |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 8; var Value2 = Math.round(Blue * 255); color &= -256; color |= Value2 > 255 ? 255 : Value2 < 0 ? 0 : Value2; var Value3 = Math.round(Alpha1 * 255); color &= 16777215; color |= (Value3 > 255 ? 255 : Value3 < 0 ? 0 : Value3) << 24; return color; }; flixel_util__$FlxColor_FlxColor_$Impl_$.fromCMYK = function(Cyan,Magenta,Yellow,Black,Alpha) { if(Alpha == null) { Alpha = 1; } var color = flixel_util__$FlxColor_FlxColor_$Impl_$._new(); var Alpha1 = Alpha; if(Alpha1 == null) { Alpha1 = 1; } var Value = (1 - Cyan) * (1 - Black); var Value1 = Math.round(Value * 255); color &= -16711681; color |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 16; var Value2 = (1 - Magenta) * (1 - Black); var Value3 = Math.round(Value2 * 255); color &= -65281; color |= (Value3 > 255 ? 255 : Value3 < 0 ? 0 : Value3) << 8; var Value4 = (1 - Yellow) * (1 - Black); var Value5 = Math.round(Value4 * 255); color &= -256; color |= Value5 > 255 ? 255 : Value5 < 0 ? 0 : Value5; var Value6 = Math.round(Alpha1 * 255); color &= 16777215; color |= (Value6 > 255 ? 255 : Value6 < 0 ? 0 : Value6) << 24; return color; }; flixel_util__$FlxColor_FlxColor_$Impl_$.fromHSB = function(Hue,Saturation,Brightness,Alpha) { if(Alpha == null) { Alpha = 1; } var color = flixel_util__$FlxColor_FlxColor_$Impl_$._new(); var chroma = Brightness * Saturation; var match = Brightness - chroma; var Hue1 = Hue; var Chroma = chroma; Hue1 %= 360; var hueD = Hue1 / 60; var mid = Chroma * (1 - Math.abs(hueD % 2 - 1)) + match; Chroma += match; switch(hueD | 0) { case 0: var Alpha1 = Alpha; if(Alpha1 == null) { Alpha1 = 1; } var Value = Math.round(Chroma * 255); color &= -16711681; color |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16; var Value1 = Math.round(mid * 255); color &= -65281; color |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 8; var Value2 = Math.round(match * 255); color &= -256; color |= Value2 > 255 ? 255 : Value2 < 0 ? 0 : Value2; var Value3 = Math.round(Alpha1 * 255); color &= 16777215; color |= (Value3 > 255 ? 255 : Value3 < 0 ? 0 : Value3) << 24; break; case 1: var Alpha2 = Alpha; if(Alpha2 == null) { Alpha2 = 1; } var Value4 = Math.round(mid * 255); color &= -16711681; color |= (Value4 > 255 ? 255 : Value4 < 0 ? 0 : Value4) << 16; var Value5 = Math.round(Chroma * 255); color &= -65281; color |= (Value5 > 255 ? 255 : Value5 < 0 ? 0 : Value5) << 8; var Value6 = Math.round(match * 255); color &= -256; color |= Value6 > 255 ? 255 : Value6 < 0 ? 0 : Value6; var Value7 = Math.round(Alpha2 * 255); color &= 16777215; color |= (Value7 > 255 ? 255 : Value7 < 0 ? 0 : Value7) << 24; break; case 2: var Alpha3 = Alpha; if(Alpha3 == null) { Alpha3 = 1; } var Value8 = Math.round(match * 255); color &= -16711681; color |= (Value8 > 255 ? 255 : Value8 < 0 ? 0 : Value8) << 16; var Value9 = Math.round(Chroma * 255); color &= -65281; color |= (Value9 > 255 ? 255 : Value9 < 0 ? 0 : Value9) << 8; var Value10 = Math.round(mid * 255); color &= -256; color |= Value10 > 255 ? 255 : Value10 < 0 ? 0 : Value10; var Value11 = Math.round(Alpha3 * 255); color &= 16777215; color |= (Value11 > 255 ? 255 : Value11 < 0 ? 0 : Value11) << 24; break; case 3: var Alpha4 = Alpha; if(Alpha4 == null) { Alpha4 = 1; } var Value12 = Math.round(match * 255); color &= -16711681; color |= (Value12 > 255 ? 255 : Value12 < 0 ? 0 : Value12) << 16; var Value13 = Math.round(mid * 255); color &= -65281; color |= (Value13 > 255 ? 255 : Value13 < 0 ? 0 : Value13) << 8; var Value14 = Math.round(Chroma * 255); color &= -256; color |= Value14 > 255 ? 255 : Value14 < 0 ? 0 : Value14; var Value15 = Math.round(Alpha4 * 255); color &= 16777215; color |= (Value15 > 255 ? 255 : Value15 < 0 ? 0 : Value15) << 24; break; case 4: var Alpha5 = Alpha; if(Alpha5 == null) { Alpha5 = 1; } var Value16 = Math.round(mid * 255); color &= -16711681; color |= (Value16 > 255 ? 255 : Value16 < 0 ? 0 : Value16) << 16; var Value17 = Math.round(match * 255); color &= -65281; color |= (Value17 > 255 ? 255 : Value17 < 0 ? 0 : Value17) << 8; var Value18 = Math.round(Chroma * 255); color &= -256; color |= Value18 > 255 ? 255 : Value18 < 0 ? 0 : Value18; var Value19 = Math.round(Alpha5 * 255); color &= 16777215; color |= (Value19 > 255 ? 255 : Value19 < 0 ? 0 : Value19) << 24; break; case 5: var Alpha6 = Alpha; if(Alpha6 == null) { Alpha6 = 1; } var Value20 = Math.round(Chroma * 255); color &= -16711681; color |= (Value20 > 255 ? 255 : Value20 < 0 ? 0 : Value20) << 16; var Value21 = Math.round(match * 255); color &= -65281; color |= (Value21 > 255 ? 255 : Value21 < 0 ? 0 : Value21) << 8; var Value22 = Math.round(mid * 255); color &= -256; color |= Value22 > 255 ? 255 : Value22 < 0 ? 0 : Value22; var Value23 = Math.round(Alpha6 * 255); color &= 16777215; color |= (Value23 > 255 ? 255 : Value23 < 0 ? 0 : Value23) << 24; break; } return color; }; flixel_util__$FlxColor_FlxColor_$Impl_$.fromHSL = function(Hue,Saturation,Lightness,Alpha) { if(Alpha == null) { Alpha = 1; } var color = flixel_util__$FlxColor_FlxColor_$Impl_$._new(); var chroma = (1 - Math.abs(2 * Lightness - 1)) * Saturation; var match = Lightness - chroma / 2; var Hue1 = Hue; var Chroma = chroma; Hue1 %= 360; var hueD = Hue1 / 60; var mid = Chroma * (1 - Math.abs(hueD % 2 - 1)) + match; Chroma += match; switch(hueD | 0) { case 0: var Alpha1 = Alpha; if(Alpha1 == null) { Alpha1 = 1; } var Value = Math.round(Chroma * 255); color &= -16711681; color |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16; var Value1 = Math.round(mid * 255); color &= -65281; color |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 8; var Value2 = Math.round(match * 255); color &= -256; color |= Value2 > 255 ? 255 : Value2 < 0 ? 0 : Value2; var Value3 = Math.round(Alpha1 * 255); color &= 16777215; color |= (Value3 > 255 ? 255 : Value3 < 0 ? 0 : Value3) << 24; break; case 1: var Alpha2 = Alpha; if(Alpha2 == null) { Alpha2 = 1; } var Value4 = Math.round(mid * 255); color &= -16711681; color |= (Value4 > 255 ? 255 : Value4 < 0 ? 0 : Value4) << 16; var Value5 = Math.round(Chroma * 255); color &= -65281; color |= (Value5 > 255 ? 255 : Value5 < 0 ? 0 : Value5) << 8; var Value6 = Math.round(match * 255); color &= -256; color |= Value6 > 255 ? 255 : Value6 < 0 ? 0 : Value6; var Value7 = Math.round(Alpha2 * 255); color &= 16777215; color |= (Value7 > 255 ? 255 : Value7 < 0 ? 0 : Value7) << 24; break; case 2: var Alpha3 = Alpha; if(Alpha3 == null) { Alpha3 = 1; } var Value8 = Math.round(match * 255); color &= -16711681; color |= (Value8 > 255 ? 255 : Value8 < 0 ? 0 : Value8) << 16; var Value9 = Math.round(Chroma * 255); color &= -65281; color |= (Value9 > 255 ? 255 : Value9 < 0 ? 0 : Value9) << 8; var Value10 = Math.round(mid * 255); color &= -256; color |= Value10 > 255 ? 255 : Value10 < 0 ? 0 : Value10; var Value11 = Math.round(Alpha3 * 255); color &= 16777215; color |= (Value11 > 255 ? 255 : Value11 < 0 ? 0 : Value11) << 24; break; case 3: var Alpha4 = Alpha; if(Alpha4 == null) { Alpha4 = 1; } var Value12 = Math.round(match * 255); color &= -16711681; color |= (Value12 > 255 ? 255 : Value12 < 0 ? 0 : Value12) << 16; var Value13 = Math.round(mid * 255); color &= -65281; color |= (Value13 > 255 ? 255 : Value13 < 0 ? 0 : Value13) << 8; var Value14 = Math.round(Chroma * 255); color &= -256; color |= Value14 > 255 ? 255 : Value14 < 0 ? 0 : Value14; var Value15 = Math.round(Alpha4 * 255); color &= 16777215; color |= (Value15 > 255 ? 255 : Value15 < 0 ? 0 : Value15) << 24; break; case 4: var Alpha5 = Alpha; if(Alpha5 == null) { Alpha5 = 1; } var Value16 = Math.round(mid * 255); color &= -16711681; color |= (Value16 > 255 ? 255 : Value16 < 0 ? 0 : Value16) << 16; var Value17 = Math.round(match * 255); color &= -65281; color |= (Value17 > 255 ? 255 : Value17 < 0 ? 0 : Value17) << 8; var Value18 = Math.round(Chroma * 255); color &= -256; color |= Value18 > 255 ? 255 : Value18 < 0 ? 0 : Value18; var Value19 = Math.round(Alpha5 * 255); color &= 16777215; color |= (Value19 > 255 ? 255 : Value19 < 0 ? 0 : Value19) << 24; break; case 5: var Alpha6 = Alpha; if(Alpha6 == null) { Alpha6 = 1; } var Value20 = Math.round(Chroma * 255); color &= -16711681; color |= (Value20 > 255 ? 255 : Value20 < 0 ? 0 : Value20) << 16; var Value21 = Math.round(match * 255); color &= -65281; color |= (Value21 > 255 ? 255 : Value21 < 0 ? 0 : Value21) << 8; var Value22 = Math.round(mid * 255); color &= -256; color |= Value22 > 255 ? 255 : Value22 < 0 ? 0 : Value22; var Value23 = Math.round(Alpha6 * 255); color &= 16777215; color |= (Value23 > 255 ? 255 : Value23 < 0 ? 0 : Value23) << 24; break; } return color; }; flixel_util__$FlxColor_FlxColor_$Impl_$.fromString = function(str) { var result = null; str = StringTools.trim(str); if(flixel_util__$FlxColor_FlxColor_$Impl_$.COLOR_REGEX.match(str)) { var hexColor = "0x" + flixel_util__$FlxColor_FlxColor_$Impl_$.COLOR_REGEX.matched(2); result = flixel_util__$FlxColor_FlxColor_$Impl_$._new(Std.parseInt(hexColor)); if(hexColor.length == 8) { var Value = Math.round(255); result &= 16777215; result |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 24; } } else { str = str.toUpperCase(); var key = flixel_util__$FlxColor_FlxColor_$Impl_$.colorLookup.keys(); while(key.hasNext()) { var key1 = key.next(); if(key1.toUpperCase() == str) { var _this = flixel_util__$FlxColor_FlxColor_$Impl_$.colorLookup; result = flixel_util__$FlxColor_FlxColor_$Impl_$._new(__map_reserved[key1] != null ? _this.getReserved(key1) : _this.h[key1]); break; } } } return result; }; flixel_util__$FlxColor_FlxColor_$Impl_$.getHSBColorWheel = function(Alpha) { if(Alpha == null) { Alpha = 255; } var _g = []; var _g1 = 0; while(_g1 < 360) { var c = _g1++; _g.push(flixel_util__$FlxColor_FlxColor_$Impl_$.fromHSB(c,1.0,1.0,Alpha)); } return _g; }; flixel_util__$FlxColor_FlxColor_$Impl_$.interpolate = function(Color1,Color2,Factor) { if(Factor == null) { Factor = 0.5; } var r = ((Color2 >> 16 & 255) - (Color1 >> 16 & 255)) * Factor + (Color1 >> 16 & 255) | 0; var g = ((Color2 >> 8 & 255) - (Color1 >> 8 & 255)) * Factor + (Color1 >> 8 & 255) | 0; var b = ((Color2 & 255) - (Color1 & 255)) * Factor + (Color1 & 255) | 0; var a = ((Color2 >> 24 & 255) - (Color1 >> 24 & 255)) * Factor + (Color1 >> 24 & 255) | 0; var Alpha = a; if(Alpha == null) { Alpha = 255; } var color = flixel_util__$FlxColor_FlxColor_$Impl_$._new(); var Alpha1 = Alpha; if(Alpha1 == null) { Alpha1 = 255; } color &= -16711681; color |= (r > 255 ? 255 : r < 0 ? 0 : r) << 16; color &= -65281; color |= (g > 255 ? 255 : g < 0 ? 0 : g) << 8; color &= -256; color |= b > 255 ? 255 : b < 0 ? 0 : b; color &= 16777215; color |= (Alpha1 > 255 ? 255 : Alpha1 < 0 ? 0 : Alpha1) << 24; return color; }; flixel_util__$FlxColor_FlxColor_$Impl_$.gradient = function(Color1,Color2,Steps,Ease) { var output = []; if(Ease == null) { Ease = function(t) { return t; }; } var _g = 0; var _g1 = Steps; while(_g < _g1) { var step = _g++; var Factor = Ease(step / (Steps - 1)); if(Factor == null) { Factor = 0.5; } var r = ((Color2 >> 16 & 255) - (Color1 >> 16 & 255)) * Factor + (Color1 >> 16 & 255) | 0; var g = ((Color2 >> 8 & 255) - (Color1 >> 8 & 255)) * Factor + (Color1 >> 8 & 255) | 0; var b = ((Color2 & 255) - (Color1 & 255)) * Factor + (Color1 & 255) | 0; var a = ((Color2 >> 24 & 255) - (Color1 >> 24 & 255)) * Factor + (Color1 >> 24 & 255) | 0; var Alpha = a; if(Alpha == null) { Alpha = 255; } var color = flixel_util__$FlxColor_FlxColor_$Impl_$._new(); var Alpha1 = Alpha; if(Alpha1 == null) { Alpha1 = 255; } color &= -16711681; color |= (r > 255 ? 255 : r < 0 ? 0 : r) << 16; color &= -65281; color |= (g > 255 ? 255 : g < 0 ? 0 : g) << 8; color &= -256; color |= b > 255 ? 255 : b < 0 ? 0 : b; color &= 16777215; color |= (Alpha1 > 255 ? 255 : Alpha1 < 0 ? 0 : Alpha1) << 24; output[step] = color; } return output; }; flixel_util__$FlxColor_FlxColor_$Impl_$.multiply = function(lhs,rhs) { var Red = (lhs >> 16 & 255) / 255 * ((rhs >> 16 & 255) / 255); var Green = (lhs >> 8 & 255) / 255 * ((rhs >> 8 & 255) / 255); var Blue = (lhs & 255) / 255 * ((rhs & 255) / 255); var color = flixel_util__$FlxColor_FlxColor_$Impl_$._new(); var Alpha = 1; if(Alpha == null) { Alpha = 1; } var Value = Math.round(Red * 255); color &= -16711681; color |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16; var Value1 = Math.round(Green * 255); color &= -65281; color |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 8; var Value2 = Math.round(Blue * 255); color &= -256; color |= Value2 > 255 ? 255 : Value2 < 0 ? 0 : Value2; var Value3 = Math.round(Alpha * 255); color &= 16777215; color |= (Value3 > 255 ? 255 : Value3 < 0 ? 0 : Value3) << 24; return color; }; flixel_util__$FlxColor_FlxColor_$Impl_$.add = function(lhs,rhs) { var Red = (lhs >> 16 & 255) + (rhs >> 16 & 255); var Green = (lhs >> 8 & 255) + (rhs >> 8 & 255); var Blue = (lhs & 255) + (rhs & 255); var color = flixel_util__$FlxColor_FlxColor_$Impl_$._new(); var Alpha = 255; if(Alpha == null) { Alpha = 255; } color &= -16711681; color |= (Red > 255 ? 255 : Red < 0 ? 0 : Red) << 16; color &= -65281; color |= (Green > 255 ? 255 : Green < 0 ? 0 : Green) << 8; color &= -256; color |= Blue > 255 ? 255 : Blue < 0 ? 0 : Blue; color &= 16777215; color |= (Alpha > 255 ? 255 : Alpha < 0 ? 0 : Alpha) << 24; return color; }; flixel_util__$FlxColor_FlxColor_$Impl_$.subtract = function(lhs,rhs) { var Red = (lhs >> 16 & 255) - (rhs >> 16 & 255); var Green = (lhs >> 8 & 255) - (rhs >> 8 & 255); var Blue = (lhs & 255) - (rhs & 255); var color = flixel_util__$FlxColor_FlxColor_$Impl_$._new(); var Alpha = 255; if(Alpha == null) { Alpha = 255; } color &= -16711681; color |= (Red > 255 ? 255 : Red < 0 ? 0 : Red) << 16; color &= -65281; color |= (Green > 255 ? 255 : Green < 0 ? 0 : Green) << 8; color &= -256; color |= Blue > 255 ? 255 : Blue < 0 ? 0 : Blue; color &= 16777215; color |= (Alpha > 255 ? 255 : Alpha < 0 ? 0 : Alpha) << 24; return color; }; flixel_util__$FlxColor_FlxColor_$Impl_$.getComplementHarmony = function(this1) { return flixel_util__$FlxColor_FlxColor_$Impl_$.fromHSB(flixel_math_FlxMath.wrap((flixel_util__$FlxColor_FlxColor_$Impl_$.get_hue(this1) | 0) + 180,0,350),Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)),(Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)) - Math.min((this1 >> 16 & 255) / 255,Math.min((this1 >> 8 & 255) / 255,(this1 & 255) / 255))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)),(this1 >> 24 & 255) / 255); }; flixel_util__$FlxColor_FlxColor_$Impl_$.getAnalogousHarmony = function(this1,Threshold) { if(Threshold == null) { Threshold = 30; } var warmer = flixel_util__$FlxColor_FlxColor_$Impl_$.fromHSB(flixel_math_FlxMath.wrap((flixel_util__$FlxColor_FlxColor_$Impl_$.get_hue(this1) | 0) - Threshold,0,350),(Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)) - Math.min((this1 >> 16 & 255) / 255,Math.min((this1 >> 8 & 255) / 255,(this1 & 255) / 255))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)),Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)),(this1 >> 24 & 255) / 255); var colder = flixel_util__$FlxColor_FlxColor_$Impl_$.fromHSB(flixel_math_FlxMath.wrap((flixel_util__$FlxColor_FlxColor_$Impl_$.get_hue(this1) | 0) + Threshold,0,350),(Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)) - Math.min((this1 >> 16 & 255) / 255,Math.min((this1 >> 8 & 255) / 255,(this1 & 255) / 255))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)),Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)),(this1 >> 24 & 255) / 255); return { original : this1, warmer : warmer, colder : colder}; }; flixel_util__$FlxColor_FlxColor_$Impl_$.getSplitComplementHarmony = function(this1,Threshold) { if(Threshold == null) { Threshold = 30; } var oppositeHue = flixel_math_FlxMath.wrap((flixel_util__$FlxColor_FlxColor_$Impl_$.get_hue(this1) | 0) + 180,0,350); var warmer = flixel_util__$FlxColor_FlxColor_$Impl_$.fromHSB(flixel_math_FlxMath.wrap(oppositeHue - Threshold,0,350),(Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)) - Math.min((this1 >> 16 & 255) / 255,Math.min((this1 >> 8 & 255) / 255,(this1 & 255) / 255))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)),Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)),(this1 >> 24 & 255) / 255); var colder = flixel_util__$FlxColor_FlxColor_$Impl_$.fromHSB(flixel_math_FlxMath.wrap(oppositeHue + Threshold,0,350),(Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)) - Math.min((this1 >> 16 & 255) / 255,Math.min((this1 >> 8 & 255) / 255,(this1 & 255) / 255))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)),Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)),(this1 >> 24 & 255) / 255); return { original : this1, warmer : warmer, colder : colder}; }; flixel_util__$FlxColor_FlxColor_$Impl_$.getTriadicHarmony = function(this1) { var triadic1 = flixel_util__$FlxColor_FlxColor_$Impl_$.fromHSB(flixel_math_FlxMath.wrap((flixel_util__$FlxColor_FlxColor_$Impl_$.get_hue(this1) | 0) + 120,0,359),(Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)) - Math.min((this1 >> 16 & 255) / 255,Math.min((this1 >> 8 & 255) / 255,(this1 & 255) / 255))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)),Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)),(this1 >> 24 & 255) / 255); var triadic2 = flixel_util__$FlxColor_FlxColor_$Impl_$.fromHSB(flixel_math_FlxMath.wrap((flixel_util__$FlxColor_FlxColor_$Impl_$.get_hue(triadic1) | 0) + 120,0,359),(Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)) - Math.min((this1 >> 16 & 255) / 255,Math.min((this1 >> 8 & 255) / 255,(this1 & 255) / 255))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)),Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)),(this1 >> 24 & 255) / 255); return { color1 : this1, color2 : triadic1, color3 : triadic2}; }; flixel_util__$FlxColor_FlxColor_$Impl_$.to24Bit = function(this1) { return this1 & 16777215; }; flixel_util__$FlxColor_FlxColor_$Impl_$.toHexString = function(this1,Alpha,Prefix) { if(Prefix == null) { Prefix = true; } if(Alpha == null) { Alpha = true; } var tmp = Alpha ? StringTools.hex(this1 >> 24 & 255,2) : ""; return (Prefix ? "0x" : "") + tmp + StringTools.hex(this1 >> 16 & 255,2) + StringTools.hex(this1 >> 8 & 255,2) + StringTools.hex(this1 & 255,2); }; flixel_util__$FlxColor_FlxColor_$Impl_$.toWebString = function(this1) { var Alpha = false; var Prefix = false; if(Prefix == null) { Prefix = true; } if(Alpha == null) { Alpha = true; } var tmp = Alpha ? StringTools.hex(this1 >> 24 & 255,2) : ""; return "#" + ((Prefix ? "0x" : "") + tmp + StringTools.hex(this1 >> 16 & 255,2) + StringTools.hex(this1 >> 8 & 255,2) + StringTools.hex(this1 & 255,2)); }; flixel_util__$FlxColor_FlxColor_$Impl_$.getColorInfo = function(this1) { var result = "0x" + StringTools.hex(this1 >> 24 & 255,2) + StringTools.hex(this1 >> 16 & 255,2) + StringTools.hex(this1 >> 8 & 255,2) + StringTools.hex(this1 & 255,2) + "\n"; result += "Alpha: " + (this1 >> 24 & 255) + " Red: " + (this1 >> 16 & 255) + " Green: " + (this1 >> 8 & 255) + " Blue: " + (this1 & 255) + "\n"; result += "Hue: " + flixel_math_FlxMath.roundDecimal(flixel_util__$FlxColor_FlxColor_$Impl_$.get_hue(this1),2) + " Saturation: " + flixel_math_FlxMath.roundDecimal((Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)) - Math.min((this1 >> 16 & 255) / 255,Math.min((this1 >> 8 & 255) / 255,(this1 & 255) / 255))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)),2) + " Brightness: " + flixel_math_FlxMath.roundDecimal(Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)),2) + " Lightness: " + flixel_math_FlxMath.roundDecimal((Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)) + Math.min((this1 >> 16 & 255) / 255,Math.min((this1 >> 8 & 255) / 255,(this1 & 255) / 255))) / 2,2); return result; }; flixel_util__$FlxColor_FlxColor_$Impl_$.getDarkened = function(this1,Factor) { if(Factor == null) { Factor = 0.2; } var lowerBound = Factor < 0 ? 0 : Factor; Factor = lowerBound > 1 ? 1 : lowerBound; var output = this1; var Value = (Math.max((output >> 16 & 255) / 255,Math.max((output >> 8 & 255) / 255,(output & 255) / 255)) + Math.min((output >> 16 & 255) / 255,Math.min((output >> 8 & 255) / 255,(output & 255) / 255))) / 2 * (1 - Factor); var Hue = flixel_util__$FlxColor_FlxColor_$Impl_$.get_hue(output); var Alpha = (output >> 24 & 255) / 255; var chroma = (1 - Math.abs(2 * Value - 1)) * ((Math.max((output >> 16 & 255) / 255,Math.max((output >> 8 & 255) / 255,(output & 255) / 255)) - Math.min((output >> 16 & 255) / 255,Math.min((output >> 8 & 255) / 255,(output & 255) / 255))) / Math.max((output >> 16 & 255) / 255,Math.max((output >> 8 & 255) / 255,(output & 255) / 255))); var match = Value - chroma / 2; var Hue1 = Hue; var Chroma = chroma; Hue1 %= 360; var hueD = Hue1 / 60; var mid = Chroma * (1 - Math.abs(hueD % 2 - 1)) + match; Chroma += match; switch(hueD | 0) { case 0: var Alpha1 = Alpha; if(Alpha1 == null) { Alpha1 = 1; } var Value1 = Math.round(Chroma * 255); output &= -16711681; output |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 16; var Value2 = Math.round(mid * 255); output &= -65281; output |= (Value2 > 255 ? 255 : Value2 < 0 ? 0 : Value2) << 8; var Value3 = Math.round(match * 255); output &= -256; output |= Value3 > 255 ? 255 : Value3 < 0 ? 0 : Value3; var Value4 = Math.round(Alpha1 * 255); output &= 16777215; output |= (Value4 > 255 ? 255 : Value4 < 0 ? 0 : Value4) << 24; break; case 1: var Alpha2 = Alpha; if(Alpha2 == null) { Alpha2 = 1; } var Value5 = Math.round(mid * 255); output &= -16711681; output |= (Value5 > 255 ? 255 : Value5 < 0 ? 0 : Value5) << 16; var Value6 = Math.round(Chroma * 255); output &= -65281; output |= (Value6 > 255 ? 255 : Value6 < 0 ? 0 : Value6) << 8; var Value7 = Math.round(match * 255); output &= -256; output |= Value7 > 255 ? 255 : Value7 < 0 ? 0 : Value7; var Value8 = Math.round(Alpha2 * 255); output &= 16777215; output |= (Value8 > 255 ? 255 : Value8 < 0 ? 0 : Value8) << 24; break; case 2: var Alpha3 = Alpha; if(Alpha3 == null) { Alpha3 = 1; } var Value9 = Math.round(match * 255); output &= -16711681; output |= (Value9 > 255 ? 255 : Value9 < 0 ? 0 : Value9) << 16; var Value10 = Math.round(Chroma * 255); output &= -65281; output |= (Value10 > 255 ? 255 : Value10 < 0 ? 0 : Value10) << 8; var Value11 = Math.round(mid * 255); output &= -256; output |= Value11 > 255 ? 255 : Value11 < 0 ? 0 : Value11; var Value12 = Math.round(Alpha3 * 255); output &= 16777215; output |= (Value12 > 255 ? 255 : Value12 < 0 ? 0 : Value12) << 24; break; case 3: var Alpha4 = Alpha; if(Alpha4 == null) { Alpha4 = 1; } var Value13 = Math.round(match * 255); output &= -16711681; output |= (Value13 > 255 ? 255 : Value13 < 0 ? 0 : Value13) << 16; var Value14 = Math.round(mid * 255); output &= -65281; output |= (Value14 > 255 ? 255 : Value14 < 0 ? 0 : Value14) << 8; var Value15 = Math.round(Chroma * 255); output &= -256; output |= Value15 > 255 ? 255 : Value15 < 0 ? 0 : Value15; var Value16 = Math.round(Alpha4 * 255); output &= 16777215; output |= (Value16 > 255 ? 255 : Value16 < 0 ? 0 : Value16) << 24; break; case 4: var Alpha5 = Alpha; if(Alpha5 == null) { Alpha5 = 1; } var Value17 = Math.round(mid * 255); output &= -16711681; output |= (Value17 > 255 ? 255 : Value17 < 0 ? 0 : Value17) << 16; var Value18 = Math.round(match * 255); output &= -65281; output |= (Value18 > 255 ? 255 : Value18 < 0 ? 0 : Value18) << 8; var Value19 = Math.round(Chroma * 255); output &= -256; output |= Value19 > 255 ? 255 : Value19 < 0 ? 0 : Value19; var Value20 = Math.round(Alpha5 * 255); output &= 16777215; output |= (Value20 > 255 ? 255 : Value20 < 0 ? 0 : Value20) << 24; break; case 5: var Alpha6 = Alpha; if(Alpha6 == null) { Alpha6 = 1; } var Value21 = Math.round(Chroma * 255); output &= -16711681; output |= (Value21 > 255 ? 255 : Value21 < 0 ? 0 : Value21) << 16; var Value22 = Math.round(match * 255); output &= -65281; output |= (Value22 > 255 ? 255 : Value22 < 0 ? 0 : Value22) << 8; var Value23 = Math.round(mid * 255); output &= -256; output |= Value23 > 255 ? 255 : Value23 < 0 ? 0 : Value23; var Value24 = Math.round(Alpha6 * 255); output &= 16777215; output |= (Value24 > 255 ? 255 : Value24 < 0 ? 0 : Value24) << 24; break; } return output; }; flixel_util__$FlxColor_FlxColor_$Impl_$.getLightened = function(this1,Factor) { if(Factor == null) { Factor = 0.2; } var lowerBound = Factor < 0 ? 0 : Factor; Factor = lowerBound > 1 ? 1 : lowerBound; var output = this1; var Value = (Math.max((output >> 16 & 255) / 255,Math.max((output >> 8 & 255) / 255,(output & 255) / 255)) + Math.min((output >> 16 & 255) / 255,Math.min((output >> 8 & 255) / 255,(output & 255) / 255))) / 2 + (1 - (Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)) + Math.min((this1 >> 16 & 255) / 255,Math.min((this1 >> 8 & 255) / 255,(this1 & 255) / 255))) / 2) * Factor; var Hue = flixel_util__$FlxColor_FlxColor_$Impl_$.get_hue(output); var Alpha = (output >> 24 & 255) / 255; var chroma = (1 - Math.abs(2 * Value - 1)) * ((Math.max((output >> 16 & 255) / 255,Math.max((output >> 8 & 255) / 255,(output & 255) / 255)) - Math.min((output >> 16 & 255) / 255,Math.min((output >> 8 & 255) / 255,(output & 255) / 255))) / Math.max((output >> 16 & 255) / 255,Math.max((output >> 8 & 255) / 255,(output & 255) / 255))); var match = Value - chroma / 2; var Hue1 = Hue; var Chroma = chroma; Hue1 %= 360; var hueD = Hue1 / 60; var mid = Chroma * (1 - Math.abs(hueD % 2 - 1)) + match; Chroma += match; switch(hueD | 0) { case 0: var Alpha1 = Alpha; if(Alpha1 == null) { Alpha1 = 1; } var Value1 = Math.round(Chroma * 255); output &= -16711681; output |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 16; var Value2 = Math.round(mid * 255); output &= -65281; output |= (Value2 > 255 ? 255 : Value2 < 0 ? 0 : Value2) << 8; var Value3 = Math.round(match * 255); output &= -256; output |= Value3 > 255 ? 255 : Value3 < 0 ? 0 : Value3; var Value4 = Math.round(Alpha1 * 255); output &= 16777215; output |= (Value4 > 255 ? 255 : Value4 < 0 ? 0 : Value4) << 24; break; case 1: var Alpha2 = Alpha; if(Alpha2 == null) { Alpha2 = 1; } var Value5 = Math.round(mid * 255); output &= -16711681; output |= (Value5 > 255 ? 255 : Value5 < 0 ? 0 : Value5) << 16; var Value6 = Math.round(Chroma * 255); output &= -65281; output |= (Value6 > 255 ? 255 : Value6 < 0 ? 0 : Value6) << 8; var Value7 = Math.round(match * 255); output &= -256; output |= Value7 > 255 ? 255 : Value7 < 0 ? 0 : Value7; var Value8 = Math.round(Alpha2 * 255); output &= 16777215; output |= (Value8 > 255 ? 255 : Value8 < 0 ? 0 : Value8) << 24; break; case 2: var Alpha3 = Alpha; if(Alpha3 == null) { Alpha3 = 1; } var Value9 = Math.round(match * 255); output &= -16711681; output |= (Value9 > 255 ? 255 : Value9 < 0 ? 0 : Value9) << 16; var Value10 = Math.round(Chroma * 255); output &= -65281; output |= (Value10 > 255 ? 255 : Value10 < 0 ? 0 : Value10) << 8; var Value11 = Math.round(mid * 255); output &= -256; output |= Value11 > 255 ? 255 : Value11 < 0 ? 0 : Value11; var Value12 = Math.round(Alpha3 * 255); output &= 16777215; output |= (Value12 > 255 ? 255 : Value12 < 0 ? 0 : Value12) << 24; break; case 3: var Alpha4 = Alpha; if(Alpha4 == null) { Alpha4 = 1; } var Value13 = Math.round(match * 255); output &= -16711681; output |= (Value13 > 255 ? 255 : Value13 < 0 ? 0 : Value13) << 16; var Value14 = Math.round(mid * 255); output &= -65281; output |= (Value14 > 255 ? 255 : Value14 < 0 ? 0 : Value14) << 8; var Value15 = Math.round(Chroma * 255); output &= -256; output |= Value15 > 255 ? 255 : Value15 < 0 ? 0 : Value15; var Value16 = Math.round(Alpha4 * 255); output &= 16777215; output |= (Value16 > 255 ? 255 : Value16 < 0 ? 0 : Value16) << 24; break; case 4: var Alpha5 = Alpha; if(Alpha5 == null) { Alpha5 = 1; } var Value17 = Math.round(mid * 255); output &= -16711681; output |= (Value17 > 255 ? 255 : Value17 < 0 ? 0 : Value17) << 16; var Value18 = Math.round(match * 255); output &= -65281; output |= (Value18 > 255 ? 255 : Value18 < 0 ? 0 : Value18) << 8; var Value19 = Math.round(Chroma * 255); output &= -256; output |= Value19 > 255 ? 255 : Value19 < 0 ? 0 : Value19; var Value20 = Math.round(Alpha5 * 255); output &= 16777215; output |= (Value20 > 255 ? 255 : Value20 < 0 ? 0 : Value20) << 24; break; case 5: var Alpha6 = Alpha; if(Alpha6 == null) { Alpha6 = 1; } var Value21 = Math.round(Chroma * 255); output &= -16711681; output |= (Value21 > 255 ? 255 : Value21 < 0 ? 0 : Value21) << 16; var Value22 = Math.round(match * 255); output &= -65281; output |= (Value22 > 255 ? 255 : Value22 < 0 ? 0 : Value22) << 8; var Value23 = Math.round(mid * 255); output &= -256; output |= Value23 > 255 ? 255 : Value23 < 0 ? 0 : Value23; var Value24 = Math.round(Alpha6 * 255); output &= 16777215; output |= (Value24 > 255 ? 255 : Value24 < 0 ? 0 : Value24) << 24; break; } return output; }; flixel_util__$FlxColor_FlxColor_$Impl_$.getInverted = function(this1) { var oldAlpha = this1 >> 24 & 255; var lhs = -1; var Red = (lhs >> 16 & 255) - (this1 >> 16 & 255); var Green = (lhs >> 8 & 255) - (this1 >> 8 & 255); var Blue = (lhs & 255) - (this1 & 255); var color = flixel_util__$FlxColor_FlxColor_$Impl_$._new(); var Alpha = 255; if(Alpha == null) { Alpha = 255; } color &= -16711681; color |= (Red > 255 ? 255 : Red < 0 ? 0 : Red) << 16; color &= -65281; color |= (Green > 255 ? 255 : Green < 0 ? 0 : Green) << 8; color &= -256; color |= Blue > 255 ? 255 : Blue < 0 ? 0 : Blue; color &= 16777215; color |= (Alpha > 255 ? 255 : Alpha < 0 ? 0 : Alpha) << 24; var output = color; output &= 16777215; output |= (oldAlpha > 255 ? 255 : oldAlpha < 0 ? 0 : oldAlpha) << 24; return output; }; flixel_util__$FlxColor_FlxColor_$Impl_$.setRGB = function(this1,Red,Green,Blue,Alpha) { if(Alpha == null) { Alpha = 255; } this1 &= -16711681; this1 |= (Red > 255 ? 255 : Red < 0 ? 0 : Red) << 16; this1 &= -65281; this1 |= (Green > 255 ? 255 : Green < 0 ? 0 : Green) << 8; this1 &= -256; this1 |= Blue > 255 ? 255 : Blue < 0 ? 0 : Blue; this1 &= 16777215; this1 |= (Alpha > 255 ? 255 : Alpha < 0 ? 0 : Alpha) << 24; return this1; }; flixel_util__$FlxColor_FlxColor_$Impl_$.setRGBFloat = function(this1,Red,Green,Blue,Alpha) { if(Alpha == null) { Alpha = 1; } var Value = Math.round(Red * 255); this1 &= -16711681; this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16; var Value1 = Math.round(Green * 255); this1 &= -65281; this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 8; var Value2 = Math.round(Blue * 255); this1 &= -256; this1 |= Value2 > 255 ? 255 : Value2 < 0 ? 0 : Value2; var Value3 = Math.round(Alpha * 255); this1 &= 16777215; this1 |= (Value3 > 255 ? 255 : Value3 < 0 ? 0 : Value3) << 24; return this1; }; flixel_util__$FlxColor_FlxColor_$Impl_$.setCMYK = function(this1,Cyan,Magenta,Yellow,Black,Alpha) { if(Alpha == null) { Alpha = 1; } var Value = (1 - Cyan) * (1 - Black); var Value1 = Math.round(Value * 255); this1 &= -16711681; this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 16; var Value2 = (1 - Magenta) * (1 - Black); var Value3 = Math.round(Value2 * 255); this1 &= -65281; this1 |= (Value3 > 255 ? 255 : Value3 < 0 ? 0 : Value3) << 8; var Value4 = (1 - Yellow) * (1 - Black); var Value5 = Math.round(Value4 * 255); this1 &= -256; this1 |= Value5 > 255 ? 255 : Value5 < 0 ? 0 : Value5; var Value6 = Math.round(Alpha * 255); this1 &= 16777215; this1 |= (Value6 > 255 ? 255 : Value6 < 0 ? 0 : Value6) << 24; return this1; }; flixel_util__$FlxColor_FlxColor_$Impl_$.setHSB = function(this1,Hue,Saturation,Brightness,Alpha) { var chroma = Brightness * Saturation; var match = Brightness - chroma; var Hue1 = Hue; var Chroma = chroma; Hue1 %= 360; var hueD = Hue1 / 60; var mid = Chroma * (1 - Math.abs(hueD % 2 - 1)) + match; Chroma += match; switch(hueD | 0) { case 0: var Alpha1 = Alpha; if(Alpha1 == null) { Alpha1 = 1; } var Value = Math.round(Chroma * 255); this1 &= -16711681; this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16; var Value1 = Math.round(mid * 255); this1 &= -65281; this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 8; var Value2 = Math.round(match * 255); this1 &= -256; this1 |= Value2 > 255 ? 255 : Value2 < 0 ? 0 : Value2; var Value3 = Math.round(Alpha1 * 255); this1 &= 16777215; this1 |= (Value3 > 255 ? 255 : Value3 < 0 ? 0 : Value3) << 24; break; case 1: var Alpha2 = Alpha; if(Alpha2 == null) { Alpha2 = 1; } var Value4 = Math.round(mid * 255); this1 &= -16711681; this1 |= (Value4 > 255 ? 255 : Value4 < 0 ? 0 : Value4) << 16; var Value5 = Math.round(Chroma * 255); this1 &= -65281; this1 |= (Value5 > 255 ? 255 : Value5 < 0 ? 0 : Value5) << 8; var Value6 = Math.round(match * 255); this1 &= -256; this1 |= Value6 > 255 ? 255 : Value6 < 0 ? 0 : Value6; var Value7 = Math.round(Alpha2 * 255); this1 &= 16777215; this1 |= (Value7 > 255 ? 255 : Value7 < 0 ? 0 : Value7) << 24; break; case 2: var Alpha3 = Alpha; if(Alpha3 == null) { Alpha3 = 1; } var Value8 = Math.round(match * 255); this1 &= -16711681; this1 |= (Value8 > 255 ? 255 : Value8 < 0 ? 0 : Value8) << 16; var Value9 = Math.round(Chroma * 255); this1 &= -65281; this1 |= (Value9 > 255 ? 255 : Value9 < 0 ? 0 : Value9) << 8; var Value10 = Math.round(mid * 255); this1 &= -256; this1 |= Value10 > 255 ? 255 : Value10 < 0 ? 0 : Value10; var Value11 = Math.round(Alpha3 * 255); this1 &= 16777215; this1 |= (Value11 > 255 ? 255 : Value11 < 0 ? 0 : Value11) << 24; break; case 3: var Alpha4 = Alpha; if(Alpha4 == null) { Alpha4 = 1; } var Value12 = Math.round(match * 255); this1 &= -16711681; this1 |= (Value12 > 255 ? 255 : Value12 < 0 ? 0 : Value12) << 16; var Value13 = Math.round(mid * 255); this1 &= -65281; this1 |= (Value13 > 255 ? 255 : Value13 < 0 ? 0 : Value13) << 8; var Value14 = Math.round(Chroma * 255); this1 &= -256; this1 |= Value14 > 255 ? 255 : Value14 < 0 ? 0 : Value14; var Value15 = Math.round(Alpha4 * 255); this1 &= 16777215; this1 |= (Value15 > 255 ? 255 : Value15 < 0 ? 0 : Value15) << 24; break; case 4: var Alpha5 = Alpha; if(Alpha5 == null) { Alpha5 = 1; } var Value16 = Math.round(mid * 255); this1 &= -16711681; this1 |= (Value16 > 255 ? 255 : Value16 < 0 ? 0 : Value16) << 16; var Value17 = Math.round(match * 255); this1 &= -65281; this1 |= (Value17 > 255 ? 255 : Value17 < 0 ? 0 : Value17) << 8; var Value18 = Math.round(Chroma * 255); this1 &= -256; this1 |= Value18 > 255 ? 255 : Value18 < 0 ? 0 : Value18; var Value19 = Math.round(Alpha5 * 255); this1 &= 16777215; this1 |= (Value19 > 255 ? 255 : Value19 < 0 ? 0 : Value19) << 24; break; case 5: var Alpha6 = Alpha; if(Alpha6 == null) { Alpha6 = 1; } var Value20 = Math.round(Chroma * 255); this1 &= -16711681; this1 |= (Value20 > 255 ? 255 : Value20 < 0 ? 0 : Value20) << 16; var Value21 = Math.round(match * 255); this1 &= -65281; this1 |= (Value21 > 255 ? 255 : Value21 < 0 ? 0 : Value21) << 8; var Value22 = Math.round(mid * 255); this1 &= -256; this1 |= Value22 > 255 ? 255 : Value22 < 0 ? 0 : Value22; var Value23 = Math.round(Alpha6 * 255); this1 &= 16777215; this1 |= (Value23 > 255 ? 255 : Value23 < 0 ? 0 : Value23) << 24; break; } return this1; }; flixel_util__$FlxColor_FlxColor_$Impl_$.setHSL = function(this1,Hue,Saturation,Lightness,Alpha) { var chroma = (1 - Math.abs(2 * Lightness - 1)) * Saturation; var match = Lightness - chroma / 2; var Hue1 = Hue; var Chroma = chroma; Hue1 %= 360; var hueD = Hue1 / 60; var mid = Chroma * (1 - Math.abs(hueD % 2 - 1)) + match; Chroma += match; switch(hueD | 0) { case 0: var Alpha1 = Alpha; if(Alpha1 == null) { Alpha1 = 1; } var Value = Math.round(Chroma * 255); this1 &= -16711681; this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16; var Value1 = Math.round(mid * 255); this1 &= -65281; this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 8; var Value2 = Math.round(match * 255); this1 &= -256; this1 |= Value2 > 255 ? 255 : Value2 < 0 ? 0 : Value2; var Value3 = Math.round(Alpha1 * 255); this1 &= 16777215; this1 |= (Value3 > 255 ? 255 : Value3 < 0 ? 0 : Value3) << 24; break; case 1: var Alpha2 = Alpha; if(Alpha2 == null) { Alpha2 = 1; } var Value4 = Math.round(mid * 255); this1 &= -16711681; this1 |= (Value4 > 255 ? 255 : Value4 < 0 ? 0 : Value4) << 16; var Value5 = Math.round(Chroma * 255); this1 &= -65281; this1 |= (Value5 > 255 ? 255 : Value5 < 0 ? 0 : Value5) << 8; var Value6 = Math.round(match * 255); this1 &= -256; this1 |= Value6 > 255 ? 255 : Value6 < 0 ? 0 : Value6; var Value7 = Math.round(Alpha2 * 255); this1 &= 16777215; this1 |= (Value7 > 255 ? 255 : Value7 < 0 ? 0 : Value7) << 24; break; case 2: var Alpha3 = Alpha; if(Alpha3 == null) { Alpha3 = 1; } var Value8 = Math.round(match * 255); this1 &= -16711681; this1 |= (Value8 > 255 ? 255 : Value8 < 0 ? 0 : Value8) << 16; var Value9 = Math.round(Chroma * 255); this1 &= -65281; this1 |= (Value9 > 255 ? 255 : Value9 < 0 ? 0 : Value9) << 8; var Value10 = Math.round(mid * 255); this1 &= -256; this1 |= Value10 > 255 ? 255 : Value10 < 0 ? 0 : Value10; var Value11 = Math.round(Alpha3 * 255); this1 &= 16777215; this1 |= (Value11 > 255 ? 255 : Value11 < 0 ? 0 : Value11) << 24; break; case 3: var Alpha4 = Alpha; if(Alpha4 == null) { Alpha4 = 1; } var Value12 = Math.round(match * 255); this1 &= -16711681; this1 |= (Value12 > 255 ? 255 : Value12 < 0 ? 0 : Value12) << 16; var Value13 = Math.round(mid * 255); this1 &= -65281; this1 |= (Value13 > 255 ? 255 : Value13 < 0 ? 0 : Value13) << 8; var Value14 = Math.round(Chroma * 255); this1 &= -256; this1 |= Value14 > 255 ? 255 : Value14 < 0 ? 0 : Value14; var Value15 = Math.round(Alpha4 * 255); this1 &= 16777215; this1 |= (Value15 > 255 ? 255 : Value15 < 0 ? 0 : Value15) << 24; break; case 4: var Alpha5 = Alpha; if(Alpha5 == null) { Alpha5 = 1; } var Value16 = Math.round(mid * 255); this1 &= -16711681; this1 |= (Value16 > 255 ? 255 : Value16 < 0 ? 0 : Value16) << 16; var Value17 = Math.round(match * 255); this1 &= -65281; this1 |= (Value17 > 255 ? 255 : Value17 < 0 ? 0 : Value17) << 8; var Value18 = Math.round(Chroma * 255); this1 &= -256; this1 |= Value18 > 255 ? 255 : Value18 < 0 ? 0 : Value18; var Value19 = Math.round(Alpha5 * 255); this1 &= 16777215; this1 |= (Value19 > 255 ? 255 : Value19 < 0 ? 0 : Value19) << 24; break; case 5: var Alpha6 = Alpha; if(Alpha6 == null) { Alpha6 = 1; } var Value20 = Math.round(Chroma * 255); this1 &= -16711681; this1 |= (Value20 > 255 ? 255 : Value20 < 0 ? 0 : Value20) << 16; var Value21 = Math.round(match * 255); this1 &= -65281; this1 |= (Value21 > 255 ? 255 : Value21 < 0 ? 0 : Value21) << 8; var Value22 = Math.round(mid * 255); this1 &= -256; this1 |= Value22 > 255 ? 255 : Value22 < 0 ? 0 : Value22; var Value23 = Math.round(Alpha6 * 255); this1 &= 16777215; this1 |= (Value23 > 255 ? 255 : Value23 < 0 ? 0 : Value23) << 24; break; } return this1; }; flixel_util__$FlxColor_FlxColor_$Impl_$.setHSChromaMatch = function(this1,Hue,Saturation,Chroma,Match,Alpha) { Hue %= 360; var hueD = Hue / 60; var mid = Chroma * (1 - Math.abs(hueD % 2 - 1)) + Match; Chroma += Match; switch(hueD | 0) { case 0: var Alpha1 = Alpha; if(Alpha1 == null) { Alpha1 = 1; } var Value = Math.round(Chroma * 255); this1 &= -16711681; this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16; var Value1 = Math.round(mid * 255); this1 &= -65281; this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 8; var Value2 = Math.round(Match * 255); this1 &= -256; this1 |= Value2 > 255 ? 255 : Value2 < 0 ? 0 : Value2; var Value3 = Math.round(Alpha1 * 255); this1 &= 16777215; this1 |= (Value3 > 255 ? 255 : Value3 < 0 ? 0 : Value3) << 24; break; case 1: var Alpha2 = Alpha; if(Alpha2 == null) { Alpha2 = 1; } var Value4 = Math.round(mid * 255); this1 &= -16711681; this1 |= (Value4 > 255 ? 255 : Value4 < 0 ? 0 : Value4) << 16; var Value5 = Math.round(Chroma * 255); this1 &= -65281; this1 |= (Value5 > 255 ? 255 : Value5 < 0 ? 0 : Value5) << 8; var Value6 = Math.round(Match * 255); this1 &= -256; this1 |= Value6 > 255 ? 255 : Value6 < 0 ? 0 : Value6; var Value7 = Math.round(Alpha2 * 255); this1 &= 16777215; this1 |= (Value7 > 255 ? 255 : Value7 < 0 ? 0 : Value7) << 24; break; case 2: var Alpha3 = Alpha; if(Alpha3 == null) { Alpha3 = 1; } var Value8 = Math.round(Match * 255); this1 &= -16711681; this1 |= (Value8 > 255 ? 255 : Value8 < 0 ? 0 : Value8) << 16; var Value9 = Math.round(Chroma * 255); this1 &= -65281; this1 |= (Value9 > 255 ? 255 : Value9 < 0 ? 0 : Value9) << 8; var Value10 = Math.round(mid * 255); this1 &= -256; this1 |= Value10 > 255 ? 255 : Value10 < 0 ? 0 : Value10; var Value11 = Math.round(Alpha3 * 255); this1 &= 16777215; this1 |= (Value11 > 255 ? 255 : Value11 < 0 ? 0 : Value11) << 24; break; case 3: var Alpha4 = Alpha; if(Alpha4 == null) { Alpha4 = 1; } var Value12 = Math.round(Match * 255); this1 &= -16711681; this1 |= (Value12 > 255 ? 255 : Value12 < 0 ? 0 : Value12) << 16; var Value13 = Math.round(mid * 255); this1 &= -65281; this1 |= (Value13 > 255 ? 255 : Value13 < 0 ? 0 : Value13) << 8; var Value14 = Math.round(Chroma * 255); this1 &= -256; this1 |= Value14 > 255 ? 255 : Value14 < 0 ? 0 : Value14; var Value15 = Math.round(Alpha4 * 255); this1 &= 16777215; this1 |= (Value15 > 255 ? 255 : Value15 < 0 ? 0 : Value15) << 24; break; case 4: var Alpha5 = Alpha; if(Alpha5 == null) { Alpha5 = 1; } var Value16 = Math.round(mid * 255); this1 &= -16711681; this1 |= (Value16 > 255 ? 255 : Value16 < 0 ? 0 : Value16) << 16; var Value17 = Math.round(Match * 255); this1 &= -65281; this1 |= (Value17 > 255 ? 255 : Value17 < 0 ? 0 : Value17) << 8; var Value18 = Math.round(Chroma * 255); this1 &= -256; this1 |= Value18 > 255 ? 255 : Value18 < 0 ? 0 : Value18; var Value19 = Math.round(Alpha5 * 255); this1 &= 16777215; this1 |= (Value19 > 255 ? 255 : Value19 < 0 ? 0 : Value19) << 24; break; case 5: var Alpha6 = Alpha; if(Alpha6 == null) { Alpha6 = 1; } var Value20 = Math.round(Chroma * 255); this1 &= -16711681; this1 |= (Value20 > 255 ? 255 : Value20 < 0 ? 0 : Value20) << 16; var Value21 = Math.round(Match * 255); this1 &= -65281; this1 |= (Value21 > 255 ? 255 : Value21 < 0 ? 0 : Value21) << 8; var Value22 = Math.round(mid * 255); this1 &= -256; this1 |= Value22 > 255 ? 255 : Value22 < 0 ? 0 : Value22; var Value23 = Math.round(Alpha6 * 255); this1 &= 16777215; this1 |= (Value23 > 255 ? 255 : Value23 < 0 ? 0 : Value23) << 24; break; } return this1; }; flixel_util__$FlxColor_FlxColor_$Impl_$._new = function(Value) { if(Value == null) { Value = 0; } var this1 = Value; return this1; }; flixel_util__$FlxColor_FlxColor_$Impl_$.getThis = function(this1) { return this1; }; flixel_util__$FlxColor_FlxColor_$Impl_$.validate = function(this1) { }; flixel_util__$FlxColor_FlxColor_$Impl_$.get_red = function(this1) { return this1 >> 16 & 255; }; flixel_util__$FlxColor_FlxColor_$Impl_$.get_green = function(this1) { return this1 >> 8 & 255; }; flixel_util__$FlxColor_FlxColor_$Impl_$.get_blue = function(this1) { return this1 & 255; }; flixel_util__$FlxColor_FlxColor_$Impl_$.get_alpha = function(this1) { return this1 >> 24 & 255; }; flixel_util__$FlxColor_FlxColor_$Impl_$.get_redFloat = function(this1) { return (this1 >> 16 & 255) / 255; }; flixel_util__$FlxColor_FlxColor_$Impl_$.get_greenFloat = function(this1) { return (this1 >> 8 & 255) / 255; }; flixel_util__$FlxColor_FlxColor_$Impl_$.get_blueFloat = function(this1) { return (this1 & 255) / 255; }; flixel_util__$FlxColor_FlxColor_$Impl_$.get_alphaFloat = function(this1) { return (this1 >> 24 & 255) / 255; }; flixel_util__$FlxColor_FlxColor_$Impl_$.set_red = function(this1,Value) { this1 &= -16711681; this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 16; return Value; }; flixel_util__$FlxColor_FlxColor_$Impl_$.set_green = function(this1,Value) { this1 &= -65281; this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 8; return Value; }; flixel_util__$FlxColor_FlxColor_$Impl_$.set_blue = function(this1,Value) { this1 &= -256; this1 |= Value > 255 ? 255 : Value < 0 ? 0 : Value; return Value; }; flixel_util__$FlxColor_FlxColor_$Impl_$.set_alpha = function(this1,Value) { this1 &= 16777215; this1 |= (Value > 255 ? 255 : Value < 0 ? 0 : Value) << 24; return Value; }; flixel_util__$FlxColor_FlxColor_$Impl_$.set_redFloat = function(this1,Value) { var Value1 = Math.round(Value * 255); this1 &= -16711681; this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 16; return Value; }; flixel_util__$FlxColor_FlxColor_$Impl_$.set_greenFloat = function(this1,Value) { var Value1 = Math.round(Value * 255); this1 &= -65281; this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 8; return Value; }; flixel_util__$FlxColor_FlxColor_$Impl_$.set_blueFloat = function(this1,Value) { var Value1 = Math.round(Value * 255); this1 &= -256; this1 |= Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1; return Value; }; flixel_util__$FlxColor_FlxColor_$Impl_$.set_alphaFloat = function(this1,Value) { var Value1 = Math.round(Value * 255); this1 &= 16777215; this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 24; return Value; }; flixel_util__$FlxColor_FlxColor_$Impl_$.get_cyan = function(this1) { return (1 - (this1 >> 16 & 255) / 255 - (1 - Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)); }; flixel_util__$FlxColor_FlxColor_$Impl_$.get_magenta = function(this1) { return (1 - (this1 >> 8 & 255) / 255 - (1 - Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)); }; flixel_util__$FlxColor_FlxColor_$Impl_$.get_yellow = function(this1) { return (1 - (this1 & 255) / 255 - (1 - Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)); }; flixel_util__$FlxColor_FlxColor_$Impl_$.get_black = function(this1) { return 1 - Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)); }; flixel_util__$FlxColor_FlxColor_$Impl_$.set_cyan = function(this1,Value) { var Magenta = (1 - (this1 >> 8 & 255) / 255 - (1 - Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)); var Yellow = (1 - (this1 & 255) / 255 - (1 - Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)); var Black = 1 - Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)); var Alpha = (this1 >> 24 & 255) / 255; if(Alpha == null) { Alpha = 1; } var Value1 = (1 - Value) * (1 - Black); var Value2 = Math.round(Value1 * 255); this1 &= -16711681; this1 |= (Value2 > 255 ? 255 : Value2 < 0 ? 0 : Value2) << 16; var Value3 = (1 - Magenta) * (1 - Black); var Value4 = Math.round(Value3 * 255); this1 &= -65281; this1 |= (Value4 > 255 ? 255 : Value4 < 0 ? 0 : Value4) << 8; var Value5 = (1 - Yellow) * (1 - Black); var Value6 = Math.round(Value5 * 255); this1 &= -256; this1 |= Value6 > 255 ? 255 : Value6 < 0 ? 0 : Value6; var Value7 = Math.round(Alpha * 255); this1 &= 16777215; this1 |= (Value7 > 255 ? 255 : Value7 < 0 ? 0 : Value7) << 24; return Value; }; flixel_util__$FlxColor_FlxColor_$Impl_$.set_magenta = function(this1,Value) { var Yellow = (1 - (this1 & 255) / 255 - (1 - Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)); var Black = 1 - Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)); var Alpha = (this1 >> 24 & 255) / 255; if(Alpha == null) { Alpha = 1; } var Value1 = (1 - (1 - (this1 >> 16 & 255) / 255 - (1 - Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255))) * (1 - Black); var Value2 = Math.round(Value1 * 255); this1 &= -16711681; this1 |= (Value2 > 255 ? 255 : Value2 < 0 ? 0 : Value2) << 16; var Value3 = (1 - Value) * (1 - Black); var Value4 = Math.round(Value3 * 255); this1 &= -65281; this1 |= (Value4 > 255 ? 255 : Value4 < 0 ? 0 : Value4) << 8; var Value5 = (1 - Yellow) * (1 - Black); var Value6 = Math.round(Value5 * 255); this1 &= -256; this1 |= Value6 > 255 ? 255 : Value6 < 0 ? 0 : Value6; var Value7 = Math.round(Alpha * 255); this1 &= 16777215; this1 |= (Value7 > 255 ? 255 : Value7 < 0 ? 0 : Value7) << 24; return Value; }; flixel_util__$FlxColor_FlxColor_$Impl_$.set_yellow = function(this1,Value) { var Magenta = (1 - (this1 >> 8 & 255) / 255 - (1 - Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)); var Black = 1 - Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)); var Alpha = (this1 >> 24 & 255) / 255; if(Alpha == null) { Alpha = 1; } var Value1 = (1 - (1 - (this1 >> 16 & 255) / 255 - (1 - Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255))) * (1 - Black); var Value2 = Math.round(Value1 * 255); this1 &= -16711681; this1 |= (Value2 > 255 ? 255 : Value2 < 0 ? 0 : Value2) << 16; var Value3 = (1 - Magenta) * (1 - Black); var Value4 = Math.round(Value3 * 255); this1 &= -65281; this1 |= (Value4 > 255 ? 255 : Value4 < 0 ? 0 : Value4) << 8; var Value5 = (1 - Value) * (1 - Black); var Value6 = Math.round(Value5 * 255); this1 &= -256; this1 |= Value6 > 255 ? 255 : Value6 < 0 ? 0 : Value6; var Value7 = Math.round(Alpha * 255); this1 &= 16777215; this1 |= (Value7 > 255 ? 255 : Value7 < 0 ? 0 : Value7) << 24; return Value; }; flixel_util__$FlxColor_FlxColor_$Impl_$.set_black = function(this1,Value) { var Magenta = (1 - (this1 >> 8 & 255) / 255 - (1 - Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)); var Yellow = (1 - (this1 & 255) / 255 - (1 - Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)); var Alpha = (this1 >> 24 & 255) / 255; if(Alpha == null) { Alpha = 1; } var Value1 = (1 - (1 - (this1 >> 16 & 255) / 255 - (1 - Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255))) * (1 - Value); var Value2 = Math.round(Value1 * 255); this1 &= -16711681; this1 |= (Value2 > 255 ? 255 : Value2 < 0 ? 0 : Value2) << 16; var Value3 = (1 - Magenta) * (1 - Value); var Value4 = Math.round(Value3 * 255); this1 &= -65281; this1 |= (Value4 > 255 ? 255 : Value4 < 0 ? 0 : Value4) << 8; var Value5 = (1 - Yellow) * (1 - Value); var Value6 = Math.round(Value5 * 255); this1 &= -256; this1 |= Value6 > 255 ? 255 : Value6 < 0 ? 0 : Value6; var Value7 = Math.round(Alpha * 255); this1 &= 16777215; this1 |= (Value7 > 255 ? 255 : Value7 < 0 ? 0 : Value7) << 24; return Value; }; flixel_util__$FlxColor_FlxColor_$Impl_$.get_hue = function(this1) { var hueRad = Math.atan2(Math.sqrt(3) * ((this1 >> 8 & 255) / 255 - (this1 & 255) / 255),2 * ((this1 >> 16 & 255) / 255) - (this1 >> 8 & 255) / 255 - (this1 & 255) / 255); var hue = 0; if(hueRad != 0) { hue = 180 / Math.PI * Math.atan2(Math.sqrt(3) * ((this1 >> 8 & 255) / 255 - (this1 & 255) / 255),2 * ((this1 >> 16 & 255) / 255) - (this1 >> 8 & 255) / 255 - (this1 & 255) / 255); } if(hue < 0) { return hue + 360; } else { return hue; } }; flixel_util__$FlxColor_FlxColor_$Impl_$.get_brightness = function(this1) { return Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)); }; flixel_util__$FlxColor_FlxColor_$Impl_$.get_saturation = function(this1) { return (Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)) - Math.min((this1 >> 16 & 255) / 255,Math.min((this1 >> 8 & 255) / 255,(this1 & 255) / 255))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)); }; flixel_util__$FlxColor_FlxColor_$Impl_$.get_lightness = function(this1) { return (Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)) + Math.min((this1 >> 16 & 255) / 255,Math.min((this1 >> 8 & 255) / 255,(this1 & 255) / 255))) / 2; }; flixel_util__$FlxColor_FlxColor_$Impl_$.set_hue = function(this1,Value) { var Brightness = Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)); var Alpha = (this1 >> 24 & 255) / 255; var chroma = Brightness * ((Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)) - Math.min((this1 >> 16 & 255) / 255,Math.min((this1 >> 8 & 255) / 255,(this1 & 255) / 255))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255))); var match = Brightness - chroma; var Hue = Value; var Chroma = chroma; Hue %= 360; var hueD = Hue / 60; var mid = Chroma * (1 - Math.abs(hueD % 2 - 1)) + match; Chroma += match; switch(hueD | 0) { case 0: var Alpha1 = Alpha; if(Alpha1 == null) { Alpha1 = 1; } var Value1 = Math.round(Chroma * 255); this1 &= -16711681; this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 16; var Value2 = Math.round(mid * 255); this1 &= -65281; this1 |= (Value2 > 255 ? 255 : Value2 < 0 ? 0 : Value2) << 8; var Value3 = Math.round(match * 255); this1 &= -256; this1 |= Value3 > 255 ? 255 : Value3 < 0 ? 0 : Value3; var Value4 = Math.round(Alpha1 * 255); this1 &= 16777215; this1 |= (Value4 > 255 ? 255 : Value4 < 0 ? 0 : Value4) << 24; break; case 1: var Alpha2 = Alpha; if(Alpha2 == null) { Alpha2 = 1; } var Value5 = Math.round(mid * 255); this1 &= -16711681; this1 |= (Value5 > 255 ? 255 : Value5 < 0 ? 0 : Value5) << 16; var Value6 = Math.round(Chroma * 255); this1 &= -65281; this1 |= (Value6 > 255 ? 255 : Value6 < 0 ? 0 : Value6) << 8; var Value7 = Math.round(match * 255); this1 &= -256; this1 |= Value7 > 255 ? 255 : Value7 < 0 ? 0 : Value7; var Value8 = Math.round(Alpha2 * 255); this1 &= 16777215; this1 |= (Value8 > 255 ? 255 : Value8 < 0 ? 0 : Value8) << 24; break; case 2: var Alpha3 = Alpha; if(Alpha3 == null) { Alpha3 = 1; } var Value9 = Math.round(match * 255); this1 &= -16711681; this1 |= (Value9 > 255 ? 255 : Value9 < 0 ? 0 : Value9) << 16; var Value10 = Math.round(Chroma * 255); this1 &= -65281; this1 |= (Value10 > 255 ? 255 : Value10 < 0 ? 0 : Value10) << 8; var Value11 = Math.round(mid * 255); this1 &= -256; this1 |= Value11 > 255 ? 255 : Value11 < 0 ? 0 : Value11; var Value12 = Math.round(Alpha3 * 255); this1 &= 16777215; this1 |= (Value12 > 255 ? 255 : Value12 < 0 ? 0 : Value12) << 24; break; case 3: var Alpha4 = Alpha; if(Alpha4 == null) { Alpha4 = 1; } var Value13 = Math.round(match * 255); this1 &= -16711681; this1 |= (Value13 > 255 ? 255 : Value13 < 0 ? 0 : Value13) << 16; var Value14 = Math.round(mid * 255); this1 &= -65281; this1 |= (Value14 > 255 ? 255 : Value14 < 0 ? 0 : Value14) << 8; var Value15 = Math.round(Chroma * 255); this1 &= -256; this1 |= Value15 > 255 ? 255 : Value15 < 0 ? 0 : Value15; var Value16 = Math.round(Alpha4 * 255); this1 &= 16777215; this1 |= (Value16 > 255 ? 255 : Value16 < 0 ? 0 : Value16) << 24; break; case 4: var Alpha5 = Alpha; if(Alpha5 == null) { Alpha5 = 1; } var Value17 = Math.round(mid * 255); this1 &= -16711681; this1 |= (Value17 > 255 ? 255 : Value17 < 0 ? 0 : Value17) << 16; var Value18 = Math.round(match * 255); this1 &= -65281; this1 |= (Value18 > 255 ? 255 : Value18 < 0 ? 0 : Value18) << 8; var Value19 = Math.round(Chroma * 255); this1 &= -256; this1 |= Value19 > 255 ? 255 : Value19 < 0 ? 0 : Value19; var Value20 = Math.round(Alpha5 * 255); this1 &= 16777215; this1 |= (Value20 > 255 ? 255 : Value20 < 0 ? 0 : Value20) << 24; break; case 5: var Alpha6 = Alpha; if(Alpha6 == null) { Alpha6 = 1; } var Value21 = Math.round(Chroma * 255); this1 &= -16711681; this1 |= (Value21 > 255 ? 255 : Value21 < 0 ? 0 : Value21) << 16; var Value22 = Math.round(match * 255); this1 &= -65281; this1 |= (Value22 > 255 ? 255 : Value22 < 0 ? 0 : Value22) << 8; var Value23 = Math.round(mid * 255); this1 &= -256; this1 |= Value23 > 255 ? 255 : Value23 < 0 ? 0 : Value23; var Value24 = Math.round(Alpha6 * 255); this1 &= 16777215; this1 |= (Value24 > 255 ? 255 : Value24 < 0 ? 0 : Value24) << 24; break; } return Value; }; flixel_util__$FlxColor_FlxColor_$Impl_$.set_saturation = function(this1,Value) { var Hue = flixel_util__$FlxColor_FlxColor_$Impl_$.get_hue(this1); var Brightness = Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)); var Alpha = (this1 >> 24 & 255) / 255; var chroma = Brightness * Value; var match = Brightness - chroma; var Hue1 = Hue; var Chroma = chroma; Hue1 %= 360; var hueD = Hue1 / 60; var mid = Chroma * (1 - Math.abs(hueD % 2 - 1)) + match; Chroma += match; switch(hueD | 0) { case 0: var Alpha1 = Alpha; if(Alpha1 == null) { Alpha1 = 1; } var Value1 = Math.round(Chroma * 255); this1 &= -16711681; this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 16; var Value2 = Math.round(mid * 255); this1 &= -65281; this1 |= (Value2 > 255 ? 255 : Value2 < 0 ? 0 : Value2) << 8; var Value3 = Math.round(match * 255); this1 &= -256; this1 |= Value3 > 255 ? 255 : Value3 < 0 ? 0 : Value3; var Value4 = Math.round(Alpha1 * 255); this1 &= 16777215; this1 |= (Value4 > 255 ? 255 : Value4 < 0 ? 0 : Value4) << 24; break; case 1: var Alpha2 = Alpha; if(Alpha2 == null) { Alpha2 = 1; } var Value5 = Math.round(mid * 255); this1 &= -16711681; this1 |= (Value5 > 255 ? 255 : Value5 < 0 ? 0 : Value5) << 16; var Value6 = Math.round(Chroma * 255); this1 &= -65281; this1 |= (Value6 > 255 ? 255 : Value6 < 0 ? 0 : Value6) << 8; var Value7 = Math.round(match * 255); this1 &= -256; this1 |= Value7 > 255 ? 255 : Value7 < 0 ? 0 : Value7; var Value8 = Math.round(Alpha2 * 255); this1 &= 16777215; this1 |= (Value8 > 255 ? 255 : Value8 < 0 ? 0 : Value8) << 24; break; case 2: var Alpha3 = Alpha; if(Alpha3 == null) { Alpha3 = 1; } var Value9 = Math.round(match * 255); this1 &= -16711681; this1 |= (Value9 > 255 ? 255 : Value9 < 0 ? 0 : Value9) << 16; var Value10 = Math.round(Chroma * 255); this1 &= -65281; this1 |= (Value10 > 255 ? 255 : Value10 < 0 ? 0 : Value10) << 8; var Value11 = Math.round(mid * 255); this1 &= -256; this1 |= Value11 > 255 ? 255 : Value11 < 0 ? 0 : Value11; var Value12 = Math.round(Alpha3 * 255); this1 &= 16777215; this1 |= (Value12 > 255 ? 255 : Value12 < 0 ? 0 : Value12) << 24; break; case 3: var Alpha4 = Alpha; if(Alpha4 == null) { Alpha4 = 1; } var Value13 = Math.round(match * 255); this1 &= -16711681; this1 |= (Value13 > 255 ? 255 : Value13 < 0 ? 0 : Value13) << 16; var Value14 = Math.round(mid * 255); this1 &= -65281; this1 |= (Value14 > 255 ? 255 : Value14 < 0 ? 0 : Value14) << 8; var Value15 = Math.round(Chroma * 255); this1 &= -256; this1 |= Value15 > 255 ? 255 : Value15 < 0 ? 0 : Value15; var Value16 = Math.round(Alpha4 * 255); this1 &= 16777215; this1 |= (Value16 > 255 ? 255 : Value16 < 0 ? 0 : Value16) << 24; break; case 4: var Alpha5 = Alpha; if(Alpha5 == null) { Alpha5 = 1; } var Value17 = Math.round(mid * 255); this1 &= -16711681; this1 |= (Value17 > 255 ? 255 : Value17 < 0 ? 0 : Value17) << 16; var Value18 = Math.round(match * 255); this1 &= -65281; this1 |= (Value18 > 255 ? 255 : Value18 < 0 ? 0 : Value18) << 8; var Value19 = Math.round(Chroma * 255); this1 &= -256; this1 |= Value19 > 255 ? 255 : Value19 < 0 ? 0 : Value19; var Value20 = Math.round(Alpha5 * 255); this1 &= 16777215; this1 |= (Value20 > 255 ? 255 : Value20 < 0 ? 0 : Value20) << 24; break; case 5: var Alpha6 = Alpha; if(Alpha6 == null) { Alpha6 = 1; } var Value21 = Math.round(Chroma * 255); this1 &= -16711681; this1 |= (Value21 > 255 ? 255 : Value21 < 0 ? 0 : Value21) << 16; var Value22 = Math.round(match * 255); this1 &= -65281; this1 |= (Value22 > 255 ? 255 : Value22 < 0 ? 0 : Value22) << 8; var Value23 = Math.round(mid * 255); this1 &= -256; this1 |= Value23 > 255 ? 255 : Value23 < 0 ? 0 : Value23; var Value24 = Math.round(Alpha6 * 255); this1 &= 16777215; this1 |= (Value24 > 255 ? 255 : Value24 < 0 ? 0 : Value24) << 24; break; } return Value; }; flixel_util__$FlxColor_FlxColor_$Impl_$.set_brightness = function(this1,Value) { var Hue = flixel_util__$FlxColor_FlxColor_$Impl_$.get_hue(this1); var Alpha = (this1 >> 24 & 255) / 255; var chroma = Value * ((Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)) - Math.min((this1 >> 16 & 255) / 255,Math.min((this1 >> 8 & 255) / 255,(this1 & 255) / 255))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255))); var match = Value - chroma; var Hue1 = Hue; var Chroma = chroma; Hue1 %= 360; var hueD = Hue1 / 60; var mid = Chroma * (1 - Math.abs(hueD % 2 - 1)) + match; Chroma += match; switch(hueD | 0) { case 0: var Alpha1 = Alpha; if(Alpha1 == null) { Alpha1 = 1; } var Value1 = Math.round(Chroma * 255); this1 &= -16711681; this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 16; var Value2 = Math.round(mid * 255); this1 &= -65281; this1 |= (Value2 > 255 ? 255 : Value2 < 0 ? 0 : Value2) << 8; var Value3 = Math.round(match * 255); this1 &= -256; this1 |= Value3 > 255 ? 255 : Value3 < 0 ? 0 : Value3; var Value4 = Math.round(Alpha1 * 255); this1 &= 16777215; this1 |= (Value4 > 255 ? 255 : Value4 < 0 ? 0 : Value4) << 24; break; case 1: var Alpha2 = Alpha; if(Alpha2 == null) { Alpha2 = 1; } var Value5 = Math.round(mid * 255); this1 &= -16711681; this1 |= (Value5 > 255 ? 255 : Value5 < 0 ? 0 : Value5) << 16; var Value6 = Math.round(Chroma * 255); this1 &= -65281; this1 |= (Value6 > 255 ? 255 : Value6 < 0 ? 0 : Value6) << 8; var Value7 = Math.round(match * 255); this1 &= -256; this1 |= Value7 > 255 ? 255 : Value7 < 0 ? 0 : Value7; var Value8 = Math.round(Alpha2 * 255); this1 &= 16777215; this1 |= (Value8 > 255 ? 255 : Value8 < 0 ? 0 : Value8) << 24; break; case 2: var Alpha3 = Alpha; if(Alpha3 == null) { Alpha3 = 1; } var Value9 = Math.round(match * 255); this1 &= -16711681; this1 |= (Value9 > 255 ? 255 : Value9 < 0 ? 0 : Value9) << 16; var Value10 = Math.round(Chroma * 255); this1 &= -65281; this1 |= (Value10 > 255 ? 255 : Value10 < 0 ? 0 : Value10) << 8; var Value11 = Math.round(mid * 255); this1 &= -256; this1 |= Value11 > 255 ? 255 : Value11 < 0 ? 0 : Value11; var Value12 = Math.round(Alpha3 * 255); this1 &= 16777215; this1 |= (Value12 > 255 ? 255 : Value12 < 0 ? 0 : Value12) << 24; break; case 3: var Alpha4 = Alpha; if(Alpha4 == null) { Alpha4 = 1; } var Value13 = Math.round(match * 255); this1 &= -16711681; this1 |= (Value13 > 255 ? 255 : Value13 < 0 ? 0 : Value13) << 16; var Value14 = Math.round(mid * 255); this1 &= -65281; this1 |= (Value14 > 255 ? 255 : Value14 < 0 ? 0 : Value14) << 8; var Value15 = Math.round(Chroma * 255); this1 &= -256; this1 |= Value15 > 255 ? 255 : Value15 < 0 ? 0 : Value15; var Value16 = Math.round(Alpha4 * 255); this1 &= 16777215; this1 |= (Value16 > 255 ? 255 : Value16 < 0 ? 0 : Value16) << 24; break; case 4: var Alpha5 = Alpha; if(Alpha5 == null) { Alpha5 = 1; } var Value17 = Math.round(mid * 255); this1 &= -16711681; this1 |= (Value17 > 255 ? 255 : Value17 < 0 ? 0 : Value17) << 16; var Value18 = Math.round(match * 255); this1 &= -65281; this1 |= (Value18 > 255 ? 255 : Value18 < 0 ? 0 : Value18) << 8; var Value19 = Math.round(Chroma * 255); this1 &= -256; this1 |= Value19 > 255 ? 255 : Value19 < 0 ? 0 : Value19; var Value20 = Math.round(Alpha5 * 255); this1 &= 16777215; this1 |= (Value20 > 255 ? 255 : Value20 < 0 ? 0 : Value20) << 24; break; case 5: var Alpha6 = Alpha; if(Alpha6 == null) { Alpha6 = 1; } var Value21 = Math.round(Chroma * 255); this1 &= -16711681; this1 |= (Value21 > 255 ? 255 : Value21 < 0 ? 0 : Value21) << 16; var Value22 = Math.round(match * 255); this1 &= -65281; this1 |= (Value22 > 255 ? 255 : Value22 < 0 ? 0 : Value22) << 8; var Value23 = Math.round(mid * 255); this1 &= -256; this1 |= Value23 > 255 ? 255 : Value23 < 0 ? 0 : Value23; var Value24 = Math.round(Alpha6 * 255); this1 &= 16777215; this1 |= (Value24 > 255 ? 255 : Value24 < 0 ? 0 : Value24) << 24; break; } return Value; }; flixel_util__$FlxColor_FlxColor_$Impl_$.set_lightness = function(this1,Value) { var Hue = flixel_util__$FlxColor_FlxColor_$Impl_$.get_hue(this1); var Alpha = (this1 >> 24 & 255) / 255; var chroma = (1 - Math.abs(2 * Value - 1)) * ((Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)) - Math.min((this1 >> 16 & 255) / 255,Math.min((this1 >> 8 & 255) / 255,(this1 & 255) / 255))) / Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255))); var match = Value - chroma / 2; var Hue1 = Hue; var Chroma = chroma; Hue1 %= 360; var hueD = Hue1 / 60; var mid = Chroma * (1 - Math.abs(hueD % 2 - 1)) + match; Chroma += match; switch(hueD | 0) { case 0: var Alpha1 = Alpha; if(Alpha1 == null) { Alpha1 = 1; } var Value1 = Math.round(Chroma * 255); this1 &= -16711681; this1 |= (Value1 > 255 ? 255 : Value1 < 0 ? 0 : Value1) << 16; var Value2 = Math.round(mid * 255); this1 &= -65281; this1 |= (Value2 > 255 ? 255 : Value2 < 0 ? 0 : Value2) << 8; var Value3 = Math.round(match * 255); this1 &= -256; this1 |= Value3 > 255 ? 255 : Value3 < 0 ? 0 : Value3; var Value4 = Math.round(Alpha1 * 255); this1 &= 16777215; this1 |= (Value4 > 255 ? 255 : Value4 < 0 ? 0 : Value4) << 24; break; case 1: var Alpha2 = Alpha; if(Alpha2 == null) { Alpha2 = 1; } var Value5 = Math.round(mid * 255); this1 &= -16711681; this1 |= (Value5 > 255 ? 255 : Value5 < 0 ? 0 : Value5) << 16; var Value6 = Math.round(Chroma * 255); this1 &= -65281; this1 |= (Value6 > 255 ? 255 : Value6 < 0 ? 0 : Value6) << 8; var Value7 = Math.round(match * 255); this1 &= -256; this1 |= Value7 > 255 ? 255 : Value7 < 0 ? 0 : Value7; var Value8 = Math.round(Alpha2 * 255); this1 &= 16777215; this1 |= (Value8 > 255 ? 255 : Value8 < 0 ? 0 : Value8) << 24; break; case 2: var Alpha3 = Alpha; if(Alpha3 == null) { Alpha3 = 1; } var Value9 = Math.round(match * 255); this1 &= -16711681; this1 |= (Value9 > 255 ? 255 : Value9 < 0 ? 0 : Value9) << 16; var Value10 = Math.round(Chroma * 255); this1 &= -65281; this1 |= (Value10 > 255 ? 255 : Value10 < 0 ? 0 : Value10) << 8; var Value11 = Math.round(mid * 255); this1 &= -256; this1 |= Value11 > 255 ? 255 : Value11 < 0 ? 0 : Value11; var Value12 = Math.round(Alpha3 * 255); this1 &= 16777215; this1 |= (Value12 > 255 ? 255 : Value12 < 0 ? 0 : Value12) << 24; break; case 3: var Alpha4 = Alpha; if(Alpha4 == null) { Alpha4 = 1; } var Value13 = Math.round(match * 255); this1 &= -16711681; this1 |= (Value13 > 255 ? 255 : Value13 < 0 ? 0 : Value13) << 16; var Value14 = Math.round(mid * 255); this1 &= -65281; this1 |= (Value14 > 255 ? 255 : Value14 < 0 ? 0 : Value14) << 8; var Value15 = Math.round(Chroma * 255); this1 &= -256; this1 |= Value15 > 255 ? 255 : Value15 < 0 ? 0 : Value15; var Value16 = Math.round(Alpha4 * 255); this1 &= 16777215; this1 |= (Value16 > 255 ? 255 : Value16 < 0 ? 0 : Value16) << 24; break; case 4: var Alpha5 = Alpha; if(Alpha5 == null) { Alpha5 = 1; } var Value17 = Math.round(mid * 255); this1 &= -16711681; this1 |= (Value17 > 255 ? 255 : Value17 < 0 ? 0 : Value17) << 16; var Value18 = Math.round(match * 255); this1 &= -65281; this1 |= (Value18 > 255 ? 255 : Value18 < 0 ? 0 : Value18) << 8; var Value19 = Math.round(Chroma * 255); this1 &= -256; this1 |= Value19 > 255 ? 255 : Value19 < 0 ? 0 : Value19; var Value20 = Math.round(Alpha5 * 255); this1 &= 16777215; this1 |= (Value20 > 255 ? 255 : Value20 < 0 ? 0 : Value20) << 24; break; case 5: var Alpha6 = Alpha; if(Alpha6 == null) { Alpha6 = 1; } var Value21 = Math.round(Chroma * 255); this1 &= -16711681; this1 |= (Value21 > 255 ? 255 : Value21 < 0 ? 0 : Value21) << 16; var Value22 = Math.round(match * 255); this1 &= -65281; this1 |= (Value22 > 255 ? 255 : Value22 < 0 ? 0 : Value22) << 8; var Value23 = Math.round(mid * 255); this1 &= -256; this1 |= Value23 > 255 ? 255 : Value23 < 0 ? 0 : Value23; var Value24 = Math.round(Alpha6 * 255); this1 &= 16777215; this1 |= (Value24 > 255 ? 255 : Value24 < 0 ? 0 : Value24) << 24; break; } return Value; }; flixel_util__$FlxColor_FlxColor_$Impl_$.maxColor = function(this1) { return Math.max((this1 >> 16 & 255) / 255,Math.max((this1 >> 8 & 255) / 255,(this1 & 255) / 255)); }; flixel_util__$FlxColor_FlxColor_$Impl_$.minColor = function(this1) { return Math.min((this1 >> 16 & 255) / 255,Math.min((this1 >> 8 & 255) / 255,(this1 & 255) / 255)); }; flixel_util__$FlxColor_FlxColor_$Impl_$.boundChannel = function(this1,Value) { if(Value > 255) { return 255; } else if(Value < 0) { return 0; } else { return Value; } }; var flixel_util_FlxColorTransformUtil = function() { }; $hxClasses["flixel.util.FlxColorTransformUtil"] = flixel_util_FlxColorTransformUtil; flixel_util_FlxColorTransformUtil.__name__ = "flixel.util.FlxColorTransformUtil"; flixel_util_FlxColorTransformUtil.setMultipliers = function(transform,red,green,blue,alpha) { transform.redMultiplier = red; transform.greenMultiplier = green; transform.blueMultiplier = blue; transform.alphaMultiplier = alpha; return transform; }; flixel_util_FlxColorTransformUtil.setOffsets = function(transform,red,green,blue,alpha) { transform.redOffset = red; transform.greenOffset = green; transform.blueOffset = blue; transform.alphaOffset = alpha; return transform; }; flixel_util_FlxColorTransformUtil.hasRGBMultipliers = function(transform) { if(!(transform.redMultiplier != 1 || transform.greenMultiplier != 1)) { return transform.blueMultiplier != 1; } else { return true; } }; flixel_util_FlxColorTransformUtil.hasRGBAMultipliers = function(transform) { if(!flixel_util_FlxColorTransformUtil.hasRGBMultipliers(transform)) { return transform.alphaMultiplier != 1; } else { return true; } }; flixel_util_FlxColorTransformUtil.hasRGBOffsets = function(transform) { if(!(transform.redOffset != 0 || transform.greenOffset != 0)) { return transform.blueOffset != 0; } else { return true; } }; flixel_util_FlxColorTransformUtil.hasRGBAOffsets = function(transform) { if(!flixel_util_FlxColorTransformUtil.hasRGBOffsets(transform)) { return transform.alphaOffset != 0; } else { return true; } }; var flixel_util_FlxDestroyUtil = function() { }; $hxClasses["flixel.util.FlxDestroyUtil"] = flixel_util_FlxDestroyUtil; flixel_util_FlxDestroyUtil.__name__ = "flixel.util.FlxDestroyUtil"; flixel_util_FlxDestroyUtil.destroy = function(object) { if(object != null) { object.destroy(); } return null; }; flixel_util_FlxDestroyUtil.destroyArray = function(array) { if(array != null) { var _g = 0; while(_g < array.length) { var e = array[_g]; ++_g; flixel_util_FlxDestroyUtil.destroy(e); } array.splice(0,array.length); } return null; }; flixel_util_FlxDestroyUtil.put = function(object) { if(object != null) { object.put(); } return null; }; flixel_util_FlxDestroyUtil.putArray = function(array) { if(array != null) { var _g = 0; while(_g < array.length) { var e = array[_g]; ++_g; flixel_util_FlxDestroyUtil.put(e); } array.splice(0,array.length); } return null; }; flixel_util_FlxDestroyUtil.dispose = function(bitmapData) { if(bitmapData != null) { bitmapData.dispose(); } return null; }; flixel_util_FlxDestroyUtil.disposeIfNotEqual = function(bitmapData,width,height) { if(bitmapData != null && (bitmapData.width != width || bitmapData.height != height)) { bitmapData.dispose(); return null; } else if(bitmapData != null) { return bitmapData; } return null; }; flixel_util_FlxDestroyUtil.removeChild = function(parent,child) { if(parent != null && child != null && parent.contains(child)) { parent.removeChild(child); } return null; }; var flixel_util_FlxGradient = function() { }; $hxClasses["flixel.util.FlxGradient"] = flixel_util_FlxGradient; flixel_util_FlxGradient.__name__ = "flixel.util.FlxGradient"; flixel_util_FlxGradient.createGradientMatrix = function(width,height,colors,chunkSize,rotation) { if(rotation == null) { rotation = 90; } if(chunkSize == null) { chunkSize = 1; } var gradientMatrix = new openfl_geom_Matrix(); var rot = rotation * (Math.PI / 180); gradientMatrix.createGradientBox(width,_$UInt_UInt_$Impl_$.toFloat(height) / _$UInt_UInt_$Impl_$.toFloat(chunkSize),rot,0,0); var alpha = []; var _g = 0; var _g1 = colors.length; while(_g < _g1) { var ai = _g++; alpha.push((colors[ai] >> 24 & 255) / 255); } var ratio = []; if(colors.length == 2) { ratio[0] = 0; ratio[1] = 255; } else { var spread = 255 / (colors.length - 1) | 0; ratio.push(0); var _g2 = 1; var _g3 = colors.length - 1; while(_g2 < _g3) { var ri = _g2++; ratio.push(ri * spread); } ratio.push(255); } return { matrix : gradientMatrix, alpha : alpha, ratio : ratio}; }; flixel_util_FlxGradient.createGradientArray = function(width,height,colors,chunkSize,rotation,interpolate) { if(interpolate == null) { interpolate = true; } if(rotation == null) { rotation = 90; } if(chunkSize == null) { chunkSize = 1; } var data = flixel_util_FlxGradient.createGradientBitmapData(width,height,colors,chunkSize,rotation,interpolate); var result = []; var _g = 0; var _g1 = data.height; while(_g < _g1) { var y = _g++; result.push(data.getPixel32(0,y)); } return result; }; flixel_util_FlxGradient.createGradientFlxSprite = function(width,height,colors,chunkSize,rotation,interpolate) { if(interpolate == null) { interpolate = true; } if(rotation == null) { rotation = 90; } if(chunkSize == null) { chunkSize = 1; } var data = flixel_util_FlxGradient.createGradientBitmapData(width,height,colors,chunkSize,rotation,interpolate); var dest = new flixel_FlxSprite(); dest.set_pixels(data); return dest; }; flixel_util_FlxGradient.createGradientBitmapData = function(width,height,colors,chunkSize,rotation,interpolate) { if(interpolate == null) { interpolate = true; } if(rotation == null) { rotation = 90; } if(chunkSize == null) { chunkSize = 1; } if(_$UInt_UInt_$Impl_$.gt(1,width)) { width = 1; } if(_$UInt_UInt_$Impl_$.gt(1,height)) { height = 1; } var gradient = flixel_util_FlxGradient.createGradientMatrix(width,height,colors,chunkSize,rotation); var shape = new openfl_display_Shape(); var interpolationMethod = interpolate ? 1 : 0; shape.get_graphics().beginGradientFill(0,colors,gradient.alpha,gradient.ratio,gradient.matrix,0,interpolationMethod,0); shape.get_graphics().drawRect(0,0,_$UInt_UInt_$Impl_$.toFloat(width),_$UInt_UInt_$Impl_$.toFloat(height) / _$UInt_UInt_$Impl_$.toFloat(chunkSize)); var data = new openfl_display_BitmapData(width,height,true,0); if(chunkSize == 1) { data.draw(shape); } else { var tempBitmap = new openfl_display_Bitmap(new openfl_display_BitmapData(width,_$UInt_UInt_$Impl_$.toFloat(height) / _$UInt_UInt_$Impl_$.toFloat(chunkSize) | 0,true,0)); tempBitmap.get_bitmapData().draw(shape); tempBitmap.set_scaleY(_$UInt_UInt_$Impl_$.toFloat(chunkSize)); var sM = new openfl_geom_Matrix(); sM.scale(tempBitmap.get_scaleX(),tempBitmap.get_scaleY()); data.draw(tempBitmap,sM); } return data; }; flixel_util_FlxGradient.overlayGradientOnFlxSprite = function(dest,width,height,colors,destX,destY,chunkSize,rotation,interpolate) { if(interpolate == null) { interpolate = true; } if(rotation == null) { rotation = 90; } if(chunkSize == null) { chunkSize = 1; } if(destY == null) { destY = 0; } if(destX == null) { destX = 0; } if(width > dest.get_width()) { width = dest.get_width() | 0; } if(height > dest.get_height()) { height = dest.get_height() | 0; } var source = flixel_util_FlxGradient.createGradientFlxSprite(width,height,colors,chunkSize,rotation,interpolate); dest.stamp(source,destX,destY); source.destroy(); return dest; }; flixel_util_FlxGradient.overlayGradientOnBitmapData = function(dest,width,height,colors,destX,destY,chunkSize,rotation,interpolate) { if(interpolate == null) { interpolate = true; } if(rotation == null) { rotation = 90; } if(chunkSize == null) { chunkSize = 1; } if(destY == null) { destY = 0; } if(destX == null) { destX = 0; } if(width > dest.width) { width = dest.width; } if(height > dest.height) { height = dest.height; } var source = flixel_util_FlxGradient.createGradientBitmapData(width,height,colors,chunkSize,rotation,interpolate); dest.copyPixels(source,new openfl_geom_Rectangle(0,0,source.width,source.height),new openfl_geom_Point(destX,destY),null,null,true); source.dispose(); return dest; }; var flixel_util_FlxHorizontalAlign = $hxEnums["flixel.util.FlxHorizontalAlign"] = { __ename__ : "flixel.util.FlxHorizontalAlign", __constructs__ : ["LEFT","CENTER","RIGHT"] ,LEFT: {_hx_index:0,__enum__:"flixel.util.FlxHorizontalAlign",toString:$estr} ,CENTER: {_hx_index:1,__enum__:"flixel.util.FlxHorizontalAlign",toString:$estr} ,RIGHT: {_hx_index:2,__enum__:"flixel.util.FlxHorizontalAlign",toString:$estr} }; var flixel_util_FlxPath = function(Nodes) { this._firstUpdate = false; this._wasObjectImmovable = null; this._autoRotate = false; this._inc = 1; this.finished = false; this.nodeIndex = 0; this.active = false; this.autoCenter = true; this.angle = 0; this.speed = 0; if(Nodes != null) { this._nodes = Nodes.slice(); } else { this._nodes = []; } }; $hxClasses["flixel.util.FlxPath"] = flixel_util_FlxPath; flixel_util_FlxPath.__name__ = "flixel.util.FlxPath"; flixel_util_FlxPath.__interfaces__ = [flixel_util_IFlxDestroyable]; flixel_util_FlxPath.prototype = { _nodes: null ,speed: null ,angle: null ,autoCenter: null ,active: null ,onComplete: null ,nodeIndex: null ,finished: null ,_mode: null ,_inc: null ,_autoRotate: null ,_wasObjectImmovable: null ,_firstUpdate: null ,object: null ,reset: function() { this.autoCenter = true; return this; } ,setProperties: function(Speed,Mode,AutoRotate) { if(AutoRotate == null) { AutoRotate = false; } if(Mode == null) { Mode = 0; } if(Speed == null) { Speed = 100; } this.speed = Math.abs(Speed); this._mode = Mode; this._autoRotate = AutoRotate; return this; } ,start: function(Nodes,Speed,Mode,AutoRotate,NodesAsReference) { if(NodesAsReference == null) { NodesAsReference = false; } if(AutoRotate == null) { AutoRotate = false; } if(Mode == null) { Mode = 0; } if(Speed == null) { Speed = 100; } if(Nodes != null) { if(NodesAsReference) { this._nodes = Nodes; } else { this._nodes = Nodes.slice(); } } this.setProperties(Speed,Mode,AutoRotate); if(this._nodes.length > 0) { this.restart(); } return this; } ,restart: function() { this.finished = false; this._firstUpdate = true; this.active = this._nodes.length > 0; if(!this.active) { return this; } if(this._mode == 1 || this._mode == 256) { this.nodeIndex = this._nodes.length - 1; this._inc = -1; } else { this.nodeIndex = 0; this._inc = 1; } return this; } ,setNode: function(NodeIndex) { if(NodeIndex < 0) { NodeIndex = 0; } else if(NodeIndex > this._nodes.length - 1) { NodeIndex = this._nodes.length - 1; } this.nodeIndex = NodeIndex; this.advancePath(); return this; } ,update: function(elapsed) { if(this.object == null) { return; } if(this._firstUpdate) { this._wasObjectImmovable = this.object.immovable; this.object.set_immovable(true); this._firstUpdate = false; } flixel_util_FlxPath._point.set_x(this.object.x); flixel_util_FlxPath._point.set_y(this.object.y); if(this.autoCenter) { var _this = flixel_util_FlxPath._point; var X = this.object.get_width() * 0.5; var Y = this.object.get_height() * 0.5; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var _g = _this; _g.set_x(_g.x + X); var _g1 = _this; _g1.set_y(_g1.y + Y); } var node = this._nodes[this.nodeIndex]; var deltaX = node.x - flixel_util_FlxPath._point.x; var deltaY = node.y - flixel_util_FlxPath._point.y; var horizontalOnly = (this._mode & 65536) > 0; var verticalOnly = (this._mode & 1048576) > 0; if(horizontalOnly) { if((deltaX > 0 ? deltaX : -deltaX) < this.speed * elapsed) { node = this.advancePath(); } } else if(verticalOnly) { if((deltaY > 0 ? deltaY : -deltaY) < this.speed * elapsed) { node = this.advancePath(); } } else if(Math.sqrt(deltaX * deltaX + deltaY * deltaY) < this.speed * elapsed) { node = this.advancePath(); } if(this.object != null && this.speed != 0) { flixel_util_FlxPath._point.set_x(this.object.x); flixel_util_FlxPath._point.set_y(this.object.y); if(this.autoCenter) { var _this1 = flixel_util_FlxPath._point; var X1 = this.object.get_width() * 0.5; var Y1 = this.object.get_height() * 0.5; if(Y1 == null) { Y1 = 0; } if(X1 == null) { X1 = 0; } var _g2 = _this1; _g2.set_x(_g2.x + X1); var _g3 = _this1; _g3.set_y(_g3.y + Y1); } var _this2 = flixel_util_FlxPath._point; var result = Math.abs(_this2.x - node.x) <= 0.0000001 && Math.abs(_this2.y - node.y) <= 0.0000001; if(node._weak) { node.put(); } if(!result) { this.calculateVelocity(node,horizontalOnly,verticalOnly); } else { this.object.velocity.set(); } if(this._autoRotate) { this.object.angularVelocity = 0; this.object.angularAcceleration = 0; this.object.set_angle(this.angle); } if(this.finished) { this.cancel(); } } } ,calculateVelocity: function(node,horizontalOnly,verticalOnly) { if(horizontalOnly || flixel_util_FlxPath._point.y == node.y) { this.object.velocity.set_x(flixel_util_FlxPath._point.x < node.x ? this.speed : -this.speed); this.angle = this.object.velocity.x < 0 ? -90 : 90; if(!horizontalOnly) { this.object.velocity.set_y(0); } } else if(verticalOnly || flixel_util_FlxPath._point.x == node.x) { this.object.velocity.set_y(flixel_util_FlxPath._point.y < node.y ? this.speed : -this.speed); this.angle = this.object.velocity.y < 0 ? 0 : 180; if(!verticalOnly) { this.object.velocity.set_x(0); } } else { this.object.velocity.set_x(flixel_util_FlxPath._point.x < node.x ? this.speed : -this.speed); this.object.velocity.set_y(flixel_util_FlxPath._point.y < node.y ? this.speed : -this.speed); this.angle = flixel_util_FlxPath._point.angleBetween(node); this.object.velocity.set(0,-this.speed); var tmp = this.object.velocity; var X = 0; var Y = 0; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var X1 = X; var Y1 = Y; if(Y1 == null) { Y1 = 0; } if(X1 == null) { X1 = 0; } var point = flixel_math_FlxPoint._pool.get().set(X1,Y1); point._inPool = false; var point1 = point; point1._weak = true; tmp.rotate(point1,this.angle); } } ,advancePath: function(Snap) { if(Snap == null) { Snap = true; } if(Snap) { var oldNode = this._nodes[this.nodeIndex]; if(oldNode != null) { if((this._mode & 1048576) == 0) { this.object.set_x(oldNode.x); if(this.autoCenter) { var _g = this.object; _g.set_x(_g.x - this.object.get_width() * 0.5); } } if((this._mode & 65536) == 0) { this.object.set_y(oldNode.y); if(this.autoCenter) { var _g1 = this.object; _g1.set_y(_g1.y - this.object.get_height() * 0.5); } } } } var callComplete = false; this.nodeIndex += this._inc; if((this._mode & 1) > 0) { if(this.nodeIndex < 0) { this.nodeIndex = 0; callComplete = true; this.onEnd(); } } else if((this._mode & 16) > 0) { if(this.nodeIndex >= this._nodes.length) { callComplete = true; this.nodeIndex = 0; } } else if((this._mode & 256) > 0) { if(this.nodeIndex < 0) { this.nodeIndex = this._nodes.length - 1; callComplete = true; if(this.nodeIndex < 0) { this.nodeIndex = 0; } } } else if((this._mode & 4096) > 0) { if(this._inc > 0) { if(this.nodeIndex >= this._nodes.length) { this.nodeIndex = this._nodes.length - 2; callComplete = true; if(this.nodeIndex < 0) { this.nodeIndex = 0; } this._inc = -this._inc; } } else if(this.nodeIndex < 0) { this.nodeIndex = 1; callComplete = true; if(this.nodeIndex >= this._nodes.length) { this.nodeIndex = this._nodes.length - 1; } if(this.nodeIndex < 0) { this.nodeIndex = 0; } this._inc = -this._inc; } } else if(this.nodeIndex >= this._nodes.length) { this.nodeIndex = this._nodes.length - 1; callComplete = true; this.onEnd(); } if(callComplete && this.onComplete != null) { this.onComplete(this); } return this._nodes[this.nodeIndex]; } ,cancel: function() { this.onEnd(); if(this.object != null) { this.object.velocity.set(0,0); } return this; } ,onEnd: function() { this.finished = true; this.active = false; if(this._wasObjectImmovable != null) { this.object.set_immovable(this._wasObjectImmovable); } this._wasObjectImmovable = null; } ,destroy: function() { flixel_util_FlxDestroyUtil.putArray(this._nodes); this._nodes = null; this.object = null; this.onComplete = null; } ,add: function(X,Y) { var tmp = this._nodes; var X1 = X; var Y1 = Y; if(Y1 == null) { Y1 = 0; } if(X1 == null) { X1 = 0; } var point = flixel_math_FlxPoint._pool.get().set(X1,Y1); point._inPool = false; tmp.push(point); return this; } ,addAt: function(X,Y,Index) { if(Index < 0) { return this; } var _this = this._nodes; var X1 = X; var Y1 = Y; if(Y1 == null) { Y1 = 0; } if(X1 == null) { X1 = 0; } var point = flixel_math_FlxPoint._pool.get().set(X1,Y1); point._inPool = false; _this.splice(Index,0,point); return this; } ,addPoint: function(Node1,AsReference) { if(AsReference == null) { AsReference = false; } if(AsReference) { this._nodes.push(Node1); } else { var tmp = this._nodes; var X = Node1.x; var Y = Node1.y; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; tmp.push(point); } return this; } ,addPointAt: function(Node1,Index,AsReference) { if(AsReference == null) { AsReference = false; } if(Index < 0) { return this; } if(AsReference) { this._nodes.splice(Index,0,Node1); } else { var _this = this._nodes; var X = Node1.x; var Y = Node1.y; if(Y == null) { Y = 0; } if(X == null) { X = 0; } var point = flixel_math_FlxPoint._pool.get().set(X,Y); point._inPool = false; _this.splice(Index,0,point); } return this; } ,remove: function(Node1) { var index = this._nodes.indexOf(Node1); if(index >= 0) { return this._nodes.splice(index,1)[0]; } return null; } ,removeAt: function(Index) { if(this._nodes.length <= 0) { return null; } if(Index >= this._nodes.length - 1) { this._nodes.pop(); } return this._nodes.splice(Index,1)[0]; } ,head: function() { if(this._nodes.length > 0) { return this._nodes[0]; } return null; } ,tail: function() { if(this._nodes.length > 0) { return this._nodes[this._nodes.length - 1]; } return null; } ,get_nodes: function() { return this._nodes; } ,set_nodes: function(Nodes) { if(Nodes != null) { this._nodes = Nodes; } return this._nodes; } ,__class__: flixel_util_FlxPath ,__properties__: {set_nodes:"set_nodes",get_nodes:"get_nodes"} }; var flixel_util_FlxPool = function(classObj) { this._count = 0; this._pool = []; this._class = classObj; }; $hxClasses["flixel.util.FlxPool"] = flixel_util_FlxPool; flixel_util_FlxPool.__name__ = "flixel.util.FlxPool"; flixel_util_FlxPool.__interfaces__ = [flixel_util_IFlxPool]; flixel_util_FlxPool.prototype = { _pool: null ,_class: null ,_count: null ,get: function() { if(this._count == 0) { return Type.createInstance(this._class,[]); } return this._pool[--this._count]; } ,put: function(obj) { if(obj != null) { var i = this._pool.indexOf(obj); if(i == -1 || i >= this._count) { obj.destroy(); this._pool[this._count++] = obj; } } } ,putUnsafe: function(obj) { if(obj != null) { obj.destroy(); this._pool[this._count++] = obj; } } ,preAllocate: function(numObjects) { while(numObjects-- > 0) this._pool[this._count++] = Type.createInstance(this._class,[]); } ,clear: function() { this._count = 0; var oldPool = this._pool; this._pool = []; return oldPool; } ,get_length: function() { return this._count; } ,__class__: flixel_util_FlxPool ,__properties__: {get_length:"get_length"} }; var flixel_util_FlxPool_$flixel_$util_$LabelValuePair = function(classObj) { this._count = 0; this._pool = []; this._class = classObj; }; $hxClasses["flixel.util.FlxPool_flixel_util_LabelValuePair"] = flixel_util_FlxPool_$flixel_$util_$LabelValuePair; flixel_util_FlxPool_$flixel_$util_$LabelValuePair.__name__ = "flixel.util.FlxPool_flixel_util_LabelValuePair"; flixel_util_FlxPool_$flixel_$util_$LabelValuePair.__interfaces__ = [flixel_util_IFlxPool]; flixel_util_FlxPool_$flixel_$util_$LabelValuePair.prototype = { _pool: null ,_class: null ,_count: null ,get: function() { if(this._count == 0) { return Type.createInstance(this._class,[]); } return this._pool[--this._count]; } ,put: function(obj) { if(obj != null) { var i = this._pool.indexOf(obj); if(i == -1 || i >= this._count) { obj.label = null; obj.value = null; this._pool[this._count++] = obj; } } } ,putUnsafe: function(obj) { if(obj != null) { obj.label = null; obj.value = null; this._pool[this._count++] = obj; } } ,preAllocate: function(numObjects) { while(numObjects-- > 0) this._pool[this._count++] = Type.createInstance(this._class,[]); } ,clear: function() { this._count = 0; var oldPool = this._pool; this._pool = []; return oldPool; } ,get_length: function() { return this._count; } ,__class__: flixel_util_FlxPool_$flixel_$util_$LabelValuePair ,__properties__: {get_length:"get_length"} }; var flixel_util_FlxSaveStatus = $hxEnums["flixel.util.FlxSaveStatus"] = { __ename__ : "flixel.util.FlxSaveStatus", __constructs__ : ["SUCCESS","PENDING","ERROR"] ,SUCCESS: {_hx_index:0,__enum__:"flixel.util.FlxSaveStatus",toString:$estr} ,PENDING: {_hx_index:1,__enum__:"flixel.util.FlxSaveStatus",toString:$estr} ,ERROR: {_hx_index:2,__enum__:"flixel.util.FlxSaveStatus",toString:$estr} }; var flixel_util__$FlxSignal_FlxSignalHandler = function(listener,dispatchOnce) { this.dispatchOnce = false; this.listener = listener; this.dispatchOnce = dispatchOnce; }; $hxClasses["flixel.util._FlxSignal.FlxSignalHandler"] = flixel_util__$FlxSignal_FlxSignalHandler; flixel_util__$FlxSignal_FlxSignalHandler.__name__ = "flixel.util._FlxSignal.FlxSignalHandler"; flixel_util__$FlxSignal_FlxSignalHandler.__interfaces__ = [flixel_util_IFlxDestroyable]; flixel_util__$FlxSignal_FlxSignalHandler.prototype = { listener: null ,dispatchOnce: null ,destroy: function() { this.listener = null; } ,__class__: flixel_util__$FlxSignal_FlxSignalHandler }; var flixel_util_IFlxSignal = function() { }; $hxClasses["flixel.util.IFlxSignal"] = flixel_util_IFlxSignal; flixel_util_IFlxSignal.__name__ = "flixel.util.IFlxSignal"; flixel_util_IFlxSignal.__isInterface__ = true; flixel_util_IFlxSignal.__interfaces__ = [flixel_util_IFlxDestroyable]; flixel_util_IFlxSignal.prototype = { dispatch: null ,add: null ,addOnce: null ,remove: null ,removeAll: null ,has: null ,__class__: flixel_util_IFlxSignal }; var flixel_util__$FlxSignal_FlxBaseSignal = function() { this.processingListeners = false; this.handlers = []; this.pendingRemove = []; }; $hxClasses["flixel.util._FlxSignal.FlxBaseSignal"] = flixel_util__$FlxSignal_FlxBaseSignal; flixel_util__$FlxSignal_FlxBaseSignal.__name__ = "flixel.util._FlxSignal.FlxBaseSignal"; flixel_util__$FlxSignal_FlxBaseSignal.__interfaces__ = [flixel_util_IFlxSignal]; flixel_util__$FlxSignal_FlxBaseSignal.prototype = { dispatch: null ,handlers: null ,pendingRemove: null ,processingListeners: null ,add: function(listener) { if(listener != null) { this.registerListener(listener,false); } } ,addOnce: function(listener) { if(listener != null) { this.registerListener(listener,true); } } ,remove: function(listener) { if(listener != null) { var handler = this.getHandler(listener); if(handler != null) { if(this.processingListeners) { this.pendingRemove.push(handler); } else { HxOverrides.remove(this.handlers,handler); handler.destroy(); } } } } ,has: function(listener) { if(listener == null) { return false; } return this.getHandler(listener) != null; } ,removeAll: function() { flixel_util_FlxDestroyUtil.destroyArray(this.handlers); } ,destroy: function() { flixel_util_FlxDestroyUtil.destroyArray(this.handlers); this.handlers = null; this.pendingRemove = null; } ,registerListener: function(listener,dispatchOnce) { var handler = this.getHandler(listener); if(handler == null) { handler = new flixel_util__$FlxSignal_FlxSignalHandler(listener,dispatchOnce); this.handlers.push(handler); return handler; } else if(handler.dispatchOnce != dispatchOnce) { throw new js__$Boot_HaxeError("You cannot addOnce() then add() the same listener without removing the relationship first."); } else { return handler; } } ,getHandler: function(listener) { var _g = 0; var _g1 = this.handlers; while(_g < _g1.length) { var handler = _g1[_g]; ++_g; if(handler.listener == listener) { return handler; } } return null; } ,__class__: flixel_util__$FlxSignal_FlxBaseSignal }; var flixel_util__$FlxSignal_FlxSignal0 = function() { flixel_util__$FlxSignal_FlxBaseSignal.call(this); this.dispatch = $bind(this,this.dispatch0); }; $hxClasses["flixel.util._FlxSignal.FlxSignal0"] = flixel_util__$FlxSignal_FlxSignal0; flixel_util__$FlxSignal_FlxSignal0.__name__ = "flixel.util._FlxSignal.FlxSignal0"; flixel_util__$FlxSignal_FlxSignal0.__super__ = flixel_util__$FlxSignal_FlxBaseSignal; flixel_util__$FlxSignal_FlxSignal0.prototype = $extend(flixel_util__$FlxSignal_FlxBaseSignal.prototype,{ dispatch0: function() { this.processingListeners = true; var _g = 0; var _g1 = this.handlers; while(_g < _g1.length) { var handler = _g1[_g]; ++_g; handler.listener(); if(handler.dispatchOnce) { this.remove(handler.listener); } } this.processingListeners = false; var _g2 = 0; var _g3 = this.pendingRemove; while(_g2 < _g3.length) { var handler1 = _g3[_g2]; ++_g2; this.remove(handler1.listener); } if(this.pendingRemove.length > 0) { this.pendingRemove = []; } } ,__class__: flixel_util__$FlxSignal_FlxSignal0 }); var flixel_util__$FlxSignal_FlxSignal1 = function() { flixel_util__$FlxSignal_FlxBaseSignal.call(this); this.dispatch = $bind(this,this.dispatch1); }; $hxClasses["flixel.util._FlxSignal.FlxSignal1"] = flixel_util__$FlxSignal_FlxSignal1; flixel_util__$FlxSignal_FlxSignal1.__name__ = "flixel.util._FlxSignal.FlxSignal1"; flixel_util__$FlxSignal_FlxSignal1.__super__ = flixel_util__$FlxSignal_FlxBaseSignal; flixel_util__$FlxSignal_FlxSignal1.prototype = $extend(flixel_util__$FlxSignal_FlxBaseSignal.prototype,{ dispatch1: function(value1) { this.processingListeners = true; var _g = 0; var _g1 = this.handlers; while(_g < _g1.length) { var handler = _g1[_g]; ++_g; handler.listener(value1); if(handler.dispatchOnce) { this.remove(handler.listener); } } this.processingListeners = false; var _g2 = 0; var _g3 = this.pendingRemove; while(_g2 < _g3.length) { var handler1 = _g3[_g2]; ++_g2; this.remove(handler1.listener); } if(this.pendingRemove.length > 0) { this.pendingRemove = []; } } ,__class__: flixel_util__$FlxSignal_FlxSignal1 }); var flixel_util__$FlxSignal_FlxSignal2 = function() { flixel_util__$FlxSignal_FlxBaseSignal.call(this); this.dispatch = $bind(this,this.dispatch2); }; $hxClasses["flixel.util._FlxSignal.FlxSignal2"] = flixel_util__$FlxSignal_FlxSignal2; flixel_util__$FlxSignal_FlxSignal2.__name__ = "flixel.util._FlxSignal.FlxSignal2"; flixel_util__$FlxSignal_FlxSignal2.__super__ = flixel_util__$FlxSignal_FlxBaseSignal; flixel_util__$FlxSignal_FlxSignal2.prototype = $extend(flixel_util__$FlxSignal_FlxBaseSignal.prototype,{ dispatch2: function(value1,value2) { this.processingListeners = true; var _g = 0; var _g1 = this.handlers; while(_g < _g1.length) { var handler = _g1[_g]; ++_g; handler.listener(value1,value2); if(handler.dispatchOnce) { this.remove(handler.listener); } } this.processingListeners = false; var _g2 = 0; var _g3 = this.pendingRemove; while(_g2 < _g3.length) { var handler1 = _g3[_g2]; ++_g2; this.remove(handler1.listener); } if(this.pendingRemove.length > 0) { this.pendingRemove = []; } } ,__class__: flixel_util__$FlxSignal_FlxSignal2 }); var flixel_util__$FlxSignal_FlxSignal3 = function() { flixel_util__$FlxSignal_FlxBaseSignal.call(this); this.dispatch = $bind(this,this.dispatch3); }; $hxClasses["flixel.util._FlxSignal.FlxSignal3"] = flixel_util__$FlxSignal_FlxSignal3; flixel_util__$FlxSignal_FlxSignal3.__name__ = "flixel.util._FlxSignal.FlxSignal3"; flixel_util__$FlxSignal_FlxSignal3.__super__ = flixel_util__$FlxSignal_FlxBaseSignal; flixel_util__$FlxSignal_FlxSignal3.prototype = $extend(flixel_util__$FlxSignal_FlxBaseSignal.prototype,{ dispatch3: function(value1,value2,value3) { this.processingListeners = true; var _g = 0; var _g1 = this.handlers; while(_g < _g1.length) { var handler = _g1[_g]; ++_g; handler.listener(value1,value2,value3); if(handler.dispatchOnce) { this.remove(handler.listener); } } this.processingListeners = false; var _g2 = 0; var _g3 = this.pendingRemove; while(_g2 < _g3.length) { var handler1 = _g3[_g2]; ++_g2; this.remove(handler1.listener); } if(this.pendingRemove.length > 0) { this.pendingRemove = []; } } ,__class__: flixel_util__$FlxSignal_FlxSignal3 }); var flixel_util__$FlxSignal_FlxSignal4 = function() { flixel_util__$FlxSignal_FlxBaseSignal.call(this); this.dispatch = $bind(this,this.dispatch4); }; $hxClasses["flixel.util._FlxSignal.FlxSignal4"] = flixel_util__$FlxSignal_FlxSignal4; flixel_util__$FlxSignal_FlxSignal4.__name__ = "flixel.util._FlxSignal.FlxSignal4"; flixel_util__$FlxSignal_FlxSignal4.__super__ = flixel_util__$FlxSignal_FlxBaseSignal; flixel_util__$FlxSignal_FlxSignal4.prototype = $extend(flixel_util__$FlxSignal_FlxBaseSignal.prototype,{ dispatch4: function(value1,value2,value3,value4) { this.processingListeners = true; var _g = 0; var _g1 = this.handlers; while(_g < _g1.length) { var handler = _g1[_g]; ++_g; handler.listener(value1,value2,value3,value4); if(handler.dispatchOnce) { this.remove(handler.listener); } } this.processingListeners = false; var _g2 = 0; var _g3 = this.pendingRemove; while(_g2 < _g3.length) { var handler1 = _g3[_g2]; ++_g2; this.remove(handler1.listener); } if(this.pendingRemove.length > 0) { this.pendingRemove = []; } } ,__class__: flixel_util__$FlxSignal_FlxSignal4 }); var flixel_util__$FlxSignal_Macro = function() { }; $hxClasses["flixel.util._FlxSignal.Macro"] = flixel_util__$FlxSignal_Macro; flixel_util__$FlxSignal_Macro.__name__ = "flixel.util._FlxSignal.Macro"; var flixel_util_FlxSort = function() { }; $hxClasses["flixel.util.FlxSort"] = flixel_util_FlxSort; flixel_util_FlxSort.__name__ = "flixel.util.FlxSort"; flixel_util_FlxSort.byY = function(Order,Obj1,Obj2) { var Value1 = Obj1.y; var Value2 = Obj2.y; var result = 0; if(Value1 < Value2) { result = Order; } else if(Value1 > Value2) { result = -Order; } return result; }; flixel_util_FlxSort.byValues = function(Order,Value1,Value2) { var result = 0; if(Value1 < Value2) { result = Order; } else if(Value1 > Value2) { result = -Order; } return result; }; var flixel_util_FlxSpriteUtil = function() { }; $hxClasses["flixel.util.FlxSpriteUtil"] = flixel_util_FlxSpriteUtil; flixel_util_FlxSpriteUtil.__name__ = "flixel.util.FlxSpriteUtil"; flixel_util_FlxSpriteUtil.alphaMask = function(output,source,mask) { var data = flixel_system_FlxAssets.resolveBitmapData(source); var maskData = flixel_system_FlxAssets.resolveBitmapData(mask); if(data == null || maskData == null) { return null; } data = data.clone(); data.copyChannel(maskData,new openfl_geom_Rectangle(0,0,data.width,data.height),new openfl_geom_Point(),8,8); output.set_pixels(data); return output; }; flixel_util_FlxSpriteUtil.alphaMaskFlxSprite = function(sprite,mask,output) { sprite.drawFrame(); var data = sprite.get_pixels().clone(); data.copyChannel(mask.get_pixels(),new openfl_geom_Rectangle(0,0,sprite.get_width(),sprite.get_height()),new openfl_geom_Point(),8,8); output.set_pixels(data); return output; }; flixel_util_FlxSpriteUtil.screenWrap = function(sprite,Left,Right,Top,Bottom) { if(Bottom == null) { Bottom = true; } if(Top == null) { Top = true; } if(Right == null) { Right = true; } if(Left == null) { Left = true; } if(Left && sprite.x + sprite.frameWidth / 2 <= 0) { sprite.set_x(flixel_FlxG.width); } else if(Right && sprite.x >= flixel_FlxG.width) { sprite.set_x(0); } if(Top && sprite.y + sprite.frameHeight / 2 <= 0) { sprite.set_y(flixel_FlxG.height); } else if(Bottom && sprite.y >= flixel_FlxG.height) { sprite.set_y(0); } return sprite; }; flixel_util_FlxSpriteUtil.bound = function(sprite,MinX,MaxX,MinY,MaxY) { if(MaxY == null) { MaxY = 0; } if(MinY == null) { MinY = 0; } if(MaxX == null) { MaxX = 0; } if(MinX == null) { MinX = 0; } if(MaxX <= 0) { MaxX = flixel_FlxG.width; } if(MaxY <= 0) { MaxY = flixel_FlxG.height; } MaxX -= sprite.frameWidth; MaxY -= sprite.frameHeight; var Value = sprite.x; var lowerBound = MinX != null && Value < MinX ? MinX : Value; sprite.set_x(MaxX != null && lowerBound > MaxX ? MaxX : lowerBound); var Value1 = sprite.y; var lowerBound1 = MinY != null && Value1 < MinY ? MinY : Value1; sprite.set_y(MaxY != null && lowerBound1 > MaxY ? MaxY : lowerBound1); return sprite; }; flixel_util_FlxSpriteUtil.space = function(objects,startX,startY,horizontalSpacing,verticalSpacing,spaceFromBounds,position) { if(spaceFromBounds == null) { spaceFromBounds = false; } var prevWidth = 0; var runningX = 0; if(horizontalSpacing != null) { if(spaceFromBounds) { prevWidth = objects[0].get_width(); } runningX = startX; } else { runningX = objects[0].x; } var prevHeight = 0; var runningY = 0; if(verticalSpacing != null) { if(spaceFromBounds) { prevHeight = objects[0].get_height(); } runningY = startY; } else { runningY = objects[0].y; } if(position != null) { position(objects[0],runningX,runningY); } else { objects[0].set_x(runningX); objects[0].set_y(runningY); } var curX = 0; var curY = 0; var _g = 1; var _g1 = objects.length; while(_g < _g1) { var i = _g++; var object = objects[i]; if(horizontalSpacing != null) { curX = runningX + prevWidth + horizontalSpacing; runningX = curX; } else { curX = object.x; } if(verticalSpacing != null) { curY = runningY + prevHeight + verticalSpacing; runningY = curY; } else { curY = object.y; } if(position != null) { position(object,curX,curY); } else { object.set_x(curX); object.set_y(curY); } if(spaceFromBounds) { prevWidth = object.get_width(); prevHeight = object.get_height(); } } }; flixel_util_FlxSpriteUtil.drawLine = function(sprite,StartX,StartY,EndX,EndY,lineStyle,drawStyle) { var lineStyle1 = lineStyle; if(lineStyle1 == null) { lineStyle1 = { thickness : 1, color : -1}; } if(lineStyle1.thickness == null) { lineStyle1.thickness = 1; } if(lineStyle1.color == null) { lineStyle1.color = -1; } lineStyle = lineStyle1; flixel_util_FlxSpriteUtil.flashGfx.clear(); if(lineStyle != null) { var color = lineStyle.color == null ? -16777216 : lineStyle.color; if(lineStyle.thickness == null) { lineStyle.thickness = 1; } if(lineStyle.pixelHinting == null) { lineStyle.pixelHinting = false; } if(lineStyle.miterLimit == null) { lineStyle.miterLimit = 3; } flixel_util_FlxSpriteUtil.flashGfx.lineStyle(lineStyle.thickness,color & 16777215,(color >> 24 & 255) / 255,lineStyle.pixelHinting,lineStyle.scaleMode,lineStyle.capsStyle,lineStyle.jointStyle,lineStyle.miterLimit); } if(0 != 0) { flixel_util_FlxSpriteUtil.flashGfx.beginFill(0 & 16777215,(0 >> 24 & 255) / 255); } flixel_util_FlxSpriteUtil.flashGfx.moveTo(StartX,StartY); flixel_util_FlxSpriteUtil.flashGfx.lineTo(EndX,EndY); flixel_util_FlxSpriteUtil.flashGfx.endFill(); flixel_util_FlxSpriteUtil.updateSpriteGraphic(sprite,drawStyle); return sprite; }; flixel_util_FlxSpriteUtil.drawCurve = function(sprite,StartX,StartY,EndX,EndY,ControlX,ControlY,FillColor,lineStyle,drawStyle) { if(FillColor == null) { FillColor = 0; } var lineStyle1 = lineStyle; if(lineStyle1 == null) { lineStyle1 = { thickness : 1, color : -1}; } if(lineStyle1.thickness == null) { lineStyle1.thickness = 1; } if(lineStyle1.color == null) { lineStyle1.color = -1; } lineStyle = lineStyle1; flixel_util_FlxSpriteUtil.flashGfx.clear(); if(lineStyle != null) { var color = lineStyle.color == null ? -16777216 : lineStyle.color; if(lineStyle.thickness == null) { lineStyle.thickness = 1; } if(lineStyle.pixelHinting == null) { lineStyle.pixelHinting = false; } if(lineStyle.miterLimit == null) { lineStyle.miterLimit = 3; } flixel_util_FlxSpriteUtil.flashGfx.lineStyle(lineStyle.thickness,color & 16777215,(color >> 24 & 255) / 255,lineStyle.pixelHinting,lineStyle.scaleMode,lineStyle.capsStyle,lineStyle.jointStyle,lineStyle.miterLimit); } if(FillColor != 0) { flixel_util_FlxSpriteUtil.flashGfx.beginFill(FillColor & 16777215,(FillColor >> 24 & 255) / 255); } flixel_util_FlxSpriteUtil.flashGfx.moveTo(StartX,StartY); flixel_util_FlxSpriteUtil.flashGfx.curveTo(EndX,EndY,ControlX,ControlY); flixel_util_FlxSpriteUtil.flashGfx.endFill(); flixel_util_FlxSpriteUtil.updateSpriteGraphic(sprite,drawStyle); return sprite; }; flixel_util_FlxSpriteUtil.drawRect = function(sprite,X,Y,Width,Height,FillColor,lineStyle,drawStyle) { if(FillColor == null) { FillColor = -1; } flixel_util_FlxSpriteUtil.flashGfx.clear(); if(lineStyle != null) { var color = lineStyle.color == null ? -16777216 : lineStyle.color; if(lineStyle.thickness == null) { lineStyle.thickness = 1; } if(lineStyle.pixelHinting == null) { lineStyle.pixelHinting = false; } if(lineStyle.miterLimit == null) { lineStyle.miterLimit = 3; } flixel_util_FlxSpriteUtil.flashGfx.lineStyle(lineStyle.thickness,color & 16777215,(color >> 24 & 255) / 255,lineStyle.pixelHinting,lineStyle.scaleMode,lineStyle.capsStyle,lineStyle.jointStyle,lineStyle.miterLimit); } if(FillColor != 0) { flixel_util_FlxSpriteUtil.flashGfx.beginFill(FillColor & 16777215,(FillColor >> 24 & 255) / 255); } flixel_util_FlxSpriteUtil.flashGfx.drawRect(X,Y,Width,Height); flixel_util_FlxSpriteUtil.flashGfx.endFill(); flixel_util_FlxSpriteUtil.updateSpriteGraphic(sprite,drawStyle); return sprite; }; flixel_util_FlxSpriteUtil.drawRoundRect = function(sprite,X,Y,Width,Height,EllipseWidth,EllipseHeight,FillColor,lineStyle,drawStyle) { if(FillColor == null) { FillColor = -1; } flixel_util_FlxSpriteUtil.flashGfx.clear(); if(lineStyle != null) { var color = lineStyle.color == null ? -16777216 : lineStyle.color; if(lineStyle.thickness == null) { lineStyle.thickness = 1; } if(lineStyle.pixelHinting == null) { lineStyle.pixelHinting = false; } if(lineStyle.miterLimit == null) { lineStyle.miterLimit = 3; } flixel_util_FlxSpriteUtil.flashGfx.lineStyle(lineStyle.thickness,color & 16777215,(color >> 24 & 255) / 255,lineStyle.pixelHinting,lineStyle.scaleMode,lineStyle.capsStyle,lineStyle.jointStyle,lineStyle.miterLimit); } if(FillColor != 0) { flixel_util_FlxSpriteUtil.flashGfx.beginFill(FillColor & 16777215,(FillColor >> 24 & 255) / 255); } flixel_util_FlxSpriteUtil.flashGfx.drawRoundRect(X,Y,Width,Height,EllipseWidth,EllipseHeight); flixel_util_FlxSpriteUtil.flashGfx.endFill(); flixel_util_FlxSpriteUtil.updateSpriteGraphic(sprite,drawStyle); return sprite; }; flixel_util_FlxSpriteUtil.drawCircle = function(sprite,X,Y,Radius,FillColor,lineStyle,drawStyle) { if(FillColor == null) { FillColor = -1; } if(Radius == null) { Radius = -1; } if(Y == null) { Y = -1; } if(X == null) { X = -1; } if(X == -1 || Y == -1) { var midPoint = sprite.getGraphicMidpoint(); if(X == -1) { X = midPoint.x - sprite.x; } if(Y == -1) { Y = midPoint.y - sprite.y; } midPoint.put(); } if(Radius < 1) { var minVal = Math.min(sprite.frameWidth,sprite.frameHeight); Radius = minVal / 2; } flixel_util_FlxSpriteUtil.flashGfx.clear(); if(lineStyle != null) { var color = lineStyle.color == null ? -16777216 : lineStyle.color; if(lineStyle.thickness == null) { lineStyle.thickness = 1; } if(lineStyle.pixelHinting == null) { lineStyle.pixelHinting = false; } if(lineStyle.miterLimit == null) { lineStyle.miterLimit = 3; } flixel_util_FlxSpriteUtil.flashGfx.lineStyle(lineStyle.thickness,color & 16777215,(color >> 24 & 255) / 255,lineStyle.pixelHinting,lineStyle.scaleMode,lineStyle.capsStyle,lineStyle.jointStyle,lineStyle.miterLimit); } if(FillColor != 0) { flixel_util_FlxSpriteUtil.flashGfx.beginFill(FillColor & 16777215,(FillColor >> 24 & 255) / 255); } flixel_util_FlxSpriteUtil.flashGfx.drawCircle(X,Y,Radius); flixel_util_FlxSpriteUtil.flashGfx.endFill(); flixel_util_FlxSpriteUtil.updateSpriteGraphic(sprite,drawStyle); return sprite; }; flixel_util_FlxSpriteUtil.drawEllipse = function(sprite,X,Y,Width,Height,FillColor,lineStyle,drawStyle) { if(FillColor == null) { FillColor = -1; } flixel_util_FlxSpriteUtil.flashGfx.clear(); if(lineStyle != null) { var color = lineStyle.color == null ? -16777216 : lineStyle.color; if(lineStyle.thickness == null) { lineStyle.thickness = 1; } if(lineStyle.pixelHinting == null) { lineStyle.pixelHinting = false; } if(lineStyle.miterLimit == null) { lineStyle.miterLimit = 3; } flixel_util_FlxSpriteUtil.flashGfx.lineStyle(lineStyle.thickness,color & 16777215,(color >> 24 & 255) / 255,lineStyle.pixelHinting,lineStyle.scaleMode,lineStyle.capsStyle,lineStyle.jointStyle,lineStyle.miterLimit); } if(FillColor != 0) { flixel_util_FlxSpriteUtil.flashGfx.beginFill(FillColor & 16777215,(FillColor >> 24 & 255) / 255); } flixel_util_FlxSpriteUtil.flashGfx.drawEllipse(X,Y,Width,Height); flixel_util_FlxSpriteUtil.flashGfx.endFill(); flixel_util_FlxSpriteUtil.updateSpriteGraphic(sprite,drawStyle); return sprite; }; flixel_util_FlxSpriteUtil.drawTriangle = function(sprite,X,Y,Height,FillColor,lineStyle,drawStyle) { if(FillColor == null) { FillColor = -1; } flixel_util_FlxSpriteUtil.flashGfx.clear(); if(lineStyle != null) { var color = lineStyle.color == null ? -16777216 : lineStyle.color; if(lineStyle.thickness == null) { lineStyle.thickness = 1; } if(lineStyle.pixelHinting == null) { lineStyle.pixelHinting = false; } if(lineStyle.miterLimit == null) { lineStyle.miterLimit = 3; } flixel_util_FlxSpriteUtil.flashGfx.lineStyle(lineStyle.thickness,color & 16777215,(color >> 24 & 255) / 255,lineStyle.pixelHinting,lineStyle.scaleMode,lineStyle.capsStyle,lineStyle.jointStyle,lineStyle.miterLimit); } if(FillColor != 0) { flixel_util_FlxSpriteUtil.flashGfx.beginFill(FillColor & 16777215,(FillColor >> 24 & 255) / 255); } flixel_util_FlxSpriteUtil.flashGfx.moveTo(X + Height / 2,Y); flixel_util_FlxSpriteUtil.flashGfx.lineTo(X + Height,Height + Y); flixel_util_FlxSpriteUtil.flashGfx.lineTo(X,Height + Y); flixel_util_FlxSpriteUtil.flashGfx.lineTo(X + Height / 2,Y); flixel_util_FlxSpriteUtil.flashGfx.endFill(); flixel_util_FlxSpriteUtil.updateSpriteGraphic(sprite,drawStyle); return sprite; }; flixel_util_FlxSpriteUtil.drawPolygon = function(sprite,Vertices,FillColor,lineStyle,drawStyle) { if(FillColor == null) { FillColor = -1; } flixel_util_FlxSpriteUtil.flashGfx.clear(); if(lineStyle != null) { var color = lineStyle.color == null ? -16777216 : lineStyle.color; if(lineStyle.thickness == null) { lineStyle.thickness = 1; } if(lineStyle.pixelHinting == null) { lineStyle.pixelHinting = false; } if(lineStyle.miterLimit == null) { lineStyle.miterLimit = 3; } flixel_util_FlxSpriteUtil.flashGfx.lineStyle(lineStyle.thickness,color & 16777215,(color >> 24 & 255) / 255,lineStyle.pixelHinting,lineStyle.scaleMode,lineStyle.capsStyle,lineStyle.jointStyle,lineStyle.miterLimit); } if(FillColor != 0) { flixel_util_FlxSpriteUtil.flashGfx.beginFill(FillColor & 16777215,(FillColor >> 24 & 255) / 255); } var p = Vertices.shift(); flixel_util_FlxSpriteUtil.flashGfx.moveTo(p.x,p.y); var _g = 0; while(_g < Vertices.length) { var p1 = Vertices[_g]; ++_g; flixel_util_FlxSpriteUtil.flashGfx.lineTo(p1.x,p1.y); } flixel_util_FlxSpriteUtil.flashGfx.endFill(); flixel_util_FlxSpriteUtil.updateSpriteGraphic(sprite,drawStyle); Vertices.unshift(p); return sprite; }; flixel_util_FlxSpriteUtil.beginDraw = function(FillColor,lineStyle) { flixel_util_FlxSpriteUtil.flashGfx.clear(); if(lineStyle != null) { var color = lineStyle.color == null ? -16777216 : lineStyle.color; if(lineStyle.thickness == null) { lineStyle.thickness = 1; } if(lineStyle.pixelHinting == null) { lineStyle.pixelHinting = false; } if(lineStyle.miterLimit == null) { lineStyle.miterLimit = 3; } flixel_util_FlxSpriteUtil.flashGfx.lineStyle(lineStyle.thickness,color & 16777215,(color >> 24 & 255) / 255,lineStyle.pixelHinting,lineStyle.scaleMode,lineStyle.capsStyle,lineStyle.jointStyle,lineStyle.miterLimit); } if(FillColor != 0) { flixel_util_FlxSpriteUtil.flashGfx.beginFill(FillColor & 16777215,(FillColor >> 24 & 255) / 255); } }; flixel_util_FlxSpriteUtil.endDraw = function(sprite,drawStyle) { flixel_util_FlxSpriteUtil.flashGfx.endFill(); flixel_util_FlxSpriteUtil.updateSpriteGraphic(sprite,drawStyle); return sprite; }; flixel_util_FlxSpriteUtil.updateSpriteGraphic = function(sprite,drawStyle) { if(drawStyle == null) { drawStyle = { smoothing : false}; } else if(drawStyle.smoothing == null) { drawStyle.smoothing = false; } sprite.get_pixels().draw(flixel_util_FlxSpriteUtil.flashGfxSprite,drawStyle.matrix,drawStyle.colorTransform,drawStyle.blendMode,drawStyle.clipRect,drawStyle.smoothing); sprite.dirty = true; return sprite; }; flixel_util_FlxSpriteUtil.setLineStyle = function(lineStyle) { if(lineStyle != null) { var color = lineStyle.color == null ? -16777216 : lineStyle.color; if(lineStyle.thickness == null) { lineStyle.thickness = 1; } if(lineStyle.pixelHinting == null) { lineStyle.pixelHinting = false; } if(lineStyle.miterLimit == null) { lineStyle.miterLimit = 3; } flixel_util_FlxSpriteUtil.flashGfx.lineStyle(lineStyle.thickness,color & 16777215,(color >> 24 & 255) / 255,lineStyle.pixelHinting,lineStyle.scaleMode,lineStyle.capsStyle,lineStyle.jointStyle,lineStyle.miterLimit); } }; flixel_util_FlxSpriteUtil.getDefaultLineStyle = function(lineStyle) { if(lineStyle == null) { lineStyle = { thickness : 1, color : -1}; } if(lineStyle.thickness == null) { lineStyle.thickness = 1; } if(lineStyle.color == null) { lineStyle.color = -1; } return lineStyle; }; flixel_util_FlxSpriteUtil.fill = function(sprite,FillColor) { sprite.get_pixels().fillRect(sprite.get_pixels().rect,FillColor); if(sprite.get_pixels() != sprite.framePixels) { sprite.dirty = true; } return sprite; }; flixel_util_FlxSpriteUtil.flicker = function(Object1,Duration,Interval,EndVisibility,ForceRestart,CompletionCallback,ProgressCallback) { if(ForceRestart == null) { ForceRestart = true; } if(EndVisibility == null) { EndVisibility = true; } if(Interval == null) { Interval = 0.04; } if(Duration == null) { Duration = 1; } return flixel_effects_FlxFlicker.flicker(Object1,Duration,Interval,EndVisibility,ForceRestart,CompletionCallback,ProgressCallback); }; flixel_util_FlxSpriteUtil.isFlickering = function(Object1) { return flixel_effects_FlxFlicker.isFlickering(Object1); }; flixel_util_FlxSpriteUtil.stopFlickering = function(Object1) { flixel_effects_FlxFlicker.stopFlickering(Object1); return Object1; }; flixel_util_FlxSpriteUtil.fadeIn = function(sprite,Duration,ResetAlpha,OnComplete) { if(Duration == null) { Duration = 1; } if(ResetAlpha) { sprite.set_alpha(0); } var sprite1 = sprite; var tmp = function(f) { flixel_util_FlxSpriteUtil.alphaTween(sprite1,f); }; flixel_tweens_FlxTween.num(sprite.alpha,1,Duration,{ onComplete : OnComplete},tmp); return sprite; }; flixel_util_FlxSpriteUtil.fadeOut = function(sprite,Duration,OnComplete) { if(Duration == null) { Duration = 1; } var sprite1 = sprite; var tmp = function(f) { flixel_util_FlxSpriteUtil.alphaTween(sprite1,f); }; flixel_tweens_FlxTween.num(sprite.alpha,0,Duration,{ onComplete : OnComplete},tmp); return sprite; }; flixel_util_FlxSpriteUtil.alphaTween = function(sprite,f) { sprite.set_alpha(f); }; var flixel_util_FlxStringUtil = function() { }; $hxClasses["flixel.util.FlxStringUtil"] = flixel_util_FlxStringUtil; flixel_util_FlxStringUtil.__name__ = "flixel.util.FlxStringUtil"; flixel_util_FlxStringUtil.formatTicks = function(StartTicks,EndTicks) { return Math.abs(EndTicks - StartTicks) / 1000 + "s"; }; flixel_util_FlxStringUtil.formatTime = function(Seconds,ShowMS) { if(ShowMS == null) { ShowMS = false; } var timeString = (Seconds / 60 | 0) + ":"; var timeStringHelper = (Seconds | 0) % 60; if(timeStringHelper < 10) { timeString += "0"; } timeString += timeStringHelper; if(ShowMS) { timeString += "."; timeStringHelper = (Seconds - (Seconds | 0)) * 100 | 0; if(timeStringHelper < 10) { timeString += "0"; } timeString += timeStringHelper; } return timeString; }; flixel_util_FlxStringUtil.formatArray = function(AnyArray) { var string = ""; if(AnyArray != null && AnyArray.length > 0) { string = Std.string(AnyArray[0]); var i = 1; var l = AnyArray.length; while(i < l) string += ", " + Std.string(AnyArray[i++]); } return string; }; flixel_util_FlxStringUtil.formatStringMap = function(AnyMap) { var string = ""; var key = AnyMap.keys(); while(key.hasNext()) { var key1 = key.next(); string += key1 == null ? "null" : "" + key1; string += ", "; } return string.substring(0,string.length - 2); }; flixel_util_FlxStringUtil.formatMoney = function(Amount,ShowDecimal,EnglishStyle) { if(EnglishStyle == null) { EnglishStyle = true; } if(ShowDecimal == null) { ShowDecimal = true; } var isNegative = Amount < 0; Amount = Math.abs(Amount); var string = ""; var comma = ""; var amount = Math.floor(Amount); while(amount > 0) { if(string.length > 0 && comma.length <= 0) { comma = EnglishStyle ? "," : "."; } var zeroes = ""; var helper = amount - Math.floor(amount / 1000) * 1000; amount = Math.floor(amount / 1000); if(amount > 0) { if(helper < 100) { zeroes += "0"; } if(helper < 10) { zeroes += "0"; } } string = zeroes + helper + comma + string; } if(string == "") { string = "0"; } if(ShowDecimal) { amount = Math.floor(Amount * 100) - Math.floor(Amount) * 100; string += EnglishStyle ? "." : ","; if(amount < 10) { string += "0"; } string += amount; } if(isNegative) { string = "-" + string; } return string; }; flixel_util_FlxStringUtil.formatBytes = function(Bytes,Precision) { if(Precision == null) { Precision = 2; } var units = ["Bytes","kB","MB","GB","TB","PB"]; var curUnit = 0; while(Bytes >= 1024 && curUnit < units.length - 1) { Bytes /= 1024; ++curUnit; } return flixel_math_FlxMath.roundDecimal(Bytes,Precision) + units[curUnit]; }; flixel_util_FlxStringUtil.filterDigits = function(Input) { var output_b = ""; var _g = 0; var _g1 = Input.length; while(_g < _g1) { var i = _g++; var c = HxOverrides.cca(Input,i); if(c >= 48 && c <= 57) { output_b += String.fromCodePoint(c); } } return output_b; }; flixel_util_FlxStringUtil.htmlFormat = function(Text1,Size,Color,Bold,Italic,Underlined) { if(Underlined == null) { Underlined = false; } if(Italic == null) { Italic = false; } if(Bold == null) { Bold = false; } if(Color == null) { Color = "FFFFFF"; } if(Size == null) { Size = 12; } var prefix = "<font size='" + Size + "' color='#" + Color + "'>"; var suffix = "</font>"; if(Bold) { prefix = "<b>" + prefix; suffix += "</b>"; } if(Italic) { prefix = "<i>" + prefix; suffix += "</i>"; } if(Underlined) { prefix = "<u>" + prefix; suffix += "</u>"; } return prefix + Text1 + suffix; }; flixel_util_FlxStringUtil.getClassName = function(objectOrClass,simple) { if(simple == null) { simple = false; } var cl; if(js_Boot.__instanceof(objectOrClass,Class)) { cl = objectOrClass; } else { cl = js_Boot.getClass(objectOrClass); } return flixel_util_FlxStringUtil.formatPackage(cl.__name__,simple); }; flixel_util_FlxStringUtil.getEnumName = function(enumValueOrEnum,simple) { if(simple == null) { simple = false; } var e; if(js_Boot.__instanceof(enumValueOrEnum,Enum)) { e = enumValueOrEnum; } else { e = Type.getEnum(enumValueOrEnum); } return flixel_util_FlxStringUtil.formatPackage(e.__ename__,simple); }; flixel_util_FlxStringUtil.formatPackage = function(s,simple) { if(s == null) { return null; } s = StringTools.replace(s,"::","."); if(simple) { s = HxOverrides.substr(s,s.lastIndexOf(".") + 1,null); } return s; }; flixel_util_FlxStringUtil.getHost = function(url) { var hostFromURL = new EReg("^(?:[a-z][a-z0-9+\\-.]*://)?(?:[a-z0-9\\-._~%!$&'()*+,;=]+@)?([a-z0-9\\-._~%]{3,}|\\[[a-f0-9:.]+\\])?(?::[0-9]+)?","i"); if(hostFromURL.match(url)) { var host = hostFromURL.matched(1); if(host != null) { return decodeURIComponent(host.split("+").join(" ")).toLowerCase(); } else { return ""; } } return ""; }; flixel_util_FlxStringUtil.getDomain = function(url) { var host = flixel_util_FlxStringUtil.getHost(url); var isLocalhostOrIpAddress = new EReg("^(localhost|[0-9.]+|\\[[a-f0-9:.]+\\])$","i"); var domainFromHost = new EReg("^(?:[a-z0-9\\-]+\\.)*([a-z0-9\\-]+\\.[a-z0-9\\-]+)$","i"); if(!isLocalhostOrIpAddress.match(host) && domainFromHost.match(host)) { var domain = domainFromHost.matched(1); if(domain != null) { return domain.toLowerCase(); } else { return ""; } } return ""; }; flixel_util_FlxStringUtil.sameClassName = function(Obj1,Obj2,Simple) { if(Simple == null) { Simple = true; } return flixel_util_FlxStringUtil.getClassName(Obj1,Simple) == flixel_util_FlxStringUtil.getClassName(Obj2,Simple); }; flixel_util_FlxStringUtil.toIntArray = function(Data) { if(Data != null && Data != "") { var strArray = Data.split(","); var iArray = []; var _g = 0; while(_g < strArray.length) { var str = strArray[_g]; ++_g; iArray.push(Std.parseInt(str)); } return iArray; } return null; }; flixel_util_FlxStringUtil.toFloatArray = function(Data) { if(Data != null && Data != "") { var strArray = Data.split(","); var fArray = []; var _g = 0; while(_g < strArray.length) { var str = strArray[_g]; ++_g; fArray.push(parseFloat(str)); } return fArray; } return null; }; flixel_util_FlxStringUtil.arrayToCSV = function(Data,Width,Invert) { if(Invert == null) { Invert = false; } var row = 0; var column; var csv = ""; var height = Data.length / Width | 0; var index; var offset = 0; while(row < height) { column = 0; while(column < Width) { index = Data[offset]; if(Invert) { if(index == 0) { index = 1; } else if(index == 1) { index = 0; } } if(column == 0) { if(row == 0) { csv += index; } else { csv += "\n" + index; } } else { csv += ", " + index; } ++column; ++offset; } ++row; } return csv; }; flixel_util_FlxStringUtil.bitmapToCSV = function(Bitmap,Invert,Scale,ColorMap) { if(Scale == null) { Scale = 1; } if(Invert == null) { Invert = false; } if(Scale < 1) { Scale = 1; } if(Scale > 1) { var bd = Bitmap; Bitmap = new openfl_display_BitmapData(Bitmap.width * Scale,Bitmap.height * Scale); var bdW = bd.width; var bdH = bd.height; var pCol = 0; var _g = 0; var _g1 = bdW; while(_g < _g1) { var i = _g++; var _g2 = 0; var _g11 = bdH; while(_g2 < _g11) { var j = _g2++; pCol = bd.getPixel(i,j); var _g3 = 0; var _g12 = Scale; while(_g3 < _g12) { var k = _g3++; var _g4 = 0; var _g13 = Scale; while(_g4 < _g13) { var m = _g4++; Bitmap.setPixel(i * Scale + k,j * Scale + m,pCol); } } } } } if(ColorMap != null) { var _g5 = 0; var _g14 = ColorMap.length; while(_g5 < _g14) { var i1 = _g5++; ColorMap[i1] = ColorMap[i1] & 16777215; } } var row = 0; var column; var pixel; var csv = ""; var bitmapWidth = Bitmap.width; var bitmapHeight = Bitmap.height; while(row < bitmapHeight) { column = 0; while(column < bitmapWidth) { pixel = Bitmap.getPixel(column,row); if(ColorMap != null) { pixel = ColorMap.indexOf(pixel); } else if(Invert && pixel > 0 || !Invert && pixel == 0) { pixel = 1; } else { pixel = 0; } if(column == 0) { if(row == 0) { csv += pixel; } else { csv += "\n" + pixel; } } else { csv += ", " + pixel; } ++column; } ++row; } return csv; }; flixel_util_FlxStringUtil.imageToCSV = function(ImageFile,Invert,Scale,ColorMap) { if(Scale == null) { Scale = 1; } if(Invert == null) { Invert = false; } var tempBitmapData; if(typeof(ImageFile) == "string") { var id = ImageFile; tempBitmapData = openfl_utils_Assets.exists(id) ? openfl_utils_Assets.getBitmapData(id,false) : null; } else { tempBitmapData = Type.createInstance(ImageFile,[]).bitmapData; } return flixel_util_FlxStringUtil.bitmapToCSV(tempBitmapData,Invert,Scale,ColorMap); }; flixel_util_FlxStringUtil.getDebugString = function(LabelValuePairs) { var output = "("; var _g = 0; while(_g < LabelValuePairs.length) { var pair = LabelValuePairs[_g]; ++_g; output += pair.label + ": "; var value = pair.value; if(typeof(value) == "number") { value = flixel_math_FlxMath.roundDecimal(value,flixel_FlxG.debugger.precision); } output += Std.string(value) + " | "; flixel_util_LabelValuePair._pool.put(pair); } output = StringTools.trim(HxOverrides.substr(output,0,output.length - 2)); return output + ")"; }; flixel_util_FlxStringUtil.contains = function(s,str) { return s.indexOf(str) != -1; }; flixel_util_FlxStringUtil.remove = function(s,sub) { return StringTools.replace(s,sub,""); }; flixel_util_FlxStringUtil.insert = function(s,pos,insertion) { return s.substring(0,pos) + insertion + HxOverrides.substr(s,pos,null); }; flixel_util_FlxStringUtil.sortAlphabetically = function(list) { list.sort(function(a,b) { a = a.toLowerCase(); b = b.toLowerCase(); if(a < b) { return -1; } if(a > b) { return 1; } return 0; }); return list; }; flixel_util_FlxStringUtil.isNullOrEmpty = function(s) { if(s != null) { return s.length == 0; } else { return true; } }; var flixel_util_LabelValuePair = function() { }; $hxClasses["flixel.util.LabelValuePair"] = flixel_util_LabelValuePair; flixel_util_LabelValuePair.__name__ = "flixel.util.LabelValuePair"; flixel_util_LabelValuePair.__interfaces__ = [flixel_util_IFlxDestroyable]; flixel_util_LabelValuePair.weak = function(label,value) { var _this = flixel_util_LabelValuePair._pool.get(); _this.label = label; _this.value = value; return _this; }; flixel_util_LabelValuePair.prototype = { label: null ,value: null ,create: function(label,value) { this.label = label; this.value = value; return this; } ,put: function() { flixel_util_LabelValuePair._pool.put(this); } ,destroy: function() { this.label = null; this.value = null; } ,__class__: flixel_util_LabelValuePair }; var flixel_util_FlxTimer = function(manager) { this._inManager = false; this._loopsCounter = 0; this._timeCounter = 0; this.finished = false; this.active = false; this.loops = 0; this.time = 0; this.manager = manager != null ? manager : flixel_util_FlxTimer.globalManager; }; $hxClasses["flixel.util.FlxTimer"] = flixel_util_FlxTimer; flixel_util_FlxTimer.__name__ = "flixel.util.FlxTimer"; flixel_util_FlxTimer.__interfaces__ = [flixel_util_IFlxDestroyable]; flixel_util_FlxTimer.globalManager = null; flixel_util_FlxTimer.prototype = { manager: null ,time: null ,loops: null ,active: null ,finished: null ,onComplete: null ,_timeCounter: null ,_loopsCounter: null ,_inManager: null ,destroy: function() { this.onComplete = null; } ,start: function(Time,OnComplete,Loops) { if(Loops == null) { Loops = 1; } if(Time == null) { Time = 1; } if(this.manager != null && !this._inManager) { this.manager.add(this); this._inManager = true; } this.active = true; this.finished = false; this.time = Math.abs(Time); if(Loops < 0) { Loops *= -1; } this.loops = Loops; this.onComplete = OnComplete; this._timeCounter = 0; this._loopsCounter = 0; return this; } ,reset: function(NewTime) { if(NewTime == null) { NewTime = -1; } if(NewTime < 0) { NewTime = this.time; } this.start(NewTime,this.onComplete,this.loops); return this; } ,cancel: function() { this.finished = true; this.active = false; if(this.manager != null && this._inManager) { this.manager.remove(this); this._inManager = false; } } ,update: function(elapsed) { this._timeCounter += elapsed; while(this._timeCounter >= this.time && this.active && !this.finished) { this._timeCounter -= this.time; this._loopsCounter++; if(this.loops > 0 && this._loopsCounter >= this.loops) { this.finished = true; } } } ,onLoopFinished: function() { if(this.finished) { this.cancel(); } if(this.onComplete != null) { this.onComplete(this); } } ,get_timeLeft: function() { return this.time - this._timeCounter; } ,get_elapsedTime: function() { return this._timeCounter; } ,get_loopsLeft: function() { return this.loops - this._loopsCounter; } ,get_elapsedLoops: function() { return this._loopsCounter; } ,get_progress: function() { if(this.time > 0) { return this._timeCounter / this.time; } else { return 0; } } ,__class__: flixel_util_FlxTimer ,__properties__: {get_progress:"get_progress",get_elapsedLoops:"get_elapsedLoops",get_loopsLeft:"get_loopsLeft",get_elapsedTime:"get_elapsedTime",get_timeLeft:"get_timeLeft"} }; var flixel_util_FlxTimerManager = function() { this._timers = []; flixel_FlxBasic.call(this); this.set_visible(false); flixel_FlxG.signals.preStateSwitch.add($bind(this,this.clear)); }; $hxClasses["flixel.util.FlxTimerManager"] = flixel_util_FlxTimerManager; flixel_util_FlxTimerManager.__name__ = "flixel.util.FlxTimerManager"; flixel_util_FlxTimerManager.__super__ = flixel_FlxBasic; flixel_util_FlxTimerManager.prototype = $extend(flixel_FlxBasic.prototype,{ _timers: null ,destroy: function() { flixel_util_FlxArrayUtil.clearArray(this._timers); this._timers = null; flixel_FlxG.signals.preStateSwitch.remove($bind(this,this.clear)); flixel_FlxBasic.prototype.destroy.call(this); } ,update: function(elapsed) { var loopedTimers = null; var _g = 0; var _g1 = this._timers; while(_g < _g1.length) { var timer = _g1[_g]; ++_g; if(timer.active && !timer.finished && timer.time >= 0) { var timerLoops = timer._loopsCounter; timer.update(elapsed); if(timerLoops != timer._loopsCounter) { if(loopedTimers == null) { loopedTimers = []; } loopedTimers.push(timer); } } } if(loopedTimers != null) { while(loopedTimers.length > 0) loopedTimers.shift().onLoopFinished(); } } ,add: function(Timer) { this._timers.push(Timer); } ,remove: function(Timer) { var array = this._timers; var index = array.indexOf(Timer); if(index != -1) { array[index] = array[array.length - 1]; array.pop(); } } ,completeAll: function() { var timersToFinish = []; var _g = 0; var _g1 = this._timers; while(_g < _g1.length) { var timer = _g1[_g]; ++_g; if(timer.loops > 0 && timer.active) { timersToFinish.push(timer); } } var _g2 = 0; while(_g2 < timersToFinish.length) { var timer1 = timersToFinish[_g2]; ++_g2; while(!timer1.finished) { timer1.update(timer1.time - timer1._timeCounter); timer1.onLoopFinished(); } } } ,clear: function() { flixel_util_FlxArrayUtil.clearArray(this._timers); } ,forEach: function(Function1) { var _g = 0; var _g1 = this._timers; while(_g < _g1.length) { var timer = _g1[_g]; ++_g; Function1(timer); } } ,__class__: flixel_util_FlxTimerManager }); var flixel_util_FlxUnicodeUtil = function() { }; $hxClasses["flixel.util.FlxUnicodeUtil"] = flixel_util_FlxUnicodeUtil; flixel_util_FlxUnicodeUtil.__name__ = "flixel.util.FlxUnicodeUtil"; flixel_util_FlxUnicodeUtil.uLength = function(s) { return _$UnicodeString_UnicodeString_$Impl_$.get_length(s); }; flixel_util_FlxUnicodeUtil.uEquals = function(a,b) { return a == b; }; flixel_util_FlxUnicodeUtil.uSub = function(s,pos,len) { return _$UnicodeString_UnicodeString_$Impl_$.substr(s,pos,len); }; flixel_util_FlxUnicodeUtil.uCharCodeAt = function(s,index) { return _$UnicodeString_UnicodeString_$Impl_$.charCodeAt(s,index); }; var flixel_util__$FlxUnicodeUtil_UnicodeBuffer_$Impl_$ = {}; $hxClasses["flixel.util._FlxUnicodeUtil.UnicodeBuffer_Impl_"] = flixel_util__$FlxUnicodeUtil_UnicodeBuffer_$Impl_$; flixel_util__$FlxUnicodeUtil_UnicodeBuffer_$Impl_$.__name__ = "flixel.util._FlxUnicodeUtil.UnicodeBuffer_Impl_"; flixel_util__$FlxUnicodeUtil_UnicodeBuffer_$Impl_$._new = function(s) { if(s == null) { s = ""; } var this1 = s; return this1; }; flixel_util__$FlxUnicodeUtil_UnicodeBuffer_$Impl_$.addChar = function(this1,c) { var s = this1 + String.fromCodePoint(c); if(s == null) { s = ""; } var this2 = s; return this2; }; flixel_util__$FlxUnicodeUtil_UnicodeBuffer_$Impl_$.toString = function(this1) { return this1; }; var flixel_util_FlxVerticalAlign = $hxEnums["flixel.util.FlxVerticalAlign"] = { __ename__ : "flixel.util.FlxVerticalAlign", __constructs__ : ["TOP","CENTER","BOTTOM"] ,TOP: {_hx_index:0,__enum__:"flixel.util.FlxVerticalAlign",toString:$estr} ,CENTER: {_hx_index:1,__enum__:"flixel.util.FlxVerticalAlign",toString:$estr} ,BOTTOM: {_hx_index:2,__enum__:"flixel.util.FlxVerticalAlign",toString:$estr} }; var flixel_util_helpers_FlxRange = function(start,end) { this.active = true; this.start = start; this.end = end == null ? start : end; }; $hxClasses["flixel.util.helpers.FlxRange"] = flixel_util_helpers_FlxRange; flixel_util_helpers_FlxRange.__name__ = "flixel.util.helpers.FlxRange"; flixel_util_helpers_FlxRange.prototype = { start: null ,end: null ,active: null ,set: function(start,end) { this.start = start; this.end = end == null ? start : end; return this; } ,equals: function(OtherFlxRange) { if(this.start == OtherFlxRange.start) { return this.end == OtherFlxRange.end; } else { return false; } } ,toString: function() { var value = this.start; var _this = flixel_util_LabelValuePair._pool.get(); _this.label = "start"; _this.value = value; var value1 = this.end; var _this1 = flixel_util_LabelValuePair._pool.get(); _this1.label = "end"; _this1.value = value1; return flixel_util_FlxStringUtil.getDebugString([_this,_this1]); } ,__class__: flixel_util_helpers_FlxRange }; var haxe_StackItem = $hxEnums["haxe.StackItem"] = { __ename__ : "haxe.StackItem", __constructs__ : ["CFunction","Module","FilePos","Method","LocalFunction"] ,CFunction: {_hx_index:0,__enum__:"haxe.StackItem",toString:$estr} ,Module: ($_=function(m) { return {_hx_index:1,m:m,__enum__:"haxe.StackItem",toString:$estr}; },$_.__params__ = ["m"],$_) ,FilePos: ($_=function(s,file,line,column) { return {_hx_index:2,s:s,file:file,line:line,column:column,__enum__:"haxe.StackItem",toString:$estr}; },$_.__params__ = ["s","file","line","column"],$_) ,Method: ($_=function(classname,method) { return {_hx_index:3,classname:classname,method:method,__enum__:"haxe.StackItem",toString:$estr}; },$_.__params__ = ["classname","method"],$_) ,LocalFunction: ($_=function(v) { return {_hx_index:4,v:v,__enum__:"haxe.StackItem",toString:$estr}; },$_.__params__ = ["v"],$_) }; var haxe_CallStack = function() { }; $hxClasses["haxe.CallStack"] = haxe_CallStack; haxe_CallStack.__name__ = "haxe.CallStack"; haxe_CallStack.lastException = null; haxe_CallStack.getStack = function(e) { if(e == null) { return []; } var oldValue = Error.prepareStackTrace; Error.prepareStackTrace = function(error,callsites) { var stack = []; var _g = 0; while(_g < callsites.length) { var site = callsites[_g]; ++_g; if(haxe_CallStack.wrapCallSite != null) { site = haxe_CallStack.wrapCallSite(site); } var method = null; var fullName = site.getFunctionName(); if(fullName != null) { var idx = fullName.lastIndexOf("."); if(idx >= 0) { var className = HxOverrides.substr(fullName,0,idx); var methodName = HxOverrides.substr(fullName,idx + 1,null); method = haxe_StackItem.Method(className,methodName); } } var fileName = site.getFileName(); var fileAddr = fileName == null ? -1 : fileName.indexOf("file:"); if(haxe_CallStack.wrapCallSite != null && fileAddr > 0) { fileName = HxOverrides.substr(fileName,fileAddr + 6,null); } stack.push(haxe_StackItem.FilePos(method,fileName,site.getLineNumber(),site.getColumnNumber())); } return stack; }; var a = haxe_CallStack.makeStack(e.stack); Error.prepareStackTrace = oldValue; return a; }; haxe_CallStack.wrapCallSite = null; haxe_CallStack.callStack = function() { try { throw new Error(); } catch( e ) { haxe_CallStack.lastException = e; var e1 = ((e) instanceof js__$Boot_HaxeError) ? e.val : e; var a = haxe_CallStack.getStack(e); a.shift(); return a; } }; haxe_CallStack.exceptionStack = function() { return haxe_CallStack.getStack(haxe_CallStack.lastException); }; haxe_CallStack.toString = function(stack) { var b = new StringBuf(); var _g = 0; while(_g < stack.length) { var s = stack[_g]; ++_g; b.b += "\nCalled from "; haxe_CallStack.itemToString(b,s); } return b.b; }; haxe_CallStack.itemToString = function(b,s) { switch(s._hx_index) { case 0: b.b += "a C function"; break; case 1: var m = s.m; b.b += "module "; b.b += m == null ? "null" : "" + m; break; case 2: var col = s.column; var line = s.line; var file = s.file; var s1 = s.s; if(s1 != null) { haxe_CallStack.itemToString(b,s1); b.b += " ("; } b.b += file == null ? "null" : "" + file; b.b += " line "; b.b += line == null ? "null" : "" + line; if(col != null) { b.b += " column "; b.b += col == null ? "null" : "" + col; } if(s1 != null) { b.b += ")"; } break; case 3: var meth = s.method; var cname = s.classname; b.b += Std.string(cname == null ? "<unknown>" : cname); b.b += "."; b.b += meth == null ? "null" : "" + meth; break; case 4: var n = s.v; b.b += "local function #"; b.b += n == null ? "null" : "" + n; break; } }; haxe_CallStack.makeStack = function(s) { if(s == null) { return []; } else if(typeof(s) == "string") { var stack = s.split("\n"); if(stack[0] == "Error") { stack.shift(); } var m = []; var rie10 = new EReg("^ at ([A-Za-z0-9_. ]+) \\(([^)]+):([0-9]+):([0-9]+)\\)$",""); var _g = 0; while(_g < stack.length) { var line = stack[_g]; ++_g; if(rie10.match(line)) { var path = rie10.matched(1).split("."); var meth = path.pop(); var file = rie10.matched(2); var line1 = Std.parseInt(rie10.matched(3)); var column = Std.parseInt(rie10.matched(4)); m.push(haxe_StackItem.FilePos(meth == "Anonymous function" ? haxe_StackItem.LocalFunction() : meth == "Global code" ? null : haxe_StackItem.Method(path.join("."),meth),file,line1,column)); } else { m.push(haxe_StackItem.Module(StringTools.trim(line))); } } return m; } else { return s; } }; var haxe__$Int64__$_$_$Int64 = function(high,low) { this.high = high; this.low = low; }; $hxClasses["haxe._Int64.___Int64"] = haxe__$Int64__$_$_$Int64; haxe__$Int64__$_$_$Int64.__name__ = "haxe._Int64.___Int64"; haxe__$Int64__$_$_$Int64.prototype = { high: null ,low: null ,__class__: haxe__$Int64__$_$_$Int64 }; var haxe_Resource = function() { }; $hxClasses["haxe.Resource"] = haxe_Resource; haxe_Resource.__name__ = "haxe.Resource"; haxe_Resource.content = null; haxe_Resource.getString = function(name) { var _g = 0; var _g1 = haxe_Resource.content; while(_g < _g1.length) { var x = _g1[_g]; ++_g; if(x.name == name) { if(x.str != null) { return x.str; } var b = haxe_crypto_Base64.decode(x.data); return b.toString(); } } return null; }; haxe_Resource.getBytes = function(name) { var _g = 0; var _g1 = haxe_Resource.content; while(_g < _g1.length) { var x = _g1[_g]; ++_g; if(x.name == name) { if(x.str != null) { return haxe_io_Bytes.ofString(x.str); } return haxe_crypto_Base64.decode(x.data); } } return null; }; var haxe_Serializer = function() { this.buf = new StringBuf(); this.cache = []; this.useCache = haxe_Serializer.USE_CACHE; this.useEnumIndex = haxe_Serializer.USE_ENUM_INDEX; this.shash = new haxe_ds_StringMap(); this.scount = 0; }; $hxClasses["haxe.Serializer"] = haxe_Serializer; haxe_Serializer.__name__ = "haxe.Serializer"; haxe_Serializer.run = function(v) { var s = new haxe_Serializer(); s.serialize(v); return s.toString(); }; haxe_Serializer.prototype = { buf: null ,cache: null ,shash: null ,scount: null ,useCache: null ,useEnumIndex: null ,toString: function() { return this.buf.b; } ,serializeString: function(s) { var _this = this.shash; var x = __map_reserved[s] != null ? _this.getReserved(s) : _this.h[s]; if(x != null) { this.buf.b += "R"; this.buf.b += x == null ? "null" : "" + x; return; } var _this1 = this.shash; var value = this.scount++; if(__map_reserved[s] != null) { _this1.setReserved(s,value); } else { _this1.h[s] = value; } this.buf.b += "y"; s = encodeURIComponent(s); this.buf.b += Std.string(s.length); this.buf.b += ":"; this.buf.b += s == null ? "null" : "" + s; } ,serializeRef: function(v) { var vt = typeof(v); var _g = 0; var _g1 = this.cache.length; while(_g < _g1) { var i = _g++; var ci = this.cache[i]; if(typeof(ci) == vt && ci == v) { this.buf.b += "r"; this.buf.b += i == null ? "null" : "" + i; return true; } } this.cache.push(v); return false; } ,serializeFields: function(v) { var _g = 0; var _g1 = Reflect.fields(v); while(_g < _g1.length) { var f = _g1[_g]; ++_g; this.serializeString(f); this.serialize(Reflect.field(v,f)); } this.buf.b += "g"; } ,serialize: function(v) { var _g = Type.typeof(v); switch(_g._hx_index) { case 0: this.buf.b += "n"; break; case 1: var v1 = v; if(v1 == 0) { this.buf.b += "z"; return; } this.buf.b += "i"; this.buf.b += v1 == null ? "null" : "" + v1; break; case 2: var v2 = v; if(isNaN(v2)) { this.buf.b += "k"; } else if(!isFinite(v2)) { this.buf.b += v2 < 0 ? "m" : "p"; } else { this.buf.b += "d"; this.buf.b += v2 == null ? "null" : "" + v2; } break; case 3: this.buf.b += v ? "t" : "f"; break; case 4: if(js_Boot.__instanceof(v,Class)) { var className = v.__name__; this.buf.b += "A"; this.serializeString(className); } else if(js_Boot.__instanceof(v,Enum)) { this.buf.b += "B"; this.serializeString(v.__ename__); } else { if(this.useCache && this.serializeRef(v)) { return; } this.buf.b += "o"; this.serializeFields(v); } break; case 5: throw new js__$Boot_HaxeError("Cannot serialize function"); case 6: var c = _g.c; if(c == String) { this.serializeString(v); return; } if(this.useCache && this.serializeRef(v)) { return; } switch(c) { case Array: var ucount = 0; this.buf.b += "a"; var l = v["length"]; var _g1 = 0; var _g11 = l; while(_g1 < _g11) { var i = _g1++; if(v[i] == null) { ++ucount; } else { if(ucount > 0) { if(ucount == 1) { this.buf.b += "n"; } else { this.buf.b += "u"; this.buf.b += ucount == null ? "null" : "" + ucount; } ucount = 0; } this.serialize(v[i]); } } if(ucount > 0) { if(ucount == 1) { this.buf.b += "n"; } else { this.buf.b += "u"; this.buf.b += ucount == null ? "null" : "" + ucount; } } this.buf.b += "h"; break; case Date: var d = v; this.buf.b += "v"; this.buf.b += Std.string(d.getTime()); break; case haxe_ds_IntMap: this.buf.b += "q"; var v3 = v; var k = v3.keys(); while(k.hasNext()) { var k1 = k.next(); this.buf.b += ":"; this.buf.b += k1 == null ? "null" : "" + k1; this.serialize(v3.h[k1]); } this.buf.b += "h"; break; case haxe_ds_List: this.buf.b += "l"; var v4 = v; var _g_head = v4.h; while(_g_head != null) { var val = _g_head.item; _g_head = _g_head.next; var i1 = val; this.serialize(i1); } this.buf.b += "h"; break; case haxe_ds_ObjectMap: this.buf.b += "M"; var v5 = v; var k2 = v5.keys(); while(k2.hasNext()) { var k3 = k2.next(); var id = Reflect.field(k3,"__id__"); Reflect.deleteField(k3,"__id__"); this.serialize(k3); k3["__id__"] = id; this.serialize(v5.h[k3.__id__]); } this.buf.b += "h"; break; case haxe_ds_StringMap: this.buf.b += "b"; var v6 = v; var k4 = v6.keys(); while(k4.hasNext()) { var k5 = k4.next(); this.serializeString(k5); this.serialize(__map_reserved[k5] != null ? v6.getReserved(k5) : v6.h[k5]); } this.buf.b += "h"; break; case haxe_io_Bytes: var v7 = v; this.buf.b += "s"; this.buf.b += Std.string(Math.ceil(v7.length * 8 / 6)); this.buf.b += ":"; var i2 = 0; var max = v7.length - 2; var b64 = haxe_Serializer.BASE64_CODES; if(b64 == null) { var this1 = new Array(haxe_Serializer.BASE64.length); b64 = this1; var _g2 = 0; var _g12 = haxe_Serializer.BASE64.length; while(_g2 < _g12) { var i3 = _g2++; b64[i3] = HxOverrides.cca(haxe_Serializer.BASE64,i3); } haxe_Serializer.BASE64_CODES = b64; } while(i2 < max) { var b1 = v7.b[i2++]; var b2 = v7.b[i2++]; var b3 = v7.b[i2++]; this.buf.b += String.fromCodePoint(b64[b1 >> 2]); this.buf.b += String.fromCodePoint(b64[(b1 << 4 | b2 >> 4) & 63]); this.buf.b += String.fromCodePoint(b64[(b2 << 2 | b3 >> 6) & 63]); this.buf.b += String.fromCodePoint(b64[b3 & 63]); } if(i2 == max) { var b11 = v7.b[i2++]; var b21 = v7.b[i2++]; this.buf.b += String.fromCodePoint(b64[b11 >> 2]); this.buf.b += String.fromCodePoint(b64[(b11 << 4 | b21 >> 4) & 63]); this.buf.b += String.fromCodePoint(b64[b21 << 2 & 63]); } else if(i2 == max + 1) { var b12 = v7.b[i2++]; this.buf.b += String.fromCodePoint(b64[b12 >> 2]); this.buf.b += String.fromCodePoint(b64[b12 << 4 & 63]); } break; default: if(this.useCache) { this.cache.pop(); } if(v.hxSerialize != null) { this.buf.b += "C"; this.serializeString(c.__name__); if(this.useCache) { this.cache.push(v); } v.hxSerialize(this); this.buf.b += "g"; } else { this.buf.b += "c"; this.serializeString(c.__name__); if(this.useCache) { this.cache.push(v); } this.serializeFields(v); } } break; case 7: var e = _g.e; if(this.useCache) { if(this.serializeRef(v)) { return; } this.cache.pop(); } this.buf.b += Std.string(this.useEnumIndex ? "j" : "w"); this.serializeString(e.__ename__); if(this.useEnumIndex) { this.buf.b += ":"; this.buf.b += Std.string(v._hx_index); } else { var e1 = v; this.serializeString($hxEnums[e1.__enum__].__constructs__[e1._hx_index]); } this.buf.b += ":"; var params = Type.enumParameters(v); this.buf.b += Std.string(params.length); var _g3 = 0; while(_g3 < params.length) { var p = params[_g3]; ++_g3; this.serialize(p); } if(this.useCache) { this.cache.push(v); } break; default: throw new js__$Boot_HaxeError("Cannot serialize " + Std.string(v)); } } ,__class__: haxe_Serializer }; var haxe_Timer = function(time_ms) { var me = this; this.id = setInterval(function() { me.run(); },time_ms); }; $hxClasses["haxe.Timer"] = haxe_Timer; haxe_Timer.__name__ = "haxe.Timer"; haxe_Timer.delay = function(f,time_ms) { var t = new haxe_Timer(time_ms); t.run = function() { t.stop(); f(); }; return t; }; haxe_Timer.measure = function(f,pos) { var t0 = new Date().getTime() / 1000; var r = f(); haxe_Log.trace(new Date().getTime() / 1000 - t0 + "s",pos); return r; }; haxe_Timer.stamp = function() { return new Date().getTime() / 1000; }; haxe_Timer.prototype = { id: null ,stop: function() { if(this.id == null) { return; } clearInterval(this.id); this.id = null; } ,run: function() { } ,__class__: haxe_Timer }; var haxe__$Unserializer_DefaultResolver = function() { }; $hxClasses["haxe._Unserializer.DefaultResolver"] = haxe__$Unserializer_DefaultResolver; haxe__$Unserializer_DefaultResolver.__name__ = "haxe._Unserializer.DefaultResolver"; haxe__$Unserializer_DefaultResolver.prototype = { resolveClass: function(name) { return $hxClasses[name]; } ,resolveEnum: function(name) { return $hxEnums[name]; } ,__class__: haxe__$Unserializer_DefaultResolver }; var haxe_Unserializer = function(buf) { this.buf = buf; this.length = buf.length; this.pos = 0; this.scache = []; this.cache = []; var r = haxe_Unserializer.DEFAULT_RESOLVER; if(r == null) { r = new haxe__$Unserializer_DefaultResolver(); haxe_Unserializer.DEFAULT_RESOLVER = r; } this.resolver = r; }; $hxClasses["haxe.Unserializer"] = haxe_Unserializer; haxe_Unserializer.__name__ = "haxe.Unserializer"; haxe_Unserializer.initCodes = function() { var codes = []; var _g = 0; var _g1 = haxe_Unserializer.BASE64.length; while(_g < _g1) { var i = _g++; codes[haxe_Unserializer.BASE64.charCodeAt(i)] = i; } return codes; }; haxe_Unserializer.run = function(v) { return new haxe_Unserializer(v).unserialize(); }; haxe_Unserializer.prototype = { buf: null ,pos: null ,length: null ,cache: null ,scache: null ,resolver: null ,setResolver: function(r) { if(r == null) { if(haxe__$Unserializer_NullResolver.instance == null) { haxe__$Unserializer_NullResolver.instance = new haxe__$Unserializer_NullResolver(); } this.resolver = haxe__$Unserializer_NullResolver.instance; } else { this.resolver = r; } } ,readDigits: function() { var k = 0; var s = false; var fpos = this.pos; while(true) { var c = this.buf.charCodeAt(this.pos); if(c != c) { break; } if(c == 45) { if(this.pos != fpos) { break; } s = true; this.pos++; continue; } if(c < 48 || c > 57) { break; } k = k * 10 + (c - 48); this.pos++; } if(s) { k *= -1; } return k; } ,readFloat: function() { var p1 = this.pos; while(true) { var c = this.buf.charCodeAt(this.pos); if(c != c) { break; } if(c >= 43 && c < 58 || c == 101 || c == 69) { this.pos++; } else { break; } } return parseFloat(HxOverrides.substr(this.buf,p1,this.pos - p1)); } ,unserializeObject: function(o) { while(true) { if(this.pos >= this.length) { throw new js__$Boot_HaxeError("Invalid object"); } if(this.buf.charCodeAt(this.pos) == 103) { break; } var k = this.unserialize(); if(typeof(k) != "string") { throw new js__$Boot_HaxeError("Invalid object key"); } var v = this.unserialize(); o[k] = v; } this.pos++; } ,unserializeEnum: function(edecl,tag) { if(this.buf.charCodeAt(this.pos++) != 58) { throw new js__$Boot_HaxeError("Invalid enum format"); } var nargs = this.readDigits(); if(nargs == 0) { return Type.createEnum(edecl,tag); } var args = []; while(nargs-- > 0) args.push(this.unserialize()); return Type.createEnum(edecl,tag,args); } ,unserialize: function() { switch(this.buf.charCodeAt(this.pos++)) { case 65: var name = this.unserialize(); var cl = this.resolver.resolveClass(name); if(cl == null) { throw new js__$Boot_HaxeError("Class not found " + name); } return cl; case 66: var name1 = this.unserialize(); var e = this.resolver.resolveEnum(name1); if(e == null) { throw new js__$Boot_HaxeError("Enum not found " + name1); } return e; case 67: var name2 = this.unserialize(); var cl1 = this.resolver.resolveClass(name2); if(cl1 == null) { throw new js__$Boot_HaxeError("Class not found " + name2); } var o = Object.create(cl1.prototype); this.cache.push(o); o.hxUnserialize(this); if(this.buf.charCodeAt(this.pos++) != 103) { throw new js__$Boot_HaxeError("Invalid custom data"); } return o; case 77: var h = new haxe_ds_ObjectMap(); this.cache.push(h); var buf = this.buf; while(this.buf.charCodeAt(this.pos) != 104) { var s = this.unserialize(); h.set(s,this.unserialize()); } this.pos++; return h; case 82: var n = this.readDigits(); if(n < 0 || n >= this.scache.length) { throw new js__$Boot_HaxeError("Invalid string reference"); } return this.scache[n]; case 97: var buf1 = this.buf; var a = []; this.cache.push(a); while(true) { var c = this.buf.charCodeAt(this.pos); if(c == 104) { this.pos++; break; } if(c == 117) { this.pos++; var n1 = this.readDigits(); a[a.length + n1 - 1] = null; } else { a.push(this.unserialize()); } } return a; case 98: var h1 = new haxe_ds_StringMap(); this.cache.push(h1); var buf2 = this.buf; while(this.buf.charCodeAt(this.pos) != 104) { var s1 = this.unserialize(); var value = this.unserialize(); if(__map_reserved[s1] != null) { h1.setReserved(s1,value); } else { h1.h[s1] = value; } } this.pos++; return h1; case 99: var name3 = this.unserialize(); var cl2 = this.resolver.resolveClass(name3); if(cl2 == null) { throw new js__$Boot_HaxeError("Class not found " + name3); } var o1 = Object.create(cl2.prototype); this.cache.push(o1); this.unserializeObject(o1); return o1; case 100: return this.readFloat(); case 102: return false; case 105: return this.readDigits(); case 106: var name4 = this.unserialize(); var edecl = this.resolver.resolveEnum(name4); if(edecl == null) { throw new js__$Boot_HaxeError("Enum not found " + name4); } this.pos++; var index = this.readDigits(); var tag = edecl.__constructs__.slice()[index]; if(tag == null) { throw new js__$Boot_HaxeError("Unknown enum index " + name4 + "@" + index); } var e1 = this.unserializeEnum(edecl,tag); this.cache.push(e1); return e1; case 107: return NaN; case 108: var l = new haxe_ds_List(); this.cache.push(l); var buf3 = this.buf; while(this.buf.charCodeAt(this.pos) != 104) l.add(this.unserialize()); this.pos++; return l; case 109: return -Infinity; case 110: return null; case 111: var o2 = { }; this.cache.push(o2); this.unserializeObject(o2); return o2; case 112: return Infinity; case 113: var h2 = new haxe_ds_IntMap(); this.cache.push(h2); var buf4 = this.buf; var c1 = this.buf.charCodeAt(this.pos++); while(c1 == 58) { var i = this.readDigits(); var value1 = this.unserialize(); h2.h[i] = value1; c1 = this.buf.charCodeAt(this.pos++); } if(c1 != 104) { throw new js__$Boot_HaxeError("Invalid IntMap format"); } return h2; case 114: var n2 = this.readDigits(); if(n2 < 0 || n2 >= this.cache.length) { throw new js__$Boot_HaxeError("Invalid reference"); } return this.cache[n2]; case 115: var len = this.readDigits(); var buf5 = this.buf; if(this.buf.charCodeAt(this.pos++) != 58 || this.length - this.pos < len) { throw new js__$Boot_HaxeError("Invalid bytes length"); } var codes = haxe_Unserializer.CODES; if(codes == null) { codes = haxe_Unserializer.initCodes(); haxe_Unserializer.CODES = codes; } var i1 = this.pos; var rest = len & 3; var size = (len >> 2) * 3 + (rest >= 2 ? rest - 1 : 0); var max = i1 + (len - rest); var bytes = new haxe_io_Bytes(new ArrayBuffer(size)); var bpos = 0; while(i1 < max) { var c11 = codes[buf5.charCodeAt(i1++)]; var c2 = codes[buf5.charCodeAt(i1++)]; bytes.b[bpos++] = (c11 << 2 | c2 >> 4) & 255; var c3 = codes[buf5.charCodeAt(i1++)]; bytes.b[bpos++] = (c2 << 4 | c3 >> 2) & 255; var c4 = codes[buf5.charCodeAt(i1++)]; bytes.b[bpos++] = (c3 << 6 | c4) & 255; } if(rest >= 2) { var c12 = codes[buf5.charCodeAt(i1++)]; var c21 = codes[buf5.charCodeAt(i1++)]; bytes.b[bpos++] = (c12 << 2 | c21 >> 4) & 255; if(rest == 3) { var c31 = codes[buf5.charCodeAt(i1++)]; bytes.b[bpos++] = (c21 << 4 | c31 >> 2) & 255; } } this.pos += len; this.cache.push(bytes); return bytes; case 116: return true; case 118: var d; if(this.buf.charCodeAt(this.pos) >= 48 && this.buf.charCodeAt(this.pos) <= 57 && this.buf.charCodeAt(this.pos + 1) >= 48 && this.buf.charCodeAt(this.pos + 1) <= 57 && this.buf.charCodeAt(this.pos + 2) >= 48 && this.buf.charCodeAt(this.pos + 2) <= 57 && this.buf.charCodeAt(this.pos + 3) >= 48 && this.buf.charCodeAt(this.pos + 3) <= 57 && this.buf.charCodeAt(this.pos + 4) == 45) { d = HxOverrides.strDate(HxOverrides.substr(this.buf,this.pos,19)); this.pos += 19; } else { d = new Date(this.readFloat()); } this.cache.push(d); return d; case 119: var name5 = this.unserialize(); var edecl1 = this.resolver.resolveEnum(name5); if(edecl1 == null) { throw new js__$Boot_HaxeError("Enum not found " + name5); } var e2 = this.unserializeEnum(edecl1,this.unserialize()); this.cache.push(e2); return e2; case 120: throw js__$Boot_HaxeError.wrap(this.unserialize()); case 121: var len1 = this.readDigits(); if(this.buf.charCodeAt(this.pos++) != 58 || this.length - this.pos < len1) { throw new js__$Boot_HaxeError("Invalid string length"); } var s2 = HxOverrides.substr(this.buf,this.pos,len1); this.pos += len1; s2 = decodeURIComponent(s2.split("+").join(" ")); this.scache.push(s2); return s2; case 122: return 0; default: } this.pos--; throw new js__$Boot_HaxeError("Invalid char " + this.buf.charAt(this.pos) + " at position " + this.pos); } ,__class__: haxe_Unserializer }; var haxe__$Unserializer_NullResolver = function() { }; $hxClasses["haxe._Unserializer.NullResolver"] = haxe__$Unserializer_NullResolver; haxe__$Unserializer_NullResolver.__name__ = "haxe._Unserializer.NullResolver"; haxe__$Unserializer_NullResolver.instance = null; haxe__$Unserializer_NullResolver.prototype = { resolveClass: function(name) { return null; } ,resolveEnum: function(name) { return null; } ,__class__: haxe__$Unserializer_NullResolver }; var haxe_Utf8 = function() { }; $hxClasses["haxe.Utf8"] = haxe_Utf8; haxe_Utf8.__name__ = "haxe.Utf8"; haxe_Utf8.iter = function(s,chars) { var _g = 0; var _g1 = s.length; while(_g < _g1) { var i = _g++; chars(HxOverrides.cca(s,i)); } }; var haxe_crypto_Adler32 = function() { this.a1 = 1; this.a2 = 0; }; $hxClasses["haxe.crypto.Adler32"] = haxe_crypto_Adler32; haxe_crypto_Adler32.__name__ = "haxe.crypto.Adler32"; haxe_crypto_Adler32.read = function(i) { var a = new haxe_crypto_Adler32(); var a2a = i.readByte(); var a2b = i.readByte(); var a1a = i.readByte(); var a1b = i.readByte(); a.a1 = a1a << 8 | a1b; a.a2 = a2a << 8 | a2b; return a; }; haxe_crypto_Adler32.prototype = { a1: null ,a2: null ,update: function(b,pos,len) { var a1 = this.a1; var a2 = this.a2; var _g = pos; var _g1 = pos + len; while(_g < _g1) { var p = _g++; var c = b.b[p]; a1 = (a1 + c) % 65521; a2 = (a2 + a1) % 65521; } this.a1 = a1; this.a2 = a2; } ,equals: function(a) { if(a.a1 == this.a1) { return a.a2 == this.a2; } else { return false; } } ,__class__: haxe_crypto_Adler32 }; var haxe_crypto_Base64 = function() { }; $hxClasses["haxe.crypto.Base64"] = haxe_crypto_Base64; haxe_crypto_Base64.__name__ = "haxe.crypto.Base64"; haxe_crypto_Base64.encode = function(bytes,complement) { if(complement == null) { complement = true; } var str = new haxe_crypto_BaseCode(haxe_crypto_Base64.BYTES).encodeBytes(bytes).toString(); if(complement) { switch(bytes.length % 3) { case 1: str += "=="; break; case 2: str += "="; break; default: } } return str; }; haxe_crypto_Base64.decode = function(str,complement) { if(complement == null) { complement = true; } if(complement) { while(HxOverrides.cca(str,str.length - 1) == 61) str = HxOverrides.substr(str,0,-1); } return new haxe_crypto_BaseCode(haxe_crypto_Base64.BYTES).decodeBytes(haxe_io_Bytes.ofString(str)); }; var haxe_crypto_BaseCode = function(base) { var len = base.length; var nbits = 1; while(len > 1 << nbits) ++nbits; if(nbits > 8 || len != 1 << nbits) { throw new js__$Boot_HaxeError("BaseCode : base length must be a power of two."); } this.base = base; this.nbits = nbits; }; $hxClasses["haxe.crypto.BaseCode"] = haxe_crypto_BaseCode; haxe_crypto_BaseCode.__name__ = "haxe.crypto.BaseCode"; haxe_crypto_BaseCode.prototype = { base: null ,nbits: null ,tbl: null ,encodeBytes: function(b) { var nbits = this.nbits; var base = this.base; var size = b.length * 8 / nbits | 0; var out = new haxe_io_Bytes(new ArrayBuffer(size + (b.length * 8 % nbits == 0 ? 0 : 1))); var buf = 0; var curbits = 0; var mask = (1 << nbits) - 1; var pin = 0; var pout = 0; while(pout < size) { while(curbits < nbits) { curbits += 8; buf <<= 8; buf |= b.b[pin++]; } curbits -= nbits; out.b[pout++] = base.b[buf >> curbits & mask] & 255; } if(curbits > 0) { out.b[pout++] = base.b[buf << nbits - curbits & mask] & 255; } return out; } ,initTable: function() { var tbl = []; var _g = 0; while(_g < 256) { var i = _g++; tbl[i] = -1; } var _g1 = 0; var _g2 = this.base.length; while(_g1 < _g2) { var i1 = _g1++; tbl[this.base.b[i1]] = i1; } this.tbl = tbl; } ,decodeBytes: function(b) { var nbits = this.nbits; var base = this.base; if(this.tbl == null) { this.initTable(); } var tbl = this.tbl; var size = b.length * nbits >> 3; var out = new haxe_io_Bytes(new ArrayBuffer(size)); var buf = 0; var curbits = 0; var pin = 0; var pout = 0; while(pout < size) { while(curbits < 8) { curbits += nbits; buf <<= nbits; var i = tbl[b.b[pin++]]; if(i == -1) { throw new js__$Boot_HaxeError("BaseCode : invalid encoded char"); } buf |= i; } curbits -= 8; out.b[pout++] = buf >> curbits & 255 & 255; } return out; } ,__class__: haxe_crypto_BaseCode }; var haxe_ds_ArraySort = function() { }; $hxClasses["haxe.ds.ArraySort"] = haxe_ds_ArraySort; haxe_ds_ArraySort.__name__ = "haxe.ds.ArraySort"; haxe_ds_ArraySort.sort = function(a,cmp) { haxe_ds_ArraySort.rec(a,cmp,0,a.length); }; haxe_ds_ArraySort.rec = function(a,cmp,from,to) { var middle = from + to >> 1; if(to - from < 12) { if(to <= from) { return; } var _g = from + 1; var _g1 = to; while(_g < _g1) { var i = _g++; var j = i; while(j > from) { if(cmp(a[j],a[j - 1]) < 0) { haxe_ds_ArraySort.swap(a,j - 1,j); } else { break; } --j; } } return; } haxe_ds_ArraySort.rec(a,cmp,from,middle); haxe_ds_ArraySort.rec(a,cmp,middle,to); haxe_ds_ArraySort.doMerge(a,cmp,from,middle,to,middle - from,to - middle); }; haxe_ds_ArraySort.doMerge = function(a,cmp,from,pivot,to,len1,len2) { var first_cut; var second_cut; var len11; var len22; if(len1 == 0 || len2 == 0) { return; } if(len1 + len2 == 2) { if(cmp(a[pivot],a[from]) < 0) { haxe_ds_ArraySort.swap(a,pivot,from); } return; } if(len1 > len2) { len11 = len1 >> 1; first_cut = from + len11; second_cut = haxe_ds_ArraySort.lower(a,cmp,pivot,to,first_cut); len22 = second_cut - pivot; } else { len22 = len2 >> 1; second_cut = pivot + len22; first_cut = haxe_ds_ArraySort.upper(a,cmp,from,pivot,second_cut); len11 = first_cut - from; } haxe_ds_ArraySort.rotate(a,cmp,first_cut,pivot,second_cut); var new_mid = first_cut + len22; haxe_ds_ArraySort.doMerge(a,cmp,from,first_cut,new_mid,len11,len22); haxe_ds_ArraySort.doMerge(a,cmp,new_mid,second_cut,to,len1 - len11,len2 - len22); }; haxe_ds_ArraySort.rotate = function(a,cmp,from,mid,to) { if(from == mid || mid == to) { return; } var n = haxe_ds_ArraySort.gcd(to - from,mid - from); while(n-- != 0) { var val = a[from + n]; var shift = mid - from; var p1 = from + n; var p2 = from + n + shift; while(p2 != from + n) { a[p1] = a[p2]; p1 = p2; if(to - p2 > shift) { p2 += shift; } else { p2 = from + (shift - (to - p2)); } } a[p1] = val; } }; haxe_ds_ArraySort.gcd = function(m,n) { while(n != 0) { var t = m % n; m = n; n = t; } return m; }; haxe_ds_ArraySort.upper = function(a,cmp,from,to,val) { var len = to - from; var half; var mid; while(len > 0) { half = len >> 1; mid = from + half; if(cmp(a[val],a[mid]) < 0) { len = half; } else { from = mid + 1; len = len - half - 1; } } return from; }; haxe_ds_ArraySort.lower = function(a,cmp,from,to,val) { var len = to - from; var half; var mid; while(len > 0) { half = len >> 1; mid = from + half; if(cmp(a[mid],a[val]) < 0) { from = mid + 1; len = len - half - 1; } else { len = half; } } return from; }; haxe_ds_ArraySort.swap = function(a,i,j) { var tmp = a[i]; a[i] = a[j]; a[j] = tmp; }; var haxe_ds_BalancedTree = function() { }; $hxClasses["haxe.ds.BalancedTree"] = haxe_ds_BalancedTree; haxe_ds_BalancedTree.__name__ = "haxe.ds.BalancedTree"; haxe_ds_BalancedTree.__interfaces__ = [haxe_IMap]; haxe_ds_BalancedTree.prototype = { root: null ,set: function(key,value) { this.root = this.setLoop(key,value,this.root); } ,get: function(key) { var node = this.root; while(node != null) { var c = this.compare(key,node.key); if(c == 0) { return node.value; } if(c < 0) { node = node.left; } else { node = node.right; } } return null; } ,remove: function(key) { try { this.root = this.removeLoop(key,this.root); return true; } catch( e ) { haxe_CallStack.lastException = e; var e1 = ((e) instanceof js__$Boot_HaxeError) ? e.val : e; if(typeof(e1) == "string") { var e2 = e1; return false; } else { throw e; } } } ,exists: function(key) { var node = this.root; while(node != null) { var c = this.compare(key,node.key); if(c == 0) { return true; } else if(c < 0) { node = node.left; } else { node = node.right; } } return false; } ,iterator: function() { var ret = []; this.iteratorLoop(this.root,ret); return HxOverrides.iter(ret); } ,keyValueIterator: function() { return new haxe_iterators_MapKeyValueIterator(this); } ,keys: function() { var ret = []; this.keysLoop(this.root,ret); return HxOverrides.iter(ret); } ,setLoop: function(k,v,node) { if(node == null) { return new haxe_ds_TreeNode(null,k,v,null); } var c = this.compare(k,node.key); if(c == 0) { return new haxe_ds_TreeNode(node.left,k,v,node.right,node == null ? 0 : node._height); } else if(c < 0) { var nl = this.setLoop(k,v,node.left); return this.balance(nl,node.key,node.value,node.right); } else { var nr = this.setLoop(k,v,node.right); return this.balance(node.left,node.key,node.value,nr); } } ,removeLoop: function(k,node) { if(node == null) { throw new js__$Boot_HaxeError("Not_found"); } var c = this.compare(k,node.key); if(c == 0) { return this.merge(node.left,node.right); } else if(c < 0) { return this.balance(this.removeLoop(k,node.left),node.key,node.value,node.right); } else { return this.balance(node.left,node.key,node.value,this.removeLoop(k,node.right)); } } ,iteratorLoop: function(node,acc) { if(node != null) { this.iteratorLoop(node.left,acc); acc.push(node.value); this.iteratorLoop(node.right,acc); } } ,keysLoop: function(node,acc) { if(node != null) { this.keysLoop(node.left,acc); acc.push(node.key); this.keysLoop(node.right,acc); } } ,merge: function(t1,t2) { if(t1 == null) { return t2; } if(t2 == null) { return t1; } var t = this.minBinding(t2); return this.balance(t1,t.key,t.value,this.removeMinBinding(t2)); } ,minBinding: function(t) { if(t == null) { throw new js__$Boot_HaxeError("Not_found"); } else if(t.left == null) { return t; } else { return this.minBinding(t.left); } } ,removeMinBinding: function(t) { if(t.left == null) { return t.right; } else { return this.balance(this.removeMinBinding(t.left),t.key,t.value,t.right); } } ,balance: function(l,k,v,r) { var hl = l == null ? 0 : l._height; var hr = r == null ? 0 : r._height; if(hl > hr + 2) { var _this = l.left; var _this1 = l.right; if((_this == null ? 0 : _this._height) >= (_this1 == null ? 0 : _this1._height)) { return new haxe_ds_TreeNode(l.left,l.key,l.value,new haxe_ds_TreeNode(l.right,k,v,r)); } else { return new haxe_ds_TreeNode(new haxe_ds_TreeNode(l.left,l.key,l.value,l.right.left),l.right.key,l.right.value,new haxe_ds_TreeNode(l.right.right,k,v,r)); } } else if(hr > hl + 2) { var _this2 = r.right; var _this3 = r.left; if((_this2 == null ? 0 : _this2._height) > (_this3 == null ? 0 : _this3._height)) { return new haxe_ds_TreeNode(new haxe_ds_TreeNode(l,k,v,r.left),r.key,r.value,r.right); } else { return new haxe_ds_TreeNode(new haxe_ds_TreeNode(l,k,v,r.left.left),r.left.key,r.left.value,new haxe_ds_TreeNode(r.left.right,r.key,r.value,r.right)); } } else { return new haxe_ds_TreeNode(l,k,v,r,(hl > hr ? hl : hr) + 1); } } ,compare: function(k1,k2) { return Reflect.compare(k1,k2); } ,__class__: haxe_ds_BalancedTree }; var haxe_ds_TreeNode = function(l,k,v,r,h) { if(h == null) { h = -1; } this.left = l; this.key = k; this.value = v; this.right = r; if(h == -1) { var tmp; var _this = this.left; var _this1 = this.right; if((_this == null ? 0 : _this._height) > (_this1 == null ? 0 : _this1._height)) { var _this2 = this.left; tmp = _this2 == null ? 0 : _this2._height; } else { var _this3 = this.right; tmp = _this3 == null ? 0 : _this3._height; } this._height = tmp + 1; } else { this._height = h; } }; $hxClasses["haxe.ds.TreeNode"] = haxe_ds_TreeNode; haxe_ds_TreeNode.__name__ = "haxe.ds.TreeNode"; haxe_ds_TreeNode.prototype = { left: null ,right: null ,key: null ,value: null ,_height: null ,__class__: haxe_ds_TreeNode }; var haxe_ds_EnumValueMap = function() { haxe_ds_BalancedTree.call(this); }; $hxClasses["haxe.ds.EnumValueMap"] = haxe_ds_EnumValueMap; haxe_ds_EnumValueMap.__name__ = "haxe.ds.EnumValueMap"; haxe_ds_EnumValueMap.__interfaces__ = [haxe_IMap]; haxe_ds_EnumValueMap.__super__ = haxe_ds_BalancedTree; haxe_ds_EnumValueMap.prototype = $extend(haxe_ds_BalancedTree.prototype,{ compare: function(k1,k2) { var d = k1._hx_index - k2._hx_index; if(d != 0) { return d; } var p1 = Type.enumParameters(k1); var p2 = Type.enumParameters(k2); if(p1.length == 0 && p2.length == 0) { return 0; } return this.compareArgs(p1,p2); } ,compareArgs: function(a1,a2) { var ld = a1.length - a2.length; if(ld != 0) { return ld; } var _g = 0; var _g1 = a1.length; while(_g < _g1) { var i = _g++; var d = this.compareArg(a1[i],a2[i]); if(d != 0) { return d; } } return 0; } ,compareArg: function(v1,v2) { if(Reflect.isEnumValue(v1) && Reflect.isEnumValue(v2)) { return this.compare(v1,v2); } else if(((v1) instanceof Array) && ((v2) instanceof Array)) { return this.compareArgs(v1,v2); } else { return Reflect.compare(v1,v2); } } ,__class__: haxe_ds_EnumValueMap }); var haxe_ds_GenericCell = function(elt,next) { this.elt = elt; this.next = next; }; $hxClasses["haxe.ds.GenericCell"] = haxe_ds_GenericCell; haxe_ds_GenericCell.__name__ = "haxe.ds.GenericCell"; haxe_ds_GenericCell.prototype = { elt: null ,next: null ,__class__: haxe_ds_GenericCell }; var haxe_ds_GenericStack = function() { }; $hxClasses["haxe.ds.GenericStack"] = haxe_ds_GenericStack; haxe_ds_GenericStack.__name__ = "haxe.ds.GenericStack"; haxe_ds_GenericStack.prototype = { head: null ,__class__: haxe_ds_GenericStack }; var haxe_ds_IntMap = function() { this.h = { }; }; $hxClasses["haxe.ds.IntMap"] = haxe_ds_IntMap; haxe_ds_IntMap.__name__ = "haxe.ds.IntMap"; haxe_ds_IntMap.__interfaces__ = [haxe_IMap]; haxe_ds_IntMap.prototype = { h: null ,set: function(key,value) { this.h[key] = value; } ,get: function(key) { return this.h[key]; } ,exists: function(key) { return this.h.hasOwnProperty(key); } ,remove: function(key) { if(!this.h.hasOwnProperty(key)) { return false; } delete(this.h[key]); return true; } ,keys: function() { var a = []; for( var key in this.h ) (this.h.hasOwnProperty(key) ? a.push(key | 0) : null); return HxOverrides.iter(a); } ,iterator: function() { return { ref : this.h, it : this.keys(), hasNext : function() { return this.it.hasNext(); }, next : function() { var i = this.it.next(); return this.ref[i]; }}; } ,keyValueIterator: function() { return new haxe_iterators_MapKeyValueIterator(this); } ,__class__: haxe_ds_IntMap }; var haxe_ds__$List_ListNode = function(item,next) { this.item = item; this.next = next; }; $hxClasses["haxe.ds._List.ListNode"] = haxe_ds__$List_ListNode; haxe_ds__$List_ListNode.__name__ = "haxe.ds._List.ListNode"; haxe_ds__$List_ListNode.prototype = { item: null ,next: null ,__class__: haxe_ds__$List_ListNode }; var haxe_ds__$List_ListIterator = function(head) { this.head = head; }; $hxClasses["haxe.ds._List.ListIterator"] = haxe_ds__$List_ListIterator; haxe_ds__$List_ListIterator.__name__ = "haxe.ds._List.ListIterator"; haxe_ds__$List_ListIterator.prototype = { head: null ,hasNext: function() { return this.head != null; } ,next: function() { var val = this.head.item; this.head = this.head.next; return val; } ,__class__: haxe_ds__$List_ListIterator }; var haxe_ds__$StringMap_StringMapIterator = function(map,keys) { this.map = map; this.keys = keys; this.index = 0; this.count = keys.length; }; $hxClasses["haxe.ds._StringMap.StringMapIterator"] = haxe_ds__$StringMap_StringMapIterator; haxe_ds__$StringMap_StringMapIterator.__name__ = "haxe.ds._StringMap.StringMapIterator"; haxe_ds__$StringMap_StringMapIterator.prototype = { map: null ,keys: null ,index: null ,count: null ,hasNext: function() { return this.index < this.count; } ,next: function() { var _this = this.map; var key = this.keys[this.index++]; if(__map_reserved[key] != null) { return _this.getReserved(key); } else { return _this.h[key]; } } ,__class__: haxe_ds__$StringMap_StringMapIterator }; var haxe_ds_StringMap = function() { this.h = { }; }; $hxClasses["haxe.ds.StringMap"] = haxe_ds_StringMap; haxe_ds_StringMap.__name__ = "haxe.ds.StringMap"; haxe_ds_StringMap.__interfaces__ = [haxe_IMap]; haxe_ds_StringMap.prototype = { h: null ,rh: null ,set: function(key,value) { if(__map_reserved[key] != null) { this.setReserved(key,value); } else { this.h[key] = value; } } ,get: function(key) { if(__map_reserved[key] != null) { return this.getReserved(key); } return this.h[key]; } ,exists: function(key) { if(__map_reserved[key] != null) { return this.existsReserved(key); } return this.h.hasOwnProperty(key); } ,setReserved: function(key,value) { if(this.rh == null) { this.rh = { }; } this.rh["$" + key] = value; } ,getReserved: function(key) { if(this.rh == null) { return null; } else { return this.rh["$" + key]; } } ,existsReserved: function(key) { if(this.rh == null) { return false; } return this.rh.hasOwnProperty("$" + key); } ,remove: function(key) { if(__map_reserved[key] != null) { key = "$" + key; if(this.rh == null || !this.rh.hasOwnProperty(key)) { return false; } delete(this.rh[key]); return true; } else { if(!this.h.hasOwnProperty(key)) { return false; } delete(this.h[key]); return true; } } ,keys: function() { return HxOverrides.iter(this.arrayKeys()); } ,arrayKeys: function() { var out = []; for( var key in this.h ) { if(this.h.hasOwnProperty(key)) { out.push(key); } } if(this.rh != null) { for( var key in this.rh ) { if(key.charCodeAt(0) == 36) { out.push(key.substr(1)); } } } return out; } ,iterator: function() { return new haxe_ds__$StringMap_StringMapIterator(this,this.arrayKeys()); } ,keyValueIterator: function() { return new haxe_iterators_MapKeyValueIterator(this); } ,toString: function() { var s_b = ""; s_b += "{"; var keys = this.arrayKeys(); var _g = 0; var _g1 = keys.length; while(_g < _g1) { var i = _g++; var k = keys[i]; s_b += k == null ? "null" : "" + k; s_b += " => "; s_b += Std.string(Std.string(__map_reserved[k] != null ? this.getReserved(k) : this.h[k])); if(i < keys.length - 1) { s_b += ", "; } } s_b += "}"; return s_b; } ,__class__: haxe_ds_StringMap }; var haxe_http_HttpBase = function(url) { this.url = url; this.headers = []; this.params = []; this.emptyOnData = $bind(this,this.onData); }; $hxClasses["haxe.http.HttpBase"] = haxe_http_HttpBase; haxe_http_HttpBase.__name__ = "haxe.http.HttpBase"; haxe_http_HttpBase.prototype = { url: null ,responseBytes: null ,responseAsString: null ,postData: null ,postBytes: null ,headers: null ,params: null ,emptyOnData: null ,setParameter: function(name,value) { var _g = 0; var _g1 = this.params.length; while(_g < _g1) { var i = _g++; if(this.params[i].name == name) { this.params[i] = { name : name, value : value}; return; } } this.params.push({ name : name, value : value}); } ,onData: function(data) { } ,onBytes: function(data) { } ,onError: function(msg) { } ,onStatus: function(status) { } ,hasOnData: function() { return !Reflect.compareMethods($bind(this,this.onData),this.emptyOnData); } ,success: function(data) { this.responseBytes = data; this.responseAsString = null; if(this.hasOnData()) { this.onData(this.get_responseData()); } this.onBytes(this.responseBytes); } ,get_responseData: function() { if(this.responseAsString == null && this.responseBytes != null) { this.responseAsString = this.responseBytes.getString(0,this.responseBytes.length,haxe_io_Encoding.UTF8); } return this.responseAsString; } ,__class__: haxe_http_HttpBase ,__properties__: {get_responseData:"get_responseData"} }; var haxe_http_HttpJs = function(url) { this.async = true; this.withCredentials = false; haxe_http_HttpBase.call(this,url); }; $hxClasses["haxe.http.HttpJs"] = haxe_http_HttpJs; haxe_http_HttpJs.__name__ = "haxe.http.HttpJs"; haxe_http_HttpJs.__super__ = haxe_http_HttpBase; haxe_http_HttpJs.prototype = $extend(haxe_http_HttpBase.prototype,{ async: null ,withCredentials: null ,req: null ,request: function(post) { var _gthis = this; this.responseAsString = null; this.responseBytes = null; var r = this.req = js_Browser.createXMLHttpRequest(); var onreadystatechange = function(_) { if(r.readyState != 4) { return; } var s; try { s = r.status; } catch( e ) { haxe_CallStack.lastException = e; var e1 = ((e) instanceof js__$Boot_HaxeError) ? e.val : e; s = null; } if(s == 0 && typeof(window) != "undefined") { var protocol = window.location.protocol.toLowerCase(); var rlocalProtocol = new EReg("^(?:about|app|app-storage|.+-extension|file|res|widget):$",""); var isLocal = rlocalProtocol.match(protocol); if(isLocal) { s = r.response != null ? 200 : 404; } } if(s == undefined) { s = null; } if(s != null) { _gthis.onStatus(s); } if(s != null && s >= 200 && s < 400) { _gthis.req = null; var onreadystatechange1 = haxe_io_Bytes.ofData(r.response); _gthis.success(onreadystatechange1); } else if(s == null) { _gthis.req = null; _gthis.onError("Failed to connect or resolve host"); } else if(s == null) { _gthis.req = null; _gthis.responseBytes = haxe_io_Bytes.ofData(r.response); _gthis.onError("Http Error #" + r.status); } else { switch(s) { case 12007: _gthis.req = null; _gthis.onError("Unknown host"); break; case 12029: _gthis.req = null; _gthis.onError("Failed to connect to host"); break; default: _gthis.req = null; _gthis.responseBytes = haxe_io_Bytes.ofData(r.response); _gthis.onError("Http Error #" + r.status); } } }; if(this.async) { r.onreadystatechange = onreadystatechange; } var uri; var _g = this.postBytes; var _g1 = this.postData; if(_g1 == null) { if(_g == null) { uri = null; } else { var bytes = _g; uri = new Blob([bytes.b.bufferValue]); } } else if(_g == null) { var str = _g1; uri = str; } else { uri = null; } if(uri != null) { post = true; } else { var _g2 = 0; var _g3 = this.params; while(_g2 < _g3.length) { var p = _g3[_g2]; ++_g2; if(uri == null) { uri = ""; } else { uri = Std.string(uri) + "&"; } var s1 = p.name; var value = Std.string(uri) + encodeURIComponent(s1) + "="; var s2 = p.value; uri = value + encodeURIComponent(s2); } } try { if(post) { r.open("POST",this.url,this.async); } else if(uri != null) { var question = this.url.split("?").length <= 1; r.open("GET",this.url + (question ? "?" : "&") + Std.string(uri),this.async); uri = null; } else { r.open("GET",this.url,this.async); } r.responseType = "arraybuffer"; } catch( e2 ) { haxe_CallStack.lastException = e2; var e3 = ((e2) instanceof js__$Boot_HaxeError) ? e2.val : e2; this.req = null; this.onError(e3.toString()); return; } r.withCredentials = this.withCredentials; if(!Lambda.exists(this.headers,function(h) { return h.name == "Content-Type"; }) && post && this.postData == null) { r.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); } var _g21 = 0; var _g31 = this.headers; while(_g21 < _g31.length) { var h1 = _g31[_g21]; ++_g21; r.setRequestHeader(h1.name,h1.value); } r.send(uri); if(!this.async) { onreadystatechange(null); } } ,__class__: haxe_http_HttpJs }); var haxe_io_BytesBuffer = function() { this.pos = 0; this.size = 0; }; $hxClasses["haxe.io.BytesBuffer"] = haxe_io_BytesBuffer; haxe_io_BytesBuffer.__name__ = "haxe.io.BytesBuffer"; haxe_io_BytesBuffer.prototype = { buffer: null ,view: null ,u8: null ,pos: null ,size: null ,addByte: function(byte) { if(this.pos == this.size) { this.grow(1); } this.view.setUint8(this.pos++,byte); } ,add: function(src) { if(this.pos + src.length > this.size) { this.grow(src.length); } if(this.size == 0) { return; } var sub = new Uint8Array(src.b.buffer,src.b.byteOffset,src.length); this.u8.set(sub,this.pos); this.pos += src.length; } ,addBytes: function(src,pos,len) { if(pos < 0 || len < 0 || pos + len > src.length) { throw new js__$Boot_HaxeError(haxe_io_Error.OutsideBounds); } if(this.pos + len > this.size) { this.grow(len); } if(this.size == 0) { return; } var sub = new Uint8Array(src.b.buffer,src.b.byteOffset + pos,len); this.u8.set(sub,this.pos); this.pos += len; } ,grow: function(delta) { var req = this.pos + delta; var nsize = this.size == 0 ? 16 : this.size; while(nsize < req) nsize = nsize * 3 >> 1; var nbuf = new ArrayBuffer(nsize); var nu8 = new Uint8Array(nbuf); if(this.size > 0) { nu8.set(this.u8); } this.size = nsize; this.buffer = nbuf; this.u8 = nu8; this.view = new DataView(this.buffer); } ,getBytes: function() { if(this.size == 0) { return new haxe_io_Bytes(new ArrayBuffer(0)); } var b = new haxe_io_Bytes(this.buffer); b.length = this.pos; return b; } ,__class__: haxe_io_BytesBuffer }; var haxe_io_Input = function() { }; $hxClasses["haxe.io.Input"] = haxe_io_Input; haxe_io_Input.__name__ = "haxe.io.Input"; haxe_io_Input.prototype = { bigEndian: null ,readByte: function() { throw new js__$Boot_HaxeError("Not implemented"); } ,readBytes: function(s,pos,len) { var k = len; var b = s.b; if(pos < 0 || len < 0 || pos + len > s.length) { throw new js__$Boot_HaxeError(haxe_io_Error.OutsideBounds); } try { while(k > 0) { b[pos] = this.readByte(); ++pos; --k; } } catch( eof ) { haxe_CallStack.lastException = eof; var eof1 = ((eof) instanceof js__$Boot_HaxeError) ? eof.val : eof; if(((eof1) instanceof haxe_io_Eof)) { var eof2 = eof1; } else { throw eof; } } return len - k; } ,readFullBytes: function(s,pos,len) { while(len > 0) { var k = this.readBytes(s,pos,len); if(k == 0) { throw new js__$Boot_HaxeError(haxe_io_Error.Blocked); } pos += k; len -= k; } } ,read: function(nbytes) { var s = new haxe_io_Bytes(new ArrayBuffer(nbytes)); var p = 0; while(nbytes > 0) { var k = this.readBytes(s,p,nbytes); if(k == 0) { throw new js__$Boot_HaxeError(haxe_io_Error.Blocked); } p += k; nbytes -= k; } return s; } ,readInt16: function() { var ch1 = this.readByte(); var ch2 = this.readByte(); var n = this.bigEndian ? ch2 | ch1 << 8 : ch1 | ch2 << 8; if((n & 32768) != 0) { return n - 65536; } return n; } ,readUInt16: function() { var ch1 = this.readByte(); var ch2 = this.readByte(); if(this.bigEndian) { return ch2 | ch1 << 8; } else { return ch1 | ch2 << 8; } } ,readInt32: function() { var ch1 = this.readByte(); var ch2 = this.readByte(); var ch3 = this.readByte(); var ch4 = this.readByte(); if(this.bigEndian) { return ch4 | ch3 << 8 | ch2 << 16 | ch1 << 24; } else { return ch1 | ch2 << 8 | ch3 << 16 | ch4 << 24; } } ,readString: function(len,encoding) { var b = new haxe_io_Bytes(new ArrayBuffer(len)); this.readFullBytes(b,0,len); return b.getString(0,len,encoding); } ,__class__: haxe_io_Input }; var haxe_io_BytesInput = function(b,pos,len) { if(pos == null) { pos = 0; } if(len == null) { len = b.length - pos; } if(pos < 0 || len < 0 || pos + len > b.length) { throw new js__$Boot_HaxeError(haxe_io_Error.OutsideBounds); } this.b = b.b; this.pos = pos; this.len = len; this.totlen = len; }; $hxClasses["haxe.io.BytesInput"] = haxe_io_BytesInput; haxe_io_BytesInput.__name__ = "haxe.io.BytesInput"; haxe_io_BytesInput.__super__ = haxe_io_Input; haxe_io_BytesInput.prototype = $extend(haxe_io_Input.prototype,{ b: null ,pos: null ,len: null ,totlen: null ,readByte: function() { if(this.len == 0) { throw new js__$Boot_HaxeError(new haxe_io_Eof()); } this.len--; return this.b[this.pos++]; } ,readBytes: function(buf,pos,len) { if(pos < 0 || len < 0 || pos + len > buf.length) { throw new js__$Boot_HaxeError(haxe_io_Error.OutsideBounds); } if(this.len == 0 && len > 0) { throw new js__$Boot_HaxeError(new haxe_io_Eof()); } if(this.len < len) { len = this.len; } var b1 = this.b; var b2 = buf.b; var _g = 0; var _g1 = len; while(_g < _g1) { var i = _g++; b2[pos + i] = b1[this.pos + i]; } this.pos += len; this.len -= len; return len; } ,__class__: haxe_io_BytesInput }); var haxe_io_Encoding = $hxEnums["haxe.io.Encoding"] = { __ename__ : "haxe.io.Encoding", __constructs__ : ["UTF8","RawNative"] ,UTF8: {_hx_index:0,__enum__:"haxe.io.Encoding",toString:$estr} ,RawNative: {_hx_index:1,__enum__:"haxe.io.Encoding",toString:$estr} }; var haxe_io_Eof = function() { }; $hxClasses["haxe.io.Eof"] = haxe_io_Eof; haxe_io_Eof.__name__ = "haxe.io.Eof"; haxe_io_Eof.prototype = { toString: function() { return "Eof"; } ,__class__: haxe_io_Eof }; var haxe_io_Error = $hxEnums["haxe.io.Error"] = { __ename__ : "haxe.io.Error", __constructs__ : ["Blocked","Overflow","OutsideBounds","Custom"] ,Blocked: {_hx_index:0,__enum__:"haxe.io.Error",toString:$estr} ,Overflow: {_hx_index:1,__enum__:"haxe.io.Error",toString:$estr} ,OutsideBounds: {_hx_index:2,__enum__:"haxe.io.Error",toString:$estr} ,Custom: ($_=function(e) { return {_hx_index:3,e:e,__enum__:"haxe.io.Error",toString:$estr}; },$_.__params__ = ["e"],$_) }; var haxe_io_FPHelper = function() { }; $hxClasses["haxe.io.FPHelper"] = haxe_io_FPHelper; haxe_io_FPHelper.__name__ = "haxe.io.FPHelper"; haxe_io_FPHelper.i32ToFloat = function(i) { haxe_io_FPHelper.helper.setInt32(0,i,true); return haxe_io_FPHelper.helper.getFloat32(0,true); }; haxe_io_FPHelper.floatToI32 = function(f) { haxe_io_FPHelper.helper.setFloat32(0,f,true); return haxe_io_FPHelper.helper.getInt32(0,true); }; haxe_io_FPHelper.i64ToDouble = function(low,high) { haxe_io_FPHelper.helper.setInt32(0,low,true); haxe_io_FPHelper.helper.setInt32(4,high,true); return haxe_io_FPHelper.helper.getFloat64(0,true); }; haxe_io_FPHelper.doubleToI64 = function(v) { var i64 = haxe_io_FPHelper.i64tmp; haxe_io_FPHelper.helper.setFloat64(0,v,true); i64.low = haxe_io_FPHelper.helper.getInt32(0,true); i64.high = haxe_io_FPHelper.helper.getInt32(4,true); return i64; }; var haxe_io_Path = function(path) { switch(path) { case ".":case "..": this.dir = path; this.file = ""; return; } var c1 = path.lastIndexOf("/"); var c2 = path.lastIndexOf("\\"); if(c1 < c2) { this.dir = HxOverrides.substr(path,0,c2); path = HxOverrides.substr(path,c2 + 1,null); this.backslash = true; } else if(c2 < c1) { this.dir = HxOverrides.substr(path,0,c1); path = HxOverrides.substr(path,c1 + 1,null); } else { this.dir = null; } var cp = path.lastIndexOf("."); if(cp != -1) { this.ext = HxOverrides.substr(path,cp + 1,null); this.file = HxOverrides.substr(path,0,cp); } else { this.ext = null; this.file = path; } }; $hxClasses["haxe.io.Path"] = haxe_io_Path; haxe_io_Path.__name__ = "haxe.io.Path"; haxe_io_Path.withoutDirectory = function(path) { var s = new haxe_io_Path(path); s.dir = null; return s.toString(); }; haxe_io_Path.directory = function(path) { var s = new haxe_io_Path(path); if(s.dir == null) { return ""; } return s.dir; }; haxe_io_Path.extension = function(path) { var s = new haxe_io_Path(path); if(s.ext == null) { return ""; } return s.ext; }; haxe_io_Path.prototype = { dir: null ,file: null ,ext: null ,backslash: null ,toString: function() { return (this.dir == null ? "" : this.dir + (this.backslash ? "\\" : "/")) + this.file + (this.ext == null ? "" : "." + this.ext); } ,__class__: haxe_io_Path }; var haxe_iterators_MapKeyValueIterator = function(map) { this.map = map; this.keys = map.keys(); }; $hxClasses["haxe.iterators.MapKeyValueIterator"] = haxe_iterators_MapKeyValueIterator; haxe_iterators_MapKeyValueIterator.__name__ = "haxe.iterators.MapKeyValueIterator"; haxe_iterators_MapKeyValueIterator.prototype = { map: null ,keys: null ,hasNext: function() { return this.keys.hasNext(); } ,next: function() { var key = this.keys.next(); return { value : this.map.get(key), key : key}; } ,__class__: haxe_iterators_MapKeyValueIterator }; var haxe_xml__$Access_NodeAccess_$Impl_$ = {}; $hxClasses["haxe.xml._Access.NodeAccess_Impl_"] = haxe_xml__$Access_NodeAccess_$Impl_$; haxe_xml__$Access_NodeAccess_$Impl_$.__name__ = "haxe.xml._Access.NodeAccess_Impl_"; haxe_xml__$Access_NodeAccess_$Impl_$.resolve = function(this1,name) { var x = this1.elementsNamed(name).next(); if(x == null) { var xname; if(this1.nodeType == Xml.Document) { xname = "Document"; } else { if(this1.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element but found " + _$Xml_XmlType_$Impl_$.toString(this1.nodeType)); } xname = this1.nodeName; } throw new js__$Boot_HaxeError(xname + " is missing element " + name); } if(x.nodeType != Xml.Document && x.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Invalid nodeType " + _$Xml_XmlType_$Impl_$.toString(x.nodeType)); } var this2 = x; return this2; }; var haxe_xml__$Access_AttribAccess_$Impl_$ = {}; $hxClasses["haxe.xml._Access.AttribAccess_Impl_"] = haxe_xml__$Access_AttribAccess_$Impl_$; haxe_xml__$Access_AttribAccess_$Impl_$.__name__ = "haxe.xml._Access.AttribAccess_Impl_"; haxe_xml__$Access_AttribAccess_$Impl_$.resolve = function(this1,name) { if(this1.nodeType == Xml.Document) { throw new js__$Boot_HaxeError("Cannot access document attribute " + name); } var v = this1.get(name); if(v == null) { if(this1.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element but found " + _$Xml_XmlType_$Impl_$.toString(this1.nodeType)); } throw new js__$Boot_HaxeError(this1.nodeName + " is missing attribute " + name); } return v; }; var haxe_xml__$Access_HasAttribAccess_$Impl_$ = {}; $hxClasses["haxe.xml._Access.HasAttribAccess_Impl_"] = haxe_xml__$Access_HasAttribAccess_$Impl_$; haxe_xml__$Access_HasAttribAccess_$Impl_$.__name__ = "haxe.xml._Access.HasAttribAccess_Impl_"; haxe_xml__$Access_HasAttribAccess_$Impl_$.resolve = function(this1,name) { if(this1.nodeType == Xml.Document) { throw new js__$Boot_HaxeError("Cannot access document attribute " + name); } return this1.exists(name); }; var haxe_xml__$Access_HasNodeAccess_$Impl_$ = {}; $hxClasses["haxe.xml._Access.HasNodeAccess_Impl_"] = haxe_xml__$Access_HasNodeAccess_$Impl_$; haxe_xml__$Access_HasNodeAccess_$Impl_$.__name__ = "haxe.xml._Access.HasNodeAccess_Impl_"; haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve = function(this1,name) { return this1.elementsNamed(name).hasNext(); }; var haxe_xml__$Access_NodeListAccess_$Impl_$ = {}; $hxClasses["haxe.xml._Access.NodeListAccess_Impl_"] = haxe_xml__$Access_NodeListAccess_$Impl_$; haxe_xml__$Access_NodeListAccess_$Impl_$.__name__ = "haxe.xml._Access.NodeListAccess_Impl_"; haxe_xml__$Access_NodeListAccess_$Impl_$.resolve = function(this1,name) { var l = []; var x = this1.elementsNamed(name); while(x.hasNext()) { var x1 = x.next(); if(x1.nodeType != Xml.Document && x1.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Invalid nodeType " + _$Xml_XmlType_$Impl_$.toString(x1.nodeType)); } var this2 = x1; l.push(this2); } return l; }; var haxe_xml_XmlParserException = function(message,xml,position) { this.xml = xml; this.message = message; this.position = position; this.lineNumber = 1; this.positionAtLine = 0; var _g = 0; var _g1 = position; while(_g < _g1) { var i = _g++; var c = xml.charCodeAt(i); if(c == 10) { this.lineNumber++; this.positionAtLine = 0; } else if(c != 13) { this.positionAtLine++; } } }; $hxClasses["haxe.xml.XmlParserException"] = haxe_xml_XmlParserException; haxe_xml_XmlParserException.__name__ = "haxe.xml.XmlParserException"; haxe_xml_XmlParserException.prototype = { message: null ,lineNumber: null ,positionAtLine: null ,position: null ,xml: null ,toString: function() { var c = js_Boot.getClass(this); return c.__name__ + ": " + this.message + " at line " + this.lineNumber + " char " + this.positionAtLine; } ,__class__: haxe_xml_XmlParserException }; var haxe_xml_Parser = function() { }; $hxClasses["haxe.xml.Parser"] = haxe_xml_Parser; haxe_xml_Parser.__name__ = "haxe.xml.Parser"; haxe_xml_Parser.parse = function(str,strict) { if(strict == null) { strict = false; } var doc = Xml.createDocument(); haxe_xml_Parser.doParse(str,strict,0,doc); return doc; }; haxe_xml_Parser.doParse = function(str,strict,p,parent) { if(p == null) { p = 0; } var xml = null; var state = 1; var next = 1; var aname = null; var start = 0; var nsubs = 0; var nbrackets = 0; var c = str.charCodeAt(p); var buf = new StringBuf(); var escapeNext = 1; var attrValQuote = -1; while(c == c) { switch(state) { case 0: switch(c) { case 9:case 10:case 13:case 32: break; default: state = next; continue; } break; case 1: if(c == 60) { state = 0; next = 2; } else { start = p; state = 13; continue; } break; case 2: switch(c) { case 33: if(str.charCodeAt(p + 1) == 91) { p += 2; if(HxOverrides.substr(str,p,6).toUpperCase() != "CDATA[") { throw new js__$Boot_HaxeError(new haxe_xml_XmlParserException("Expected <![CDATA[",str,p)); } p += 5; state = 17; start = p + 1; } else if(str.charCodeAt(p + 1) == 68 || str.charCodeAt(p + 1) == 100) { if(HxOverrides.substr(str,p + 2,6).toUpperCase() != "OCTYPE") { throw new js__$Boot_HaxeError(new haxe_xml_XmlParserException("Expected <!DOCTYPE",str,p)); } p += 8; state = 16; start = p + 1; } else if(str.charCodeAt(p + 1) != 45 || str.charCodeAt(p + 2) != 45) { throw new js__$Boot_HaxeError(new haxe_xml_XmlParserException("Expected <!--",str,p)); } else { p += 2; state = 15; start = p + 1; } break; case 47: if(parent == null) { throw new js__$Boot_HaxeError(new haxe_xml_XmlParserException("Expected node name",str,p)); } start = p + 1; state = 0; next = 10; break; case 63: state = 14; start = p; break; default: state = 3; start = p; continue; } break; case 3: if(!(c >= 97 && c <= 122 || c >= 65 && c <= 90 || c >= 48 && c <= 57 || c == 58 || c == 46 || c == 95 || c == 45)) { if(p == start) { throw new js__$Boot_HaxeError(new haxe_xml_XmlParserException("Expected node name",str,p)); } xml = Xml.createElement(HxOverrides.substr(str,start,p - start)); parent.addChild(xml); ++nsubs; state = 0; next = 4; continue; } break; case 4: switch(c) { case 47: state = 11; break; case 62: state = 9; break; default: state = 5; start = p; continue; } break; case 5: if(!(c >= 97 && c <= 122 || c >= 65 && c <= 90 || c >= 48 && c <= 57 || c == 58 || c == 46 || c == 95 || c == 45)) { if(start == p) { throw new js__$Boot_HaxeError(new haxe_xml_XmlParserException("Expected attribute name",str,p)); } var tmp = HxOverrides.substr(str,start,p - start); aname = tmp; if(xml.exists(aname)) { throw new js__$Boot_HaxeError(new haxe_xml_XmlParserException("Duplicate attribute [" + aname + "]",str,p)); } state = 0; next = 6; continue; } break; case 6: if(c == 61) { state = 0; next = 7; } else { throw new js__$Boot_HaxeError(new haxe_xml_XmlParserException("Expected =",str,p)); } break; case 7: switch(c) { case 34:case 39: buf = new StringBuf(); state = 8; start = p + 1; attrValQuote = c; break; default: throw new js__$Boot_HaxeError(new haxe_xml_XmlParserException("Expected \"",str,p)); } break; case 8: switch(c) { case 38: var len = p - start; buf.b += len == null ? HxOverrides.substr(str,start,null) : HxOverrides.substr(str,start,len); state = 18; escapeNext = 8; start = p + 1; break; case 60:case 62: if(strict) { throw new js__$Boot_HaxeError(new haxe_xml_XmlParserException("Invalid unescaped " + String.fromCodePoint(c) + " in attribute value",str,p)); } else if(c == attrValQuote) { var len1 = p - start; buf.b += len1 == null ? HxOverrides.substr(str,start,null) : HxOverrides.substr(str,start,len1); var val = buf.b; buf = new StringBuf(); xml.set(aname,val); state = 0; next = 4; } break; default: if(c == attrValQuote) { var len2 = p - start; buf.b += len2 == null ? HxOverrides.substr(str,start,null) : HxOverrides.substr(str,start,len2); var val1 = buf.b; buf = new StringBuf(); xml.set(aname,val1); state = 0; next = 4; } } break; case 9: p = haxe_xml_Parser.doParse(str,strict,p,xml); start = p; state = 1; break; case 10: if(!(c >= 97 && c <= 122 || c >= 65 && c <= 90 || c >= 48 && c <= 57 || c == 58 || c == 46 || c == 95 || c == 45)) { if(start == p) { throw new js__$Boot_HaxeError(new haxe_xml_XmlParserException("Expected node name",str,p)); } var v = HxOverrides.substr(str,start,p - start); if(parent == null || parent.nodeType != 0) { throw new js__$Boot_HaxeError(new haxe_xml_XmlParserException("Unexpected </" + v + ">, tag is not open",str,p)); } if(parent.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element but found " + _$Xml_XmlType_$Impl_$.toString(parent.nodeType)); } if(v != parent.nodeName) { if(parent.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element but found " + _$Xml_XmlType_$Impl_$.toString(parent.nodeType)); } throw new js__$Boot_HaxeError(new haxe_xml_XmlParserException("Expected </" + parent.nodeName + ">",str,p)); } state = 0; next = 12; continue; } break; case 11: if(c == 62) { state = 1; } else { throw new js__$Boot_HaxeError(new haxe_xml_XmlParserException("Expected >",str,p)); } break; case 12: if(c == 62) { if(nsubs == 0) { parent.addChild(Xml.createPCData("")); } return p; } else { throw new js__$Boot_HaxeError(new haxe_xml_XmlParserException("Expected >",str,p)); } break; case 13: if(c == 60) { var len3 = p - start; buf.b += len3 == null ? HxOverrides.substr(str,start,null) : HxOverrides.substr(str,start,len3); var child = Xml.createPCData(buf.b); buf = new StringBuf(); parent.addChild(child); ++nsubs; state = 0; next = 2; } else if(c == 38) { var len4 = p - start; buf.b += len4 == null ? HxOverrides.substr(str,start,null) : HxOverrides.substr(str,start,len4); state = 18; escapeNext = 13; start = p + 1; } break; case 14: if(c == 63 && str.charCodeAt(p + 1) == 62) { ++p; var str1 = HxOverrides.substr(str,start + 1,p - start - 2); parent.addChild(Xml.createProcessingInstruction(str1)); ++nsubs; state = 1; } break; case 15: if(c == 45 && str.charCodeAt(p + 1) == 45 && str.charCodeAt(p + 2) == 62) { parent.addChild(Xml.createComment(HxOverrides.substr(str,start,p - start))); ++nsubs; p += 2; state = 1; } break; case 16: if(c == 91) { ++nbrackets; } else if(c == 93) { --nbrackets; } else if(c == 62 && nbrackets == 0) { parent.addChild(Xml.createDocType(HxOverrides.substr(str,start,p - start))); ++nsubs; state = 1; } break; case 17: if(c == 93 && str.charCodeAt(p + 1) == 93 && str.charCodeAt(p + 2) == 62) { var child1 = Xml.createCData(HxOverrides.substr(str,start,p - start)); parent.addChild(child1); ++nsubs; p += 2; state = 1; } break; case 18: if(c == 59) { var s = HxOverrides.substr(str,start,p - start); if(s.charCodeAt(0) == 35) { var c1 = s.charCodeAt(1) == 120 ? Std.parseInt("0" + HxOverrides.substr(s,1,s.length - 1)) : Std.parseInt(HxOverrides.substr(s,1,s.length - 1)); buf.b += String.fromCodePoint(c1); } else { var _this = haxe_xml_Parser.escapes; if(!(__map_reserved[s] != null ? _this.existsReserved(s) : _this.h.hasOwnProperty(s))) { if(strict) { throw new js__$Boot_HaxeError(new haxe_xml_XmlParserException("Undefined entity: " + s,str,p)); } buf.b += Std.string("&" + s + ";"); } else { var _this1 = haxe_xml_Parser.escapes; var x = __map_reserved[s] != null ? _this1.getReserved(s) : _this1.h[s]; buf.b += Std.string(x); } } start = p + 1; state = escapeNext; } else if(!(c >= 97 && c <= 122 || c >= 65 && c <= 90 || c >= 48 && c <= 57 || c == 58 || c == 46 || c == 95 || c == 45) && c != 35) { if(strict) { throw new js__$Boot_HaxeError(new haxe_xml_XmlParserException("Invalid character in entity: " + String.fromCodePoint(c),str,p)); } buf.b += String.fromCodePoint(38); var len5 = p - start; buf.b += len5 == null ? HxOverrides.substr(str,start,null) : HxOverrides.substr(str,start,len5); --p; start = p + 1; state = escapeNext; } break; } c = str.charCodeAt(++p); } if(state == 1) { start = p; state = 13; } if(state == 13) { if(parent.nodeType == 0) { if(parent.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element but found " + _$Xml_XmlType_$Impl_$.toString(parent.nodeType)); } throw new js__$Boot_HaxeError(new haxe_xml_XmlParserException("Unclosed node <" + parent.nodeName + ">",str,p)); } if(p != start || nsubs == 0) { var len6 = p - start; buf.b += len6 == null ? HxOverrides.substr(str,start,null) : HxOverrides.substr(str,start,len6); parent.addChild(Xml.createPCData(buf.b)); ++nsubs; } return p; } if(!strict && state == 18 && escapeNext == 13) { buf.b += String.fromCodePoint(38); var len7 = p - start; buf.b += len7 == null ? HxOverrides.substr(str,start,null) : HxOverrides.substr(str,start,len7); parent.addChild(Xml.createPCData(buf.b)); ++nsubs; return p; } throw new js__$Boot_HaxeError(new haxe_xml_XmlParserException("Unexpected end",str,p)); }; var haxe_xml_Printer = function(pretty) { this.output = new StringBuf(); this.pretty = pretty; }; $hxClasses["haxe.xml.Printer"] = haxe_xml_Printer; haxe_xml_Printer.__name__ = "haxe.xml.Printer"; haxe_xml_Printer.print = function(xml,pretty) { if(pretty == null) { pretty = false; } var printer = new haxe_xml_Printer(pretty); printer.writeNode(xml,""); return printer.output.b; }; haxe_xml_Printer.prototype = { output: null ,pretty: null ,writeNode: function(value,tabs) { switch(value.nodeType) { case 0: this.output.b += Std.string(tabs + "<"); if(value.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element but found " + _$Xml_XmlType_$Impl_$.toString(value.nodeType)); } this.output.b += Std.string(value.nodeName); var attribute = value.attributes(); while(attribute.hasNext()) { var attribute1 = attribute.next(); this.output.b += Std.string(" " + attribute1 + "=\""); var input = StringTools.htmlEscape(value.get(attribute1),true); this.output.b += Std.string(input); this.output.b += "\""; } if(this.hasChildren(value)) { this.output.b += ">"; if(this.pretty) { this.output.b += "\n"; } if(value.nodeType != Xml.Document && value.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element or Document but found " + _$Xml_XmlType_$Impl_$.toString(value.nodeType)); } var child = HxOverrides.iter(value.children); while(child.hasNext()) { var child1 = child.next(); this.writeNode(child1,this.pretty ? tabs + "\t" : tabs); } this.output.b += Std.string(tabs + "</"); if(value.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element but found " + _$Xml_XmlType_$Impl_$.toString(value.nodeType)); } this.output.b += Std.string(value.nodeName); this.output.b += ">"; if(this.pretty) { this.output.b += "\n"; } } else { this.output.b += "/>"; if(this.pretty) { this.output.b += "\n"; } } break; case 1: if(value.nodeType == Xml.Document || value.nodeType == Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, unexpected " + _$Xml_XmlType_$Impl_$.toString(value.nodeType)); } var nodeValue = value.nodeValue; if(nodeValue.length != 0) { var input1 = tabs + StringTools.htmlEscape(nodeValue); this.output.b += Std.string(input1); if(this.pretty) { this.output.b += "\n"; } } break; case 2: this.output.b += Std.string(tabs + "<![CDATA["); if(value.nodeType == Xml.Document || value.nodeType == Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, unexpected " + _$Xml_XmlType_$Impl_$.toString(value.nodeType)); } this.output.b += Std.string(value.nodeValue); this.output.b += "]]>"; if(this.pretty) { this.output.b += "\n"; } break; case 3: if(value.nodeType == Xml.Document || value.nodeType == Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, unexpected " + _$Xml_XmlType_$Impl_$.toString(value.nodeType)); } var commentContent = value.nodeValue; var _this_r = new RegExp("[\n\r\t]+","g".split("u").join("")); commentContent = commentContent.replace(_this_r,""); commentContent = "<!--" + commentContent + "-->"; this.output.b += tabs == null ? "null" : "" + tabs; var input2 = StringTools.trim(commentContent); this.output.b += Std.string(input2); if(this.pretty) { this.output.b += "\n"; } break; case 4: if(value.nodeType == Xml.Document || value.nodeType == Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, unexpected " + _$Xml_XmlType_$Impl_$.toString(value.nodeType)); } this.output.b += Std.string("<!DOCTYPE " + value.nodeValue + ">"); if(this.pretty) { this.output.b += "\n"; } break; case 5: if(value.nodeType == Xml.Document || value.nodeType == Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, unexpected " + _$Xml_XmlType_$Impl_$.toString(value.nodeType)); } this.output.b += Std.string("<?" + value.nodeValue + "?>"); if(this.pretty) { this.output.b += "\n"; } break; case 6: if(value.nodeType != Xml.Document && value.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element or Document but found " + _$Xml_XmlType_$Impl_$.toString(value.nodeType)); } var child2 = HxOverrides.iter(value.children); while(child2.hasNext()) { var child3 = child2.next(); this.writeNode(child3,tabs); } break; } } ,hasChildren: function(value) { if(value.nodeType != Xml.Document && value.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element or Document but found " + _$Xml_XmlType_$Impl_$.toString(value.nodeType)); } var child = HxOverrides.iter(value.children); while(child.hasNext()) { var child1 = child.next(); switch(child1.nodeType) { case 0:case 1: return true; case 2:case 3: if(child1.nodeType == Xml.Document || child1.nodeType == Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, unexpected " + _$Xml_XmlType_$Impl_$.toString(child1.nodeType)); } if(StringTools.ltrim(child1.nodeValue).length != 0) { return true; } break; default: } } return false; } ,__class__: haxe_xml_Printer }; var haxe_zip_ExtraField = $hxEnums["haxe.zip.ExtraField"] = { __ename__ : "haxe.zip.ExtraField", __constructs__ : ["FUnknown","FInfoZipUnicodePath","FUtf8"] ,FUnknown: ($_=function(tag,bytes) { return {_hx_index:0,tag:tag,bytes:bytes,__enum__:"haxe.zip.ExtraField",toString:$estr}; },$_.__params__ = ["tag","bytes"],$_) ,FInfoZipUnicodePath: ($_=function(name,crc) { return {_hx_index:1,name:name,crc:crc,__enum__:"haxe.zip.ExtraField",toString:$estr}; },$_.__params__ = ["name","crc"],$_) ,FUtf8: {_hx_index:2,__enum__:"haxe.zip.ExtraField",toString:$estr} }; var haxe_zip_Huffman = $hxEnums["haxe.zip.Huffman"] = { __ename__ : "haxe.zip.Huffman", __constructs__ : ["Found","NeedBit","NeedBits"] ,Found: ($_=function(i) { return {_hx_index:0,i:i,__enum__:"haxe.zip.Huffman",toString:$estr}; },$_.__params__ = ["i"],$_) ,NeedBit: ($_=function(left,right) { return {_hx_index:1,left:left,right:right,__enum__:"haxe.zip.Huffman",toString:$estr}; },$_.__params__ = ["left","right"],$_) ,NeedBits: ($_=function(n,table) { return {_hx_index:2,n:n,table:table,__enum__:"haxe.zip.Huffman",toString:$estr}; },$_.__params__ = ["n","table"],$_) }; var haxe_zip_HuffTools = function() { }; $hxClasses["haxe.zip.HuffTools"] = haxe_zip_HuffTools; haxe_zip_HuffTools.__name__ = "haxe.zip.HuffTools"; haxe_zip_HuffTools.prototype = { treeDepth: function(t) { switch(t._hx_index) { case 0: var _g = t.i; return 0; case 1: var b = t.right; var a = t.left; var da = this.treeDepth(a); var db = this.treeDepth(b); return 1 + (da < db ? da : db); case 2: var _g2 = t.table; var _g1 = t.n; throw new js__$Boot_HaxeError("assert"); } } ,treeCompress: function(t) { var d = this.treeDepth(t); if(d == 0) { return t; } if(d == 1) { if(t._hx_index == 1) { var b = t.right; var a = t.left; return haxe_zip_Huffman.NeedBit(this.treeCompress(a),this.treeCompress(b)); } else { throw new js__$Boot_HaxeError("assert"); } } var size = 1 << d; var table = []; var _g = 0; var _g1 = size; while(_g < _g1) { var i = _g++; table.push(haxe_zip_Huffman.Found(-1)); } this.treeWalk(table,0,0,d,t); return haxe_zip_Huffman.NeedBits(d,table); } ,treeWalk: function(table,p,cd,d,t) { if(t._hx_index == 1) { var b = t.right; var a = t.left; if(d > 0) { this.treeWalk(table,p,cd + 1,d - 1,a); this.treeWalk(table,p | 1 << cd,cd + 1,d - 1,b); } else { table[p] = this.treeCompress(t); } } else { table[p] = this.treeCompress(t); } } ,treeMake: function(bits,maxbits,v,len) { if(len > maxbits) { throw new js__$Boot_HaxeError("Invalid huffman"); } var idx = v << 5 | len; if(bits.h.hasOwnProperty(idx)) { return haxe_zip_Huffman.Found(bits.h[idx]); } v <<= 1; ++len; return haxe_zip_Huffman.NeedBit(this.treeMake(bits,maxbits,v,len),this.treeMake(bits,maxbits,v | 1,len)); } ,make: function(lengths,pos,nlengths,maxbits) { if(nlengths == 1) { return haxe_zip_Huffman.NeedBit(haxe_zip_Huffman.Found(0),haxe_zip_Huffman.Found(0)); } var counts = []; var tmp = []; if(maxbits > 32) { throw new js__$Boot_HaxeError("Invalid huffman"); } var _g = 0; var _g1 = maxbits; while(_g < _g1) { var i = _g++; counts.push(0); tmp.push(0); } var _g2 = 0; var _g3 = nlengths; while(_g2 < _g3) { var i1 = _g2++; var p = lengths[i1 + pos]; if(p >= maxbits) { throw new js__$Boot_HaxeError("Invalid huffman"); } counts[p]++; } var code = 0; var _g4 = 1; var _g5 = maxbits - 1; while(_g4 < _g5) { var i2 = _g4++; code = code + counts[i2] << 1; tmp[i2] = code; } var bits = new haxe_ds_IntMap(); var _g6 = 0; var _g7 = nlengths; while(_g6 < _g7) { var i3 = _g6++; var l = lengths[i3 + pos]; if(l != 0) { var n = tmp[l - 1]; tmp[l - 1] = n + 1; bits.h[n << 5 | l] = i3; } } return this.treeCompress(haxe_zip_Huffman.NeedBit(this.treeMake(bits,maxbits,0,1),this.treeMake(bits,maxbits,1,1))); } ,__class__: haxe_zip_HuffTools }; var haxe_zip__$InflateImpl_Window = function(hasCrc) { this.buffer = new haxe_io_Bytes(new ArrayBuffer(65536)); this.pos = 0; if(hasCrc) { this.crc = new haxe_crypto_Adler32(); } }; $hxClasses["haxe.zip._InflateImpl.Window"] = haxe_zip__$InflateImpl_Window; haxe_zip__$InflateImpl_Window.__name__ = "haxe.zip._InflateImpl.Window"; haxe_zip__$InflateImpl_Window.prototype = { buffer: null ,pos: null ,crc: null ,slide: function() { if(this.crc != null) { this.crc.update(this.buffer,0,32768); } var b = new haxe_io_Bytes(new ArrayBuffer(65536)); this.pos -= 32768; b.blit(0,this.buffer,32768,this.pos); this.buffer = b; } ,addBytes: function(b,p,len) { if(this.pos + len > 65536) { this.slide(); } this.buffer.blit(this.pos,b,p,len); this.pos += len; } ,addByte: function(c) { if(this.pos == 65536) { this.slide(); } this.buffer.b[this.pos] = c & 255; this.pos++; } ,getLastChar: function() { return this.buffer.b[this.pos - 1]; } ,available: function() { return this.pos; } ,checksum: function() { if(this.crc != null) { this.crc.update(this.buffer,0,this.pos); } return this.crc; } ,__class__: haxe_zip__$InflateImpl_Window }; var haxe_zip__$InflateImpl_State = $hxEnums["haxe.zip._InflateImpl.State"] = { __ename__ : "haxe.zip._InflateImpl.State", __constructs__ : ["Head","Block","CData","Flat","Crc","Dist","DistOne","Done"] ,Head: {_hx_index:0,__enum__:"haxe.zip._InflateImpl.State",toString:$estr} ,Block: {_hx_index:1,__enum__:"haxe.zip._InflateImpl.State",toString:$estr} ,CData: {_hx_index:2,__enum__:"haxe.zip._InflateImpl.State",toString:$estr} ,Flat: {_hx_index:3,__enum__:"haxe.zip._InflateImpl.State",toString:$estr} ,Crc: {_hx_index:4,__enum__:"haxe.zip._InflateImpl.State",toString:$estr} ,Dist: {_hx_index:5,__enum__:"haxe.zip._InflateImpl.State",toString:$estr} ,DistOne: {_hx_index:6,__enum__:"haxe.zip._InflateImpl.State",toString:$estr} ,Done: {_hx_index:7,__enum__:"haxe.zip._InflateImpl.State",toString:$estr} }; var haxe_zip_InflateImpl = function(i,header,crc) { if(crc == null) { crc = true; } if(header == null) { header = true; } this.isFinal = false; this.htools = new haxe_zip_HuffTools(); this.huffman = this.buildFixedHuffman(); this.huffdist = null; this.len = 0; this.dist = 0; this.state = header ? haxe_zip__$InflateImpl_State.Head : haxe_zip__$InflateImpl_State.Block; this.input = i; this.bits = 0; this.nbits = 0; this.needed = 0; this.output = null; this.outpos = 0; this.lengths = []; this.lengths.push(-1); this.lengths.push(-1); this.lengths.push(-1); this.lengths.push(-1); this.lengths.push(-1); this.lengths.push(-1); this.lengths.push(-1); this.lengths.push(-1); this.lengths.push(-1); this.lengths.push(-1); this.lengths.push(-1); this.lengths.push(-1); this.lengths.push(-1); this.lengths.push(-1); this.lengths.push(-1); this.lengths.push(-1); this.lengths.push(-1); this.lengths.push(-1); this.lengths.push(-1); this.window = new haxe_zip__$InflateImpl_Window(crc); }; $hxClasses["haxe.zip.InflateImpl"] = haxe_zip_InflateImpl; haxe_zip_InflateImpl.__name__ = "haxe.zip.InflateImpl"; haxe_zip_InflateImpl.prototype = { nbits: null ,bits: null ,state: null ,isFinal: null ,huffman: null ,huffdist: null ,htools: null ,len: null ,dist: null ,needed: null ,output: null ,outpos: null ,input: null ,lengths: null ,window: null ,buildFixedHuffman: function() { if(haxe_zip_InflateImpl.FIXED_HUFFMAN != null) { return haxe_zip_InflateImpl.FIXED_HUFFMAN; } var a = []; var _g = 0; while(_g < 288) { var n = _g++; a.push(n <= 143 ? 8 : n <= 255 ? 9 : n <= 279 ? 7 : 8); } haxe_zip_InflateImpl.FIXED_HUFFMAN = this.htools.make(a,0,288,10); return haxe_zip_InflateImpl.FIXED_HUFFMAN; } ,readBytes: function(b,pos,len) { this.needed = len; this.outpos = pos; this.output = b; if(len > 0) { while(this.inflateLoop()) { } } return len - this.needed; } ,getBits: function(n) { while(this.nbits < n) { this.bits |= this.input.readByte() << this.nbits; this.nbits += 8; } var b = this.bits & (1 << n) - 1; this.nbits -= n; this.bits >>= n; return b; } ,getBit: function() { if(this.nbits == 0) { this.nbits = 8; this.bits = this.input.readByte(); } var b = (this.bits & 1) == 1; this.nbits--; this.bits >>= 1; return b; } ,getRevBits: function(n) { if(n == 0) { return 0; } else if(this.getBit()) { return 1 << n - 1 | this.getRevBits(n - 1); } else { return this.getRevBits(n - 1); } } ,resetBits: function() { this.bits = 0; this.nbits = 0; } ,addBytes: function(b,p,len) { this.window.addBytes(b,p,len); this.output.blit(this.outpos,b,p,len); this.needed -= len; this.outpos += len; } ,addByte: function(b) { this.window.addByte(b); this.output.b[this.outpos] = b & 255; this.needed--; this.outpos++; } ,addDistOne: function(n) { var c = this.window.getLastChar(); var _g = 0; var _g1 = n; while(_g < _g1) { var i = _g++; this.addByte(c); } } ,addDist: function(d,len) { this.addBytes(this.window.buffer,this.window.pos - d,len); } ,applyHuffman: function(h) { switch(h._hx_index) { case 0: var n = h.i; return n; case 1: var b = h.right; var a = h.left; return this.applyHuffman(this.getBit() ? b : a); case 2: var tbl = h.table; var n1 = h.n; return this.applyHuffman(tbl[this.getBits(n1)]); } } ,inflateLengths: function(a,max) { var i = 0; var prev = 0; while(i < max) { var n = this.applyHuffman(this.huffman); switch(n) { case 0:case 1:case 2:case 3:case 4:case 5:case 6:case 7:case 8:case 9:case 10:case 11:case 12:case 13:case 14:case 15: prev = n; a[i] = n; ++i; break; case 16: var end = i + 3 + this.getBits(2); if(end > max) { throw new js__$Boot_HaxeError("Invalid data"); } while(i < end) { a[i] = prev; ++i; } break; case 17: i += 3 + this.getBits(3); if(i > max) { throw new js__$Boot_HaxeError("Invalid data"); } break; case 18: i += 11 + this.getBits(7); if(i > max) { throw new js__$Boot_HaxeError("Invalid data"); } break; default: throw new js__$Boot_HaxeError("Invalid data"); } } } ,inflateLoop: function() { switch(this.state._hx_index) { case 0: var cmf = this.input.readByte(); var cm = cmf & 15; var cinfo = cmf >> 4; if(cm != 8) { throw new js__$Boot_HaxeError("Invalid data"); } var flg = this.input.readByte(); var fdict = (flg & 32) != 0; if(((cmf << 8) + flg) % 31 != 0) { throw new js__$Boot_HaxeError("Invalid data"); } if(fdict) { throw new js__$Boot_HaxeError("Unsupported dictionary"); } this.state = haxe_zip__$InflateImpl_State.Block; return true; case 1: this.isFinal = this.getBit(); switch(this.getBits(2)) { case 0: this.len = this.input.readUInt16(); var nlen = this.input.readUInt16(); if(nlen != 65535 - this.len) { throw new js__$Boot_HaxeError("Invalid data"); } this.state = haxe_zip__$InflateImpl_State.Flat; var r = this.inflateLoop(); this.resetBits(); return r; case 1: this.huffman = this.buildFixedHuffman(); this.huffdist = null; this.state = haxe_zip__$InflateImpl_State.CData; return true; case 2: var hlit = this.getBits(5) + 257; var hdist = this.getBits(5) + 1; var hclen = this.getBits(4) + 4; var _g = 0; var _g1 = hclen; while(_g < _g1) { var i = _g++; this.lengths[haxe_zip_InflateImpl.CODE_LENGTHS_POS[i]] = this.getBits(3); } var _g2 = hclen; var _g3 = 19; while(_g2 < _g3) { var i1 = _g2++; this.lengths[haxe_zip_InflateImpl.CODE_LENGTHS_POS[i1]] = 0; } this.huffman = this.htools.make(this.lengths,0,19,8); var lengths = []; var _g4 = 0; var _g5 = hlit + hdist; while(_g4 < _g5) { var i2 = _g4++; lengths.push(0); } this.inflateLengths(lengths,hlit + hdist); this.huffdist = this.htools.make(lengths,hlit,hdist,16); this.huffman = this.htools.make(lengths,0,hlit,16); this.state = haxe_zip__$InflateImpl_State.CData; return true; default: throw new js__$Boot_HaxeError("Invalid data"); } break; case 2: var n = this.applyHuffman(this.huffman); if(n < 256) { this.addByte(n); return this.needed > 0; } else if(n == 256) { this.state = this.isFinal ? haxe_zip__$InflateImpl_State.Crc : haxe_zip__$InflateImpl_State.Block; return true; } else { n -= 257; var extra_bits = haxe_zip_InflateImpl.LEN_EXTRA_BITS_TBL[n]; if(extra_bits == -1) { throw new js__$Boot_HaxeError("Invalid data"); } this.len = haxe_zip_InflateImpl.LEN_BASE_VAL_TBL[n] + this.getBits(extra_bits); var dist_code = this.huffdist == null ? this.getRevBits(5) : this.applyHuffman(this.huffdist); extra_bits = haxe_zip_InflateImpl.DIST_EXTRA_BITS_TBL[dist_code]; if(extra_bits == -1) { throw new js__$Boot_HaxeError("Invalid data"); } this.dist = haxe_zip_InflateImpl.DIST_BASE_VAL_TBL[dist_code] + this.getBits(extra_bits); if(this.dist > this.window.available()) { throw new js__$Boot_HaxeError("Invalid data"); } this.state = this.dist == 1 ? haxe_zip__$InflateImpl_State.DistOne : haxe_zip__$InflateImpl_State.Dist; return true; } break; case 3: var rlen = this.len < this.needed ? this.len : this.needed; var bytes = this.input.read(rlen); this.len -= rlen; this.addBytes(bytes,0,rlen); if(this.len == 0) { this.state = this.isFinal ? haxe_zip__$InflateImpl_State.Crc : haxe_zip__$InflateImpl_State.Block; } return this.needed > 0; case 4: var calc = this.window.checksum(); if(calc == null) { this.state = haxe_zip__$InflateImpl_State.Done; return true; } var crc = haxe_crypto_Adler32.read(this.input); if(!calc.equals(crc)) { throw new js__$Boot_HaxeError("Invalid CRC"); } this.state = haxe_zip__$InflateImpl_State.Done; return true; case 5: while(this.len > 0 && this.needed > 0) { var rdist = this.len < this.dist ? this.len : this.dist; var rlen1 = this.needed < rdist ? this.needed : rdist; this.addDist(this.dist,rlen1); this.len -= rlen1; } if(this.len == 0) { this.state = haxe_zip__$InflateImpl_State.CData; } return this.needed > 0; case 6: var rlen2 = this.len < this.needed ? this.len : this.needed; this.addDistOne(rlen2); this.len -= rlen2; if(this.len == 0) { this.state = haxe_zip__$InflateImpl_State.CData; } return this.needed > 0; case 7: return false; } } ,__class__: haxe_zip_InflateImpl }; var haxe_zip_Reader = function(i) { this.i = i; }; $hxClasses["haxe.zip.Reader"] = haxe_zip_Reader; haxe_zip_Reader.__name__ = "haxe.zip.Reader"; haxe_zip_Reader.readZip = function(i) { var r = new haxe_zip_Reader(i); return r.read(); }; haxe_zip_Reader.unzip = function(f) { if(!f.compressed) { return f.data; } throw new js__$Boot_HaxeError("No uncompress support"); }; haxe_zip_Reader.prototype = { i: null ,readZipDate: function() { var t = this.i.readUInt16(); var hour = t >> 11 & 31; var min = t >> 5 & 63; var sec = t & 31; var d = this.i.readUInt16(); var year = d >> 9; var month = d >> 5 & 15; var day = d & 31; return new Date(year + 1980,month - 1,day,hour,min,sec << 1); } ,readExtraFields: function(length) { var fields = new haxe_ds_List(); while(length > 0) { if(length < 4) { throw new js__$Boot_HaxeError("Invalid extra fields data"); } var tag = this.i.readUInt16(); var len = this.i.readUInt16(); if(length < len) { throw new js__$Boot_HaxeError("Invalid extra fields data"); } if(tag == 28789) { var version = this.i.readByte(); if(version != 1) { var data = new haxe_io_BytesBuffer(); data.addByte(version); data.add(this.i.read(len - 1)); fields.add(haxe_zip_ExtraField.FUnknown(tag,data.getBytes())); } else { var crc = this.i.readInt32(); var name = this.i.read(len - 5).toString(); fields.add(haxe_zip_ExtraField.FInfoZipUnicodePath(name,crc)); } } else { fields.add(haxe_zip_ExtraField.FUnknown(tag,this.i.read(len))); } length -= 4 + len; } return fields; } ,readEntryHeader: function() { var i = this.i; var h = i.readInt32(); if(h == 33639248 || h == 101010256) { return null; } if(h != 67324752) { throw new js__$Boot_HaxeError("Invalid Zip Data"); } var version = i.readUInt16(); var flags = i.readUInt16(); var utf8 = (flags & 2048) != 0; var compression = i.readUInt16(); var compressed = compression != 0; if(compressed && compression != 8) { throw new js__$Boot_HaxeError("Unsupported compression " + compression); } var mtime = this.readZipDate(); var crc32 = i.readInt32(); var csize = i.readInt32(); var usize = i.readInt32(); var fnamelen = i.readInt16(); var elen = i.readInt16(); var fname = i.readString(fnamelen); var fields = this.readExtraFields(elen); if(utf8) { fields.push(haxe_zip_ExtraField.FUtf8); } var data = null; if((flags & 8) != 0) { csize = -1; } return { fileName : fname, fileSize : usize, fileTime : mtime, compressed : compressed, dataSize : csize, data : data, crc32 : crc32, extraFields : fields}; } ,read: function() { var l = new haxe_ds_List(); var buf = null; var tmp = null; while(true) { var e = this.readEntryHeader(); if(e == null) { break; } if(e.dataSize < 0) { var bufSize = 65536; if(tmp == null) { tmp = new haxe_io_Bytes(new ArrayBuffer(bufSize)); } var out = new haxe_io_BytesBuffer(); var z = new haxe_zip_InflateImpl(this.i,false,false); while(true) { var n = z.readBytes(tmp,0,bufSize); out.addBytes(tmp,0,n); if(n < bufSize) { break; } } e.data = out.getBytes(); e.crc32 = this.i.readInt32(); if(e.crc32 == 134695760) { e.crc32 = this.i.readInt32(); } e.dataSize = this.i.readInt32(); e.fileSize = this.i.readInt32(); e.dataSize = e.fileSize; e.compressed = false; } else { e.data = this.i.read(e.dataSize); } l.add(e); } return l; } ,__class__: haxe_zip_Reader }; var hscript_Const = $hxEnums["hscript.Const"] = { __ename__ : "hscript.Const", __constructs__ : ["CInt","CFloat","CString"] ,CInt: ($_=function(v) { return {_hx_index:0,v:v,__enum__:"hscript.Const",toString:$estr}; },$_.__params__ = ["v"],$_) ,CFloat: ($_=function(f) { return {_hx_index:1,f:f,__enum__:"hscript.Const",toString:$estr}; },$_.__params__ = ["f"],$_) ,CString: ($_=function(s) { return {_hx_index:2,s:s,__enum__:"hscript.Const",toString:$estr}; },$_.__params__ = ["s"],$_) }; var hscript_Expr = $hxEnums["hscript.Expr"] = { __ename__ : "hscript.Expr", __constructs__ : ["EConst","EIdent","EVar","EParent","EBlock","EField","EBinop","EUnop","ECall","EIf","EWhile","EFor","EBreak","EContinue","EFunction","EReturn","EArray","EArrayDecl","ENew","EThrow","ETry","EObject","ETernary","ESwitch","EDoWhile","EMeta","ECheckType"] ,EConst: ($_=function(c) { return {_hx_index:0,c:c,__enum__:"hscript.Expr",toString:$estr}; },$_.__params__ = ["c"],$_) ,EIdent: ($_=function(v) { return {_hx_index:1,v:v,__enum__:"hscript.Expr",toString:$estr}; },$_.__params__ = ["v"],$_) ,EVar: ($_=function(n,t,e) { return {_hx_index:2,n:n,t:t,e:e,__enum__:"hscript.Expr",toString:$estr}; },$_.__params__ = ["n","t","e"],$_) ,EParent: ($_=function(e) { return {_hx_index:3,e:e,__enum__:"hscript.Expr",toString:$estr}; },$_.__params__ = ["e"],$_) ,EBlock: ($_=function(e) { return {_hx_index:4,e:e,__enum__:"hscript.Expr",toString:$estr}; },$_.__params__ = ["e"],$_) ,EField: ($_=function(e,f) { return {_hx_index:5,e:e,f:f,__enum__:"hscript.Expr",toString:$estr}; },$_.__params__ = ["e","f"],$_) ,EBinop: ($_=function(op,e1,e2) { return {_hx_index:6,op:op,e1:e1,e2:e2,__enum__:"hscript.Expr",toString:$estr}; },$_.__params__ = ["op","e1","e2"],$_) ,EUnop: ($_=function(op,prefix,e) { return {_hx_index:7,op:op,prefix:prefix,e:e,__enum__:"hscript.Expr",toString:$estr}; },$_.__params__ = ["op","prefix","e"],$_) ,ECall: ($_=function(e,params) { return {_hx_index:8,e:e,params:params,__enum__:"hscript.Expr",toString:$estr}; },$_.__params__ = ["e","params"],$_) ,EIf: ($_=function(cond,e1,e2) { return {_hx_index:9,cond:cond,e1:e1,e2:e2,__enum__:"hscript.Expr",toString:$estr}; },$_.__params__ = ["cond","e1","e2"],$_) ,EWhile: ($_=function(cond,e) { return {_hx_index:10,cond:cond,e:e,__enum__:"hscript.Expr",toString:$estr}; },$_.__params__ = ["cond","e"],$_) ,EFor: ($_=function(v,it,e) { return {_hx_index:11,v:v,it:it,e:e,__enum__:"hscript.Expr",toString:$estr}; },$_.__params__ = ["v","it","e"],$_) ,EBreak: {_hx_index:12,__enum__:"hscript.Expr",toString:$estr} ,EContinue: {_hx_index:13,__enum__:"hscript.Expr",toString:$estr} ,EFunction: ($_=function(args,e,name,ret) { return {_hx_index:14,args:args,e:e,name:name,ret:ret,__enum__:"hscript.Expr",toString:$estr}; },$_.__params__ = ["args","e","name","ret"],$_) ,EReturn: ($_=function(e) { return {_hx_index:15,e:e,__enum__:"hscript.Expr",toString:$estr}; },$_.__params__ = ["e"],$_) ,EArray: ($_=function(e,index) { return {_hx_index:16,e:e,index:index,__enum__:"hscript.Expr",toString:$estr}; },$_.__params__ = ["e","index"],$_) ,EArrayDecl: ($_=function(e) { return {_hx_index:17,e:e,__enum__:"hscript.Expr",toString:$estr}; },$_.__params__ = ["e"],$_) ,ENew: ($_=function(cl,params) { return {_hx_index:18,cl:cl,params:params,__enum__:"hscript.Expr",toString:$estr}; },$_.__params__ = ["cl","params"],$_) ,EThrow: ($_=function(e) { return {_hx_index:19,e:e,__enum__:"hscript.Expr",toString:$estr}; },$_.__params__ = ["e"],$_) ,ETry: ($_=function(e,v,t,ecatch) { return {_hx_index:20,e:e,v:v,t:t,ecatch:ecatch,__enum__:"hscript.Expr",toString:$estr}; },$_.__params__ = ["e","v","t","ecatch"],$_) ,EObject: ($_=function(fl) { return {_hx_index:21,fl:fl,__enum__:"hscript.Expr",toString:$estr}; },$_.__params__ = ["fl"],$_) ,ETernary: ($_=function(cond,e1,e2) { return {_hx_index:22,cond:cond,e1:e1,e2:e2,__enum__:"hscript.Expr",toString:$estr}; },$_.__params__ = ["cond","e1","e2"],$_) ,ESwitch: ($_=function(e,cases,defaultExpr) { return {_hx_index:23,e:e,cases:cases,defaultExpr:defaultExpr,__enum__:"hscript.Expr",toString:$estr}; },$_.__params__ = ["e","cases","defaultExpr"],$_) ,EDoWhile: ($_=function(cond,e) { return {_hx_index:24,cond:cond,e:e,__enum__:"hscript.Expr",toString:$estr}; },$_.__params__ = ["cond","e"],$_) ,EMeta: ($_=function(name,args,e) { return {_hx_index:25,name:name,args:args,e:e,__enum__:"hscript.Expr",toString:$estr}; },$_.__params__ = ["name","args","e"],$_) ,ECheckType: ($_=function(e,t) { return {_hx_index:26,e:e,t:t,__enum__:"hscript.Expr",toString:$estr}; },$_.__params__ = ["e","t"],$_) }; var hscript_CType = $hxEnums["hscript.CType"] = { __ename__ : "hscript.CType", __constructs__ : ["CTPath","CTFun","CTAnon","CTParent","CTOpt","CTNamed"] ,CTPath: ($_=function(path,params) { return {_hx_index:0,path:path,params:params,__enum__:"hscript.CType",toString:$estr}; },$_.__params__ = ["path","params"],$_) ,CTFun: ($_=function(args,ret) { return {_hx_index:1,args:args,ret:ret,__enum__:"hscript.CType",toString:$estr}; },$_.__params__ = ["args","ret"],$_) ,CTAnon: ($_=function(fields) { return {_hx_index:2,fields:fields,__enum__:"hscript.CType",toString:$estr}; },$_.__params__ = ["fields"],$_) ,CTParent: ($_=function(t) { return {_hx_index:3,t:t,__enum__:"hscript.CType",toString:$estr}; },$_.__params__ = ["t"],$_) ,CTOpt: ($_=function(t) { return {_hx_index:4,t:t,__enum__:"hscript.CType",toString:$estr}; },$_.__params__ = ["t"],$_) ,CTNamed: ($_=function(n,t) { return {_hx_index:5,n:n,t:t,__enum__:"hscript.CType",toString:$estr}; },$_.__params__ = ["n","t"],$_) }; var hscript_Error = $hxEnums["hscript.Error"] = { __ename__ : "hscript.Error", __constructs__ : ["EInvalidChar","EUnexpected","EUnterminatedString","EUnterminatedComment","EInvalidPreprocessor","EUnknownVariable","EInvalidIterator","EInvalidOp","EInvalidAccess","ECustom"] ,EInvalidChar: ($_=function(c) { return {_hx_index:0,c:c,__enum__:"hscript.Error",toString:$estr}; },$_.__params__ = ["c"],$_) ,EUnexpected: ($_=function(s) { return {_hx_index:1,s:s,__enum__:"hscript.Error",toString:$estr}; },$_.__params__ = ["s"],$_) ,EUnterminatedString: {_hx_index:2,__enum__:"hscript.Error",toString:$estr} ,EUnterminatedComment: {_hx_index:3,__enum__:"hscript.Error",toString:$estr} ,EInvalidPreprocessor: ($_=function(msg) { return {_hx_index:4,msg:msg,__enum__:"hscript.Error",toString:$estr}; },$_.__params__ = ["msg"],$_) ,EUnknownVariable: ($_=function(v) { return {_hx_index:5,v:v,__enum__:"hscript.Error",toString:$estr}; },$_.__params__ = ["v"],$_) ,EInvalidIterator: ($_=function(v) { return {_hx_index:6,v:v,__enum__:"hscript.Error",toString:$estr}; },$_.__params__ = ["v"],$_) ,EInvalidOp: ($_=function(op) { return {_hx_index:7,op:op,__enum__:"hscript.Error",toString:$estr}; },$_.__params__ = ["op"],$_) ,EInvalidAccess: ($_=function(f) { return {_hx_index:8,f:f,__enum__:"hscript.Error",toString:$estr}; },$_.__params__ = ["f"],$_) ,ECustom: ($_=function(msg) { return {_hx_index:9,msg:msg,__enum__:"hscript.Error",toString:$estr}; },$_.__params__ = ["msg"],$_) }; var hscript_ModuleDecl = $hxEnums["hscript.ModuleDecl"] = { __ename__ : "hscript.ModuleDecl", __constructs__ : ["DPackage","DImport","DClass","DTypedef"] ,DPackage: ($_=function(path) { return {_hx_index:0,path:path,__enum__:"hscript.ModuleDecl",toString:$estr}; },$_.__params__ = ["path"],$_) ,DImport: ($_=function(path,everything) { return {_hx_index:1,path:path,everything:everything,__enum__:"hscript.ModuleDecl",toString:$estr}; },$_.__params__ = ["path","everything"],$_) ,DClass: ($_=function(c) { return {_hx_index:2,c:c,__enum__:"hscript.ModuleDecl",toString:$estr}; },$_.__params__ = ["c"],$_) ,DTypedef: ($_=function(c) { return {_hx_index:3,c:c,__enum__:"hscript.ModuleDecl",toString:$estr}; },$_.__params__ = ["c"],$_) }; var hscript_FieldAccess = $hxEnums["hscript.FieldAccess"] = { __ename__ : "hscript.FieldAccess", __constructs__ : ["APublic","APrivate","AInline","AOverride","AStatic","AMacro"] ,APublic: {_hx_index:0,__enum__:"hscript.FieldAccess",toString:$estr} ,APrivate: {_hx_index:1,__enum__:"hscript.FieldAccess",toString:$estr} ,AInline: {_hx_index:2,__enum__:"hscript.FieldAccess",toString:$estr} ,AOverride: {_hx_index:3,__enum__:"hscript.FieldAccess",toString:$estr} ,AStatic: {_hx_index:4,__enum__:"hscript.FieldAccess",toString:$estr} ,AMacro: {_hx_index:5,__enum__:"hscript.FieldAccess",toString:$estr} }; var hscript_FieldKind = $hxEnums["hscript.FieldKind"] = { __ename__ : "hscript.FieldKind", __constructs__ : ["KFunction","KVar"] ,KFunction: ($_=function(f) { return {_hx_index:0,f:f,__enum__:"hscript.FieldKind",toString:$estr}; },$_.__params__ = ["f"],$_) ,KVar: ($_=function(v) { return {_hx_index:1,v:v,__enum__:"hscript.FieldKind",toString:$estr}; },$_.__params__ = ["v"],$_) }; var hscript__$Interp_Stop = $hxEnums["hscript._Interp.Stop"] = { __ename__ : "hscript._Interp.Stop", __constructs__ : ["SBreak","SContinue","SReturn"] ,SBreak: {_hx_index:0,__enum__:"hscript._Interp.Stop",toString:$estr} ,SContinue: {_hx_index:1,__enum__:"hscript._Interp.Stop",toString:$estr} ,SReturn: {_hx_index:2,__enum__:"hscript._Interp.Stop",toString:$estr} }; var hscript_Token = $hxEnums["hscript.Token"] = { __ename__ : "hscript.Token", __constructs__ : ["TEof","TConst","TId","TOp","TPOpen","TPClose","TBrOpen","TBrClose","TDot","TComma","TSemicolon","TBkOpen","TBkClose","TQuestion","TDoubleDot","TMeta","TPrepro"] ,TEof: {_hx_index:0,__enum__:"hscript.Token",toString:$estr} ,TConst: ($_=function(c) { return {_hx_index:1,c:c,__enum__:"hscript.Token",toString:$estr}; },$_.__params__ = ["c"],$_) ,TId: ($_=function(s) { return {_hx_index:2,s:s,__enum__:"hscript.Token",toString:$estr}; },$_.__params__ = ["s"],$_) ,TOp: ($_=function(s) { return {_hx_index:3,s:s,__enum__:"hscript.Token",toString:$estr}; },$_.__params__ = ["s"],$_) ,TPOpen: {_hx_index:4,__enum__:"hscript.Token",toString:$estr} ,TPClose: {_hx_index:5,__enum__:"hscript.Token",toString:$estr} ,TBrOpen: {_hx_index:6,__enum__:"hscript.Token",toString:$estr} ,TBrClose: {_hx_index:7,__enum__:"hscript.Token",toString:$estr} ,TDot: {_hx_index:8,__enum__:"hscript.Token",toString:$estr} ,TComma: {_hx_index:9,__enum__:"hscript.Token",toString:$estr} ,TSemicolon: {_hx_index:10,__enum__:"hscript.Token",toString:$estr} ,TBkOpen: {_hx_index:11,__enum__:"hscript.Token",toString:$estr} ,TBkClose: {_hx_index:12,__enum__:"hscript.Token",toString:$estr} ,TQuestion: {_hx_index:13,__enum__:"hscript.Token",toString:$estr} ,TDoubleDot: {_hx_index:14,__enum__:"hscript.Token",toString:$estr} ,TMeta: ($_=function(s) { return {_hx_index:15,s:s,__enum__:"hscript.Token",toString:$estr}; },$_.__params__ = ["s"],$_) ,TPrepro: ($_=function(s) { return {_hx_index:16,s:s,__enum__:"hscript.Token",toString:$estr}; },$_.__params__ = ["s"],$_) }; var hscript_Parser = function() { this.uid = 0; this.preprocesorValues = new haxe_ds_StringMap(); this.line = 1; this.opChars = "+*/-=!><&|^%~"; this.identChars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_"; var priorities = [["%"],["*","/"],["+","-"],["<<",">>",">>>"],["|","&","^"],["==","!=",">","<",">=","<="],["..."],["&&"],["||"],["=","+=","-=","*=","/=","%=","<<=",">>=",">>>=","|=","&=","^=","=>"]]; this.opPriority = new haxe_ds_StringMap(); this.opRightAssoc = new haxe_ds_StringMap(); this.unops = new haxe_ds_StringMap(); var _g = 0; var _g1 = priorities.length; while(_g < _g1) { var i = _g++; var _g2 = 0; var _g11 = priorities[i]; while(_g2 < _g11.length) { var x = _g11[_g2]; ++_g2; var _this = this.opPriority; if(__map_reserved[x] != null) { _this.setReserved(x,i); } else { _this.h[x] = i; } if(i == 9) { var _this1 = this.opRightAssoc; if(__map_reserved[x] != null) { _this1.setReserved(x,true); } else { _this1.h[x] = true; } } } } var x1 = "!"; var _this2 = this.unops; var value = x1 == "++" || x1 == "--"; if(__map_reserved[x1] != null) { _this2.setReserved(x1,value); } else { _this2.h[x1] = value; } var x2 = "++"; var _this3 = this.unops; var value1 = x2 == "++" || x2 == "--"; if(__map_reserved[x2] != null) { _this3.setReserved(x2,value1); } else { _this3.h[x2] = value1; } var x3 = "--"; var _this4 = this.unops; var value2 = x3 == "++" || x3 == "--"; if(__map_reserved[x3] != null) { _this4.setReserved(x3,value2); } else { _this4.h[x3] = value2; } var x4 = "-"; var _this5 = this.unops; var value3 = x4 == "++" || x4 == "--"; if(__map_reserved[x4] != null) { _this5.setReserved(x4,value3); } else { _this5.h[x4] = value3; } var x5 = "~"; var _this6 = this.unops; var value4 = x5 == "++" || x5 == "--"; if(__map_reserved[x5] != null) { _this6.setReserved(x5,value4); } else { _this6.h[x5] = value4; } }; $hxClasses["hscript.Parser"] = hscript_Parser; hscript_Parser.__name__ = "hscript.Parser"; hscript_Parser.prototype = { line: null ,opChars: null ,identChars: null ,opPriority: null ,opRightAssoc: null ,unops: null ,preprocesorValues: null ,allowJSON: null ,allowTypes: null ,allowMetadata: null ,resumeErrors: null ,input: null ,readPos: null ,char: null ,ops: null ,idents: null ,uid: null ,tokens: null ,error: function(err,pmin,pmax) { if(!this.resumeErrors) { throw new js__$Boot_HaxeError(err); } } ,invalidChar: function(c) { if(!this.resumeErrors) { throw new js__$Boot_HaxeError(hscript_Error.EInvalidChar(c)); } } ,initParser: function(origin) { this.preprocStack = []; this.tokens = new haxe_ds_GenericStack(); this.char = -1; this.ops = []; this.idents = []; this.uid = 0; var _g = 0; var _g1 = this.opChars.length; while(_g < _g1) { var i = _g++; this.ops[HxOverrides.cca(this.opChars,i)] = true; } var _g2 = 0; var _g3 = this.identChars.length; while(_g2 < _g3) { var i1 = _g2++; this.idents[HxOverrides.cca(this.identChars,i1)] = true; } } ,parseString: function(s,origin) { if(origin == null) { origin = "hscript"; } this.initParser(origin); this.input = s; this.readPos = 0; var a = []; while(true) { var tk = this.token(); if(tk == hscript_Token.TEof) { break; } var _this = this.tokens; _this.head = new haxe_ds_GenericCell(tk,_this.head); this.parseFullExpr(a); } if(a.length == 1) { return a[0]; } else { return hscript_Expr.EBlock(a); } } ,unexpected: function(tk) { var err = hscript_Error.EUnexpected(this.tokenString(tk)); if(!this.resumeErrors) { throw new js__$Boot_HaxeError(err); } return null; } ,push: function(tk) { var _this = this.tokens; _this.head = new haxe_ds_GenericCell(tk,_this.head); } ,ensure: function(tk) { var t = this.token(); if(t != tk) { this.unexpected(t); } } ,ensureToken: function(tk) { var t = this.token(); if(!Type.enumEq(t,tk)) { this.unexpected(t); } } ,maybe: function(tk) { var t = this.token(); if(Type.enumEq(t,tk)) { return true; } var _this = this.tokens; _this.head = new haxe_ds_GenericCell(t,_this.head); return false; } ,getIdent: function() { var tk = this.token(); if(tk == null) { this.unexpected(tk); return null; } else if(tk._hx_index == 2) { var id = tk.s; return id; } else { this.unexpected(tk); return null; } } ,expr: function(e) { return e; } ,pmin: function(e) { return 0; } ,pmax: function(e) { return 0; } ,mk: function(e,pmin,pmax) { return e; } ,isBlock: function(e) { if(e == null) { return false; } switch(e._hx_index) { case 2: var _g20 = e.n; var e1 = e.e; var t = e.t; if(e1 != null) { return this.isBlock(e1); } else if(t != null) { if(t == null) { return false; } else if(t._hx_index == 2) { var _g = t.fields; return true; } else { return false; } } else { return false; } break; case 4: var _g10 = e.e; return true; case 6: var _g28 = e.e1; var _g27 = e.op; var e2 = e.e2; return this.isBlock(e2); case 7: var _g7 = e.op; var e3 = e.e; var prefix = e.prefix; if(!prefix) { return this.isBlock(e3); } else { return false; } break; case 9: var _g1 = e.cond; var e21 = e.e2; var e11 = e.e1; if(e21 != null) { return this.isBlock(e21); } else { return this.isBlock(e11); } break; case 10: var _g11 = e.cond; var e4 = e.e; return this.isBlock(e4); case 11: var _g17 = e.it; var _g16 = e.v; var e5 = e.e; return this.isBlock(e5); case 14: var _g26 = e.ret; var _g25 = e.name; var _g23 = e.args; var e6 = e.e; return this.isBlock(e6); case 15: var e7 = e.e; if(e7 != null) { return this.isBlock(e7); } else { return false; } break; case 20: var _g5 = e.t; var _g4 = e.v; var _g3 = e.e; var e8 = e.ecatch; return this.isBlock(e8); case 21: var _g19 = e.fl; return true; case 23: var _g15 = e.defaultExpr; var _g14 = e.cases; var _g13 = e.e; return true; case 24: var _g30 = e.cond; var e9 = e.e; return this.isBlock(e9); case 25: var _g34 = e.args; var _g33 = e.name; var e10 = e.e; return this.isBlock(e10); default: return false; } } ,parseFullExpr: function(exprs) { var e = this.parseExpr(); exprs.push(e); var tk = this.token(); while(true) { var tmp; if(tk == hscript_Token.TComma && e != null) { if(e._hx_index == 2) { var _g2 = e.e; var _g1 = e.t; var _g = e.n; tmp = true; } else { tmp = false; } } else { tmp = false; } if(!tmp) { break; } e = this.parseStructure("var"); exprs.push(e); tk = this.token(); } if(tk != hscript_Token.TSemicolon && tk != hscript_Token.TEof) { if(this.isBlock(e)) { var _this = this.tokens; _this.head = new haxe_ds_GenericCell(tk,_this.head); } else { this.unexpected(tk); } } } ,parseObject: function(p1) { var fl = []; _hx_loop1: while(true) { var tk = this.token(); var id = null; if(tk == null) { this.unexpected(tk); break; } else { switch(tk._hx_index) { case 1: var c = tk.c; if(!this.allowJSON) { this.unexpected(tk); } if(c._hx_index == 2) { var s = c.s; id = s; } else { this.unexpected(tk); } break; case 2: var i = tk.s; id = i; break; case 7: break _hx_loop1; default: this.unexpected(tk); break _hx_loop1; } } var t = this.token(); if(t != hscript_Token.TDoubleDot) { this.unexpected(t); } fl.push({ name : id, e : this.parseExpr()}); tk = this.token(); if(tk == null) { this.unexpected(tk); } else { switch(tk._hx_index) { case 7: break _hx_loop1; case 9: break; default: this.unexpected(tk); } } } return this.parseExprNext(hscript_Expr.EObject(fl)); } ,parseExpr: function() { var tk = this.token(); if(tk == null) { return this.unexpected(tk); } else { switch(tk._hx_index) { case 1: var c = tk.c; return this.parseExprNext(hscript_Expr.EConst(c)); case 2: var id = tk.s; var e = this.parseStructure(id); if(e == null) { e = hscript_Expr.EIdent(id); } return this.parseExprNext(e); case 3: var op = tk.s; var _this = this.unops; if(__map_reserved[op] != null ? _this.existsReserved(op) : _this.h.hasOwnProperty(op)) { var start = 0; var e1 = this.parseExpr(); if(op == "-" && e1 != null) { if(e1._hx_index == 0) { var _g = e1.c; switch(_g._hx_index) { case 0: var i = _g.v; return hscript_Expr.EConst(hscript_Const.CInt(-i)); case 1: var f = _g.f; return hscript_Expr.EConst(hscript_Const.CFloat(-f)); default: } } } return this.makeUnop(op,e1); } return this.unexpected(tk); case 4: var e2 = this.parseExpr(); tk = this.token(); if(tk != null) { switch(tk._hx_index) { case 5: return this.parseExprNext(hscript_Expr.EParent(e2)); case 9: if(e2._hx_index == 1) { var v = e2.v; return this.parseLambda([{ name : v}],0); } break; case 14: var t = this.parseType(); tk = this.token(); if(tk != null) { switch(tk._hx_index) { case 5: return this.parseExprNext(hscript_Expr.ECheckType(e2,t)); case 9: if(e2._hx_index == 1) { var v1 = e2.v; return this.parseLambda([{ name : v1, t : t}],0); } break; default: } } break; default: } } return this.unexpected(tk); case 6: tk = this.token(); if(tk == null) { var _this1 = this.tokens; _this1.head = new haxe_ds_GenericCell(tk,_this1.head); } else { switch(tk._hx_index) { case 1: var c1 = tk.c; if(this.allowJSON) { if(c1._hx_index == 2) { var _g1 = c1.s; var tk2 = this.token(); var _this2 = this.tokens; _this2.head = new haxe_ds_GenericCell(tk2,_this2.head); var _this3 = this.tokens; _this3.head = new haxe_ds_GenericCell(tk,_this3.head); if(tk2 != null) { if(tk2._hx_index == 14) { return this.parseExprNext(this.parseObject(0)); } } } else { var _this4 = this.tokens; _this4.head = new haxe_ds_GenericCell(tk,_this4.head); } } else { var _this5 = this.tokens; _this5.head = new haxe_ds_GenericCell(tk,_this5.head); } break; case 2: var _g11 = tk.s; var tk21 = this.token(); var _this6 = this.tokens; _this6.head = new haxe_ds_GenericCell(tk21,_this6.head); var _this7 = this.tokens; _this7.head = new haxe_ds_GenericCell(tk,_this7.head); if(tk21 != null) { if(tk21._hx_index == 14) { return this.parseExprNext(this.parseObject(0)); } } break; case 7: return this.parseExprNext(hscript_Expr.EObject([])); default: var _this8 = this.tokens; _this8.head = new haxe_ds_GenericCell(tk,_this8.head); } } var a = []; while(true) { this.parseFullExpr(a); tk = this.token(); if(tk == hscript_Token.TBrClose || this.resumeErrors && tk == hscript_Token.TEof) { break; } var _this9 = this.tokens; _this9.head = new haxe_ds_GenericCell(tk,_this9.head); } return hscript_Expr.EBlock(a); case 11: var a1 = []; tk = this.token(); while(tk != hscript_Token.TBkClose && (!this.resumeErrors || tk != hscript_Token.TEof)) { var _this10 = this.tokens; _this10.head = new haxe_ds_GenericCell(tk,_this10.head); a1.push(this.parseExpr()); tk = this.token(); if(tk == hscript_Token.TComma) { tk = this.token(); } } if(a1.length == 1 && a1[0] != null) { var _g2 = a1[0]; switch(_g2._hx_index) { case 10: var _g21 = _g2.e; var _g12 = _g2.cond; var tmp = "__a_" + this.uid++; var e3 = hscript_Expr.EBlock([hscript_Expr.EVar(tmp,null,hscript_Expr.EArrayDecl([])),this.mapCompr(tmp,a1[0]),hscript_Expr.EIdent(tmp)]); return this.parseExprNext(e3); case 11: var _g5 = _g2.e; var _g4 = _g2.it; var _g3 = _g2.v; var tmp1 = "__a_" + this.uid++; var e4 = hscript_Expr.EBlock([hscript_Expr.EVar(tmp1,null,hscript_Expr.EArrayDecl([])),this.mapCompr(tmp1,a1[0]),hscript_Expr.EIdent(tmp1)]); return this.parseExprNext(e4); case 24: var _g7 = _g2.e; var _g6 = _g2.cond; var tmp2 = "__a_" + this.uid++; var e5 = hscript_Expr.EBlock([hscript_Expr.EVar(tmp2,null,hscript_Expr.EArrayDecl([])),this.mapCompr(tmp2,a1[0]),hscript_Expr.EIdent(tmp2)]); return this.parseExprNext(e5); default: } } return this.parseExprNext(hscript_Expr.EArrayDecl(a1)); case 15: var id1 = tk.s; if(this.allowMetadata) { var args = this.parseMetaArgs(); return hscript_Expr.EMeta(id1,args,this.parseExpr()); } else { return this.unexpected(tk); } break; default: return this.unexpected(tk); } } } ,parseLambda: function(args,pmin) { _hx_loop1: while(true) { var id = this.getIdent(); var t = this.maybe(hscript_Token.TDoubleDot) ? this.parseType() : null; args.push({ name : id, t : t}); var tk = this.token(); if(tk == null) { this.unexpected(tk); break; } else { switch(tk._hx_index) { case 5: break _hx_loop1; case 9: break; default: this.unexpected(tk); break _hx_loop1; } } } var t1 = this.token(); if(!Type.enumEq(t1,hscript_Token.TOp("->"))) { this.unexpected(t1); } var eret = this.parseExpr(); return hscript_Expr.EFunction(args,hscript_Expr.EReturn(eret)); } ,parseMetaArgs: function() { var tk = this.token(); if(tk != hscript_Token.TPOpen) { var _this = this.tokens; _this.head = new haxe_ds_GenericCell(tk,_this.head); return null; } var args = []; tk = this.token(); if(tk != hscript_Token.TPClose) { var _this1 = this.tokens; _this1.head = new haxe_ds_GenericCell(tk,_this1.head); _hx_loop1: while(true) { args.push(this.parseExpr()); var _g = this.token(); if(_g == null) { var tk1 = _g; this.unexpected(tk1); } else { switch(_g._hx_index) { case 5: break _hx_loop1; case 9: break; default: var tk2 = _g; this.unexpected(tk2); } } } } return args; } ,mapCompr: function(tmp,e) { if(e == null) { return null; } var edef; switch(e._hx_index) { case 3: var e2 = e.e; edef = hscript_Expr.EParent(this.mapCompr(tmp,e2)); break; case 4: var _g5 = e.e; if(_g5.length == 1) { var e1 = _g5[0]; edef = hscript_Expr.EBlock([this.mapCompr(tmp,e1)]); } else { edef = hscript_Expr.ECall(hscript_Expr.EField(hscript_Expr.EIdent(tmp),"push"),[e]); } break; case 9: var e21 = e.e2; var e11 = e.e1; var cond = e.cond; edef = e21 == null ? hscript_Expr.EIf(cond,this.mapCompr(tmp,e11),null) : hscript_Expr.ECall(hscript_Expr.EField(hscript_Expr.EIdent(tmp),"push"),[e]); break; case 10: var e22 = e.e; var cond1 = e.cond; edef = hscript_Expr.EWhile(cond1,this.mapCompr(tmp,e22)); break; case 11: var e23 = e.e; var it = e.it; var v = e.v; edef = hscript_Expr.EFor(v,it,this.mapCompr(tmp,e23)); break; case 24: var e24 = e.e; var cond2 = e.cond; edef = hscript_Expr.EDoWhile(cond2,this.mapCompr(tmp,e24)); break; default: edef = hscript_Expr.ECall(hscript_Expr.EField(hscript_Expr.EIdent(tmp),"push"),[e]); } return edef; } ,makeUnop: function(op,e) { if(e == null && this.resumeErrors) { return null; } switch(e._hx_index) { case 6: var e2 = e.e2; var e1 = e.e1; var bop = e.op; return hscript_Expr.EBinop(bop,this.makeUnop(op,e1),e2); case 22: var e3 = e.e2; var e21 = e.e1; var e11 = e.cond; return hscript_Expr.ETernary(this.makeUnop(op,e11),e21,e3); default: return hscript_Expr.EUnop(op,true,e); } } ,makeBinop: function(op,e1,e) { if(e == null && this.resumeErrors) { return hscript_Expr.EBinop(op,e1,e); } switch(e._hx_index) { case 6: var e3 = e.e2; var e2 = e.e1; var op2 = e.op; var tmp; var _this = this.opPriority; var tmp1 = __map_reserved[op] != null ? _this.getReserved(op) : _this.h[op]; var _this1 = this.opPriority; if(tmp1 <= (__map_reserved[op2] != null ? _this1.getReserved(op2) : _this1.h[op2])) { var _this2 = this.opRightAssoc; tmp = !(__map_reserved[op] != null ? _this2.existsReserved(op) : _this2.h.hasOwnProperty(op)); } else { tmp = false; } if(tmp) { return hscript_Expr.EBinop(op2,this.makeBinop(op,e1,e2),e3); } else { return hscript_Expr.EBinop(op,e1,e); } break; case 22: var e4 = e.e2; var e31 = e.e1; var e21 = e.cond; var _this3 = this.opRightAssoc; if(__map_reserved[op] != null ? _this3.existsReserved(op) : _this3.h.hasOwnProperty(op)) { return hscript_Expr.EBinop(op,e1,e); } else { return hscript_Expr.ETernary(this.makeBinop(op,e1,e21),e31,e4); } break; default: return hscript_Expr.EBinop(op,e1,e); } } ,parseStructure: function(id) { switch(id) { case "break": return hscript_Expr.EBreak; case "continue": return hscript_Expr.EContinue; case "do": var e = this.parseExpr(); var tk = this.token(); if(tk == null) { this.unexpected(tk); } else if(tk._hx_index == 2) { if(tk.s != "while") { this.unexpected(tk); } } else { this.unexpected(tk); } var econd = this.parseExpr(); return hscript_Expr.EDoWhile(econd,e); case "else": return this.unexpected(hscript_Token.TId(id)); case "for": var t = this.token(); if(t != hscript_Token.TPOpen) { this.unexpected(t); } var vname = this.getIdent(); var t1 = this.token(); if(!Type.enumEq(t1,hscript_Token.TId("in"))) { this.unexpected(t1); } var eiter = this.parseExpr(); var t2 = this.token(); if(t2 != hscript_Token.TPClose) { this.unexpected(t2); } var e1 = this.parseExpr(); return hscript_Expr.EFor(vname,eiter,e1); case "function": var tk1 = this.token(); var name = null; if(tk1 == null) { var _this = this.tokens; _this.head = new haxe_ds_GenericCell(tk1,_this.head); } else if(tk1._hx_index == 2) { var id1 = tk1.s; name = id1; } else { var _this1 = this.tokens; _this1.head = new haxe_ds_GenericCell(tk1,_this1.head); } var inf = this.parseFunctionDecl(); return hscript_Expr.EFunction(inf.args,inf.body,name,inf.ret); case "if": var t3 = this.token(); if(t3 != hscript_Token.TPOpen) { this.unexpected(t3); } var cond = this.parseExpr(); var t4 = this.token(); if(t4 != hscript_Token.TPClose) { this.unexpected(t4); } var e11 = this.parseExpr(); var e2 = null; var semic = false; var tk2 = this.token(); if(tk2 == hscript_Token.TSemicolon) { semic = true; tk2 = this.token(); } if(Type.enumEq(tk2,hscript_Token.TId("else"))) { e2 = this.parseExpr(); } else { var _this2 = this.tokens; _this2.head = new haxe_ds_GenericCell(tk2,_this2.head); if(semic) { var _this3 = this.tokens; _this3.head = new haxe_ds_GenericCell(hscript_Token.TSemicolon,_this3.head); } } return hscript_Expr.EIf(cond,e11,e2); case "inline": if(!this.maybe(hscript_Token.TId("function"))) { this.unexpected(hscript_Token.TId("inline")); } return this.parseStructure("function"); case "new": var a = []; a.push(this.getIdent()); _hx_loop1: while(true) { var tk3 = this.token(); if(tk3 == null) { this.unexpected(tk3); break; } else { switch(tk3._hx_index) { case 4: break _hx_loop1; case 8: a.push(this.getIdent()); break; default: this.unexpected(tk3); break _hx_loop1; } } } var args = this.parseExprList(hscript_Token.TPClose); return hscript_Expr.ENew(a.join("."),args); case "return": var tk4 = this.token(); var _this4 = this.tokens; _this4.head = new haxe_ds_GenericCell(tk4,_this4.head); var e3 = tk4 == hscript_Token.TSemicolon ? null : this.parseExpr(); return hscript_Expr.EReturn(e3); case "switch": var e4 = this.parseExpr(); var def = null; var cases = []; var t5 = this.token(); if(t5 != hscript_Token.TBrOpen) { this.unexpected(t5); } _hx_loop2: while(true) { var tk5 = this.token(); if(tk5 == null) { this.unexpected(tk5); break; } else { switch(tk5._hx_index) { case 2: switch(tk5.s) { case "case": var c = { values : [], expr : null}; cases.push(c); _hx_loop3: while(true) { var e5 = this.parseExpr(); c.values.push(e5); tk5 = this.token(); if(tk5 == null) { this.unexpected(tk5); break; } else { switch(tk5._hx_index) { case 9: break; case 14: break _hx_loop3; default: this.unexpected(tk5); break _hx_loop3; } } } var exprs = []; _hx_loop4: while(true) { tk5 = this.token(); var _this5 = this.tokens; _this5.head = new haxe_ds_GenericCell(tk5,_this5.head); if(tk5 == null) { this.parseFullExpr(exprs); } else { switch(tk5._hx_index) { case 0: if(this.resumeErrors) { break _hx_loop4; } else { this.parseFullExpr(exprs); } break; case 2: switch(tk5.s) { case "case":case "default": break _hx_loop4; default: this.parseFullExpr(exprs); } break; case 7: break _hx_loop4; default: this.parseFullExpr(exprs); } } } c.expr = exprs.length == 1 ? exprs[0] : exprs.length == 0 ? hscript_Expr.EBlock([]) : hscript_Expr.EBlock(exprs); break; case "default": if(def != null) { this.unexpected(tk5); } var t6 = this.token(); if(t6 != hscript_Token.TDoubleDot) { this.unexpected(t6); } var exprs1 = []; _hx_loop5: while(true) { tk5 = this.token(); var _this6 = this.tokens; _this6.head = new haxe_ds_GenericCell(tk5,_this6.head); if(tk5 == null) { this.parseFullExpr(exprs1); } else { switch(tk5._hx_index) { case 0: if(this.resumeErrors) { break _hx_loop5; } else { this.parseFullExpr(exprs1); } break; case 2: switch(tk5.s) { case "case":case "default": break _hx_loop5; default: this.parseFullExpr(exprs1); } break; case 7: break _hx_loop5; default: this.parseFullExpr(exprs1); } } } def = exprs1.length == 1 ? exprs1[0] : exprs1.length == 0 ? hscript_Expr.EBlock([]) : hscript_Expr.EBlock(exprs1); break; default: this.unexpected(tk5); break _hx_loop2; } break; case 7: break _hx_loop2; default: this.unexpected(tk5); break _hx_loop2; } } } return hscript_Expr.ESwitch(e4,cases,def); case "throw": var e6 = this.parseExpr(); return hscript_Expr.EThrow(e6); case "try": var e7 = this.parseExpr(); var t7 = this.token(); if(!Type.enumEq(t7,hscript_Token.TId("catch"))) { this.unexpected(t7); } var t8 = this.token(); if(t8 != hscript_Token.TPOpen) { this.unexpected(t8); } var vname1 = this.getIdent(); var t9 = this.token(); if(t9 != hscript_Token.TDoubleDot) { this.unexpected(t9); } var t10 = null; if(this.allowTypes) { t10 = this.parseType(); } else { var t11 = this.token(); if(!Type.enumEq(t11,hscript_Token.TId("Dynamic"))) { this.unexpected(t11); } } var t12 = this.token(); if(t12 != hscript_Token.TPClose) { this.unexpected(t12); } var ec = this.parseExpr(); return hscript_Expr.ETry(e7,vname1,t10,ec); case "var": var ident = this.getIdent(); var tk6 = this.token(); var t13 = null; if(tk6 == hscript_Token.TDoubleDot && this.allowTypes) { t13 = this.parseType(); tk6 = this.token(); } var e8 = null; if(Type.enumEq(tk6,hscript_Token.TOp("="))) { e8 = this.parseExpr(); } else { var _this7 = this.tokens; _this7.head = new haxe_ds_GenericCell(tk6,_this7.head); } return hscript_Expr.EVar(ident,t13,e8); case "while": var econd1 = this.parseExpr(); var e9 = this.parseExpr(); return hscript_Expr.EWhile(econd1,e9); default: return null; } } ,parseExprNext: function(e1) { var tk = this.token(); if(tk == null) { var _this = this.tokens; _this.head = new haxe_ds_GenericCell(tk,_this.head); return e1; } else { switch(tk._hx_index) { case 3: var op = tk.s; if(op == "->") { switch(e1._hx_index) { case 1: var i = e1.v; var eret = this.parseExpr(); return hscript_Expr.EFunction([{ name : i}],hscript_Expr.EReturn(eret)); case 3: var _hx_tmp = e1.e; if(_hx_tmp._hx_index == 1) { var i1 = _hx_tmp.v; var eret1 = this.parseExpr(); return hscript_Expr.EFunction([{ name : i1}],hscript_Expr.EReturn(eret1)); } break; case 26: var _hx_tmp1 = e1.e; if(_hx_tmp1._hx_index == 1) { var t = e1.t; var i2 = _hx_tmp1.v; var eret2 = this.parseExpr(); return hscript_Expr.EFunction([{ name : i2, t : t}],hscript_Expr.EReturn(eret2)); } break; default: } this.unexpected(tk); } var _this1 = this.unops; if(__map_reserved[op] != null ? _this1.getReserved(op) : _this1.h[op]) { var tmp; if(!this.isBlock(e1)) { if(e1._hx_index == 3) { var _g = e1.e; tmp = true; } else { tmp = false; } } else { tmp = true; } if(tmp) { var _this2 = this.tokens; _this2.head = new haxe_ds_GenericCell(tk,_this2.head); return e1; } return this.parseExprNext(hscript_Expr.EUnop(op,false,e1)); } return this.makeBinop(op,e1,this.parseExpr()); case 4: return this.parseExprNext(hscript_Expr.ECall(e1,this.parseExprList(hscript_Token.TPClose))); case 8: var field = this.getIdent(); return this.parseExprNext(hscript_Expr.EField(e1,field)); case 11: var e2 = this.parseExpr(); var t1 = this.token(); if(t1 != hscript_Token.TBkClose) { this.unexpected(t1); } return this.parseExprNext(hscript_Expr.EArray(e1,e2)); case 13: var e21 = this.parseExpr(); var t2 = this.token(); if(t2 != hscript_Token.TDoubleDot) { this.unexpected(t2); } var e3 = this.parseExpr(); return hscript_Expr.ETernary(e1,e21,e3); default: var _this3 = this.tokens; _this3.head = new haxe_ds_GenericCell(tk,_this3.head); return e1; } } } ,parseFunctionArgs: function() { var args = []; var tk = this.token(); if(tk != hscript_Token.TPClose) { var done = false; while(!done) { var name = null; var opt = false; if(tk != null) { if(tk._hx_index == 13) { opt = true; tk = this.token(); } } if(tk == null) { this.unexpected(tk); break; } else if(tk._hx_index == 2) { var id = tk.s; name = id; } else { this.unexpected(tk); break; } var arg = { name : name}; args.push(arg); if(opt) { arg.opt = true; } if(this.allowTypes) { if(this.maybe(hscript_Token.TDoubleDot)) { arg.t = this.parseType(); } if(this.maybe(hscript_Token.TOp("="))) { arg.value = this.parseExpr(); } } tk = this.token(); if(tk == null) { this.unexpected(tk); } else { switch(tk._hx_index) { case 5: done = true; break; case 9: tk = this.token(); break; default: this.unexpected(tk); } } } } return args; } ,parseFunctionDecl: function() { var t = this.token(); if(t != hscript_Token.TPOpen) { this.unexpected(t); } var args = this.parseFunctionArgs(); var ret = null; if(this.allowTypes) { var tk = this.token(); if(tk != hscript_Token.TDoubleDot) { var _this = this.tokens; _this.head = new haxe_ds_GenericCell(tk,_this.head); } else { ret = this.parseType(); } } return { args : args, ret : ret, body : this.parseExpr()}; } ,parsePath: function() { var path = [this.getIdent()]; while(true) { var t = this.token(); if(t != hscript_Token.TDot) { var _this = this.tokens; _this.head = new haxe_ds_GenericCell(t,_this.head); break; } path.push(this.getIdent()); } return path; } ,parseType: function() { var _gthis = this; var t = this.token(); if(t == null) { return this.unexpected(t); } else { switch(t._hx_index) { case 2: var v = t.s; var _this = this.tokens; _this.head = new haxe_ds_GenericCell(t,_this.head); var path = this.parsePath(); var params = null; t = this.token(); if(t == null) { var _this1 = this.tokens; _this1.head = new haxe_ds_GenericCell(t,_this1.head); } else if(t._hx_index == 3) { var op = t.s; if(op == "<") { params = []; _hx_loop1: while(true) { params.push(this.parseType()); t = this.token(); if(t != null) { switch(t._hx_index) { case 3: var op1 = t.s; if(op1 == ">") { break _hx_loop1; } if(HxOverrides.cca(op1,0) == 62) { var _this2 = this.tokens; _this2.head = new haxe_ds_GenericCell(hscript_Token.TOp(HxOverrides.substr(op1,1,null)),_this2.head); break _hx_loop1; } break; case 9: continue; default: } } this.unexpected(t); break; } } else { var _this3 = this.tokens; _this3.head = new haxe_ds_GenericCell(t,_this3.head); } } else { var _this4 = this.tokens; _this4.head = new haxe_ds_GenericCell(t,_this4.head); } return this.parseTypeNext(hscript_CType.CTPath(path,params)); case 4: var a = this.token(); var b = this.token(); var _this5 = this.tokens; _this5.head = new haxe_ds_GenericCell(b,_this5.head); var _this6 = this.tokens; _this6.head = new haxe_ds_GenericCell(a,_this6.head); var withReturn = function(args) { var _g = _gthis.token(); if(_g == null) { var t1 = _g; _gthis.unexpected(t1); } else if(_g._hx_index == 3) { if(_g.s != "->") { var t2 = _g; _gthis.unexpected(t2); } } else { var t3 = _g; _gthis.unexpected(t3); } return hscript_CType.CTFun(args,_gthis.parseType()); }; if(a == null) { var t4 = this.parseType(); var _g1 = this.token(); if(_g1 == null) { var t5 = _g1; return this.unexpected(t5); } else { switch(_g1._hx_index) { case 5: return this.parseTypeNext(hscript_CType.CTParent(t4)); case 9: var args1 = [t4]; while(true) { args1.push(this.parseType()); if(!this.maybe(hscript_Token.TComma)) { break; } } var t6 = this.token(); if(t6 != hscript_Token.TPClose) { this.unexpected(t6); } return withReturn(args1); default: var t7 = _g1; return this.unexpected(t7); } } } else { switch(a._hx_index) { case 2: var _g2 = a.s; if(b == null) { var t8 = this.parseType(); var _g3 = this.token(); if(_g3 == null) { var t9 = _g3; return this.unexpected(t9); } else { switch(_g3._hx_index) { case 5: return this.parseTypeNext(hscript_CType.CTParent(t8)); case 9: var args2 = [t8]; while(true) { args2.push(this.parseType()); if(!this.maybe(hscript_Token.TComma)) { break; } } var t10 = this.token(); if(t10 != hscript_Token.TPClose) { this.unexpected(t10); } return withReturn(args2); default: var t11 = _g3; return this.unexpected(t11); } } } else if(b._hx_index == 14) { var _g4 = []; var _g11 = 0; var _g21 = this.parseFunctionArgs(); while(_g11 < _g21.length) { var arg = _g21[_g11]; ++_g11; var _g12 = arg.value; if(_g12 != null) { var v1 = _g12; if(!this.resumeErrors) { throw new js__$Boot_HaxeError(hscript_Error.ECustom("Default values not allowed in function types")); } } _g4.push(hscript_CType.CTNamed(arg.name,arg.opt ? hscript_CType.CTOpt(arg.t) : arg.t)); } var args3 = _g4; return withReturn(args3); } else { var t12 = this.parseType(); var _g5 = this.token(); if(_g5 == null) { var t13 = _g5; return this.unexpected(t13); } else { switch(_g5._hx_index) { case 5: return this.parseTypeNext(hscript_CType.CTParent(t12)); case 9: var args4 = [t12]; while(true) { args4.push(this.parseType()); if(!this.maybe(hscript_Token.TComma)) { break; } } var t14 = this.token(); if(t14 != hscript_Token.TPClose) { this.unexpected(t14); } return withReturn(args4); default: var t15 = _g5; return this.unexpected(t15); } } } break; case 5: var _g6 = []; var _g13 = 0; var _g22 = this.parseFunctionArgs(); while(_g13 < _g22.length) { var arg1 = _g22[_g13]; ++_g13; var _g14 = arg1.value; if(_g14 != null) { var v2 = _g14; if(!this.resumeErrors) { throw new js__$Boot_HaxeError(hscript_Error.ECustom("Default values not allowed in function types")); } } _g6.push(hscript_CType.CTNamed(arg1.name,arg1.opt ? hscript_CType.CTOpt(arg1.t) : arg1.t)); } var args5 = _g6; return withReturn(args5); default: var t16 = this.parseType(); var _g7 = this.token(); if(_g7 == null) { var t17 = _g7; return this.unexpected(t17); } else { switch(_g7._hx_index) { case 5: return this.parseTypeNext(hscript_CType.CTParent(t16)); case 9: var args6 = [t16]; while(true) { args6.push(this.parseType()); if(!this.maybe(hscript_Token.TComma)) { break; } } var t18 = this.token(); if(t18 != hscript_Token.TPClose) { this.unexpected(t18); } return withReturn(args6); default: var t19 = _g7; return this.unexpected(t19); } } } } break; case 6: var fields = []; var meta = null; _hx_loop8: while(true) { t = this.token(); if(t == null) { this.unexpected(t); break; } else { switch(t._hx_index) { case 2: var _g8 = t.s; if(_g8 == "var") { var name = this.getIdent(); var t20 = this.token(); if(t20 != hscript_Token.TDoubleDot) { this.unexpected(t20); } fields.push({ name : name, t : this.parseType(), meta : meta}); meta = null; var t21 = this.token(); if(t21 != hscript_Token.TSemicolon) { this.unexpected(t21); } } else { var name1 = _g8; var t22 = this.token(); if(t22 != hscript_Token.TDoubleDot) { this.unexpected(t22); } fields.push({ name : name1, t : this.parseType(), meta : meta}); t = this.token(); if(t == null) { this.unexpected(t); } else { switch(t._hx_index) { case 7: break _hx_loop8; case 9: break; default: this.unexpected(t); } } } break; case 7: break _hx_loop8; case 15: var name2 = t.s; if(meta == null) { meta = []; } meta.push({ name : name2, params : this.parseMetaArgs()}); break; default: this.unexpected(t); break _hx_loop8; } } } return this.parseTypeNext(hscript_CType.CTAnon(fields)); default: return this.unexpected(t); } } } ,parseTypeNext: function(t) { var tk = this.token(); if(tk == null) { var _this = this.tokens; _this.head = new haxe_ds_GenericCell(tk,_this.head); return t; } else if(tk._hx_index == 3) { var op = tk.s; if(op != "->") { var _this1 = this.tokens; _this1.head = new haxe_ds_GenericCell(tk,_this1.head); return t; } } else { var _this2 = this.tokens; _this2.head = new haxe_ds_GenericCell(tk,_this2.head); return t; } var t2 = this.parseType(); if(t2._hx_index == 1) { var _g2 = t2.ret; var args = t2.args; args.unshift(t); return t2; } else { return hscript_CType.CTFun([t],t2); } } ,parseExprList: function(etk) { var args = []; var tk = this.token(); if(tk == etk) { return args; } var _this = this.tokens; _this.head = new haxe_ds_GenericCell(tk,_this.head); while(true) { args.push(this.parseExpr()); tk = this.token(); if(tk == null) { if(tk == etk) { break; } this.unexpected(tk); break; } else if(tk._hx_index != 9) { if(tk == etk) { break; } this.unexpected(tk); break; } } return args; } ,parseModule: function(content,origin) { if(origin == null) { origin = "hscript"; } this.initParser(origin); this.input = content; this.readPos = 0; this.allowTypes = true; this.allowMetadata = true; var decls = []; while(true) { var tk = this.token(); if(tk == hscript_Token.TEof) { break; } var _this = this.tokens; _this.head = new haxe_ds_GenericCell(tk,_this.head); decls.push(this.parseModuleDecl()); } return decls; } ,parseMetadata: function() { var meta = []; while(true) { var tk = this.token(); if(tk == null) { var _this = this.tokens; _this.head = new haxe_ds_GenericCell(tk,_this.head); break; } else if(tk._hx_index == 15) { var name = tk.s; meta.push({ name : name, params : this.parseMetaArgs()}); } else { var _this1 = this.tokens; _this1.head = new haxe_ds_GenericCell(tk,_this1.head); break; } } return meta; } ,parseParams: function() { if(this.maybe(hscript_Token.TOp("<"))) { if(!this.resumeErrors) { throw new js__$Boot_HaxeError(hscript_Error.EInvalidOp("Unsupported class type parameters")); } } return { }; } ,parseModuleDecl: function() { var meta = this.parseMetadata(); var ident = this.getIdent(); var isPrivate = false; var isExtern = false; _hx_loop1: while(true) { switch(ident) { case "extern": isExtern = true; break; case "private": isPrivate = true; break; default: break _hx_loop1; } ident = this.getIdent(); } switch(ident) { case "class": var name = this.getIdent(); var params = this.parseParams(); var extend = null; var implement = []; _hx_loop2: while(true) { var t = this.token(); if(t == null) { var _this = this.tokens; _this.head = new haxe_ds_GenericCell(t,_this.head); break; } else if(t._hx_index == 2) { switch(t.s) { case "extends": extend = this.parseType(); break; case "implements": implement.push(this.parseType()); break; default: var _this1 = this.tokens; _this1.head = new haxe_ds_GenericCell(t,_this1.head); break _hx_loop2; } } else { var _this2 = this.tokens; _this2.head = new haxe_ds_GenericCell(t,_this2.head); break; } } var fields = []; var t1 = this.token(); if(t1 != hscript_Token.TBrOpen) { this.unexpected(t1); } while(!this.maybe(hscript_Token.TBrClose)) fields.push(this.parseField()); return hscript_ModuleDecl.DClass({ name : name, meta : meta, params : params, extend : extend, implement : implement, fields : fields, isPrivate : isPrivate, isExtern : isExtern}); case "import": var path = [this.getIdent()]; var star = false; while(true) { var t2 = this.token(); if(t2 != hscript_Token.TDot) { var _this3 = this.tokens; _this3.head = new haxe_ds_GenericCell(t2,_this3.head); break; } t2 = this.token(); if(t2 == null) { this.unexpected(t2); } else { switch(t2._hx_index) { case 2: var id = t2.s; path.push(id); break; case 3: if(t2.s == "*") { star = true; } else { this.unexpected(t2); } break; default: this.unexpected(t2); } } } var t3 = this.token(); if(t3 != hscript_Token.TSemicolon) { this.unexpected(t3); } return hscript_ModuleDecl.DImport(path,star); case "package": var path1 = this.parsePath(); var t4 = this.token(); if(t4 != hscript_Token.TSemicolon) { this.unexpected(t4); } return hscript_ModuleDecl.DPackage(path1); case "typedef": var name1 = this.getIdent(); var params1 = this.parseParams(); var t5 = this.token(); if(!Type.enumEq(t5,hscript_Token.TOp("="))) { this.unexpected(t5); } var t6 = this.parseType(); return hscript_ModuleDecl.DTypedef({ name : name1, meta : meta, params : params1, isPrivate : isPrivate, t : t6}); default: this.unexpected(hscript_Token.TId(ident)); } return null; } ,parseField: function() { var meta = this.parseMetadata(); var access = []; _hx_loop1: while(true) { var id = this.getIdent(); switch(id) { case "function": var name = this.getIdent(); var inf = this.parseFunctionDecl(); return { name : name, meta : meta, access : access, kind : hscript_FieldKind.KFunction({ args : inf.args, expr : inf.body, ret : inf.ret})}; case "inline": access.push(hscript_FieldAccess.AInline); break; case "macro": access.push(hscript_FieldAccess.AMacro); break; case "override": access.push(hscript_FieldAccess.AOverride); break; case "private": access.push(hscript_FieldAccess.APrivate); break; case "public": access.push(hscript_FieldAccess.APublic); break; case "static": access.push(hscript_FieldAccess.AStatic); break; case "var": var name1 = this.getIdent(); var get = null; var set = null; if(this.maybe(hscript_Token.TPOpen)) { get = this.getIdent(); var t = this.token(); if(t != hscript_Token.TComma) { this.unexpected(t); } set = this.getIdent(); var t1 = this.token(); if(t1 != hscript_Token.TPClose) { this.unexpected(t1); } } var type = this.maybe(hscript_Token.TDoubleDot) ? this.parseType() : null; var expr = this.maybe(hscript_Token.TOp("=")) ? this.parseExpr() : null; if(expr != null) { if(this.isBlock(expr)) { this.maybe(hscript_Token.TSemicolon); } else { var t2 = this.token(); if(t2 != hscript_Token.TSemicolon) { this.unexpected(t2); } } } else { var tmp; if(type != null) { if(type == null) { tmp = false; } else if(type._hx_index == 2) { var _g = type.fields; tmp = true; } else { tmp = false; } } else { tmp = false; } if(tmp) { this.maybe(hscript_Token.TSemicolon); } else { var t3 = this.token(); if(t3 != hscript_Token.TSemicolon) { this.unexpected(t3); } } } return { name : name1, meta : meta, access : access, kind : hscript_FieldKind.KVar({ get : get, set : set, type : type, expr : expr})}; default: this.unexpected(hscript_Token.TId(id)); break _hx_loop1; } } return null; } ,readChar: function() { return this.input.charCodeAt(this.readPos++); } ,readString: function(until) { var c = 0; var b_b = ""; var esc = false; var old = this.line; var s = this.input; while(true) { var c1 = this.input.charCodeAt(this.readPos++); if(c1 != c1) { this.line = old; if(!this.resumeErrors) { throw new js__$Boot_HaxeError(hscript_Error.EUnterminatedString); } break; } if(esc) { esc = false; switch(c1) { case 34:case 39:case 92: b_b += String.fromCodePoint(c1); break; case 47: if(this.allowJSON) { b_b += String.fromCodePoint(c1); } else { this.invalidChar(c1); } break; case 110: b_b += String.fromCodePoint(10); break; case 114: b_b += String.fromCodePoint(13); break; case 116: b_b += String.fromCodePoint(9); break; case 117: if(!this.allowJSON) { this.invalidChar(c1); } var k = 0; var _g = 0; while(_g < 4) { var i = _g++; k <<= 4; var char = this.input.charCodeAt(this.readPos++); switch(char) { case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57: k += char - 48; break; case 65:case 66:case 67:case 68:case 69:case 70: k += char - 55; break; case 97:case 98:case 99:case 100:case 101:case 102: k += char - 87; break; default: if(char != char) { this.line = old; if(!this.resumeErrors) { throw new js__$Boot_HaxeError(hscript_Error.EUnterminatedString); } } this.invalidChar(char); } } b_b += String.fromCodePoint(k); break; default: this.invalidChar(c1); } } else if(c1 == 92) { esc = true; } else if(c1 == until) { break; } else { if(c1 == 10) { this.line++; } b_b += String.fromCodePoint(c1); } } return b_b; } ,token: function() { if(this.tokens.head != null) { var _this = this.tokens; var k = _this.head; if(k == null) { return null; } else { _this.head = k.next; return k.elt; } } var char; if(this.char < 0) { char = this.input.charCodeAt(this.readPos++); } else { char = this.char; this.char = -1; } while(true) { if(char != char) { this.char = char; return hscript_Token.TEof; } switch(char) { case 0: return hscript_Token.TEof; case 10: this.line++; break; case 9:case 13:case 32: break; case 35: char = this.input.charCodeAt(this.readPos++); if(this.idents[char]) { var id = String.fromCodePoint(char); while(true) { char = this.input.charCodeAt(this.readPos++); if(!this.idents[char]) { this.char = char; return this.preprocess(id); } id += String.fromCodePoint(char); } } this.invalidChar(char); break; case 34:case 39: return hscript_Token.TConst(hscript_Const.CString(this.readString(char))); case 40: return hscript_Token.TPOpen; case 41: return hscript_Token.TPClose; case 44: return hscript_Token.TComma; case 46: char = this.input.charCodeAt(this.readPos++); switch(char) { case 46: char = this.input.charCodeAt(this.readPos++); if(char != 46) { this.invalidChar(char); } return hscript_Token.TOp("..."); case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57: var n = char - 48; var exp = 1; while(true) { char = this.input.charCodeAt(this.readPos++); exp *= 10; switch(char) { case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57: n = n * 10 + (char - 48); break; default: this.char = char; return hscript_Token.TConst(hscript_Const.CFloat(n / exp)); } } break; default: this.char = char; return hscript_Token.TDot; } break; case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57: var n1 = (char - 48) * 1.0; var exp1 = 0.; while(true) { char = this.input.charCodeAt(this.readPos++); exp1 *= 10; switch(char) { case 46: if(exp1 > 0) { if(exp1 == 10 && this.input.charCodeAt(this.readPos++) == 46) { var _this1 = this.tokens; _this1.head = new haxe_ds_GenericCell(hscript_Token.TOp("..."),_this1.head); var i = n1 | 0; return hscript_Token.TConst(i == n1 ? hscript_Const.CInt(i) : hscript_Const.CFloat(n1)); } this.invalidChar(char); } exp1 = 1.; break; case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57: n1 = n1 * 10 + (char - 48); break; case 69:case 101: var tk = this.token(); var pow = null; if(tk == null) { var _this2 = this.tokens; _this2.head = new haxe_ds_GenericCell(tk,_this2.head); } else { switch(tk._hx_index) { case 1: var _g = tk.c; if(_g._hx_index == 0) { var e = _g.v; pow = e; } else { var _this3 = this.tokens; _this3.head = new haxe_ds_GenericCell(tk,_this3.head); } break; case 3: if(tk.s == "-") { tk = this.token(); if(tk == null) { var _this4 = this.tokens; _this4.head = new haxe_ds_GenericCell(tk,_this4.head); } else if(tk._hx_index == 1) { var _g1 = tk.c; if(_g1._hx_index == 0) { var e1 = _g1.v; pow = -e1; } else { var _this5 = this.tokens; _this5.head = new haxe_ds_GenericCell(tk,_this5.head); } } else { var _this6 = this.tokens; _this6.head = new haxe_ds_GenericCell(tk,_this6.head); } } else { var _this7 = this.tokens; _this7.head = new haxe_ds_GenericCell(tk,_this7.head); } break; default: var _this8 = this.tokens; _this8.head = new haxe_ds_GenericCell(tk,_this8.head); } } if(pow == null) { this.invalidChar(char); } return hscript_Token.TConst(hscript_Const.CFloat(Math.pow(10,pow) / exp1 * n1 * 10)); case 120: if(n1 > 0 || exp1 > 0) { this.invalidChar(char); } var n2 = 0; while(true) { char = this.input.charCodeAt(this.readPos++); switch(char) { case 48:case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57: n2 = (n2 << 4) + char - 48; break; case 65:case 66:case 67:case 68:case 69:case 70: n2 = (n2 << 4) + (char - 55); break; case 97:case 98:case 99:case 100:case 101:case 102: n2 = (n2 << 4) + (char - 87); break; default: this.char = char; return hscript_Token.TConst(hscript_Const.CInt(n2)); } } break; default: this.char = char; var i1 = n1 | 0; return hscript_Token.TConst(exp1 > 0 ? hscript_Const.CFloat(n1 * 10 / exp1) : i1 == n1 ? hscript_Const.CInt(i1) : hscript_Const.CFloat(n1)); } } break; case 58: return hscript_Token.TDoubleDot; case 59: return hscript_Token.TSemicolon; case 61: char = this.input.charCodeAt(this.readPos++); if(char == 61) { return hscript_Token.TOp("=="); } else if(char == 62) { return hscript_Token.TOp("=>"); } this.char = char; return hscript_Token.TOp("="); case 63: return hscript_Token.TQuestion; case 64: char = this.input.charCodeAt(this.readPos++); if(this.idents[char] || char == 58) { var id1 = String.fromCodePoint(char); while(true) { char = this.input.charCodeAt(this.readPos++); if(!this.idents[char]) { this.char = char; return hscript_Token.TMeta(id1); } id1 += String.fromCodePoint(char); } } this.invalidChar(char); break; case 91: return hscript_Token.TBkOpen; case 93: return hscript_Token.TBkClose; case 123: return hscript_Token.TBrOpen; case 125: return hscript_Token.TBrClose; default: if(this.ops[char]) { var op = String.fromCodePoint(char); var prev = -1; while(true) { char = this.input.charCodeAt(this.readPos++); if(char != char) { char = 0; } if(!this.ops[char] || prev == 61) { if(HxOverrides.cca(op,0) == 47) { return this.tokenComment(op,char); } this.char = char; return hscript_Token.TOp(op); } prev = char; op += String.fromCodePoint(char); } } if(this.idents[char]) { var id2 = String.fromCodePoint(char); while(true) { char = this.input.charCodeAt(this.readPos++); if(char != char) { char = 0; } if(!this.idents[char]) { this.char = char; return hscript_Token.TId(id2); } id2 += String.fromCodePoint(char); } } this.invalidChar(char); } char = this.input.charCodeAt(this.readPos++); } } ,preprocValue: function(id) { var _this = this.preprocesorValues; if(__map_reserved[id] != null) { return _this.getReserved(id); } else { return _this.h[id]; } } ,preprocStack: null ,parsePreproCond: function() { var tk = this.token(); if(tk == null) { return this.unexpected(tk); } else { switch(tk._hx_index) { case 2: var id = tk.s; return hscript_Expr.EIdent(id); case 3: if(tk.s == "!") { return hscript_Expr.EUnop("!",true,this.parsePreproCond()); } else { return this.unexpected(tk); } break; case 4: var _this = this.tokens; _this.head = new haxe_ds_GenericCell(hscript_Token.TPOpen,_this.head); return this.parseExpr(); default: return this.unexpected(tk); } } } ,evalPreproCond: function(e) { switch(e._hx_index) { case 1: var id = e.v; return this.preprocValue(id) != null; case 3: var e1 = e.e; return this.evalPreproCond(e1); case 6: var _g6 = e.e2; var _g5 = e.e1; switch(e.op) { case "&&": var e2 = _g6; var e11 = _g5; if(this.evalPreproCond(e11)) { return this.evalPreproCond(e2); } else { return false; } break; case "||": var e21 = _g6; var e12 = _g5; if(!this.evalPreproCond(e12)) { return this.evalPreproCond(e21); } else { return true; } break; default: if(!this.resumeErrors) { throw new js__$Boot_HaxeError(hscript_Error.EInvalidPreprocessor("Can't eval " + $hxEnums[e.__enum__].__constructs__[e._hx_index])); } return false; } break; case 7: var _g1 = e.prefix; if(e.op == "!") { var e3 = e.e; return !this.evalPreproCond(e3); } else { if(!this.resumeErrors) { throw new js__$Boot_HaxeError(hscript_Error.EInvalidPreprocessor("Can't eval " + $hxEnums[e.__enum__].__constructs__[e._hx_index])); } return false; } break; default: if(!this.resumeErrors) { throw new js__$Boot_HaxeError(hscript_Error.EInvalidPreprocessor("Can't eval " + $hxEnums[e.__enum__].__constructs__[e._hx_index])); } return false; } } ,preprocess: function(id) { switch(id) { case "else":case "elseif": if(this.preprocStack.length > 0) { if(this.preprocStack[this.preprocStack.length - 1].r) { this.preprocStack[this.preprocStack.length - 1].r = false; this.skipTokens(); return this.token(); } else if(id == "else") { this.preprocStack.pop(); this.preprocStack.push({ r : true}); return this.token(); } else { this.preprocStack.pop(); return this.preprocess("if"); } } else { return hscript_Token.TPrepro(id); } break; case "end": if(this.preprocStack.length > 0) { this.preprocStack.pop(); return this.token(); } else { return hscript_Token.TPrepro(id); } break; case "if": var e = this.parsePreproCond(); if(this.evalPreproCond(e)) { this.preprocStack.push({ r : true}); return this.token(); } this.preprocStack.push({ r : false}); this.skipTokens(); return this.token(); default: return hscript_Token.TPrepro(id); } } ,skipTokens: function() { var spos = this.preprocStack.length - 1; var obj = this.preprocStack[spos]; var pos = this.readPos; while(true) { var tk = this.token(); if(tk == hscript_Token.TEof) { if(!this.resumeErrors) { throw new js__$Boot_HaxeError(hscript_Error.EInvalidPreprocessor("Unclosed")); } } if(this.preprocStack[spos] != obj) { var _this = this.tokens; _this.head = new haxe_ds_GenericCell(tk,_this.head); break; } } } ,tokenComment: function(op,char) { var c = HxOverrides.cca(op,1); var s = this.input; if(c == 47) { while(char != 13 && char != 10) { char = this.input.charCodeAt(this.readPos++); if(char != char) { break; } } this.char = char; return this.token(); } if(c == 42) { var old = this.line; if(op == "/**/") { this.char = char; return this.token(); } while(true) { while(char != 42) { if(char == 10) { this.line++; } char = this.input.charCodeAt(this.readPos++); if(char != char) { this.line = old; if(!this.resumeErrors) { throw new js__$Boot_HaxeError(hscript_Error.EUnterminatedComment); } break; } } char = this.input.charCodeAt(this.readPos++); if(char != char) { this.line = old; if(!this.resumeErrors) { throw new js__$Boot_HaxeError(hscript_Error.EUnterminatedComment); } break; } if(char == 47) { break; } } return this.token(); } this.char = char; return hscript_Token.TOp(op); } ,constString: function(c) { switch(c._hx_index) { case 0: var v = c.v; if(v == null) { return "null"; } else { return "" + v; } break; case 1: var f = c.f; if(f == null) { return "null"; } else { return "" + f; } break; case 2: var s = c.s; return s; } } ,tokenString: function(t) { switch(t._hx_index) { case 0: return "<eof>"; case 1: var c = t.c; return this.constString(c); case 2: var s = t.s; return s; case 3: var s1 = t.s; return s1; case 4: return "("; case 5: return ")"; case 6: return "{"; case 7: return "}"; case 8: return "."; case 9: return ","; case 10: return ";"; case 11: return "["; case 12: return "]"; case 13: return "?"; case 14: return ":"; case 15: var id = t.s; return "@" + id; case 16: var id1 = t.s; return "#" + id1; } } ,__class__: hscript_Parser }; var hscript_Tools = function() { }; $hxClasses["hscript.Tools"] = hscript_Tools; hscript_Tools.__name__ = "hscript.Tools"; hscript_Tools.iter = function(e,f) { switch(e._hx_index) { case 0: var _g19 = e.c; break; case 1: var _g27 = e.v; break; case 2: var _g32 = e.t; var _g31 = e.n; var e1 = e.e; if(e1 != null) { f(e1); } break; case 3: var e2 = e.e; f(e2); break; case 4: var el = e.e; var _g = 0; while(_g < el.length) { var e3 = el[_g]; ++_g; f(e3); } break; case 5: var _g49 = e.f; var e4 = e.e; f(e4); break; case 6: var _g36 = e.op; var e21 = e.e2; var e11 = e.e1; f(e11); f(e21); break; case 7: var _g13 = e.prefix; var _g12 = e.op; var e5 = e.e; f(e5); break; case 8: var args = e.params; var e6 = e.e; f(e6); var _g1 = 0; while(_g1 < args.length) { var a = args[_g1]; ++_g1; f(a); } break; case 9: var e22 = e.e2; var e12 = e.e1; var c = e.cond; f(c); f(e12); if(e22 != null) { f(e22); } break; case 10: var e7 = e.e; var c1 = e.cond; f(c1); f(e7); break; case 11: var _g28 = e.v; var e8 = e.e; var it = e.it; f(it); f(e8); break; case 12:case 13: break; case 14: var _g44 = e.ret; var _g43 = e.name; var _g41 = e.args; var e9 = e.e; f(e9); break; case 15: var e10 = e.e; if(e10 != null) { f(e10); } break; case 16: var i = e.index; var e13 = e.e; f(e13); f(i); break; case 17: var el1 = e.e; var _g2 = 0; while(_g2 < el1.length) { var e14 = el1[_g2]; ++_g2; f(e14); } break; case 18: var _g17 = e.cl; var el2 = e.params; var _g3 = 0; while(_g3 < el2.length) { var e15 = el2[_g3]; ++_g3; f(e15); } break; case 19: var e16 = e.e; f(e16); break; case 20: var _g5 = e.t; var _g4 = e.v; var c2 = e.ecatch; var e17 = e.e; f(e17); f(c2); break; case 21: var fl = e.fl; var _g6 = 0; while(_g6 < fl.length) { var fi = fl[_g6]; ++_g6; f(fi.e); } break; case 22: var e23 = e.e2; var e18 = e.e1; var c3 = e.cond; f(c3); f(e18); f(e23); break; case 23: var def = e.defaultExpr; var cases = e.cases; var e19 = e.e; f(e19); var _g7 = 0; while(_g7 < cases.length) { var c4 = cases[_g7]; ++_g7; var _g8 = 0; var _g11 = c4.values; while(_g8 < _g11.length) { var v = _g11[_g8]; ++_g8; f(v); } f(c4.expr); } if(def != null) { f(def); } break; case 24: var e20 = e.e; var c5 = e.cond; f(c5); f(e20); break; case 25: var e24 = e.e; var args1 = e.args; var name = e.name; if(args1 != null) { var _g9 = 0; while(_g9 < args1.length) { var a1 = args1[_g9]; ++_g9; f(a1); } } f(e24); break; case 26: var _g46 = e.t; var e25 = e.e; f(e25); break; } }; hscript_Tools.map = function(e,f) { var edef; switch(e._hx_index) { case 0: var _g19 = e.c; edef = e; break; case 1: var _g27 = e.v; edef = e; break; case 2: var e1 = e.e; var t = e.t; var n = e.n; edef = hscript_Expr.EVar(n,t,e1 != null ? f(e1) : null); break; case 3: var e2 = e.e; edef = hscript_Expr.EParent(f(e2)); break; case 4: var el = e.e; var _g = []; var _g1 = 0; while(_g1 < el.length) { var e3 = el[_g1]; ++_g1; _g.push(f(e3)); } edef = hscript_Expr.EBlock(_g); break; case 5: var fi = e.f; var e4 = e.e; edef = hscript_Expr.EField(f(e4),fi); break; case 6: var e21 = e.e2; var e11 = e.e1; var op = e.op; edef = hscript_Expr.EBinop(op,f(e11),f(e21)); break; case 7: var e5 = e.e; var pre = e.prefix; var op1 = e.op; edef = hscript_Expr.EUnop(op1,pre,f(e5)); break; case 8: var args = e.params; var e6 = e.e; var edef1 = f(e6); var _g2 = []; var _g11 = 0; while(_g11 < args.length) { var a = args[_g11]; ++_g11; _g2.push(f(a)); } edef = hscript_Expr.ECall(edef1,_g2); break; case 9: var e22 = e.e2; var e12 = e.e1; var c = e.cond; edef = hscript_Expr.EIf(f(c),f(e12),e22 != null ? f(e22) : null); break; case 10: var e7 = e.e; var c1 = e.cond; edef = hscript_Expr.EWhile(f(c1),f(e7)); break; case 11: var e8 = e.e; var it = e.it; var v = e.v; edef = hscript_Expr.EFor(v,f(it),f(e8)); break; case 12:case 13: edef = e; break; case 14: var t1 = e.ret; var name = e.name; var e9 = e.e; var args1 = e.args; edef = hscript_Expr.EFunction(args1,f(e9),name,t1); break; case 15: var e10 = e.e; edef = hscript_Expr.EReturn(e10 != null ? f(e10) : null); break; case 16: var i = e.index; var e13 = e.e; edef = hscript_Expr.EArray(f(e13),f(i)); break; case 17: var el1 = e.e; var _g3 = []; var _g12 = 0; while(_g12 < el1.length) { var e14 = el1[_g12]; ++_g12; _g3.push(f(e14)); } edef = hscript_Expr.EArrayDecl(_g3); break; case 18: var el2 = e.params; var cl = e.cl; var _g4 = []; var _g13 = 0; while(_g13 < el2.length) { var e15 = el2[_g13]; ++_g13; _g4.push(f(e15)); } edef = hscript_Expr.ENew(cl,_g4); break; case 19: var e16 = e.e; edef = hscript_Expr.EThrow(f(e16)); break; case 20: var c2 = e.ecatch; var t2 = e.t; var v1 = e.v; var e17 = e.e; edef = hscript_Expr.ETry(f(e17),v1,t2,f(c2)); break; case 21: var fl = e.fl; var _g5 = []; var _g14 = 0; while(_g14 < fl.length) { var fi1 = fl[_g14]; ++_g14; _g5.push({ name : fi1.name, e : f(fi1.e)}); } edef = hscript_Expr.EObject(_g5); break; case 22: var e23 = e.e2; var e18 = e.e1; var c3 = e.cond; edef = hscript_Expr.ETernary(f(c3),f(e18),f(e23)); break; case 23: var def = e.defaultExpr; var cases = e.cases; var e19 = e.e; var edef2 = f(e19); var _g6 = []; var _g15 = 0; while(_g15 < cases.length) { var c4 = cases[_g15]; ++_g15; var _g16 = []; var _g21 = 0; var _g31 = c4.values; while(_g21 < _g31.length) { var v2 = _g31[_g21]; ++_g21; _g16.push(f(v2)); } _g6.push({ values : _g16, expr : f(c4.expr)}); } edef = hscript_Expr.ESwitch(edef2,_g6,def == null ? null : f(def)); break; case 24: var e20 = e.e; var c5 = e.cond; edef = hscript_Expr.EDoWhile(f(c5),f(e20)); break; case 25: var e24 = e.e; var args2 = e.args; var name1 = e.name; var edef3; if(args2 == null) { edef3 = null; } else { var _g7 = []; var _g17 = 0; while(_g17 < args2.length) { var a1 = args2[_g17]; ++_g17; _g7.push(f(a1)); } edef3 = _g7; } edef = hscript_Expr.EMeta(name1,edef3,f(e24)); break; case 26: var t3 = e.t; var e25 = e.e; edef = hscript_Expr.ECheckType(f(e25),t3); break; } return edef; }; hscript_Tools.expr = function(e) { return e; }; hscript_Tools.mk = function(e,p) { return e; }; var io_newgrounds_ICallable = function() { }; $hxClasses["io.newgrounds.ICallable"] = io_newgrounds_ICallable; io_newgrounds_ICallable.__name__ = "io.newgrounds.ICallable"; io_newgrounds_ICallable.__isInterface__ = true; io_newgrounds_ICallable.prototype = { component: null ,send: null ,queue: null ,destroy: null ,__class__: io_newgrounds_ICallable }; var io_newgrounds_Call = function(core,component,requireSession,isSecure) { if(isSecure == null) { isSecure = false; } if(requireSession == null) { requireSession = false; } this._core = core; this.component = component; this._requireSession = requireSession; this._isSecure = isSecure && core.encryptionHandler != null; }; $hxClasses["io.newgrounds.Call"] = io_newgrounds_Call; io_newgrounds_Call.__name__ = "io.newgrounds.Call"; io_newgrounds_Call.__interfaces__ = [io_newgrounds_ICallable]; io_newgrounds_Call.prototype = { component: null ,_core: null ,_properties: null ,_parameters: null ,_requireSession: null ,_isSecure: null ,_dataHandlers: null ,_successHandlers: null ,_httpErrorHandlers: null ,_statusHandlers: null ,addProperty: function(name,value) { if(this._properties == null) { this._properties = new haxe_ds_StringMap(); } var _this = this._properties; var value1 = value; if(__map_reserved[name] != null) { _this.setReserved(name,value1); } else { _this.h[name] = value1; } return this; } ,addComponentParameter: function(name,value,defaultValue) { if(value == defaultValue) { return this; } if(this._parameters == null) { this._parameters = new haxe_ds_StringMap(); } var _this = this._parameters; var value1 = value; if(__map_reserved[name] != null) { _this.setReserved(name,value1); } else { _this.h[name] = value1; } return this; } ,addDataHandler: function(handler) { if(this._dataHandlers == null) { this._dataHandlers = new io_newgrounds_utils_TypedDispatcher(); } this._dataHandlers.add(handler); return this; } ,addSuccessHandler: function(handler) { if(this._successHandlers == null) { this._successHandlers = new io_newgrounds_utils_Dispatcher(); } this._successHandlers.add(handler); return this; } ,addErrorHandler: function(handler) { if(this._httpErrorHandlers == null) { this._httpErrorHandlers = new io_newgrounds_utils_TypedDispatcher(); } this._httpErrorHandlers.add(handler); return this; } ,addStatusHandler: function(handler) { if(this._statusHandlers == null) { this._statusHandlers = new io_newgrounds_utils_TypedDispatcher(); } this._statusHandlers.add(handler); return this; } ,send: function() { var data = { }; data.app_id = this._core.appId; data.call = { }; data.call.component = this.component; if(this._core.debug) { this.addProperty("debug",true); } var tmp; if(this._properties != null) { var _this = this._properties; tmp = !(__map_reserved["session_id"] != null ? _this.existsReserved("session_id") : _this.h.hasOwnProperty("session_id")); } else { tmp = true; } if(tmp) { if(this._core.sessionId != null) { this.addProperty("session_id",this._core.sessionId); } else if(this._requireSession) { var this1 = { message : "cannot send \"" + this.component + "\" call without a sessionId", code : null}; this._core.logError(this1,{ fileName : "io/newgrounds/Call.hx", lineNumber : 137, className : "io.newgrounds.Call", methodName : "send"}); return; } } if(this._properties != null) { var field = this._properties.keys(); while(field.hasNext()) { var field1 = field.next(); var _this1 = this._properties; data[field1] = __map_reserved[field1] != null ? _this1.getReserved(field1) : _this1.h[field1]; } } if(this._parameters != null) { data.call.parameters = { }; var field2 = this._parameters.keys(); while(field2.hasNext()) { var field3 = field2.next(); var _this2 = this._parameters; data.call.parameters[field3] = __map_reserved[field3] != null ? _this2.getReserved(field3) : _this2.h[field3]; } } var _this3 = this._core; var any = "Post - " + JSON.stringify(data); if(_this3.verbose) { _this3.log(any,{ fileName : "io/newgrounds/Call.hx", lineNumber : 156, className : "io.newgrounds.Call", methodName : "send"}); } if(this._isSecure) { var secureData = this._core.encryptionHandler(JSON.stringify(data.call)); data.call = { }; data.call.secure = secureData; var _this4 = this._core; if(_this4.verbose) { _this4.log(" secure - " + secureData,{ fileName : "io/newgrounds/Call.hx", lineNumber : 164, className : "io.newgrounds.Call", methodName : "send"}); } } this._core.markCallPending_io_newgrounds_Call_T(this); io_newgrounds_utils_AsyncHttp.send(this._core,JSON.stringify(data),$bind(this,this.onData),$bind(this,this.onHttpError),$bind(this,this.onStatus)); } ,queue: function() { this._core.queueCall_io_newgrounds_Call_T(this); } ,onData: function(reply) { var _this = this._core; if(_this.verbose) { _this.log("Reply - " + reply,{ fileName : "io/newgrounds/Call.hx", lineNumber : 180, className : "io.newgrounds.Call", methodName : "onData"}); } if(this._dataHandlers == null && this._successHandlers == null) { return; } var response = io_newgrounds_objects_events__$Response_Response_$Impl_$._new(this._core,reply); if(this._dataHandlers != null) { this._dataHandlers.dispatch(response); } if(response.success && response.result.data.success && this._successHandlers != null) { this._successHandlers.dispatch(); } this.destroy(); } ,onHttpError: function(message) { this._core.logError(message,{ fileName : "io/newgrounds/Call.hx", lineNumber : 198, className : "io.newgrounds.Call", methodName : "onHttpError"}); if(this._httpErrorHandlers == null) { return; } var this1 = { message : message, code : null}; var error = this1; this._httpErrorHandlers.dispatch(error); } ,onStatus: function(status) { if(this._statusHandlers == null) { return; } this._statusHandlers.dispatch(status); } ,destroy: function() { this._core = null; this._properties = null; this._parameters = null; this._dataHandlers = null; this._successHandlers = null; this._httpErrorHandlers = null; this._statusHandlers = null; } ,__class__: io_newgrounds_Call }; var io_newgrounds_utils_Dispatcher = function() { this._list = []; this._once = []; }; $hxClasses["io.newgrounds.utils.Dispatcher"] = io_newgrounds_utils_Dispatcher; io_newgrounds_utils_Dispatcher.__name__ = "io.newgrounds.utils.Dispatcher"; io_newgrounds_utils_Dispatcher.prototype = { _list: null ,_once: null ,add: function(handler,once) { if(once == null) { once = false; } if(this._list.indexOf(handler) != -1) { if(!once && this._once.indexOf(handler) != -1) { HxOverrides.remove(this._once,handler); } return false; } this._list.unshift(handler); if(once) { this._once.unshift(handler); } return true; } ,addOnce: function(handler) { return this.add(handler,true); } ,remove: function(handler) { HxOverrides.remove(this._once,handler); return HxOverrides.remove(this._list,handler); } ,dispatch: function() { var i = this._list.length - 1; while(i >= 0) { var handler = this._list[i]; if(HxOverrides.remove(this._once,handler)) { HxOverrides.remove(this._list,handler); } handler(); --i; } } ,__class__: io_newgrounds_utils_Dispatcher }; var io_newgrounds_NGLite = function(appId,sessionId,debug,onSessionFail) { if(debug == null) { debug = false; } if(appId == null) { appId = "test"; } this._pendingCalls = []; this._queuedCalls = []; this.appId = appId; this.set_sessionId(sessionId); this.debug = debug; this.calls = new io_newgrounds_components_ComponentList(this); if(this.sessionId != null) { var f = $bind(this,this.checkInitialSession); var onFail = onSessionFail; var tmp = function(response) { f(onFail,response); }; var f1 = $bind(this,this.initialSessionFail); var onFail1 = onSessionFail; var tmp1 = function(error) { f1(onFail1,error); }; this.calls.app.checkSession().addDataHandler(tmp).addErrorHandler(tmp1).send(); } }; $hxClasses["io.newgrounds.NGLite"] = io_newgrounds_NGLite; io_newgrounds_NGLite.__name__ = "io.newgrounds.NGLite"; io_newgrounds_NGLite.core = null; io_newgrounds_NGLite.create = function(appId,sessionId,onSessionFail) { if(appId == null) { appId = "test"; } io_newgrounds_NGLite.core = new io_newgrounds_NGLite(appId,sessionId,false,onSessionFail); io_newgrounds_NGLite.onCoreReady.dispatch(); }; io_newgrounds_NGLite.createAndCheckSession = function(appId,backupSession,onSessionFail) { if(appId == null) { appId = "test"; } var session = io_newgrounds_NGLite.getSessionId(); if(session == null) { session = backupSession; } io_newgrounds_NGLite.create(appId,session,onSessionFail); }; io_newgrounds_NGLite.getUrl = function() { return window.document.location.href; }; io_newgrounds_NGLite.getSessionId = function() { var url = window.document.location.href; var index = url.indexOf("?"); if(index != -1) { var _g = 0; var _g1 = HxOverrides.substr(url,index + 1,null).split("&"); while(_g < _g1.length) { var param = _g1[_g]; ++_g; index = param.indexOf("="); if(index != -1 && HxOverrides.substr(param,0,index) == "ngio_session_id") { return HxOverrides.substr(param,index + 1,null); } } } return null; }; io_newgrounds_NGLite.prototype = { queueCall_io_newgrounds_Call_T: function(call) { if(this.verbose) { this.log("queued - " + call.component,{ fileName : "io/newgrounds/NGLite.hx", lineNumber : 193, className : "io.newgrounds.NGLite", methodName : "queueCall"}); } this._queuedCalls.push(call); this.checkQueue(); } ,markCallPending_io_newgrounds_Call_T: function(call) { var _gthis = this; this._pendingCalls.push(call); call.addDataHandler(function(_) { _gthis.onCallComplete(call); }); call.addErrorHandler(function(_1) { _gthis.onCallComplete(call); }); } ,verbose: null ,debug: null ,appId: null ,host: null ,sessionId: null ,set_sessionId: function(value) { return this.sessionId = value == "" ? null : value; } ,calls: null ,encryptionHandler: null ,checkInitialSession: function(onFail,response) { if(!response.success || !response.result.data.success || response.result.data.session.expired) { this.initialSessionFail(onFail,response.success ? response.result.data.error : response.error); } } ,initialSessionFail: function(onFail,error) { this.set_sessionId(null); if(onFail != null) { onFail(error); } } ,_queuedCalls: null ,_pendingCalls: null ,onCallComplete: function(call) { HxOverrides.remove(this._pendingCalls,call); this.checkQueue(); } ,checkQueue: function() { if(this._pendingCalls.length == 0 && this._queuedCalls.length > 0) { this._queuedCalls.shift().send(); } } ,log: function(any,pos) { haxe_Log.trace("[Newgrounds API] :: " + Std.string(any),pos); } ,logVerbose: function(any,pos) { if(this.verbose) { this.log(any,pos); } } ,logError: function(any,pos) { this.log("Error: " + Std.string(any),pos); } ,assert: function(condition,msg,pos) { if(!condition) { this.logError(msg,pos); } return condition; } ,initEncryption: function(key,cipher,format) { if(format == null) { format = "base64"; } if(cipher == null) { cipher = "rc4"; } if(cipher == "none") { this.encryptionHandler = null; } else if(cipher == "rc4") { var f = $bind(this,this.encryptRc4); var key1 = key; var format1 = format; this.encryptionHandler = function(data) { return f(key1,format1,data); }; } else { throw new js__$Boot_HaxeError("aes not yet implemented"); } } ,encryptRc4: function(key,format,data) { if(format == "hex") { throw new js__$Boot_HaxeError("hex format not yet implemented"); } var keyBytes; if(format == "base64") { keyBytes = haxe_crypto_Base64.decode(key); } else { keyBytes = null; } var dataBytes = new io_newgrounds_crypto_Rc4(keyBytes).crypt(haxe_io_Bytes.ofString(data)); if(format == "base64") { return haxe_crypto_Base64.encode(dataBytes); } return null; } ,__class__: io_newgrounds_NGLite ,__properties__: {set_sessionId:"set_sessionId"} }; var io_newgrounds_NG = function(appId,sessionId,debug,onSessionFail) { if(debug == null) { debug = false; } if(appId == null) { appId = "test"; } this.host = io_newgrounds_NG.getHost(); this.onLogin = new io_newgrounds_utils_Dispatcher(); this.onLogOut = new io_newgrounds_utils_Dispatcher(); this.onMedalsLoaded = new io_newgrounds_utils_Dispatcher(); this.onScoreBoardsLoaded = new io_newgrounds_utils_Dispatcher(); this.attemptingLogin = sessionId != null; io_newgrounds_NGLite.call(this,appId,sessionId,debug,onSessionFail); }; $hxClasses["io.newgrounds.NG"] = io_newgrounds_NG; io_newgrounds_NG.__name__ = "io.newgrounds.NG"; io_newgrounds_NG.core = null; io_newgrounds_NG.create = function(appId,sessionId,debug,onSessionFail) { if(debug == null) { debug = false; } if(appId == null) { appId = "test"; } io_newgrounds_NG.core = new io_newgrounds_NG(appId,sessionId,debug,onSessionFail); io_newgrounds_NG.onCoreReady.dispatch(); }; io_newgrounds_NG.createAndCheckSession = function(appId,debug,backupSession,onSessionFail) { if(debug == null) { debug = false; } if(appId == null) { appId = "test"; } var session = io_newgrounds_NGLite.getSessionId(); if(session == null) { session = backupSession; } io_newgrounds_NG.create(appId,session,debug,onSessionFail); if(io_newgrounds_NG.core.sessionId != null) { io_newgrounds_NG.core.attemptingLogin = true; } }; io_newgrounds_NG.openPassportHelper = function(url) { var $window = "_blank"; window.open(url,$window); }; io_newgrounds_NG.getHost = function() { var url = window.document.location.href; if(url == null || url == "") { return "AppView"; } if(url.indexOf("file") == 0 || url.indexOf("127.0.0.1") != -1) { return "LocalHost"; } if(io_newgrounds_NG.urlParser.match(url)) { return io_newgrounds_NG.urlParser.matched(1); } return "Unknown"; }; io_newgrounds_NG.__super__ = io_newgrounds_NGLite; io_newgrounds_NG.prototype = $extend(io_newgrounds_NGLite.prototype,{ get_user: function() { if(this._session == null) { return null; } return this._session.user; } ,get_passportUrl: function() { if(this._session == null || io_newgrounds_objects__$Session_Session_$Impl_$.get_status(this._session) != "request-login") { return null; } return this._session.passport_url; } ,medals: null ,scoreBoards: null ,onLogin: null ,onLogOut: null ,onMedalsLoaded: null ,onScoreBoardsLoaded: null ,loggedIn: null ,attemptingLogin: null ,_loginCancelled: null ,_passportCallback: null ,_session: null ,checkInitialSession: function(failHandler,response) { this.onSessionReceive(response,null,null,failHandler); } ,requestLogin: function(onSuccess,onPending,onFail,onCancel) { if(this.attemptingLogin) { this.logError("cannot request another login until the previous attempt is complete",{ fileName : "io/newgrounds/NG.hx", lineNumber : 157, className : "io.newgrounds.NG", methodName : "requestLogin"}); return; } if(this.loggedIn) { this.logError("cannot log in, already logged in",{ fileName : "io/newgrounds/NG.hx", lineNumber : 163, className : "io.newgrounds.NG", methodName : "requestLogin"}); return; } this.attemptingLogin = true; this._loginCancelled = false; this._passportCallback = null; var f = $bind(this,this.onSessionReceive); var onSuccess1 = onSuccess; var onPending1 = onPending; var onFail1 = onFail; var onCancel1 = onCancel; var call = function(response) { f(response,onSuccess1,onPending1,onFail1,onCancel1); }; var call1 = this.calls.app.startSession(true).addDataHandler(call); if(onFail != null) { call1.addErrorHandler(onFail); } call1.send(); } ,onSessionReceive: function(response,onSuccess,onPending,onFail,onCancel) { if(!response.success || !response.result.data.success) { this.set_sessionId(null); this.endLoginAndCall(null); if(onFail != null) { onFail(!response.success ? response.error : response.result.data.error); } return; } this._session = response.result.data.session; this.set_sessionId(this._session.id); var any = "session started - status: " + io_newgrounds_objects__$Session_Session_$Impl_$.get_status(this._session); if(this.verbose) { this.log(any,{ fileName : "io/newgrounds/NG.hx", lineNumber : 202, className : "io.newgrounds.NG", methodName : "onSessionReceive"}); } if(io_newgrounds_objects__$Session_Session_$Impl_$.get_status(this._session) == "request-login") { var f = $bind(this,this.checkSession); var response1 = null; var onSuccess1 = onSuccess; var onCancel1 = onCancel; this._passportCallback = function() { f(response1,onSuccess1,onCancel1); }; if(onPending != null) { onPending(); } else { this.openPassportUrl(); } } else { this.checkSession(null,onSuccess,onCancel); } } ,openPassportUrl: function() { if(this.get_passportUrl() != null) { var any = "loading passport: " + this.get_passportUrl(); if(this.verbose) { this.log(any,{ fileName : "io/newgrounds/NG.hx", lineNumber : 224, className : "io.newgrounds.NG", methodName : "openPassportUrl"}); } io_newgrounds_NG.openPassportHelper(this.get_passportUrl()); this.dispatchPassportCallback(); } else { this.logError("Cannot open passport",{ fileName : "io/newgrounds/NG.hx", lineNumber : 229, className : "io.newgrounds.NG", methodName : "openPassportUrl"}); } } ,onPassportUrlOpen: function() { this.dispatchPassportCallback(); } ,dispatchPassportCallback: function() { if(this._passportCallback != null) { if(this.verbose) { this.log("dispatching passport callback",{ fileName : "io/newgrounds/NG.hx", lineNumber : 271, className : "io.newgrounds.NG", methodName : "dispatchPassportCallback"}); } var callback = this._passportCallback; this._passportCallback = null; callback(); } } ,checkSession: function(response,onSuccess,onCancel) { var _gthis = this; if(this._loginCancelled) { this.log("login cancelled via cancelLoginRequest",{ fileName : "io/newgrounds/NG.hx", lineNumber : 282, className : "io.newgrounds.NG", methodName : "checkSession"}); this.endLoginAndCall(onCancel); return; } if(response != null) { if(!response.success || !response.result.data.success) { this.log("login cancelled via passport",{ fileName : "io/newgrounds/NG.hx", lineNumber : 292, className : "io.newgrounds.NG", methodName : "checkSession"}); this.endLoginAndCall(onCancel); return; } if(this.verbose) { this.log("Session received",{ fileName : "io/newgrounds/NG.hx", lineNumber : 298, className : "io.newgrounds.NG", methodName : "checkSession"}); } this._session = response.result.data.session; } if(io_newgrounds_objects__$Session_Session_$Impl_$.get_status(this._session) == "user-loaded") { this.loggedIn = true; this.endLoginAndCall(onSuccess); this.onLogin.dispatch(); } else if(io_newgrounds_objects__$Session_Session_$Impl_$.get_status(this._session) == "request-login") { var f = $bind(this,this.checkSession); var onSuccess1 = onSuccess; var onCancel1 = onCancel; var call = function(response1) { f(response1,onSuccess1,onCancel1); }; var call1 = this.calls.app.checkSession().addDataHandler(call); this.timer(3.0,function() { if(_gthis.verbose) { _gthis.log("3s elapsed, checking session again",{ fileName : "io/newgrounds/NG.hx", lineNumber : 317, className : "io.newgrounds.NG", methodName : "checkSession"}); } if(!_gthis._loginCancelled) { call1.send(); } else { _gthis.log("login cancelled via cancelLoginRequest",{ fileName : "io/newgrounds/NG.hx", lineNumber : 324, className : "io.newgrounds.NG", methodName : "checkSession"}); _gthis.endLoginAndCall(onCancel); } }); } else { this.log("login cancelled via passport",{ fileName : "io/newgrounds/NG.hx", lineNumber : 332, className : "io.newgrounds.NG", methodName : "checkSession"}); this.endLoginAndCall(onCancel); } } ,cancelLoginRequest: function() { if(this.attemptingLogin) { this._loginCancelled = true; this.dispatchPassportCallback(); } } ,endLoginAndCall: function(callback) { this.attemptingLogin = false; this._loginCancelled = false; if(callback != null) { callback(); } } ,logOut: function(onComplete) { var call = this.calls.app.endSession().addSuccessHandler($bind(this,this.onLogOutSuccessful)); if(onComplete != null) { call.addSuccessHandler(onComplete); } call.addSuccessHandler(($_=this.onLogOut,$bind($_,$_.dispatch))).send(); } ,onLogOutSuccessful: function() { this._session = null; this.set_sessionId(null); this.loggedIn = false; } ,requestMedals: function(onSuccess,onFail) { var call = this.calls.medal.getList().addDataHandler($bind(this,this.onMedalsReceived)); if(onSuccess != null) { call.addSuccessHandler(onSuccess); } if(onFail != null) { call.addErrorHandler(onFail); } call.send(); } ,onMedalsReceived: function(response) { if(!response.success || !response.result.data.success) { return; } var idList = []; if(this.medals == null) { this.medals = new haxe_ds_IntMap(); var _g = 0; var _g1 = response.result.data.medals; while(_g < _g1.length) { var medalData = _g1[_g]; ++_g; var medal = new io_newgrounds_objects_Medal(this,medalData); this.medals.h[medal._data.id] = medal; idList.push(medal._data.id); } } else { var _g2 = 0; var _g11 = response.result.data.medals; while(_g2 < _g11.length) { var medalData1 = _g11[_g2]; ++_g2; this.medals.h[medalData1.id].parse(medalData1); idList.push(medalData1.id); } } var any = "" + response.result.data.medals.length + " Medals received [" + idList.join(", ") + "]"; if(this.verbose) { this.log(any,{ fileName : "io/newgrounds/NG.hx", lineNumber : 421, className : "io.newgrounds.NG", methodName : "onMedalsReceived"}); } this.onMedalsLoaded.dispatch(); } ,requestScoreBoards: function(onSuccess,onFail) { if(this.scoreBoards != null) { this.log("aborting scoreboard request, all scoreboards are loaded",{ fileName : "io/newgrounds/NG.hx", lineNumber : 434, className : "io.newgrounds.NG", methodName : "requestScoreBoards"}); if(onSuccess != null) { onSuccess(); } return; } var call = this.calls.scoreBoard.getBoards().addDataHandler($bind(this,this.onBoardsReceived)); if(onSuccess != null) { call.addSuccessHandler(onSuccess); } if(onFail != null) { call.addErrorHandler(onFail); } call.send(); } ,onBoardsReceived: function(response) { if(!response.success || !response.result.data.success) { return; } var idList = []; if(this.scoreBoards == null) { this.scoreBoards = new haxe_ds_IntMap(); var _g = 0; var _g1 = response.result.data.scoreboards; while(_g < _g1.length) { var boardData = _g1[_g]; ++_g; var board = new io_newgrounds_objects_ScoreBoard(this,boardData); this.scoreBoards.h[board._data.id] = board; idList.push(board._data.id); } } var any = "" + response.result.data.scoreboards.length + " ScoreBoards received [" + idList.join(", ") + "]"; if(this.verbose) { this.log(any,{ fileName : "io/newgrounds/NG.hx", lineNumber : 473, className : "io.newgrounds.NG", methodName : "onBoardsReceived"}); } this.onScoreBoardsLoaded.dispatch(); } ,timer: function(delay,callback) { var timer = new haxe_Timer(delay * 1000 | 0); var func = function() { timer.stop(); callback(); }; timer.run = func; } ,__class__: io_newgrounds_NG ,__properties__: $extend(io_newgrounds_NGLite.prototype.__properties__,{get_passportUrl:"get_passportUrl",get_user:"get_user"}) }); var io_newgrounds_components_Component = function(core) { this._core = core; }; $hxClasses["io.newgrounds.components.Component"] = io_newgrounds_components_Component; io_newgrounds_components_Component.__name__ = "io.newgrounds.components.Component"; io_newgrounds_components_Component.prototype = { _core: null ,__class__: io_newgrounds_components_Component }; var io_newgrounds_components_AppComponent = function(core) { io_newgrounds_components_Component.call(this,core); }; $hxClasses["io.newgrounds.components.AppComponent"] = io_newgrounds_components_AppComponent; io_newgrounds_components_AppComponent.__name__ = "io.newgrounds.components.AppComponent"; io_newgrounds_components_AppComponent.__super__ = io_newgrounds_components_Component; io_newgrounds_components_AppComponent.prototype = $extend(io_newgrounds_components_Component.prototype,{ startSession: function(force) { if(force == null) { force = false; } return new io_newgrounds_Call(this._core,"App.startSession").addComponentParameter("force",force,false); } ,checkSession: function() { return new io_newgrounds_Call(this._core,"App.checkSession",true); } ,endSession: function() { return new io_newgrounds_Call(this._core,"App.endSession",true); } ,getCurrentVersion: function(version) { return new io_newgrounds_Call(this._core,"App.getCurrentVersion").addComponentParameter("version",version); } ,getHostLicense: function() { return new io_newgrounds_Call(this._core,"App.getHostLicense").addComponentParameter("host",this._core.host); } ,logView: function() { return new io_newgrounds_Call(this._core,"App.logView").addComponentParameter("host",this._core.host); } ,__class__: io_newgrounds_components_AppComponent }); var io_newgrounds_components_ComponentList = function(core) { this._core = core; this.medal = new io_newgrounds_components_MedalComponent(this._core); this.app = new io_newgrounds_components_AppComponent(this._core); this.event = new io_newgrounds_components_EventComponent(this._core); this.scoreBoard = new io_newgrounds_components_ScoreBoardComponent(this._core); this.loader = new io_newgrounds_components_LoaderComponent(this._core); this.gateway = new io_newgrounds_components_GatewayComponent(this._core); }; $hxClasses["io.newgrounds.components.ComponentList"] = io_newgrounds_components_ComponentList; io_newgrounds_components_ComponentList.__name__ = "io.newgrounds.components.ComponentList"; io_newgrounds_components_ComponentList.prototype = { _core: null ,medal: null ,app: null ,event: null ,scoreBoard: null ,loader: null ,gateway: null ,__class__: io_newgrounds_components_ComponentList }; var io_newgrounds_components_EventComponent = function(core) { io_newgrounds_components_Component.call(this,core); }; $hxClasses["io.newgrounds.components.EventComponent"] = io_newgrounds_components_EventComponent; io_newgrounds_components_EventComponent.__name__ = "io.newgrounds.components.EventComponent"; io_newgrounds_components_EventComponent.__super__ = io_newgrounds_components_Component; io_newgrounds_components_EventComponent.prototype = $extend(io_newgrounds_components_Component.prototype,{ logEvent: function(eventName) { return new io_newgrounds_Call(this._core,"Event.logEvent").addComponentParameter("event_name",eventName).addComponentParameter("host",this._core.host); } ,__class__: io_newgrounds_components_EventComponent }); var io_newgrounds_components_GatewayComponent = function(core) { io_newgrounds_components_Component.call(this,core); }; $hxClasses["io.newgrounds.components.GatewayComponent"] = io_newgrounds_components_GatewayComponent; io_newgrounds_components_GatewayComponent.__name__ = "io.newgrounds.components.GatewayComponent"; io_newgrounds_components_GatewayComponent.__super__ = io_newgrounds_components_Component; io_newgrounds_components_GatewayComponent.prototype = $extend(io_newgrounds_components_Component.prototype,{ getDatetime: function() { return new io_newgrounds_Call(this._core,"Gateway.getDatetime"); } ,getVersion: function() { return new io_newgrounds_Call(this._core,"Gateway.getVersion"); } ,ping: function() { return new io_newgrounds_Call(this._core,"Gateway.ping"); } ,__class__: io_newgrounds_components_GatewayComponent }); var io_newgrounds_components_LoaderComponent = function(core) { io_newgrounds_components_Component.call(this,core); }; $hxClasses["io.newgrounds.components.LoaderComponent"] = io_newgrounds_components_LoaderComponent; io_newgrounds_components_LoaderComponent.__name__ = "io.newgrounds.components.LoaderComponent"; io_newgrounds_components_LoaderComponent.__super__ = io_newgrounds_components_Component; io_newgrounds_components_LoaderComponent.prototype = $extend(io_newgrounds_components_Component.prototype,{ loadAuthorUrl: function(redirect) { if(redirect == null) { redirect = false; } return new io_newgrounds_Call(this._core,"Loader.loadAuthorUrl").addComponentParameter("host",this._core.host).addComponentParameter("redirect",redirect,true); } ,loadMoreGames: function(redirect) { if(redirect == null) { redirect = false; } return new io_newgrounds_Call(this._core,"Loader.loadMoreGames").addComponentParameter("host",this._core.host).addComponentParameter("redirect",redirect,true); } ,loadNewgrounds: function(redirect) { if(redirect == null) { redirect = false; } return new io_newgrounds_Call(this._core,"Loader.loadNewgrounds").addComponentParameter("host",this._core.host).addComponentParameter("redirect",redirect,true); } ,loadOfficialUrl: function(redirect) { if(redirect == null) { redirect = false; } return new io_newgrounds_Call(this._core,"Loader.loadOfficialUrl").addComponentParameter("host",this._core.host).addComponentParameter("redirect",redirect,true); } ,loadReferral: function(redirect) { if(redirect == null) { redirect = false; } return new io_newgrounds_Call(this._core,"Loader.loadReferral").addComponentParameter("host",this._core.host).addComponentParameter("redirect",redirect,true); } ,__class__: io_newgrounds_components_LoaderComponent }); var io_newgrounds_components_MedalComponent = function(core) { io_newgrounds_components_Component.call(this,core); }; $hxClasses["io.newgrounds.components.MedalComponent"] = io_newgrounds_components_MedalComponent; io_newgrounds_components_MedalComponent.__name__ = "io.newgrounds.components.MedalComponent"; io_newgrounds_components_MedalComponent.__super__ = io_newgrounds_components_Component; io_newgrounds_components_MedalComponent.prototype = $extend(io_newgrounds_components_Component.prototype,{ unlock: function(id) { return new io_newgrounds_Call(this._core,"Medal.unlock",true,true).addComponentParameter("id",id); } ,getList: function() { return new io_newgrounds_Call(this._core,"Medal.getList"); } ,__class__: io_newgrounds_components_MedalComponent }); var io_newgrounds_components_ScoreBoardComponent = function(core) { io_newgrounds_components_Component.call(this,core); }; $hxClasses["io.newgrounds.components.ScoreBoardComponent"] = io_newgrounds_components_ScoreBoardComponent; io_newgrounds_components_ScoreBoardComponent.__name__ = "io.newgrounds.components.ScoreBoardComponent"; io_newgrounds_components_ScoreBoardComponent.__super__ = io_newgrounds_components_Component; io_newgrounds_components_ScoreBoardComponent.prototype = $extend(io_newgrounds_components_Component.prototype,{ allById: null ,getBoards: function() { return new io_newgrounds_Call(this._core,"ScoreBoard.getBoards"); } ,getScores: function(id,limit,skip,period,social,tag,user) { if(social == null) { social = false; } if(period == null) { period = "D"; } if(skip == null) { skip = 0; } if(limit == null) { limit = 10; } if(user != null && typeof(user) != "string" && !(typeof(user) == "number" && ((user | 0) === user))) { user = user.id; } return new io_newgrounds_Call(this._core,"ScoreBoard.getScores").addComponentParameter("id",id).addComponentParameter("limit",limit,10).addComponentParameter("skip",skip,0).addComponentParameter("period",period,"D").addComponentParameter("social",social,false).addComponentParameter("tag",tag,null).addComponentParameter("user",user,null); } ,postScore: function(id,value,tag) { return new io_newgrounds_Call(this._core,"ScoreBoard.postScore",true,true).addComponentParameter("id",id).addComponentParameter("value",value).addComponentParameter("tag",tag,null); } ,createBoard: function(data) { var board = new io_newgrounds_objects_ScoreBoard(this._core,data); var _this = this._core; if(_this.verbose) { _this.log("created " + Std.string(board),{ fileName : "io/newgrounds/components/ScoreBoardComponent.hx", lineNumber : 93, className : "io.newgrounds.components.ScoreBoardComponent", methodName : "createBoard"}); } this.allById.h[board._data.id] = board; return board; } ,__class__: io_newgrounds_components_ScoreBoardComponent }); var io_newgrounds_crypto_Rc4 = function(key) { this.index2 = 0; this.index1 = 0; this.perm = new haxe_io_Bytes(new ArrayBuffer(256)); var _g = 0; while(_g < 256) { var i = _g++; this.perm.b[i] = i & 255; } var j = 0; var _g1 = 0; while(_g1 < 256) { var i1 = _g1++; j = (j + this.perm.b[i1] + key.b[i1 % key.length]) % 256; var temp = this.perm.b[i1]; this.perm.b[i1] = this.perm.b[j] & 255; this.perm.b[j] = temp & 255; } }; $hxClasses["io.newgrounds.crypto.Rc4"] = io_newgrounds_crypto_Rc4; io_newgrounds_crypto_Rc4.__name__ = "io.newgrounds.crypto.Rc4"; io_newgrounds_crypto_Rc4.prototype = { perm: null ,index1: null ,index2: null ,swap: function(i,j) { var temp = this.perm.b[i]; this.perm.b[i] = this.perm.b[j] & 255; this.perm.b[j] = temp & 255; } ,crypt: function(input) { var output = new haxe_io_Bytes(new ArrayBuffer(input.length)); var _g = 0; var _g1 = input.length; while(_g < _g1) { var i = _g++; this.index1 = (this.index1 + 1) % 256; this.index2 = (this.index2 + this.perm.b[this.index1]) % 256; var i1 = this.index1; var j = this.index2; var temp = this.perm.b[i1]; this.perm.b[i1] = this.perm.b[j] & 255; this.perm.b[j] = temp & 255; var j1 = (this.perm.b[this.index1] + this.perm.b[this.index2]) % 256; output.b[i] = (input.b[i] ^ this.perm.b[j1]) & 255; } return output; } ,__class__: io_newgrounds_crypto_Rc4 }; var io_newgrounds_objects__$Error_Error_$Impl_$ = {}; $hxClasses["io.newgrounds.objects._Error.Error_Impl_"] = io_newgrounds_objects__$Error_Error_$Impl_$; io_newgrounds_objects__$Error_Error_$Impl_$.__name__ = "io.newgrounds.objects._Error.Error_Impl_"; io_newgrounds_objects__$Error_Error_$Impl_$.__properties__ = {get_message:"get_message",get_code:"get_code"}; io_newgrounds_objects__$Error_Error_$Impl_$.get_code = function(this1) { return this1.code; }; io_newgrounds_objects__$Error_Error_$Impl_$.get_message = function(this1) { return this1.message; }; io_newgrounds_objects__$Error_Error_$Impl_$._new = function(message,code) { var this1 = { message : message, code : code}; return this1; }; io_newgrounds_objects__$Error_Error_$Impl_$.toString = function(this1) { return (this1.code != null ? "#" + this1.code + " - " : "") + this1.message; }; var io_newgrounds_objects_Object = function(core,data) { this._core = core; this.onUpdate = new io_newgrounds_utils_Dispatcher(); if(data != null) { this.parse(data); } }; $hxClasses["io.newgrounds.objects.Object"] = io_newgrounds_objects_Object; io_newgrounds_objects_Object.__name__ = "io.newgrounds.objects.Object"; io_newgrounds_objects_Object.prototype = { _core: null ,_data: null ,onUpdate: null ,parse: function(data) { this._data = data; this.onUpdate.dispatch(); } ,destroy: function() { this._core = null; } ,__class__: io_newgrounds_objects_Object }; var io_newgrounds_objects_Medal = function(core,data) { this.onUnlock = new io_newgrounds_utils_Dispatcher(); io_newgrounds_objects_Object.call(this,core,data); }; $hxClasses["io.newgrounds.objects.Medal"] = io_newgrounds_objects_Medal; io_newgrounds_objects_Medal.__name__ = "io.newgrounds.objects.Medal"; io_newgrounds_objects_Medal.__super__ = io_newgrounds_objects_Object; io_newgrounds_objects_Medal.prototype = $extend(io_newgrounds_objects_Object.prototype,{ get_id: function() { return this._data.id; } ,get_name: function() { return this._data.name; } ,get_description: function() { return this._data.description; } ,get_icon: function() { return this._data.icon; } ,get_value: function() { return this._data.value; } ,get_difficulty: function() { return this._data.difficulty; } ,get_secret: function() { return this._data.secret == 1; } ,get_unlocked: function() { return this._data.unlocked; } ,onUnlock: null ,parse: function(data) { var wasLocked = this._data == null || !this._data.unlocked; io_newgrounds_objects_Object.prototype.parse.call(this,data); if(wasLocked && this._data.unlocked) { this.onUnlock.dispatch(); } } ,sendUnlock: function() { if(this._core.sessionId == null) { this._data.unlocked = true; this.onUnlock.dispatch(); } this._core.calls.medal.unlock(this._data.id).addDataHandler($bind(this,this.onUnlockResponse)).send(); } ,onUnlockResponse: function(response) { if(response.success && response.result.data.success) { this.parse(response.result.data.medal); if(!this._data.unlocked) { this._data.unlocked = true; this.onUnlock.dispatch(); } } } ,sendDebugUnlock: function() { if(io_newgrounds_NG.core.sessionId == null) { this.onUnlock.dispatch(); } else { this._data.unlocked = false; this.sendUnlock(); } } ,get_difficultyName: function() { switch(this._data.difficulty) { case 1: return "Easy"; case 2: return "Moderate"; case 3: return "Challenging"; case 4: return "Difficult"; case 5: return "Brutal"; default: throw new js__$Boot_HaxeError("invalid difficulty: " + this._data.difficulty); } } ,toString: function() { var tmp = "Medal: " + this._data.id + "@" + this._data.name + " (" + (this._data.unlocked ? "unlocked" : "locked") + ", " + this._data.value + " pts, "; var tmp1; switch(this._data.difficulty) { case 1: tmp1 = "Easy"; break; case 2: tmp1 = "Moderate"; break; case 3: tmp1 = "Challenging"; break; case 4: tmp1 = "Difficult"; break; case 5: tmp1 = "Brutal"; break; default: throw new js__$Boot_HaxeError("invalid difficulty: " + this._data.difficulty); } return tmp + tmp1 + ")."; } ,__class__: io_newgrounds_objects_Medal ,__properties__: {get_difficultyName:"get_difficultyName",get_unlocked:"get_unlocked",get_secret:"get_secret",get_difficulty:"get_difficulty",get_value:"get_value",get_icon:"get_icon",get_description:"get_description",get_name:"get_name",get_id:"get_id"} }); var io_newgrounds_objects__$Score_Score_$Impl_$ = {}; $hxClasses["io.newgrounds.objects._Score.Score_Impl_"] = io_newgrounds_objects__$Score_Score_$Impl_$; io_newgrounds_objects__$Score_Score_$Impl_$.__name__ = "io.newgrounds.objects._Score.Score_Impl_"; io_newgrounds_objects__$Score_Score_$Impl_$.__properties__ = {get_formattedValue:"get_formattedValue",get_formatted_value:"get_formatted_value"}; io_newgrounds_objects__$Score_Score_$Impl_$.get_formatted_value = function(this1) { return this1.formatted_value; }; io_newgrounds_objects__$Score_Score_$Impl_$.get_formattedValue = function(this1) { return this1.formatted_value; }; var io_newgrounds_objects_ScoreBoard = function(core,data) { io_newgrounds_objects_Object.call(this,core,data); }; $hxClasses["io.newgrounds.objects.ScoreBoard"] = io_newgrounds_objects_ScoreBoard; io_newgrounds_objects_ScoreBoard.__name__ = "io.newgrounds.objects.ScoreBoard"; io_newgrounds_objects_ScoreBoard.__super__ = io_newgrounds_objects_Object; io_newgrounds_objects_ScoreBoard.prototype = $extend(io_newgrounds_objects_Object.prototype,{ scores: null ,get_id: function() { return this._data.id; } ,get_name: function() { return this._data.name; } ,requestScores: function(limit,skip,period,social,tag,user) { if(social == null) { social = false; } if(period == null) { period = "A"; } if(skip == null) { skip = 0; } if(limit == null) { limit = 10; } this._core.calls.scoreBoard.getScores(this._data.id,limit,skip,period,social,tag,user).addDataHandler($bind(this,this.onScoresReceived)).send(); } ,onScoresReceived: function(response) { if(!response.success || !response.result.data.success) { return; } this.scores = response.result.data.scores; var _this = this._core; if(_this.verbose) { _this.log("received " + this.scores.length + " scores",{ fileName : "io/newgrounds/objects/ScoreBoard.hx", lineNumber : 55, className : "io.newgrounds.objects.ScoreBoard", methodName : "onScoresReceived"}); } this.onUpdate.dispatch(); } ,postScore: function(value,tag) { this._core.calls.scoreBoard.postScore(this._data.id,value,tag).addDataHandler($bind(this,this.onScorePosted)).send(); } ,onScorePosted: function(response) { } ,toString: function() { return "ScoreBoard: " + this._data.id + "@" + this._data.name; } ,__class__: io_newgrounds_objects_ScoreBoard ,__properties__: {get_name:"get_name",get_id:"get_id"} }); var io_newgrounds_objects__$Session_Session_$Impl_$ = {}; $hxClasses["io.newgrounds.objects._Session.Session_Impl_"] = io_newgrounds_objects__$Session_Session_$Impl_$; io_newgrounds_objects__$Session_Session_$Impl_$.__name__ = "io.newgrounds.objects._Session.Session_Impl_"; io_newgrounds_objects__$Session_Session_$Impl_$.__properties__ = {get_status:"get_status",get_passport_url:"get_passport_url",get_passportUrl:"get_passportUrl"}; io_newgrounds_objects__$Session_Session_$Impl_$.get_passportUrl = function(this1) { return this1.passport_url; }; io_newgrounds_objects__$Session_Session_$Impl_$.get_passport_url = function(this1) { return this1.passport_url; }; io_newgrounds_objects__$Session_Session_$Impl_$.get_status = function(this1) { if(this1.expired || this1.id == null || this1.id == "") { return "session-expired"; } if(this1.user != null && this1.user.name != null && this1.user.name != "") { return "user-loaded"; } return "request-login"; }; var io_newgrounds_objects_events__$Response_Response_$Impl_$ = {}; $hxClasses["io.newgrounds.objects.events._Response.Response_Impl_"] = io_newgrounds_objects_events__$Response_Response_$Impl_$; io_newgrounds_objects_events__$Response_Response_$Impl_$.__name__ = "io.newgrounds.objects.events._Response.Response_Impl_"; io_newgrounds_objects_events__$Response_Response_$Impl_$.__properties__ = {get_appId:"get_appId",get_result:"get_result",get_debug:"get_debug",get_error:"get_error",get_success:"get_success"}; io_newgrounds_objects_events__$Response_Response_$Impl_$.get_success = function(this1) { return this1.success; }; io_newgrounds_objects_events__$Response_Response_$Impl_$.get_error = function(this1) { return this1.error; }; io_newgrounds_objects_events__$Response_Response_$Impl_$.get_debug = function(this1) { return this1.debug; }; io_newgrounds_objects_events__$Response_Response_$Impl_$.get_result = function(this1) { return this1.result; }; io_newgrounds_objects_events__$Response_Response_$Impl_$.get_appId = function(this1) { return this1.app_id; }; io_newgrounds_objects_events__$Response_Response_$Impl_$._new = function(core,reply) { var this1; try { this1 = JSON.parse(reply); } catch( e ) { haxe_CallStack.lastException = e; this1 = JSON.parse("{\"success\":false,\"error\":{\"message\":\"Error parsing reply:'" + reply + "' error:'" + Std.string(((e) instanceof js__$Boot_HaxeError) ? e.val : e) + "'\",\"code\":0}}"); } if(!this1.success) { var this2 = this1.error; core.logError("Call unseccessful: " + ((this2.code != null ? "#" + this2.code + " - " : "") + this2.message),{ fileName : "io/newgrounds/objects/events/Response.hx", lineNumber : 40, className : "io.newgrounds.objects.events._Response.Response_Impl_", methodName : "_new"}); } else if(!this1.result.data.success) { var this3 = this1.result.data.error; core.logError("" + this1.result.component + " fail: " + ((this3.code != null ? "#" + this3.code + " - " : "") + this3.message),{ fileName : "io/newgrounds/objects/events/Response.hx", lineNumber : 42, className : "io.newgrounds.objects.events._Response.Response_Impl_", methodName : "_new"}); } return this1; }; var io_newgrounds_objects_events__$Result_Result_$Impl_$ = {}; $hxClasses["io.newgrounds.objects.events._Result.Result_Impl_"] = io_newgrounds_objects_events__$Result_Result_$Impl_$; io_newgrounds_objects_events__$Result_Result_$Impl_$.__name__ = "io.newgrounds.objects.events._Result.Result_Impl_"; io_newgrounds_objects_events__$Result_Result_$Impl_$.__properties__ = {get_error:"get_error",get_debug:"get_debug",get_success:"get_success",get_data:"get_data",get_echo:"get_echo",get_component:"get_component"}; io_newgrounds_objects_events__$Result_Result_$Impl_$.get_component = function(this1) { return this1.component; }; io_newgrounds_objects_events__$Result_Result_$Impl_$.get_echo = function(this1) { return this1.echo; }; io_newgrounds_objects_events__$Result_Result_$Impl_$.get_data = function(this1) { return this1.data; }; io_newgrounds_objects_events__$Result_Result_$Impl_$.get_success = function(this1) { return this1.data.success; }; io_newgrounds_objects_events__$Result_Result_$Impl_$.get_debug = function(this1) { return this1.data.debug; }; io_newgrounds_objects_events__$Result_Result_$Impl_$.get_error = function(this1) { return this1.data.error; }; var io_newgrounds_objects_events__$Result_GetHostResult_$Impl_$ = {}; $hxClasses["io.newgrounds.objects.events._Result.GetHostResult_Impl_"] = io_newgrounds_objects_events__$Result_GetHostResult_$Impl_$; io_newgrounds_objects_events__$Result_GetHostResult_$Impl_$.__name__ = "io.newgrounds.objects.events._Result.GetHostResult_Impl_"; io_newgrounds_objects_events__$Result_GetHostResult_$Impl_$.__properties__ = {get_hostApproved:"get_hostApproved",get_host_approved:"get_host_approved"}; io_newgrounds_objects_events__$Result_GetHostResult_$Impl_$.get_host_approved = function(this1) { return this1.host_approved; }; io_newgrounds_objects_events__$Result_GetHostResult_$Impl_$.get_hostApproved = function(this1) { return this1.host_approved; }; var io_newgrounds_objects_events__$Result_GetCurrentVersionResult_$Impl_$ = {}; $hxClasses["io.newgrounds.objects.events._Result.GetCurrentVersionResult_Impl_"] = io_newgrounds_objects_events__$Result_GetCurrentVersionResult_$Impl_$; io_newgrounds_objects_events__$Result_GetCurrentVersionResult_$Impl_$.__name__ = "io.newgrounds.objects.events._Result.GetCurrentVersionResult_Impl_"; io_newgrounds_objects_events__$Result_GetCurrentVersionResult_$Impl_$.__properties__ = {get_clientDeprecated:"get_clientDeprecated",get_client_deprecated:"get_client_deprecated",get_currentVersion:"get_currentVersion",get_current_version:"get_current_version"}; io_newgrounds_objects_events__$Result_GetCurrentVersionResult_$Impl_$.get_current_version = function(this1) { return this1.current_version; }; io_newgrounds_objects_events__$Result_GetCurrentVersionResult_$Impl_$.get_currentVersion = function(this1) { return this1.current_version; }; io_newgrounds_objects_events__$Result_GetCurrentVersionResult_$Impl_$.get_client_deprecated = function(this1) { return this1.client_deprecated; }; io_newgrounds_objects_events__$Result_GetCurrentVersionResult_$Impl_$.get_clientDeprecated = function(this1) { return this1.client_deprecated; }; var io_newgrounds_objects_events__$Result_LogEventResult_$Impl_$ = {}; $hxClasses["io.newgrounds.objects.events._Result.LogEventResult_Impl_"] = io_newgrounds_objects_events__$Result_LogEventResult_$Impl_$; io_newgrounds_objects_events__$Result_LogEventResult_$Impl_$.__name__ = "io.newgrounds.objects.events._Result.LogEventResult_Impl_"; io_newgrounds_objects_events__$Result_LogEventResult_$Impl_$.__properties__ = {get_eventName:"get_eventName",get_event_name:"get_event_name"}; io_newgrounds_objects_events__$Result_LogEventResult_$Impl_$.get_event_name = function(this1) { return this1.event_name; }; io_newgrounds_objects_events__$Result_LogEventResult_$Impl_$.get_eventName = function(this1) { return this1.event_name; }; var io_newgrounds_objects_events__$Result_GetDateTimeResult_$Impl_$ = {}; $hxClasses["io.newgrounds.objects.events._Result.GetDateTimeResult_Impl_"] = io_newgrounds_objects_events__$Result_GetDateTimeResult_$Impl_$; io_newgrounds_objects_events__$Result_GetDateTimeResult_$Impl_$.__name__ = "io.newgrounds.objects.events._Result.GetDateTimeResult_Impl_"; io_newgrounds_objects_events__$Result_GetDateTimeResult_$Impl_$.__properties__ = {get_dateTime:"get_dateTime",get_datetime:"get_datetime"}; io_newgrounds_objects_events__$Result_GetDateTimeResult_$Impl_$.get_datetime = function(this1) { return this1.datetime; }; io_newgrounds_objects_events__$Result_GetDateTimeResult_$Impl_$.get_dateTime = function(this1) { return this1.datetime; }; var io_newgrounds_objects_events__$Result_MedalUnlockResult_$Impl_$ = {}; $hxClasses["io.newgrounds.objects.events._Result.MedalUnlockResult_Impl_"] = io_newgrounds_objects_events__$Result_MedalUnlockResult_$Impl_$; io_newgrounds_objects_events__$Result_MedalUnlockResult_$Impl_$.__name__ = "io.newgrounds.objects.events._Result.MedalUnlockResult_Impl_"; io_newgrounds_objects_events__$Result_MedalUnlockResult_$Impl_$.__properties__ = {get_medalScore:"get_medalScore",get_medal_score:"get_medal_score"}; io_newgrounds_objects_events__$Result_MedalUnlockResult_$Impl_$.get_medal_score = function(this1) { return this1.medal_score; }; io_newgrounds_objects_events__$Result_MedalUnlockResult_$Impl_$.get_medalScore = function(this1) { return this1.medal_score; }; var io_newgrounds_utils_AsyncHttp = function() { }; $hxClasses["io.newgrounds.utils.AsyncHttp"] = io_newgrounds_utils_AsyncHttp; io_newgrounds_utils_AsyncHttp.__name__ = "io.newgrounds.utils.AsyncHttp"; io_newgrounds_utils_AsyncHttp.send = function(core,data,onData,onError,onStatus) { if(core.verbose) { core.log("sending: " + data,{ fileName : "io/newgrounds/utils/AsyncHttp.hx", lineNumber : 35, className : "io.newgrounds.utils.AsyncHttp", methodName : "send"}); } io_newgrounds_utils_AsyncHttp.sendSync(core,data,onData,onError,onStatus); }; io_newgrounds_utils_AsyncHttp.sendSync = function(core,data,onData,onError,onStatus) { var http = new haxe_http_HttpJs("https://newgrounds.io/gateway_v3.php"); http.setParameter("input",data); http.onData = onData; http.onError = onError; http.onStatus = onStatus; http.request(true); }; var io_newgrounds_utils_TypedDispatcher = function() { this._list = []; this._once = []; }; $hxClasses["io.newgrounds.utils.TypedDispatcher"] = io_newgrounds_utils_TypedDispatcher; io_newgrounds_utils_TypedDispatcher.__name__ = "io.newgrounds.utils.TypedDispatcher"; io_newgrounds_utils_TypedDispatcher.prototype = { _list: null ,_once: null ,add: function(handler,once) { if(once == null) { once = false; } if(this._list.indexOf(handler) != -1) { if(!once && this._once.indexOf(handler) != -1) { HxOverrides.remove(this._once,handler); } return false; } this._list.unshift(handler); if(once) { this._once.unshift(handler); } return true; } ,addOnce: function(handler) { return this.add(handler,true); } ,remove: function(handler) { HxOverrides.remove(this._once,handler); return HxOverrides.remove(this._list,handler); } ,dispatch: function(arg) { var i = this._list.length - 1; while(i >= 0) { var handler = this._list[i]; if(HxOverrides.remove(this._once,handler)) { HxOverrides.remove(this._list,handler); } handler(arg); --i; } } ,__class__: io_newgrounds_utils_TypedDispatcher }; var js__$Boot_HaxeError = function(val) { Error.call(this); this.val = val; if(Error.captureStackTrace) { Error.captureStackTrace(this,js__$Boot_HaxeError); } }; $hxClasses["js._Boot.HaxeError"] = js__$Boot_HaxeError; js__$Boot_HaxeError.__name__ = "js._Boot.HaxeError"; js__$Boot_HaxeError.wrap = function(val) { if(((val) instanceof Error)) { return val; } else { return new js__$Boot_HaxeError(val); } }; js__$Boot_HaxeError.__super__ = Error; js__$Boot_HaxeError.prototype = $extend(Error.prototype,{ val: null ,__class__: js__$Boot_HaxeError }); var js_Browser = function() { }; $hxClasses["js.Browser"] = js_Browser; js_Browser.__name__ = "js.Browser"; js_Browser.getLocalStorage = function() { try { var s = window.localStorage; s.getItem(""); if(s.length == 0) { var key = "_hx_" + Math.random(); s.setItem(key,key); s.removeItem(key); } return s; } catch( e ) { haxe_CallStack.lastException = e; var e1 = ((e) instanceof js__$Boot_HaxeError) ? e.val : e; return null; } }; js_Browser.createXMLHttpRequest = function() { if(typeof XMLHttpRequest != "undefined") { return new XMLHttpRequest(); } if(typeof ActiveXObject != "undefined") { return new ActiveXObject("Microsoft.XMLHTTP"); } throw new js__$Boot_HaxeError("Unable to create XMLHttpRequest object."); }; var js_html__$CanvasElement_CanvasUtil = function() { }; $hxClasses["js.html._CanvasElement.CanvasUtil"] = js_html__$CanvasElement_CanvasUtil; js_html__$CanvasElement_CanvasUtil.__name__ = "js.html._CanvasElement.CanvasUtil"; js_html__$CanvasElement_CanvasUtil.getContextWebGL = function(canvas,attribs) { var name = "webgl"; var ctx = canvas.getContext(name,attribs); if(ctx != null) { return ctx; } var name1 = "experimental-webgl"; var ctx1 = canvas.getContext(name1,attribs); if(ctx1 != null) { return ctx1; } return null; }; var js_lib__$ArrayBuffer_ArrayBufferCompat = function() { }; $hxClasses["js.lib._ArrayBuffer.ArrayBufferCompat"] = js_lib__$ArrayBuffer_ArrayBufferCompat; js_lib__$ArrayBuffer_ArrayBufferCompat.__name__ = "js.lib._ArrayBuffer.ArrayBufferCompat"; js_lib__$ArrayBuffer_ArrayBufferCompat.sliceImpl = function(begin,end) { var u = new Uint8Array(this,begin,end == null ? null : end - begin); var resultArray = new Uint8Array(u.byteLength); resultArray.set(u); return resultArray.buffer; }; var lime__$internal_backend_html5_GameDeviceData = function() { this.connected = true; this.buttons = []; this.axes = []; }; $hxClasses["lime._internal.backend.html5.GameDeviceData"] = lime__$internal_backend_html5_GameDeviceData; lime__$internal_backend_html5_GameDeviceData.__name__ = "lime._internal.backend.html5.GameDeviceData"; lime__$internal_backend_html5_GameDeviceData.prototype = { connected: null ,id: null ,isGamepad: null ,buttons: null ,axes: null ,__class__: lime__$internal_backend_html5_GameDeviceData }; var lime__$internal_backend_html5_HTML5AudioSource = function(parent) { this.parent = parent; this.id = -1; this.gain = 1; this.position = new lime_math_Vector4(); }; $hxClasses["lime._internal.backend.html5.HTML5AudioSource"] = lime__$internal_backend_html5_HTML5AudioSource; lime__$internal_backend_html5_HTML5AudioSource.__name__ = "lime._internal.backend.html5.HTML5AudioSource"; lime__$internal_backend_html5_HTML5AudioSource.prototype = { completed: null ,gain: null ,id: null ,length: null ,loops: null ,parent: null ,playing: null ,position: null ,dispose: function() { } ,init: function() { } ,play: function() { if(this.playing || this.parent.buffer == null || this.parent.buffer.__srcHowl == null) { return; } this.playing = true; var time = this.getCurrentTime(); this.completed = false; var cacheVolume = this.parent.buffer.__srcHowl._volume; this.parent.buffer.__srcHowl._volume = this.parent.get_gain(); this.id = this.parent.buffer.__srcHowl.play(); this.parent.buffer.__srcHowl._volume = cacheVolume; this.setPosition(this.parent.get_position()); this.parent.buffer.__srcHowl.on("end",$bind(this,this.howl_onEnd),this.id); this.setCurrentTime(time); } ,pause: function() { this.playing = false; if(this.parent.buffer != null && this.parent.buffer.__srcHowl != null) { this.parent.buffer.__srcHowl.pause(this.id); } } ,stop: function() { this.playing = false; if(this.parent.buffer != null && this.parent.buffer.__srcHowl != null) { this.parent.buffer.__srcHowl.stop(this.id); this.parent.buffer.__srcHowl.off("end",$bind(this,this.howl_onEnd),this.id); } } ,howl_onEnd: function() { this.playing = false; if(this.loops > 0) { this.loops--; this.stop(); this.play(); return; } else if(this.parent.buffer != null && this.parent.buffer.__srcHowl != null) { this.parent.buffer.__srcHowl.stop(this.id); this.parent.buffer.__srcHowl.off("end",$bind(this,this.howl_onEnd),this.id); } this.completed = true; this.parent.onComplete.dispatch(); } ,getCurrentTime: function() { if(this.id == -1) { return 0; } if(this.completed) { return this.getLength(); } else if(this.parent.buffer != null && this.parent.buffer.__srcHowl != null) { var time = (this.parent.buffer.__srcHowl.seek(this.id) * 1000 | 0) - this.parent.offset; if(time < 0) { return 0; } return time; } return 0; } ,setCurrentTime: function(value) { if(this.parent.buffer != null && this.parent.buffer.__srcHowl != null) { var pos = (value + this.parent.offset) / 1000; if(pos < 0) { pos = 0; } this.parent.buffer.__srcHowl.seek(pos,this.id); } return value; } ,getGain: function() { return this.gain; } ,setGain: function(value) { if(this.parent.buffer != null && this.parent.buffer.__srcHowl != null && this.id != -1) { this.parent.buffer.__srcHowl.volume(value,this.id); } return this.gain = value; } ,getLength: function() { if(this.length != 0) { return this.length; } if(this.parent.buffer != null && this.parent.buffer.__srcHowl != null) { return this.parent.buffer.__srcHowl.duration() * 1000 | 0; } return 0; } ,setLength: function(value) { return this.length = value; } ,getLoops: function() { return this.loops; } ,setLoops: function(value) { return this.loops = value; } ,getPosition: function() { return this.position; } ,setPosition: function(value) { this.position.x = value.x; this.position.y = value.y; this.position.z = value.z; this.position.w = value.w; if(this.parent.buffer.__srcHowl != null && this.parent.buffer.__srcHowl.pos != null) { this.parent.buffer.__srcHowl.pos(this.position.x,this.position.y,this.position.z,this.id); } return this.position; } ,__class__: lime__$internal_backend_html5_HTML5AudioSource }; var lime__$internal_backend_html5_HTML5HTTPRequest = function() { this.validStatus0 = new EReg("Tizen","gi").match(window.navigator.userAgent); }; $hxClasses["lime._internal.backend.html5.HTML5HTTPRequest"] = lime__$internal_backend_html5_HTML5HTTPRequest; lime__$internal_backend_html5_HTML5HTTPRequest.__name__ = "lime._internal.backend.html5.HTML5HTTPRequest"; lime__$internal_backend_html5_HTML5HTTPRequest.originElement = null; lime__$internal_backend_html5_HTML5HTTPRequest.originHostname = null; lime__$internal_backend_html5_HTML5HTTPRequest.originPort = null; lime__$internal_backend_html5_HTML5HTTPRequest.originProtocol = null; lime__$internal_backend_html5_HTML5HTTPRequest.supportsImageProgress = null; lime__$internal_backend_html5_HTML5HTTPRequest.loadImage = function(uri) { var promise = new lime_app_Promise(); if(lime__$internal_backend_html5_HTML5HTTPRequest.activeRequests < lime__$internal_backend_html5_HTML5HTTPRequest.requestLimit) { lime__$internal_backend_html5_HTML5HTTPRequest.activeRequests++; lime__$internal_backend_html5_HTML5HTTPRequest.__loadImage(uri,promise,0); } else { lime__$internal_backend_html5_HTML5HTTPRequest.requestQueue.add({ instance : null, uri : uri, promise : promise, type : "IMAGE", options : 0}); } return promise.future; }; lime__$internal_backend_html5_HTML5HTTPRequest.loadImageFromBytes = function(bytes,type) { var uri = URL.createObjectURL(new Blob([bytes.b.bufferValue],{ type : type})); if(uri != null) { var promise = new lime_app_Promise(); if(lime__$internal_backend_html5_HTML5HTTPRequest.activeRequests < lime__$internal_backend_html5_HTML5HTTPRequest.requestLimit) { lime__$internal_backend_html5_HTML5HTTPRequest.activeRequests++; lime__$internal_backend_html5_HTML5HTTPRequest.__loadImage(uri,promise,1); } else { lime__$internal_backend_html5_HTML5HTTPRequest.requestQueue.add({ instance : null, uri : uri, promise : promise, type : "IMAGE", options : 1}); } return promise.future; } else { return lime__$internal_backend_html5_HTML5HTTPRequest.loadImage("data:" + type + ";base64," + lime__$internal_format_Base64.encode(bytes)); } }; lime__$internal_backend_html5_HTML5HTTPRequest.processQueue = function() { if(lime__$internal_backend_html5_HTML5HTTPRequest.activeRequests < lime__$internal_backend_html5_HTML5HTTPRequest.requestLimit && lime__$internal_backend_html5_HTML5HTTPRequest.requestQueue.length > 0) { lime__$internal_backend_html5_HTML5HTTPRequest.activeRequests++; var queueItem = lime__$internal_backend_html5_HTML5HTTPRequest.requestQueue.pop(); switch(queueItem.type) { case "BINARY": queueItem.instance.__loadData(queueItem.uri,queueItem.promise); break; case "IMAGE": lime__$internal_backend_html5_HTML5HTTPRequest.__loadImage(queueItem.uri,queueItem.promise,queueItem.options); break; case "TEXT": queueItem.instance.__loadText(queueItem.uri,queueItem.promise); break; default: lime__$internal_backend_html5_HTML5HTTPRequest.activeRequests--; } } }; lime__$internal_backend_html5_HTML5HTTPRequest.__createBlobURIFromBytes = function(bytes,type) { return URL.createObjectURL(new Blob([bytes.b.bufferValue],{ type : type})); }; lime__$internal_backend_html5_HTML5HTTPRequest.__fixHostname = function(hostname) { if(hostname == null) { return ""; } else { return hostname; } }; lime__$internal_backend_html5_HTML5HTTPRequest.__fixPort = function(port,protocol) { if(port == null || port == "") { switch(protocol) { case "ftp:": return "21"; case "gopher:": return "70"; case "http:": return "80"; case "https:": return "443"; case "ws:": return "80"; case "wss:": return "443"; default: return ""; } } return port; }; lime__$internal_backend_html5_HTML5HTTPRequest.__fixProtocol = function(protocol) { if(protocol == null || protocol == "") { return "http:"; } else { return protocol; } }; lime__$internal_backend_html5_HTML5HTTPRequest.__isInMemoryURI = function(uri) { if(!StringTools.startsWith(uri,"data:")) { return StringTools.startsWith(uri,"blob:"); } else { return true; } }; lime__$internal_backend_html5_HTML5HTTPRequest.__isSameOrigin = function(path) { if(path == null || path == "") { return true; } if(lime__$internal_backend_html5_HTML5HTTPRequest.__isInMemoryURI(path)) { return true; } if(lime__$internal_backend_html5_HTML5HTTPRequest.originElement == null) { lime__$internal_backend_html5_HTML5HTTPRequest.originElement = window.document.createElement("a"); lime__$internal_backend_html5_HTML5HTTPRequest.originHostname = lime__$internal_backend_html5_HTML5HTTPRequest.__fixHostname(window.location.hostname); lime__$internal_backend_html5_HTML5HTTPRequest.originProtocol = lime__$internal_backend_html5_HTML5HTTPRequest.__fixProtocol(window.location.protocol); lime__$internal_backend_html5_HTML5HTTPRequest.originPort = lime__$internal_backend_html5_HTML5HTTPRequest.__fixPort(window.location.port,lime__$internal_backend_html5_HTML5HTTPRequest.originProtocol); } var a = lime__$internal_backend_html5_HTML5HTTPRequest.originElement; a.href = path; if(a.hostname == "") { a.href = a.href; } var hostname = lime__$internal_backend_html5_HTML5HTTPRequest.__fixHostname(a.hostname); var protocol = lime__$internal_backend_html5_HTML5HTTPRequest.__fixProtocol(a.protocol); var port = lime__$internal_backend_html5_HTML5HTTPRequest.__fixPort(a.port,protocol); var sameHost = hostname == "" || hostname == lime__$internal_backend_html5_HTML5HTTPRequest.originHostname; var samePort = port == "" || port == lime__$internal_backend_html5_HTML5HTTPRequest.originPort; if(protocol != "file:" && sameHost) { return samePort; } else { return false; } }; lime__$internal_backend_html5_HTML5HTTPRequest.__loadImage = function(uri,promise,options) { var image = new Image(); if(!lime__$internal_backend_html5_HTML5HTTPRequest.__isSameOrigin(uri)) { image.crossOrigin = "Anonymous"; } if(lime__$internal_backend_html5_HTML5HTTPRequest.supportsImageProgress == null) { lime__$internal_backend_html5_HTML5HTTPRequest.supportsImageProgress = 'onprogress' in image; } if(lime__$internal_backend_html5_HTML5HTTPRequest.supportsImageProgress || lime__$internal_backend_html5_HTML5HTTPRequest.__isInMemoryURI(uri)) { image.addEventListener("load",function(event) { lime__$internal_backend_html5_HTML5HTTPRequest.__revokeBlobURI(uri,options); var buffer = new lime_graphics_ImageBuffer(null,image.width,image.height); buffer.__srcImage = image; lime__$internal_backend_html5_HTML5HTTPRequest.activeRequests--; lime__$internal_backend_html5_HTML5HTTPRequest.processQueue(); promise.complete(new lime_graphics_Image(buffer)); },false); image.addEventListener("progress",function(event1) { promise.progress(event1.loaded,event1.total); },false); image.addEventListener("error",function(event2) { lime__$internal_backend_html5_HTML5HTTPRequest.__revokeBlobURI(uri,options); lime__$internal_backend_html5_HTML5HTTPRequest.activeRequests--; lime__$internal_backend_html5_HTML5HTTPRequest.processQueue(); promise.error(event2.detail); },false); image.src = uri; } else { var request = new XMLHttpRequest(); request.onload = function(_) { lime__$internal_backend_html5_HTML5HTTPRequest.activeRequests--; lime__$internal_backend_html5_HTML5HTTPRequest.processQueue(); var img = new lime_graphics_Image(); img.__fromBytes(haxe_io_Bytes.ofData(request.response),function(img1) { promise.complete(img1); }); }; request.onerror = function(event3) { promise.error(event3.message); }; request.onprogress = function(event4) { if(event4.lengthComputable) { promise.progress(event4.loaded,event4.total); } }; request.open("GET",uri,true); request.responseType = "arraybuffer"; request.overrideMimeType("text/plain; charset=x-user-defined"); request.send(null); } }; lime__$internal_backend_html5_HTML5HTTPRequest.__revokeBlobURI = function(uri,options) { if((options & 1) != 0) { URL.revokeObjectURL(uri); } }; lime__$internal_backend_html5_HTML5HTTPRequest.prototype = { binary: null ,parent: null ,request: null ,validStatus0: null ,cancel: function() { if(this.request != null) { this.request.abort(); } } ,init: function(parent) { this.parent = parent; } ,load: function(uri,progress,readyStateChange) { this.request = new XMLHttpRequest(); if(this.parent.method == "POST") { this.request.upload.addEventListener("progress",progress,false); } else { this.request.addEventListener("progress",progress,false); } this.request.onreadystatechange = readyStateChange; var query = ""; if(this.parent.data == null) { var key = this.parent.formData.keys(); while(key.hasNext()) { var key1 = key.next(); if(query.length > 0) { query += "&"; } var _this = this.parent.formData; var value = __map_reserved[key1] != null ? _this.getReserved(key1) : _this.h[key1]; if(key1.indexOf("[]") > -1 && ((value) instanceof Array)) { var _g = []; var x = $getIterator(value); while(x.hasNext()) { var x1 = x.next(); _g.push(encodeURIComponent(x1)); } var arrayValue = _g.join("&" + key1 + "="); query += encodeURIComponent(key1) + "=" + arrayValue; } else { var query1 = encodeURIComponent(key1) + "="; var s = Std.string(value); query += query1 + encodeURIComponent(s); } } if(this.parent.method == "GET" && query != "") { if(uri.indexOf("?") > -1) { uri += "&" + query; } else { uri += "?" + query; } query = ""; } } this.request.open(Std.string(this.parent.method),uri,true); if(this.parent.timeout > 0) { this.request.timeout = this.parent.timeout; } if(this.binary) { this.request.responseType = "arraybuffer"; } var contentType = null; var _g1 = 0; var _g11 = this.parent.headers; while(_g1 < _g11.length) { var header = _g11[_g1]; ++_g1; if(header.name == "Content-Type") { contentType = header.value; } else { this.request.setRequestHeader(header.name,header.value); } } if(this.parent.contentType != null) { contentType = this.parent.contentType; } if(contentType == null) { if(this.parent.data != null) { contentType = "application/octet-stream"; } else if(query != "") { contentType = "application/x-www-form-urlencoded"; } } if(contentType != null) { this.request.setRequestHeader("Content-Type",contentType); } if(this.parent.withCredentials) { this.request.withCredentials = true; } if(this.parent.data != null) { this.request.send(this.parent.data.b.bufferValue); } else { this.request.send(query); } } ,loadData: function(uri) { var promise = new lime_app_Promise(); if(lime__$internal_backend_html5_HTML5HTTPRequest.activeRequests < lime__$internal_backend_html5_HTML5HTTPRequest.requestLimit) { lime__$internal_backend_html5_HTML5HTTPRequest.activeRequests++; this.__loadData(uri,promise); } else { lime__$internal_backend_html5_HTML5HTTPRequest.requestQueue.add({ instance : this, uri : uri, promise : promise, type : "BINARY", options : 0}); } return promise.future; } ,loadText: function(uri) { var promise = new lime_app_Promise(); if(lime__$internal_backend_html5_HTML5HTTPRequest.activeRequests < lime__$internal_backend_html5_HTML5HTTPRequest.requestLimit) { lime__$internal_backend_html5_HTML5HTTPRequest.activeRequests++; this.__loadText(uri,promise); } else { lime__$internal_backend_html5_HTML5HTTPRequest.requestQueue.add({ instance : this, uri : uri, promise : promise, type : "TEXT", options : 0}); } return promise.future; } ,processResponse: function() { if(this.parent.enableResponseHeaders) { this.parent.responseHeaders = []; var name; var value; var _g = 0; var _g1 = this.request.getAllResponseHeaders().split("\n"); while(_g < _g1.length) { var line = _g1[_g]; ++_g; name = StringTools.trim(HxOverrides.substr(line,0,line.indexOf(":"))); value = StringTools.trim(HxOverrides.substr(line,line.indexOf(":") + 1,null)); if(name != "") { this.parent.responseHeaders.push(new lime_net_HTTPRequestHeader(name,value)); } } } this.parent.responseStatus = this.request.status; } ,__loadData: function(uri,promise) { var _gthis = this; var progress = function(event) { promise.progress(event.loaded,event.total); }; var readyStateChange = function(event1) { if(_gthis.request.readyState != 4) { return; } if(_gthis.request.status != null && (_gthis.request.status >= 200 && _gthis.request.status < 400 || _gthis.validStatus0 && _gthis.request.status == 0)) { var bytes = null; if(_gthis.request.responseType == "") { if(_gthis.request.responseText != null) { bytes = haxe_io_Bytes.ofString(_gthis.request.responseText); } } else if(_gthis.request.response != null) { bytes = haxe_io_Bytes.ofData(_gthis.request.response); } _gthis.processResponse(); promise.complete(bytes); } else { _gthis.processResponse(); promise.error(_gthis.request.status); } _gthis.request = null; lime__$internal_backend_html5_HTML5HTTPRequest.activeRequests--; lime__$internal_backend_html5_HTML5HTTPRequest.processQueue(); }; this.binary = true; this.load(uri,progress,readyStateChange); } ,__loadText: function(uri,promise) { var _gthis = this; var progress = function(event) { promise.progress(event.loaded,event.total); }; var readyStateChange = function(event1) { if(_gthis.request.readyState != 4) { return; } if(_gthis.request.status != null && (_gthis.request.status >= 200 && _gthis.request.status <= 400 || _gthis.validStatus0 && _gthis.request.status == 0)) { _gthis.processResponse(); promise.complete(_gthis.request.responseText); } else { _gthis.processResponse(); promise.error(_gthis.request.status); } _gthis.request = null; lime__$internal_backend_html5_HTML5HTTPRequest.activeRequests--; lime__$internal_backend_html5_HTML5HTTPRequest.processQueue(); }; this.binary = false; this.load(uri,progress,readyStateChange); } ,__class__: lime__$internal_backend_html5_HTML5HTTPRequest }; var lime__$internal_backend_html5_HTML5Window = function(parent) { this.inputing = false; this.unusedTouchesPool = new haxe_ds_List(); this.scale = 1.0; this.currentTouches = new haxe_ds_IntMap(); this.parent = parent; this.cursor = lime_ui_MouseCursor.DEFAULT; this.cacheMouseX = 0; this.cacheMouseY = 0; var attributes = parent.__attributes; if(!Object.prototype.hasOwnProperty.call(attributes,"context")) { attributes.context = { }; } this.renderType = attributes.context.type; if(Object.prototype.hasOwnProperty.call(attributes,"element")) { parent.element = attributes.element; } var element = parent.element; if(Object.prototype.hasOwnProperty.call(attributes,"allowHighDPI") && attributes.allowHighDPI && this.renderType != "dom") { this.scale = window.devicePixelRatio; } parent.__scale = this.scale; this.setWidth = Object.prototype.hasOwnProperty.call(attributes,"width") ? attributes.width : 0; this.setHeight = Object.prototype.hasOwnProperty.call(attributes,"height") ? attributes.height : 0; parent.__width = this.setWidth; parent.__height = this.setHeight; parent.id = lime__$internal_backend_html5_HTML5Window.windowID++; if(((element) instanceof HTMLCanvasElement)) { this.canvas = element; } else if(this.renderType == "dom") { this.div = window.document.createElement("div"); } else { this.canvas = window.document.createElement("canvas"); } if(this.canvas != null) { var style = this.canvas.style; style.setProperty("-webkit-transform","translateZ(0)",null); style.setProperty("transform","translateZ(0)",null); } else if(this.div != null) { var style1 = this.div.style; style1.setProperty("-webkit-transform","translate3D(0,0,0)",null); style1.setProperty("transform","translate3D(0,0,0)",null); style1.position = "relative"; style1.overflow = "hidden"; style1.setProperty("-webkit-user-select","none",null); style1.setProperty("-moz-user-select","none",null); style1.setProperty("-ms-user-select","none",null); style1.setProperty("-o-user-select","none",null); } if(parent.__width == 0 && parent.__height == 0) { if(element != null) { parent.__width = element.clientWidth; parent.__height = element.clientHeight; } else { parent.__width = window.innerWidth; parent.__height = window.innerHeight; } this.cacheElementWidth = parent.__width; this.cacheElementHeight = parent.__height; this.resizeElement = true; } if(this.canvas != null) { this.canvas.width = Math.round(parent.__width * this.scale); this.canvas.height = Math.round(parent.__height * this.scale); this.canvas.style.width = parent.__width + "px"; this.canvas.style.height = parent.__height + "px"; } else { this.div.style.width = parent.__width + "px"; this.div.style.height = parent.__height + "px"; } if(Object.prototype.hasOwnProperty.call(attributes,"resizable") && attributes.resizable || !Object.prototype.hasOwnProperty.call(attributes,"width") && this.setWidth == 0 && this.setHeight == 0) { parent.__resizable = true; } this.updateSize(); if(element != null) { if(this.canvas != null) { if(element != this.canvas) { element.appendChild(this.canvas); } } else { element.appendChild(this.div); } var events = ["mousedown","mouseenter","mouseleave","mousemove","mouseup","wheel"]; var _g = 0; while(_g < events.length) { var event = events[_g]; ++_g; element.addEventListener(event,$bind(this,this.handleMouseEvent),true); } element.addEventListener("contextmenu",$bind(this,this.handleContextMenuEvent),true); element.addEventListener("dragstart",$bind(this,this.handleDragEvent),true); element.addEventListener("dragover",$bind(this,this.handleDragEvent),true); element.addEventListener("drop",$bind(this,this.handleDragEvent),true); element.addEventListener("touchstart",$bind(this,this.handleTouchEvent),true); element.addEventListener("touchmove",$bind(this,this.handleTouchEvent),true); element.addEventListener("touchend",$bind(this,this.handleTouchEvent),true); element.addEventListener("touchcancel",$bind(this,this.handleTouchEvent),true); element.addEventListener("gamepadconnected",$bind(this,this.handleGamepadEvent),true); element.addEventListener("gamepaddisconnected",$bind(this,this.handleGamepadEvent),true); } this.createContext(); if(parent.context.type == "webgl") { this.canvas.addEventListener("webglcontextlost",$bind(this,this.handleContextEvent),false); this.canvas.addEventListener("webglcontextrestored",$bind(this,this.handleContextEvent),false); } }; $hxClasses["lime._internal.backend.html5.HTML5Window"] = lime__$internal_backend_html5_HTML5Window; lime__$internal_backend_html5_HTML5Window.__name__ = "lime._internal.backend.html5.HTML5Window"; lime__$internal_backend_html5_HTML5Window.textArea = null; lime__$internal_backend_html5_HTML5Window.textInput = null; lime__$internal_backend_html5_HTML5Window.prototype = { canvas: null ,div: null ,cacheElementHeight: null ,cacheElementWidth: null ,cacheMouseX: null ,cacheMouseY: null ,cursor: null ,currentTouches: null ,isFullscreen: null ,parent: null ,primaryTouch: null ,renderType: null ,requestedFullscreen: null ,resizeElement: null ,scale: null ,setHeight: null ,setWidth: null ,textInputEnabled: null ,unusedTouchesPool: null ,alert: function(message,title) { if(message != null) { window.alert(Std.string(message)); } } ,close: function() { this.parent.application.__removeWindow(this.parent); } ,createContext: function() { var context = new lime_graphics_RenderContext(); var contextAttributes = this.parent.__attributes.context; context.window = this.parent; context.attributes = contextAttributes; if(this.div != null) { context.dom = this.div; context.type = "dom"; context.version = ""; } else if(this.canvas != null) { var webgl = null; var forceCanvas = this.renderType == "canvas"; var forceWebGL = this.renderType == "opengl" || this.renderType == "opengles" || this.renderType == "webgl"; var allowWebGL2 = !Object.prototype.hasOwnProperty.call(contextAttributes,"version") || contextAttributes.version != "1"; var isWebGL2 = false; if(forceWebGL || !forceCanvas && (!Object.prototype.hasOwnProperty.call(contextAttributes,"hardware") || contextAttributes.hardware)) { var transparentBackground = Object.prototype.hasOwnProperty.call(contextAttributes,"background") && contextAttributes.background == null; var colorDepth = Object.prototype.hasOwnProperty.call(contextAttributes,"colorDepth") ? contextAttributes.colorDepth : 16; var options = Object.prototype.hasOwnProperty.call(contextAttributes,"antialiasing") && contextAttributes.antialiasing > 0; var options1 = Object.prototype.hasOwnProperty.call(contextAttributes,"depth") ? contextAttributes.depth : true; var options2 = Object.prototype.hasOwnProperty.call(contextAttributes,"stencil") && contextAttributes.stencil; var options3 = { alpha : transparentBackground || colorDepth > 16, antialias : options, depth : options1, premultipliedAlpha : true, stencil : options2, preserveDrawingBuffer : false, failIfMajorPerformanceCaveat : false}; var glContextType = ["webgl","experimental-webgl"]; if(allowWebGL2) { glContextType.unshift("webgl2"); } var _g = 0; while(_g < glContextType.length) { var name = glContextType[_g]; ++_g; webgl = this.canvas.getContext(name,options3); if(webgl != null && name == "webgl2") { isWebGL2 = true; } if(webgl != null) { break; } } } if(webgl == null) { context.canvas2D = this.canvas.getContext("2d"); context.type = "canvas"; context.version = ""; } else { context.webgl = lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.fromWebGL2RenderContext(webgl); if(isWebGL2) { context.webgl2 = webgl; } if(lime_graphics_opengl_GL.context == null) { lime_graphics_opengl_GL.context = webgl; lime_graphics_opengl_GL.type = "webgl"; lime_graphics_opengl_GL.version = isWebGL2 ? 2 : 1; } context.type = "webgl"; context.version = isWebGL2 ? "2" : "1"; } } this.parent.context = context; } ,focus: function() { } ,getCursor: function() { return this.cursor; } ,getDisplay: function() { return lime_system_System.getDisplay(0); } ,getDisplayMode: function() { return lime_system_System.getDisplay(0).currentMode; } ,getFrameRate: function() { if(this.parent.application == null) { return 0; } if(this.parent.application.__backend.framePeriod < 0) { return 60; } else if(this.parent.application.__backend.framePeriod == 1000) { return 0; } else { return 1000 / this.parent.application.__backend.framePeriod; } } ,getMouseLock: function() { return false; } ,getTextInputEnabled: function() { return this.textInputEnabled; } ,handleContextEvent: function(event) { switch(event.type) { case "webglcontextlost": if(event.cancelable) { event.preventDefault(); } var tmp = lime_graphics_opengl_GL.context != null; this.parent.context = null; this.parent.onRenderContextLost.dispatch(); break; case "webglcontextrestored": this.createContext(); this.parent.onRenderContextRestored.dispatch(this.parent.context); break; default: } } ,handleContextMenuEvent: function(event) { if((this.parent.onMouseUp.canceled || this.parent.onMouseDown.canceled) && event.cancelable) { event.preventDefault(); } } ,handleCutOrCopyEvent: function(event) { event.clipboardData.setData("text/plain",lime_system_Clipboard.get_text()); if(event.cancelable) { event.preventDefault(); } } ,handleDragEvent: function(event) { switch(event.type) { case "dragover": event.preventDefault(); return false; case "dragstart": if((js_Boot.__cast(event.target , HTMLElement)).nodeName.toLowerCase() == "img" && event.cancelable) { event.preventDefault(); return false; } break; case "drop": if(event.dataTransfer != null && event.dataTransfer.files.length > 0) { this.parent.onDropFile.dispatch(event.dataTransfer.files); event.preventDefault(); return false; } break; } return true; } ,handleFocusEvent: function(event) { var _gthis = this; if(this.textInputEnabled) { if(event.relatedTarget == null || this.isDescendent(event.relatedTarget)) { haxe_Timer.delay(function() { if(_gthis.textInputEnabled) { lime__$internal_backend_html5_HTML5Window.textInput.focus(); } },20); } } } ,handleFullscreenEvent: function(event) { var fullscreenElement = document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement || document.msFullscreenElement; if(fullscreenElement != null) { this.isFullscreen = true; this.parent.__fullscreen = true; if(this.requestedFullscreen) { this.requestedFullscreen = false; this.parent.onFullscreen.dispatch(); } } else { this.isFullscreen = false; this.parent.__fullscreen = false; this.parent.onRestore.dispatch(); var changeEvents = ["fullscreenchange","mozfullscreenchange","webkitfullscreenchange","MSFullscreenChange"]; var errorEvents = ["fullscreenerror","mozfullscreenerror","webkitfullscreenerror","MSFullscreenError"]; var _g = 0; var _g1 = changeEvents.length; while(_g < _g1) { var i = _g++; window.document.removeEventListener(changeEvents[i],$bind(this,this.handleFullscreenEvent),false); window.document.removeEventListener(errorEvents[i],$bind(this,this.handleFullscreenEvent),false); } } } ,handleGamepadEvent: function(event) { switch(event.type) { case "gamepadconnected": lime_ui_Joystick.__connect(event.gamepad.index); if(event.gamepad.mapping == "standard") { lime_ui_Gamepad.__connect(event.gamepad.index); } break; case "gamepaddisconnected": lime_ui_Joystick.__disconnect(event.gamepad.index); lime_ui_Gamepad.__disconnect(event.gamepad.index); break; default: } } ,handleInputEvent: function(event) { if(this.inputing) { return; } if(lime__$internal_backend_html5_HTML5Window.textInput.value != lime__$internal_backend_html5_HTML5Window.dummyCharacter) { var value = StringTools.replace(lime__$internal_backend_html5_HTML5Window.textInput.value,lime__$internal_backend_html5_HTML5Window.dummyCharacter,""); if(value.length > 0) { this.parent.onTextInput.dispatch(value); } lime__$internal_backend_html5_HTML5Window.textInput.value = lime__$internal_backend_html5_HTML5Window.dummyCharacter; } } ,handleMouseEvent: function(event) { var x = 0.0; var y = 0.0; if(event.type != "wheel") { if(this.parent.element != null) { if(this.canvas != null) { var rect = this.canvas.getBoundingClientRect(); x = (event.clientX - rect.left) * (this.parent.__width / rect.width); y = (event.clientY - rect.top) * (this.parent.__height / rect.height); } else if(this.div != null) { var rect1 = this.div.getBoundingClientRect(); x = event.clientX - rect1.left; y = event.clientY - rect1.top; } else { var rect2 = this.parent.element.getBoundingClientRect(); x = (event.clientX - rect2.left) * (this.parent.__width / rect2.width); y = (event.clientY - rect2.top) * (this.parent.__height / rect2.height); } } else { x = event.clientX; y = event.clientY; } switch(event.type) { case "mousedown": if(event.currentTarget == this.parent.element) { window.addEventListener("mouseup",$bind(this,this.handleMouseEvent)); } this.parent.onMouseDown.dispatch(x,y,event.button); if(this.parent.onMouseDown.canceled && event.cancelable) { event.preventDefault(); } break; case "mouseenter": if(event.target == this.parent.element) { this.parent.onEnter.dispatch(); if(this.parent.onEnter.canceled && event.cancelable) { event.preventDefault(); } } break; case "mouseleave": if(event.target == this.parent.element) { this.parent.onLeave.dispatch(); if(this.parent.onLeave.canceled && event.cancelable) { event.preventDefault(); } } break; case "mousemove": if(x != this.cacheMouseX || y != this.cacheMouseY) { this.parent.onMouseMove.dispatch(x,y); this.parent.onMouseMoveRelative.dispatch(x - this.cacheMouseX,y - this.cacheMouseY); if((this.parent.onMouseMove.canceled || this.parent.onMouseMoveRelative.canceled) && event.cancelable) { event.preventDefault(); } } break; case "mouseup": window.removeEventListener("mouseup",$bind(this,this.handleMouseEvent)); if(event.currentTarget == this.parent.element) { event.stopPropagation(); } this.parent.onMouseUp.dispatch(x,y,event.button); if(this.parent.onMouseUp.canceled && event.cancelable) { event.preventDefault(); } break; default: } this.cacheMouseX = x; this.cacheMouseY = y; } else { var deltaMode; switch(event.deltaMode) { case 0: deltaMode = lime_ui_MouseWheelMode.PIXELS; break; case 1: deltaMode = lime_ui_MouseWheelMode.LINES; break; case 2: deltaMode = lime_ui_MouseWheelMode.PAGES; break; default: deltaMode = lime_ui_MouseWheelMode.UNKNOWN; } this.parent.onMouseWheel.dispatch(event.deltaX,-event.deltaY,deltaMode); if(this.parent.onMouseWheel.canceled && event.cancelable) { event.preventDefault(); } } } ,handlePasteEvent: function(event) { if(event.clipboardData.types.indexOf("text/plain") > -1) { var text = event.clipboardData.getData("text/plain"); lime_system_Clipboard.set_text(text); if(this.textInputEnabled) { this.parent.onTextInput.dispatch(text); } if(event.cancelable) { event.preventDefault(); } } } ,handleResizeEvent: function(event) { this.primaryTouch = null; this.updateSize(); } ,handleTouchEvent: function(event) { if(event.cancelable) { event.preventDefault(); } var rect = null; if(this.parent.element != null) { if(this.canvas != null) { rect = this.canvas.getBoundingClientRect(); } else if(this.div != null) { rect = this.div.getBoundingClientRect(); } else { rect = this.parent.element.getBoundingClientRect(); } } var windowWidth = this.setWidth; var windowHeight = this.setHeight; if(windowWidth == 0 || windowHeight == 0) { if(rect != null) { windowWidth = rect.width; windowHeight = rect.height; } else { windowWidth = 1; windowHeight = 1; } } var touch; var x; var y; var cacheX; var cacheY; var _g = 0; var _g1 = event.changedTouches; while(_g < _g1.length) { var data = _g1[_g]; ++_g; x = 0.0; y = 0.0; if(rect != null) { x = (data.clientX - rect.left) * (windowWidth / rect.width); y = (data.clientY - rect.top) * (windowHeight / rect.height); } else { x = data.clientX; y = data.clientY; } if(event.type == "touchstart") { touch = this.unusedTouchesPool.pop(); if(touch == null) { touch = new lime_ui_Touch(x / windowWidth,y / windowHeight,data.identifier,0,0,data.force,this.parent.id); } else { touch.x = x / windowWidth; touch.y = y / windowHeight; touch.id = data.identifier; touch.dx = 0; touch.dy = 0; touch.pressure = data.force; touch.device = this.parent.id; } this.currentTouches.h[data.identifier] = touch; lime_ui_Touch.onStart.dispatch(touch); if(this.primaryTouch == null) { this.primaryTouch = touch; } if(touch == this.primaryTouch) { this.parent.onMouseDown.dispatch(x,y,0); } } else { touch = this.currentTouches.h[data.identifier]; if(touch != null) { cacheX = touch.x; cacheY = touch.y; touch.x = x / windowWidth; touch.y = y / windowHeight; touch.dx = touch.x - cacheX; touch.dy = touch.y - cacheY; touch.pressure = data.force; switch(event.type) { case "touchcancel": lime_ui_Touch.onCancel.dispatch(touch); this.currentTouches.remove(data.identifier); this.unusedTouchesPool.add(touch); if(touch == this.primaryTouch) { this.primaryTouch = null; } break; case "touchend": lime_ui_Touch.onEnd.dispatch(touch); this.currentTouches.remove(data.identifier); this.unusedTouchesPool.add(touch); if(touch == this.primaryTouch) { this.parent.onMouseUp.dispatch(x,y,0); this.primaryTouch = null; } break; case "touchmove": lime_ui_Touch.onMove.dispatch(touch); if(touch == this.primaryTouch) { this.parent.onMouseMove.dispatch(x,y); } break; default: } } } } } ,isDescendent: function(node) { if(node == this.parent.element) { return true; } while(node != null) { if(node.parentNode == this.parent.element) { return true; } node = node.parentNode; } return false; } ,move: function(x,y) { } ,readPixels: function(rect) { if(this.canvas != null) { var stageRect = new lime_math_Rectangle(0,0,this.canvas.width,this.canvas.height); if(rect == null) { rect = stageRect; } else { rect.intersection(stageRect,rect); } if(rect.width > 0 && rect.height > 0) { var canvas2 = window.document.createElement("canvas"); canvas2.width = rect.width | 0; canvas2.height = rect.height | 0; var context = canvas2.getContext("2d"); context.drawImage(this.canvas,-rect.x,-rect.y); return lime_graphics_Image.fromCanvas(canvas2); } } return null; } ,resize: function(width,height) { } ,setBorderless: function(value) { return value; } ,setClipboard: function(value) { if(lime__$internal_backend_html5_HTML5Window.textArea == null) { lime__$internal_backend_html5_HTML5Window.textArea = window.document.createElement("textarea"); lime__$internal_backend_html5_HTML5Window.textArea.style.height = "0px"; lime__$internal_backend_html5_HTML5Window.textArea.style.left = "-100px"; lime__$internal_backend_html5_HTML5Window.textArea.style.opacity = "0"; lime__$internal_backend_html5_HTML5Window.textArea.style.position = "fixed"; lime__$internal_backend_html5_HTML5Window.textArea.style.top = "-100px"; lime__$internal_backend_html5_HTML5Window.textArea.style.width = "0px"; window.document.body.appendChild(lime__$internal_backend_html5_HTML5Window.textArea); } lime__$internal_backend_html5_HTML5Window.textArea.value = value; lime__$internal_backend_html5_HTML5Window.textArea.focus(); lime__$internal_backend_html5_HTML5Window.textArea.select(); if(window.document.queryCommandEnabled("copy")) { window.document.execCommand("copy"); } } ,setCursor: function(value) { if(this.cursor != value) { if(value == null) { this.parent.element.style.cursor = "none"; } else { var tmp; switch(value._hx_index) { case 0: tmp = "default"; break; case 1: tmp = "crosshair"; break; case 3: tmp = "move"; break; case 4: tmp = "pointer"; break; case 5: tmp = "nesw-resize"; break; case 6: tmp = "ns-resize"; break; case 7: tmp = "nwse-resize"; break; case 8: tmp = "ew-resize"; break; case 9: tmp = "text"; break; case 10: tmp = "wait"; break; case 11: tmp = "wait"; break; default: tmp = "auto"; } this.parent.element.style.cursor = tmp; } this.cursor = value; } return this.cursor; } ,setDisplayMode: function(value) { return value; } ,setFrameRate: function(value) { if(this.parent.application != null) { if(value >= 60) { if(this.parent == this.parent.application.__window) { this.parent.application.__backend.framePeriod = -1; } } else if(value > 0) { if(this.parent == this.parent.application.__window) { this.parent.application.__backend.framePeriod = 1000 / value; } } else if(this.parent == this.parent.application.__window) { this.parent.application.__backend.framePeriod = 1000; } } return value; } ,setFullscreen: function(value) { if(value) { if(!this.requestedFullscreen && !this.isFullscreen) { this.requestedFullscreen = true; if(($_=this.parent.element,$bind($_,$_.requestFullscreen))) { document.addEventListener("fullscreenchange",$bind(this,this.handleFullscreenEvent),false); document.addEventListener("fullscreenerror",$bind(this,this.handleFullscreenEvent),false); this.parent.element.requestFullscreen(); } else if(this.parent.element.mozRequestFullScreen) { document.addEventListener("mozfullscreenchange",$bind(this,this.handleFullscreenEvent),false); document.addEventListener("mozfullscreenerror",$bind(this,this.handleFullscreenEvent),false); this.parent.element.mozRequestFullScreen(); } else if(this.parent.element.webkitRequestFullscreen) { document.addEventListener("webkitfullscreenchange",$bind(this,this.handleFullscreenEvent),false); document.addEventListener("webkitfullscreenerror",$bind(this,this.handleFullscreenEvent),false); this.parent.element.webkitRequestFullscreen(); } else if(this.parent.element.msRequestFullscreen) { document.addEventListener("MSFullscreenChange",$bind(this,this.handleFullscreenEvent),false); document.addEventListener("MSFullscreenError",$bind(this,this.handleFullscreenEvent),false); this.parent.element.msRequestFullscreen(); } } } else if(this.isFullscreen) { this.requestedFullscreen = false; if(document.exitFullscreen) { document.exitFullscreen(); } else if(document.mozCancelFullScreen) { document.mozCancelFullScreen(); } else if(document.webkitExitFullscreen) { document.webkitExitFullscreen(); } else if(document.msExitFullscreen) { document.msExitFullscreen(); } } return value; } ,setIcon: function(image) { lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(image); var link = window.document.querySelector("link[rel*='icon']"); if(link == null) { link = window.document.createElement("link"); } link.type = "image/x-icon"; link.rel = "shortcut icon"; link.href = image.buffer.get_src().toDataURL("image/x-icon"); window.document.getElementsByTagName("head")[0].appendChild(link); } ,setMaximized: function(value) { return false; } ,setMinimized: function(value) { return false; } ,setMouseLock: function(value) { } ,setResizable: function(value) { return value; } ,setTextInputEnabled: function(value) { if(value) { if(lime__$internal_backend_html5_HTML5Window.textInput == null) { lime__$internal_backend_html5_HTML5Window.textInput = window.document.createElement("input"); lime__$internal_backend_html5_HTML5Window.textInput.type = "text"; lime__$internal_backend_html5_HTML5Window.textInput.style.position = "absolute"; lime__$internal_backend_html5_HTML5Window.textInput.style.opacity = "0"; lime__$internal_backend_html5_HTML5Window.textInput.style.color = "transparent"; lime__$internal_backend_html5_HTML5Window.textInput.value = lime__$internal_backend_html5_HTML5Window.dummyCharacter; lime__$internal_backend_html5_HTML5Window.textInput.autocapitalize = "off"; lime__$internal_backend_html5_HTML5Window.textInput.autocorrect = "off"; lime__$internal_backend_html5_HTML5Window.textInput.autocomplete = "off"; lime__$internal_backend_html5_HTML5Window.textInput.style.left = "0px"; lime__$internal_backend_html5_HTML5Window.textInput.style.top = "50%"; if(new EReg("(iPad|iPhone|iPod).*OS 8_","gi").match(window.navigator.userAgent)) { lime__$internal_backend_html5_HTML5Window.textInput.style.fontSize = "0px"; lime__$internal_backend_html5_HTML5Window.textInput.style.width = "0px"; lime__$internal_backend_html5_HTML5Window.textInput.style.height = "0px"; } else { lime__$internal_backend_html5_HTML5Window.textInput.style.width = "1px"; lime__$internal_backend_html5_HTML5Window.textInput.style.height = "1px"; } lime__$internal_backend_html5_HTML5Window.textInput.style.pointerEvents = "none"; lime__$internal_backend_html5_HTML5Window.textInput.style.zIndex = "-10000000"; } if(lime__$internal_backend_html5_HTML5Window.textInput.parentNode == null) { this.parent.element.appendChild(lime__$internal_backend_html5_HTML5Window.textInput); } if(!this.textInputEnabled) { lime__$internal_backend_html5_HTML5Window.textInput.addEventListener("input",$bind(this,this.handleInputEvent),true); lime__$internal_backend_html5_HTML5Window.textInput.addEventListener("blur",$bind(this,this.handleFocusEvent),true); lime__$internal_backend_html5_HTML5Window.textInput.addEventListener("cut",$bind(this,this.handleCutOrCopyEvent),true); lime__$internal_backend_html5_HTML5Window.textInput.addEventListener("copy",$bind(this,this.handleCutOrCopyEvent),true); lime__$internal_backend_html5_HTML5Window.textInput.addEventListener("paste",$bind(this,this.handlePasteEvent),true); lime__$internal_backend_html5_HTML5Window.textInput.addEventListener("compositionstart",$bind(this,this.handleCompositionstartEvent),true); lime__$internal_backend_html5_HTML5Window.textInput.addEventListener("compositionend",$bind(this,this.handleCompositionendEvent),true); } lime__$internal_backend_html5_HTML5Window.textInput.focus(); lime__$internal_backend_html5_HTML5Window.textInput.select(); } else if(lime__$internal_backend_html5_HTML5Window.textInput != null) { lime__$internal_backend_html5_HTML5Window.textInput.removeEventListener("input",$bind(this,this.handleInputEvent),true); lime__$internal_backend_html5_HTML5Window.textInput.removeEventListener("blur",$bind(this,this.handleFocusEvent),true); lime__$internal_backend_html5_HTML5Window.textInput.removeEventListener("cut",$bind(this,this.handleCutOrCopyEvent),true); lime__$internal_backend_html5_HTML5Window.textInput.removeEventListener("copy",$bind(this,this.handleCutOrCopyEvent),true); lime__$internal_backend_html5_HTML5Window.textInput.removeEventListener("paste",$bind(this,this.handlePasteEvent),true); lime__$internal_backend_html5_HTML5Window.textInput.removeEventListener("compositionstart",$bind(this,this.handleCompositionstartEvent),true); lime__$internal_backend_html5_HTML5Window.textInput.removeEventListener("compositionend",$bind(this,this.handleCompositionendEvent),true); lime__$internal_backend_html5_HTML5Window.textInput.blur(); } return this.textInputEnabled = value; } ,inputing: null ,handleCompositionstartEvent: function(e) { this.inputing = true; } ,handleCompositionendEvent: function(e) { this.inputing = false; this.handleInputEvent(e); } ,setTitle: function(value) { if(value != null) { window.document.title = value; } return value; } ,updateSize: function() { if(!this.parent.__resizable) { return; } var elementWidth; var elementHeight; if(this.parent.element != null) { elementWidth = this.parent.element.clientWidth; elementHeight = this.parent.element.clientHeight; } else { elementWidth = window.innerWidth; elementHeight = window.innerHeight; } if(elementWidth != this.cacheElementWidth || elementHeight != this.cacheElementHeight) { this.cacheElementWidth = elementWidth; this.cacheElementHeight = elementHeight; var stretch = this.resizeElement || this.setWidth == 0 && this.setHeight == 0; if(this.parent.element != null && (this.div == null || this.div != null && stretch)) { if(stretch) { if(this.parent.__width != elementWidth || this.parent.__height != elementHeight) { this.parent.__width = elementWidth; this.parent.__height = elementHeight; if(this.canvas != null) { if(this.parent.element != this.canvas) { this.canvas.width = Math.round(elementWidth * this.scale); this.canvas.height = Math.round(elementHeight * this.scale); this.canvas.style.width = elementWidth + "px"; this.canvas.style.height = elementHeight + "px"; } } else { this.div.style.width = elementWidth + "px"; this.div.style.height = elementHeight + "px"; } this.parent.onResize.dispatch(elementWidth,elementHeight); } } else { var scaleX = this.setWidth != 0 ? elementWidth / this.setWidth : 1; var scaleY = this.setHeight != 0 ? elementHeight / this.setHeight : 1; var targetWidth = elementWidth; var targetHeight = elementHeight; var marginLeft = 0; var marginTop = 0; if(scaleX < scaleY) { targetHeight = Math.floor(this.setHeight * scaleX); marginTop = Math.floor((elementHeight - targetHeight) / 2); } else { targetWidth = Math.floor(this.setWidth * scaleY); marginLeft = Math.floor((elementWidth - targetWidth) / 2); } if(this.canvas != null) { if(this.parent.element != this.canvas) { this.canvas.style.width = targetWidth + "px"; this.canvas.style.height = targetHeight + "px"; this.canvas.style.marginLeft = marginLeft + "px"; this.canvas.style.marginTop = marginTop + "px"; } } else { this.div.style.width = targetWidth + "px"; this.div.style.height = targetHeight + "px"; this.div.style.marginLeft = marginLeft + "px"; this.div.style.marginTop = marginTop + "px"; } } } } } ,warpMouse: function(x,y) { } ,__class__: lime__$internal_backend_html5_HTML5Window }; var lime__$internal_backend_native_NativeCFFI = function() { }; $hxClasses["lime._internal.backend.native.NativeCFFI"] = lime__$internal_backend_native_NativeCFFI; lime__$internal_backend_native_NativeCFFI.__name__ = "lime._internal.backend.native.NativeCFFI"; var lime__$internal_format_BMP = function() { }; $hxClasses["lime._internal.format.BMP"] = lime__$internal_format_BMP; lime__$internal_format_BMP.__name__ = "lime._internal.format.BMP"; lime__$internal_format_BMP.encode = function(image,type) { if(image.get_premultiplied() || image.get_format() != 0) { image = image.clone(); image.set_premultiplied(false); image.set_format(0); } if(type == null) { type = lime__$internal_format_BMPType.RGB; } var fileHeaderLength = 14; var infoHeaderLength = 40; var pixelValuesLength = image.width * image.height * 4; if(type != null) { switch(type._hx_index) { case 0: pixelValuesLength = (image.width * 3 + image.width * 3 % 4) * image.height; break; case 1: infoHeaderLength = 108; break; case 2: fileHeaderLength = 0; pixelValuesLength += image.width * image.height; break; } } var data = new haxe_io_Bytes(new ArrayBuffer(fileHeaderLength + infoHeaderLength + pixelValuesLength)); var position = 0; if(fileHeaderLength > 0) { data.b[position++] = 66; data.b[position++] = 77; data.setInt32(position,data.length); position += 4; data.setUInt16(position,0); position += 2; data.setUInt16(position,0); position += 2; data.setInt32(position,fileHeaderLength + infoHeaderLength); position += 4; } data.setInt32(position,infoHeaderLength); position += 4; data.setInt32(position,image.width); position += 4; data.setInt32(position,type == lime__$internal_format_BMPType.ICO ? image.height * 2 : image.height); position += 4; data.setUInt16(position,1); position += 2; data.setUInt16(position,type == lime__$internal_format_BMPType.RGB ? 24 : 32); position += 2; data.setInt32(position,type == lime__$internal_format_BMPType.BITFIELD ? 3 : 0); position += 4; data.setInt32(position,pixelValuesLength); position += 4; data.setInt32(position,11824); position += 4; data.setInt32(position,11824); position += 4; data.setInt32(position,0); position += 4; data.setInt32(position,0); position += 4; if(type == lime__$internal_format_BMPType.BITFIELD) { data.setInt32(position,16711680); position += 4; data.setInt32(position,65280); position += 4; data.setInt32(position,255); position += 4; data.setInt32(position,-16777216); position += 4; data.b[position++] = 32; data.b[position++] = 110; data.b[position++] = 105; data.b[position++] = 87; var _g = 0; while(_g < 48) { var i = _g++; data.b[position++] = 0; } } var pixels = image.getPixels(new lime_math_Rectangle(0,0,image.width,image.height),1); var readPosition = 0; var a; var r; var g; var b; if(type != null) { switch(type._hx_index) { case 0: var _g1 = 0; var _g11 = image.height; while(_g1 < _g11) { var y = _g1++; readPosition = (image.height - 1 - y) * 4 * image.width; var _g2 = 0; var _g12 = image.width; while(_g2 < _g12) { var x = _g2++; a = pixels.b[readPosition++]; r = pixels.b[readPosition++]; g = pixels.b[readPosition++]; b = pixels.b[readPosition++]; data.b[position++] = b & 255; data.b[position++] = g & 255; data.b[position++] = r & 255; } var _g21 = 0; var _g3 = image.width * 3 % 4; while(_g21 < _g3) { var i1 = _g21++; data.b[position++] = 0; } } break; case 1: var _g4 = 0; var _g13 = image.height; while(_g4 < _g13) { var y1 = _g4++; readPosition = (image.height - 1 - y1) * 4 * image.width; var _g5 = 0; var _g14 = image.width; while(_g5 < _g14) { var x1 = _g5++; a = pixels.b[readPosition++]; r = pixels.b[readPosition++]; g = pixels.b[readPosition++]; b = pixels.b[readPosition++]; data.b[position++] = b & 255; data.b[position++] = g & 255; data.b[position++] = r & 255; data.b[position++] = a & 255; } } break; case 2: var andMask = new haxe_io_Bytes(new ArrayBuffer(image.width * image.height)); var maskPosition = 0; var _g6 = 0; var _g15 = image.height; while(_g6 < _g15) { var y2 = _g6++; readPosition = (image.height - 1 - y2) * 4 * image.width; var _g7 = 0; var _g16 = image.width; while(_g7 < _g16) { var x2 = _g7++; a = pixels.b[readPosition++]; r = pixels.b[readPosition++]; g = pixels.b[readPosition++]; b = pixels.b[readPosition++]; data.b[position++] = b & 255; data.b[position++] = g & 255; data.b[position++] = r & 255; data.b[position++] = a & 255; andMask.b[maskPosition++] = 0; } } data.blit(position,andMask,0,image.width * image.height); break; } } return data; }; var lime__$internal_format_BMPType = $hxEnums["lime._internal.format.BMPType"] = { __ename__ : "lime._internal.format.BMPType", __constructs__ : ["RGB","BITFIELD","ICO"] ,RGB: {_hx_index:0,__enum__:"lime._internal.format.BMPType",toString:$estr} ,BITFIELD: {_hx_index:1,__enum__:"lime._internal.format.BMPType",toString:$estr} ,ICO: {_hx_index:2,__enum__:"lime._internal.format.BMPType",toString:$estr} }; var lime__$internal_format_Base64 = function() { }; $hxClasses["lime._internal.format.Base64"] = lime__$internal_format_Base64; lime__$internal_format_Base64.__name__ = "lime._internal.format.Base64"; lime__$internal_format_Base64.decode = function(source) { return haxe_crypto_Base64.decode(source); }; lime__$internal_format_Base64.encode = function(source) { var result = []; var dictionary = lime__$internal_format_Base64.DICTIONARY; var extendedDictionary = lime__$internal_format_Base64.EXTENDED_DICTIONARY; var numBytes = source.length; var numInputTriplets = Math.floor(numBytes / 3); var numChunksToWrite = numInputTriplets * 2; result.length = Math.ceil(numBytes / 3) * 2; var numBytesRead = 0; var numChunksWritten = 0; var inputTriplet; while(numChunksWritten < numChunksToWrite) { inputTriplet = source.b[numBytesRead] << 16 | source.b[numBytesRead + 1] << 8 | source.b[numBytesRead + 2]; result[numChunksWritten] = extendedDictionary[inputTriplet >> 12 & 4095]; result[numChunksWritten + 1] = extendedDictionary[inputTriplet & 4095]; numBytesRead += 3; numChunksWritten += 2; } switch(numBytes - numInputTriplets * 3) { case 1: inputTriplet = source.b[numBytesRead] << 16; result[numChunksWritten] = extendedDictionary[inputTriplet >> 12 & 4095]; result[numChunksWritten + 1] = "=="; break; case 2: inputTriplet = source.b[numBytesRead] << 16 | source.b[numBytesRead + 1] << 8; result[numChunksWritten] = extendedDictionary[inputTriplet >> 12 & 4095]; result[numChunksWritten + 1] = dictionary[inputTriplet >> 6 & 63] + "="; break; default: } return result.join(""); }; var lime__$internal_format_Deflate = function() { }; $hxClasses["lime._internal.format.Deflate"] = lime__$internal_format_Deflate; lime__$internal_format_Deflate.__name__ = "lime._internal.format.Deflate"; lime__$internal_format_Deflate.compress = function(bytes) { var data = (pako.deflateRaw)(bytes.b.bufferValue); return haxe_io_Bytes.ofData(data); }; lime__$internal_format_Deflate.decompress = function(bytes) { var data = (pako.inflateRaw)(bytes.b.bufferValue); return haxe_io_Bytes.ofData(data); }; var lime__$internal_format_GZip = function() { }; $hxClasses["lime._internal.format.GZip"] = lime__$internal_format_GZip; lime__$internal_format_GZip.__name__ = "lime._internal.format.GZip"; lime__$internal_format_GZip.compress = function(bytes) { var data = (pako.gzip)(bytes.b.bufferValue); return haxe_io_Bytes.ofData(data); }; lime__$internal_format_GZip.decompress = function(bytes) { var data = (pako.ungzip)(bytes.b.bufferValue); return haxe_io_Bytes.ofData(data); }; var lime__$internal_format_JPEG = function() { }; $hxClasses["lime._internal.format.JPEG"] = lime__$internal_format_JPEG; lime__$internal_format_JPEG.__name__ = "lime._internal.format.JPEG"; lime__$internal_format_JPEG.decodeBytes = function(bytes,decodeData) { if(decodeData == null) { decodeData = true; } return null; }; lime__$internal_format_JPEG.decodeFile = function(path,decodeData) { if(decodeData == null) { decodeData = true; } return null; }; lime__$internal_format_JPEG.encode = function(image,quality) { if(image.get_premultiplied() || image.get_format() != 0) { image = image.clone(); image.set_premultiplied(false); image.set_format(0); } lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(image,false); if(image.buffer.__srcCanvas != null) { var data = image.buffer.__srcCanvas.toDataURL("image/jpeg",quality / 100); var buffer = window.atob(data.split(";base64,")[1]); var bytes = new haxe_io_Bytes(new ArrayBuffer(buffer.length)); var _g = 0; var _g1 = buffer.length; while(_g < _g1) { var i = _g++; bytes.b[i] = HxOverrides.cca(buffer,i) & 255; } return bytes; } return null; }; var lime__$internal_format_LZMA = function() { }; $hxClasses["lime._internal.format.LZMA"] = lime__$internal_format_LZMA; lime__$internal_format_LZMA.__name__ = "lime._internal.format.LZMA"; lime__$internal_format_LZMA.compress = function(bytes) { return null; }; lime__$internal_format_LZMA.decompress = function(bytes) { return null; }; var lime__$internal_format_PNG = function() { }; $hxClasses["lime._internal.format.PNG"] = lime__$internal_format_PNG; lime__$internal_format_PNG.__name__ = "lime._internal.format.PNG"; lime__$internal_format_PNG.decodeBytes = function(bytes,decodeData) { if(decodeData == null) { decodeData = true; } return null; }; lime__$internal_format_PNG.decodeFile = function(path,decodeData) { if(decodeData == null) { decodeData = true; } return null; }; lime__$internal_format_PNG.encode = function(image) { if(image.get_premultiplied() || image.get_format() != 0) { image = image.clone(); image.set_premultiplied(false); image.set_format(0); } lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(image,false); if(image.buffer.__srcCanvas != null) { var data = image.buffer.__srcCanvas.toDataURL("image/png"); var buffer = window.atob(data.split(";base64,")[1]); var bytes = new haxe_io_Bytes(new ArrayBuffer(buffer.length)); var _g = 0; var _g1 = buffer.length; while(_g < _g1) { var i = _g++; bytes.b[i] = HxOverrides.cca(buffer,i) & 255; } return bytes; } return null; }; var lime__$internal_format_Zlib = function() { }; $hxClasses["lime._internal.format.Zlib"] = lime__$internal_format_Zlib; lime__$internal_format_Zlib.__name__ = "lime._internal.format.Zlib"; lime__$internal_format_Zlib.compress = function(bytes) { var data = (pako.deflate)(bytes.b.bufferValue); return haxe_io_Bytes.ofData(data); }; lime__$internal_format_Zlib.decompress = function(bytes) { var data = (pako.inflate)(bytes.b.bufferValue); return haxe_io_Bytes.ofData(data); }; var lime__$internal_graphics_ImageCanvasUtil = function() { }; $hxClasses["lime._internal.graphics.ImageCanvasUtil"] = lime__$internal_graphics_ImageCanvasUtil; lime__$internal_graphics_ImageCanvasUtil.__name__ = "lime._internal.graphics.ImageCanvasUtil"; lime__$internal_graphics_ImageCanvasUtil.colorTransform = function(image,rect,colorMatrix) { lime__$internal_graphics_ImageCanvasUtil.convertToData(image); lime__$internal_graphics_ImageDataUtil.colorTransform(image,rect,colorMatrix); }; lime__$internal_graphics_ImageCanvasUtil.convertToCanvas = function(image,clear) { if(clear == null) { clear = false; } var buffer = image.buffer; if(buffer.__srcImage != null) { if(buffer.__srcCanvas == null) { lime__$internal_graphics_ImageCanvasUtil.createCanvas(image,buffer.__srcImage.width,buffer.__srcImage.height); buffer.__srcContext.drawImage(buffer.__srcImage,0,0); } buffer.__srcImage = null; } else if(buffer.__srcCanvas == null && buffer.data != null) { image.set_transparent(true); lime__$internal_graphics_ImageCanvasUtil.createCanvas(image,buffer.width,buffer.height); lime__$internal_graphics_ImageCanvasUtil.createImageData(image); buffer.__srcContext.putImageData(buffer.__srcImageData,0,0); } else if(image.type == lime_graphics_ImageType.DATA && buffer.__srcImageData != null && image.dirty) { buffer.__srcContext.putImageData(buffer.__srcImageData,0,0); image.dirty = false; } if(clear) { buffer.data = null; buffer.__srcImageData = null; } else if(buffer.data == null && buffer.__srcImageData != null) { buffer.data = buffer.__srcImageData.data; } image.type = lime_graphics_ImageType.CANVAS; }; lime__$internal_graphics_ImageCanvasUtil.convertToData = function(image,clear) { if(clear == null) { clear = false; } var buffer = image.buffer; if(buffer.__srcImage != null) { lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(image); } if(buffer.__srcCanvas != null && buffer.data == null) { lime__$internal_graphics_ImageCanvasUtil.createImageData(image); if(image.type == lime_graphics_ImageType.CANVAS) { image.dirty = false; } } else if(image.type == lime_graphics_ImageType.CANVAS && buffer.__srcCanvas != null && image.dirty) { if(buffer.__srcImageData == null) { lime__$internal_graphics_ImageCanvasUtil.createImageData(image); } else { buffer.__srcImageData = buffer.__srcContext.getImageData(0,0,buffer.width,buffer.height); var elements = buffer.__srcImageData.data.buffer; var array = null; var vector = null; var view = null; var buffer1 = null; var len = null; var this1; if(elements != null) { this1 = new Uint8Array(elements); } else if(array != null) { this1 = new Uint8Array(array); } else if(vector != null) { this1 = new Uint8Array(vector.__array); } else if(view != null) { this1 = new Uint8Array(view); } else if(buffer1 != null) { if(len == null) { this1 = new Uint8Array(buffer1,0); } else { this1 = new Uint8Array(buffer1,0,len); } } else { this1 = null; } buffer.data = this1; } image.dirty = false; } if(clear) { image.buffer.__srcCanvas = null; image.buffer.__srcContext = null; } image.type = lime_graphics_ImageType.DATA; }; lime__$internal_graphics_ImageCanvasUtil.copyChannel = function(image,sourceImage,sourceRect,destPoint,sourceChannel,destChannel) { lime__$internal_graphics_ImageCanvasUtil.convertToData(sourceImage); lime__$internal_graphics_ImageCanvasUtil.convertToData(image); lime__$internal_graphics_ImageDataUtil.copyChannel(image,sourceImage,sourceRect,destPoint,sourceChannel,destChannel); }; lime__$internal_graphics_ImageCanvasUtil.copyPixels = function(image,sourceImage,sourceRect,destPoint,alphaImage,alphaPoint,mergeAlpha) { if(mergeAlpha == null) { mergeAlpha = false; } if(destPoint == null || destPoint.x >= image.width || destPoint.y >= image.height || sourceRect == null || sourceRect.width < 1 || sourceRect.height < 1) { return; } if(alphaImage != null && alphaImage.get_transparent()) { if(alphaPoint == null) { alphaPoint = new lime_math_Vector2(); } var tempData = sourceImage.clone(); tempData.copyChannel(alphaImage,new lime_math_Rectangle(sourceRect.x + alphaPoint.x,sourceRect.y + alphaPoint.y,sourceRect.width,sourceRect.height),new lime_math_Vector2(sourceRect.x,sourceRect.y),lime_graphics_ImageChannel.ALPHA,lime_graphics_ImageChannel.ALPHA); sourceImage = tempData; } lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(image,true); if(!mergeAlpha) { if(image.get_transparent() && sourceImage.get_transparent()) { image.buffer.__srcContext.clearRect(destPoint.x + image.offsetX,destPoint.y + image.offsetY,sourceRect.width + image.offsetX,sourceRect.height + image.offsetY); } } lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(sourceImage); if(sourceImage.buffer.get_src() != null) { image.buffer.__srcContext.globalCompositeOperation = "source-over"; image.buffer.__srcContext.drawImage(sourceImage.buffer.get_src(),sourceRect.x + sourceImage.offsetX | 0,sourceRect.y + sourceImage.offsetY | 0,sourceRect.width | 0,sourceRect.height | 0,destPoint.x + image.offsetX | 0,destPoint.y + image.offsetY | 0,sourceRect.width | 0,sourceRect.height | 0); } image.dirty = true; image.version++; }; lime__$internal_graphics_ImageCanvasUtil.createCanvas = function(image,width,height) { var buffer = image.buffer; if(buffer.__srcCanvas == null) { buffer.__srcCanvas = window.document.createElement("canvas"); buffer.__srcCanvas.width = width; buffer.__srcCanvas.height = height; if(!image.get_transparent()) { if(!image.get_transparent()) { buffer.__srcCanvas.setAttribute("moz-opaque","true"); } buffer.__srcContext = buffer.__srcCanvas.getContext ("2d", { alpha: false }); } else { buffer.__srcContext = buffer.__srcCanvas.getContext("2d"); } } }; lime__$internal_graphics_ImageCanvasUtil.createImageData = function(image) { var buffer = image.buffer; if(buffer.__srcImageData == null) { if(buffer.data == null) { buffer.__srcImageData = buffer.__srcContext.getImageData(0,0,buffer.width,buffer.height); } else { buffer.__srcImageData = buffer.__srcContext.createImageData(buffer.width,buffer.height); buffer.__srcImageData.data.set(buffer.data); } var elements = buffer.__srcImageData.data.buffer; var array = null; var vector = null; var view = null; var buffer1 = null; var len = null; var this1; if(elements != null) { this1 = new Uint8Array(elements); } else if(array != null) { this1 = new Uint8Array(array); } else if(vector != null) { this1 = new Uint8Array(vector.__array); } else if(view != null) { this1 = new Uint8Array(view); } else if(buffer1 != null) { if(len == null) { this1 = new Uint8Array(buffer1,0); } else { this1 = new Uint8Array(buffer1,0,len); } } else { this1 = null; } buffer.data = this1; } }; lime__$internal_graphics_ImageCanvasUtil.fillRect = function(image,rect,color,format) { lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(image); var r; var g; var b; var a; if(format == 1) { r = color >> 16 & 255; g = color >> 8 & 255; b = color & 255; a = image.get_transparent() ? color >> 24 & 255 : 255; } else { r = color >> 24 & 255; g = color >> 16 & 255; b = color >> 8 & 255; a = image.get_transparent() ? color & 255 : 255; } if(rect.x == 0 && rect.y == 0 && rect.width == image.width && rect.height == image.height) { if(image.get_transparent() && a == 0) { image.buffer.__srcCanvas.width = image.buffer.width; return; } } if(a < 255) { image.buffer.__srcContext.clearRect(rect.x + image.offsetX,rect.y + image.offsetY,rect.width + image.offsetX,rect.height + image.offsetY); } if(a > 0) { image.buffer.__srcContext.fillStyle = "rgba(" + r + ", " + g + ", " + b + ", " + a / 255 + ")"; image.buffer.__srcContext.fillRect(rect.x + image.offsetX,rect.y + image.offsetY,rect.width + image.offsetX,rect.height + image.offsetY); } image.dirty = true; image.version++; }; lime__$internal_graphics_ImageCanvasUtil.floodFill = function(image,x,y,color,format) { lime__$internal_graphics_ImageCanvasUtil.convertToData(image); lime__$internal_graphics_ImageDataUtil.floodFill(image,x,y,color,format); }; lime__$internal_graphics_ImageCanvasUtil.getPixel = function(image,x,y,format) { lime__$internal_graphics_ImageCanvasUtil.convertToData(image); return lime__$internal_graphics_ImageDataUtil.getPixel(image,x,y,format); }; lime__$internal_graphics_ImageCanvasUtil.getPixel32 = function(image,x,y,format) { lime__$internal_graphics_ImageCanvasUtil.convertToData(image); return lime__$internal_graphics_ImageDataUtil.getPixel32(image,x,y,format); }; lime__$internal_graphics_ImageCanvasUtil.getPixels = function(image,rect,format) { lime__$internal_graphics_ImageCanvasUtil.convertToData(image); return lime__$internal_graphics_ImageDataUtil.getPixels(image,rect,format); }; lime__$internal_graphics_ImageCanvasUtil.merge = function(image,sourceImage,sourceRect,destPoint,redMultiplier,greenMultiplier,blueMultiplier,alphaMultiplier) { lime__$internal_graphics_ImageCanvasUtil.convertToData(sourceImage); lime__$internal_graphics_ImageCanvasUtil.convertToData(image); lime__$internal_graphics_ImageDataUtil.merge(image,sourceImage,sourceRect,destPoint,redMultiplier,greenMultiplier,blueMultiplier,alphaMultiplier); }; lime__$internal_graphics_ImageCanvasUtil.resize = function(image,newWidth,newHeight) { var buffer = image.buffer; if(buffer.__srcCanvas == null) { lime__$internal_graphics_ImageCanvasUtil.createCanvas(image,newWidth,newHeight); buffer.__srcContext.drawImage(buffer.get_src(),0,0,newWidth,newHeight); } else { lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(image,true); var sourceCanvas = buffer.__srcCanvas; buffer.__srcCanvas = null; lime__$internal_graphics_ImageCanvasUtil.createCanvas(image,newWidth,newHeight); buffer.__srcContext.drawImage(sourceCanvas,0,0,newWidth,newHeight); } buffer.__srcImageData = null; buffer.data = null; image.dirty = true; image.version++; }; lime__$internal_graphics_ImageCanvasUtil.scroll = function(image,x,y) { if(x % image.width == 0 && y % image.height == 0) { return; } var copy = image.clone(); lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(image,true); image.buffer.__srcContext.clearRect(x,y,image.width,image.height); image.buffer.__srcContext.drawImage(copy.get_src(),x,y); image.dirty = true; image.version++; }; lime__$internal_graphics_ImageCanvasUtil.setPixel = function(image,x,y,color,format) { lime__$internal_graphics_ImageCanvasUtil.convertToData(image); lime__$internal_graphics_ImageDataUtil.setPixel(image,x,y,color,format); }; lime__$internal_graphics_ImageCanvasUtil.setPixel32 = function(image,x,y,color,format) { lime__$internal_graphics_ImageCanvasUtil.convertToData(image); lime__$internal_graphics_ImageDataUtil.setPixel32(image,x,y,color,format); }; lime__$internal_graphics_ImageCanvasUtil.setPixels = function(image,rect,bytePointer,format,endian) { lime__$internal_graphics_ImageCanvasUtil.convertToData(image); lime__$internal_graphics_ImageDataUtil.setPixels(image,rect,bytePointer,format,endian); }; lime__$internal_graphics_ImageCanvasUtil.sync = function(image,clear) { if(image == null) { return; } if(image.type == lime_graphics_ImageType.CANVAS && (image.buffer.__srcCanvas != null || image.buffer.data != null)) { lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(image,clear); } else if(image.type == lime_graphics_ImageType.DATA) { lime__$internal_graphics_ImageCanvasUtil.convertToData(image,clear); } }; var lime__$internal_graphics_ImageDataUtil = function() { }; $hxClasses["lime._internal.graphics.ImageDataUtil"] = lime__$internal_graphics_ImageDataUtil; lime__$internal_graphics_ImageDataUtil.__name__ = "lime._internal.graphics.ImageDataUtil"; lime__$internal_graphics_ImageDataUtil.displaceMap = function(target,source,map,mapPoint,componentX,componentY,smooth) { var targetData = target.buffer.data; var sourceData = source.buffer.data; var mapData = map.buffer.data; var targetFormat = target.buffer.format; var sourceFormat = source.buffer.format; var mapFormat = map.buffer.format; var targetPremultiplied = target.get_premultiplied(); var sourcePremultiplied = source.get_premultiplied(); var mapPremultiplied = map.get_premultiplied(); var sourceView = new lime__$internal_graphics__$ImageDataUtil_ImageDataView(source); var mapView = new lime__$internal_graphics__$ImageDataUtil_ImageDataView(map); var row; var sourceOffset; var sourcePixel = 0; var mapPixel = 0; var targetPixel = 0; var mapPixelX; var mapPixelY; var mapPixelA; var s1 = 0; var s2 = 0; var s3 = 0; var s4 = 0; var mPointXFloor; var mPointYFloor; var disOffsetXFloor; var disOffsetYFloor; var disX; var disY; var _g = 0; var _g1 = sourceView.height; while(_g < _g1) { var y = _g++; row = sourceView.byteOffset + sourceView.stride * y; var _g2 = 0; var _g11 = sourceView.width; while(_g2 < _g11) { var x = _g2++; sourceOffset = row + x * 4; mPointXFloor = mapPoint.x | 0; mPointYFloor = mapPoint.y | 0; if(smooth) { var offset = sourceView.byteOffset + sourceView.stride * (y - mPointYFloor + 1) + (x - mPointXFloor) * 4; var format = mapFormat; var premultiplied = mapPremultiplied; if(premultiplied == null) { premultiplied = false; } if(format == null) { format = 0; } switch(format) { case 0: s1 = (mapData[offset] & 255) << 24 | (mapData[offset + 1] & 255) << 16 | (mapData[offset + 2] & 255) << 8 | mapData[offset + 3] & 255; break; case 1: s1 = (mapData[offset + 1] & 255) << 24 | (mapData[offset + 2] & 255) << 16 | (mapData[offset + 3] & 255) << 8 | mapData[offset] & 255; break; case 2: s1 = (mapData[offset + 2] & 255) << 24 | (mapData[offset + 1] & 255) << 16 | (mapData[offset] & 255) << 8 | mapData[offset + 3] & 255; break; } if(premultiplied) { if((s1 & 255) != 0 && (s1 & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (s1 & 255); s1 = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((s1 >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((s1 >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((s1 >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | s1 & 255 & 255; } } var offset1 = sourceView.byteOffset + sourceView.stride * (y - mPointYFloor) + (x - mPointXFloor + 1) * 4; var format1 = mapFormat; var premultiplied1 = mapPremultiplied; if(premultiplied1 == null) { premultiplied1 = false; } if(format1 == null) { format1 = 0; } switch(format1) { case 0: s2 = (mapData[offset1] & 255) << 24 | (mapData[offset1 + 1] & 255) << 16 | (mapData[offset1 + 2] & 255) << 8 | mapData[offset1 + 3] & 255; break; case 1: s2 = (mapData[offset1 + 1] & 255) << 24 | (mapData[offset1 + 2] & 255) << 16 | (mapData[offset1 + 3] & 255) << 8 | mapData[offset1] & 255; break; case 2: s2 = (mapData[offset1 + 2] & 255) << 24 | (mapData[offset1 + 1] & 255) << 16 | (mapData[offset1] & 255) << 8 | mapData[offset1 + 3] & 255; break; } if(premultiplied1) { if((s2 & 255) != 0 && (s2 & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (s2 & 255); s2 = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((s2 >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((s2 >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((s2 >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | s2 & 255 & 255; } } var offset2 = sourceView.byteOffset + sourceView.stride * (y - mPointYFloor + 1) + (x - mPointXFloor + 1) * 4; var format2 = mapFormat; var premultiplied2 = mapPremultiplied; if(premultiplied2 == null) { premultiplied2 = false; } if(format2 == null) { format2 = 0; } switch(format2) { case 0: s3 = (mapData[offset2] & 255) << 24 | (mapData[offset2 + 1] & 255) << 16 | (mapData[offset2 + 2] & 255) << 8 | mapData[offset2 + 3] & 255; break; case 1: s3 = (mapData[offset2 + 1] & 255) << 24 | (mapData[offset2 + 2] & 255) << 16 | (mapData[offset2 + 3] & 255) << 8 | mapData[offset2] & 255; break; case 2: s3 = (mapData[offset2 + 2] & 255) << 24 | (mapData[offset2 + 1] & 255) << 16 | (mapData[offset2] & 255) << 8 | mapData[offset2 + 3] & 255; break; } if(premultiplied2) { if((s3 & 255) != 0 && (s3 & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (s3 & 255); s3 = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((s3 >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((s3 >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((s3 >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | s3 & 255 & 255; } } var offset3 = sourceView.byteOffset + sourceView.stride * (y - mPointYFloor) + (x - mPointXFloor) * 4; var format3 = mapFormat; var premultiplied3 = mapPremultiplied; if(premultiplied3 == null) { premultiplied3 = false; } if(format3 == null) { format3 = 0; } switch(format3) { case 0: s4 = (mapData[offset3] & 255) << 24 | (mapData[offset3 + 1] & 255) << 16 | (mapData[offset3 + 2] & 255) << 8 | mapData[offset3 + 3] & 255; break; case 1: s4 = (mapData[offset3 + 1] & 255) << 24 | (mapData[offset3 + 2] & 255) << 16 | (mapData[offset3 + 3] & 255) << 8 | mapData[offset3] & 255; break; case 2: s4 = (mapData[offset3 + 2] & 255) << 24 | (mapData[offset3 + 1] & 255) << 16 | (mapData[offset3] & 255) << 8 | mapData[offset3 + 3] & 255; break; } if(premultiplied3) { if((s4 & 255) != 0 && (s4 & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (s4 & 255); s4 = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((s4 >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((s4 >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((s4 >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | s4 & 255 & 255; } } mapPixel = lime__$internal_graphics_ImageDataUtil.bilinear(s1,s2,s3,s4,mapPoint.x - mPointXFloor,mapPoint.y - mPointYFloor); } else { var offset4 = mapView.byteOffset + mapView.stride * (y - mPointYFloor) + (x - mPointXFloor) * 4; var format4 = mapFormat; var premultiplied4 = mapPremultiplied; if(premultiplied4 == null) { premultiplied4 = false; } if(format4 == null) { format4 = 0; } switch(format4) { case 0: mapPixel = (mapData[offset4] & 255) << 24 | (mapData[offset4 + 1] & 255) << 16 | (mapData[offset4 + 2] & 255) << 8 | mapData[offset4 + 3] & 255; break; case 1: mapPixel = (mapData[offset4 + 1] & 255) << 24 | (mapData[offset4 + 2] & 255) << 16 | (mapData[offset4 + 3] & 255) << 8 | mapData[offset4] & 255; break; case 2: mapPixel = (mapData[offset4 + 2] & 255) << 24 | (mapData[offset4 + 1] & 255) << 16 | (mapData[offset4] & 255) << 8 | mapData[offset4 + 3] & 255; break; } if(premultiplied4) { if((mapPixel & 255) != 0 && (mapPixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (mapPixel & 255); mapPixel = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((mapPixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((mapPixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((mapPixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | mapPixel & 255 & 255; } } } mapPixelA = (mapPixel & 255) / 255.0; mapPixelX = ((mapPixel >>> 24 & 255) - 128) / 255.0 * mapPixelA; mapPixelY = ((mapPixel >>> 16 & 255) - 128) / 255.0 * mapPixelA; disX = mapPixelX * componentX.x + mapPixelY * componentY.x; disY = mapPixelX * componentX.y + mapPixelY * componentY.y; disOffsetXFloor = Math.floor(disX * sourceView.width); disOffsetYFloor = Math.floor(disY * sourceView.height); if(smooth) { var offset5 = sourceView.byteOffset + sourceView.stride * (y + disOffsetYFloor + 1) + (x + disOffsetXFloor) * 4; var format5 = sourceFormat; var premultiplied5 = sourcePremultiplied; if(premultiplied5 == null) { premultiplied5 = false; } if(format5 == null) { format5 = 0; } switch(format5) { case 0: s1 = (sourceData[offset5] & 255) << 24 | (sourceData[offset5 + 1] & 255) << 16 | (sourceData[offset5 + 2] & 255) << 8 | sourceData[offset5 + 3] & 255; break; case 1: s1 = (sourceData[offset5 + 1] & 255) << 24 | (sourceData[offset5 + 2] & 255) << 16 | (sourceData[offset5 + 3] & 255) << 8 | sourceData[offset5] & 255; break; case 2: s1 = (sourceData[offset5 + 2] & 255) << 24 | (sourceData[offset5 + 1] & 255) << 16 | (sourceData[offset5] & 255) << 8 | sourceData[offset5 + 3] & 255; break; } if(premultiplied5) { if((s1 & 255) != 0 && (s1 & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (s1 & 255); s1 = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((s1 >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((s1 >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((s1 >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | s1 & 255 & 255; } } var offset6 = sourceView.byteOffset + sourceView.stride * (y + disOffsetYFloor) + (x + disOffsetXFloor + 1) * 4; var format6 = sourceFormat; var premultiplied6 = sourcePremultiplied; if(premultiplied6 == null) { premultiplied6 = false; } if(format6 == null) { format6 = 0; } switch(format6) { case 0: s2 = (sourceData[offset6] & 255) << 24 | (sourceData[offset6 + 1] & 255) << 16 | (sourceData[offset6 + 2] & 255) << 8 | sourceData[offset6 + 3] & 255; break; case 1: s2 = (sourceData[offset6 + 1] & 255) << 24 | (sourceData[offset6 + 2] & 255) << 16 | (sourceData[offset6 + 3] & 255) << 8 | sourceData[offset6] & 255; break; case 2: s2 = (sourceData[offset6 + 2] & 255) << 24 | (sourceData[offset6 + 1] & 255) << 16 | (sourceData[offset6] & 255) << 8 | sourceData[offset6 + 3] & 255; break; } if(premultiplied6) { if((s2 & 255) != 0 && (s2 & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (s2 & 255); s2 = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((s2 >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((s2 >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((s2 >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | s2 & 255 & 255; } } var offset7 = sourceView.byteOffset + sourceView.stride * (y + disOffsetYFloor + 1) + (x + disOffsetXFloor + 1) * 4; var format7 = sourceFormat; var premultiplied7 = sourcePremultiplied; if(premultiplied7 == null) { premultiplied7 = false; } if(format7 == null) { format7 = 0; } switch(format7) { case 0: s3 = (sourceData[offset7] & 255) << 24 | (sourceData[offset7 + 1] & 255) << 16 | (sourceData[offset7 + 2] & 255) << 8 | sourceData[offset7 + 3] & 255; break; case 1: s3 = (sourceData[offset7 + 1] & 255) << 24 | (sourceData[offset7 + 2] & 255) << 16 | (sourceData[offset7 + 3] & 255) << 8 | sourceData[offset7] & 255; break; case 2: s3 = (sourceData[offset7 + 2] & 255) << 24 | (sourceData[offset7 + 1] & 255) << 16 | (sourceData[offset7] & 255) << 8 | sourceData[offset7 + 3] & 255; break; } if(premultiplied7) { if((s3 & 255) != 0 && (s3 & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (s3 & 255); s3 = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((s3 >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((s3 >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((s3 >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | s3 & 255 & 255; } } var offset8 = sourceView.byteOffset + sourceView.stride * (y + disOffsetYFloor) + (x + disOffsetXFloor) * 4; var format8 = sourceFormat; var premultiplied8 = sourcePremultiplied; if(premultiplied8 == null) { premultiplied8 = false; } if(format8 == null) { format8 = 0; } switch(format8) { case 0: s4 = (sourceData[offset8] & 255) << 24 | (sourceData[offset8 + 1] & 255) << 16 | (sourceData[offset8 + 2] & 255) << 8 | sourceData[offset8 + 3] & 255; break; case 1: s4 = (sourceData[offset8 + 1] & 255) << 24 | (sourceData[offset8 + 2] & 255) << 16 | (sourceData[offset8 + 3] & 255) << 8 | sourceData[offset8] & 255; break; case 2: s4 = (sourceData[offset8 + 2] & 255) << 24 | (sourceData[offset8 + 1] & 255) << 16 | (sourceData[offset8] & 255) << 8 | sourceData[offset8 + 3] & 255; break; } if(premultiplied8) { if((s4 & 255) != 0 && (s4 & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (s4 & 255); s4 = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((s4 >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((s4 >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((s4 >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | s4 & 255 & 255; } } sourcePixel = lime__$internal_graphics_ImageDataUtil.bilinear(s1,s2,s3,s4,disX * sourceView.width - disOffsetXFloor,disY * sourceView.height - disOffsetYFloor); } else { var offset9 = sourceView.byteOffset + sourceView.stride * (y + disOffsetYFloor) + (x + disOffsetXFloor) * 4; var format9 = sourceFormat; var premultiplied9 = sourcePremultiplied; if(premultiplied9 == null) { premultiplied9 = false; } if(format9 == null) { format9 = 0; } switch(format9) { case 0: sourcePixel = (sourceData[offset9] & 255) << 24 | (sourceData[offset9 + 1] & 255) << 16 | (sourceData[offset9 + 2] & 255) << 8 | sourceData[offset9 + 3] & 255; break; case 1: sourcePixel = (sourceData[offset9 + 1] & 255) << 24 | (sourceData[offset9 + 2] & 255) << 16 | (sourceData[offset9 + 3] & 255) << 8 | sourceData[offset9] & 255; break; case 2: sourcePixel = (sourceData[offset9 + 2] & 255) << 24 | (sourceData[offset9 + 1] & 255) << 16 | (sourceData[offset9] & 255) << 8 | sourceData[offset9 + 3] & 255; break; } if(premultiplied9) { if((sourcePixel & 255) != 0 && (sourcePixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (sourcePixel & 255); sourcePixel = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((sourcePixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((sourcePixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((sourcePixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | sourcePixel & 255 & 255; } } } var format10 = targetFormat; var premultiplied10 = targetPremultiplied; if(premultiplied10 == null) { premultiplied10 = false; } if(format10 == null) { format10 = 0; } if(premultiplied10) { if((sourcePixel & 255) == 0) { if(sourcePixel != 0) { sourcePixel = 0; } } else if((sourcePixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.a16 = lime_math__$RGBA_RGBA_$Impl_$.__alpha16[sourcePixel & 255]; sourcePixel = ((sourcePixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 24 | ((sourcePixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 16 | ((sourcePixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 8 | sourcePixel & 255 & 255; } } switch(format10) { case 0: targetData[sourceOffset] = sourcePixel >>> 24 & 255; targetData[sourceOffset + 1] = sourcePixel >>> 16 & 255; targetData[sourceOffset + 2] = sourcePixel >>> 8 & 255; targetData[sourceOffset + 3] = sourcePixel & 255; break; case 1: targetData[sourceOffset] = sourcePixel & 255; targetData[sourceOffset + 1] = sourcePixel >>> 24 & 255; targetData[sourceOffset + 2] = sourcePixel >>> 16 & 255; targetData[sourceOffset + 3] = sourcePixel >>> 8 & 255; break; case 2: targetData[sourceOffset] = sourcePixel >>> 8 & 255; targetData[sourceOffset + 1] = sourcePixel >>> 16 & 255; targetData[sourceOffset + 2] = sourcePixel >>> 24 & 255; targetData[sourceOffset + 3] = sourcePixel & 255; break; } } } target.dirty = true; target.version++; }; lime__$internal_graphics_ImageDataUtil.bilinear = function(s1,s2,s3,s4,su,sv) { return lime__$internal_graphics_ImageDataUtil.lerpRGBA(lime__$internal_graphics_ImageDataUtil.lerpRGBA(s4,s2,su),lime__$internal_graphics_ImageDataUtil.lerpRGBA(s1,s3,su),sv); }; lime__$internal_graphics_ImageDataUtil.lerpRGBA = function(v0,v1,x) { var result = 0; var value = Math.floor(lime__$internal_graphics_ImageDataUtil.lerp(v0 >>> 24 & 255,v1 >>> 24 & 255,x)); result = (value & 255) << 24 | (result >>> 16 & 255 & 255) << 16 | (result >>> 8 & 255 & 255) << 8 | result & 255 & 255; var value1 = Math.floor(lime__$internal_graphics_ImageDataUtil.lerp(v0 >>> 16 & 255,v1 >>> 16 & 255,x)); result = (result >>> 24 & 255 & 255) << 24 | (value1 & 255) << 16 | (result >>> 8 & 255 & 255) << 8 | result & 255 & 255; var value2 = Math.floor(lime__$internal_graphics_ImageDataUtil.lerp(v0 >>> 8 & 255,v1 >>> 8 & 255,x)); result = (result >>> 24 & 255 & 255) << 24 | (result >>> 16 & 255 & 255) << 16 | (value2 & 255) << 8 | result & 255 & 255; var value3 = Math.floor(lime__$internal_graphics_ImageDataUtil.lerp(v0 & 255,v1 & 255,x)); result = (result >>> 24 & 255 & 255) << 24 | (result >>> 16 & 255 & 255) << 16 | (result >>> 8 & 255 & 255) << 8 | value3 & 255; return result; }; lime__$internal_graphics_ImageDataUtil.lerp4f = function(v0,v1,x) { return new lime_math_Vector4(lime__$internal_graphics_ImageDataUtil.lerp(v0.x,v1.x,x),lime__$internal_graphics_ImageDataUtil.lerp(v0.y,v1.y,x),lime__$internal_graphics_ImageDataUtil.lerp(v0.z,v1.z,x),lime__$internal_graphics_ImageDataUtil.lerp(v0.w,v1.w,x)); }; lime__$internal_graphics_ImageDataUtil.lerp = function(v0,v1,x) { return (1.0 - x) * v0 + x * v1; }; lime__$internal_graphics_ImageDataUtil.colorTransform = function(image,rect,colorMatrix) { var data = image.buffer.data; if(data == null) { return; } var format = image.buffer.format; var premultiplied = image.buffer.premultiplied; var dataView = new lime__$internal_graphics__$ImageDataUtil_ImageDataView(image,rect); var alphaTable = lime_math__$ColorMatrix_ColorMatrix_$Impl_$.getAlphaTable(colorMatrix); var redTable = lime_math__$ColorMatrix_ColorMatrix_$Impl_$.getRedTable(colorMatrix); var greenTable = lime_math__$ColorMatrix_ColorMatrix_$Impl_$.getGreenTable(colorMatrix); var blueTable = lime_math__$ColorMatrix_ColorMatrix_$Impl_$.getBlueTable(colorMatrix); var row; var offset; var pixel = 0; var _g = 0; var _g1 = dataView.height; while(_g < _g1) { var y = _g++; row = dataView.byteOffset + dataView.stride * y; var _g2 = 0; var _g11 = dataView.width; while(_g2 < _g11) { var x = _g2++; offset = row + x * 4; var format1 = format; var premultiplied1 = premultiplied; if(premultiplied1 == null) { premultiplied1 = false; } if(format1 == null) { format1 = 0; } switch(format1) { case 0: pixel = (data[offset] & 255) << 24 | (data[offset + 1] & 255) << 16 | (data[offset + 2] & 255) << 8 | data[offset + 3] & 255; break; case 1: pixel = (data[offset + 1] & 255) << 24 | (data[offset + 2] & 255) << 16 | (data[offset + 3] & 255) << 8 | data[offset] & 255; break; case 2: pixel = (data[offset + 2] & 255) << 24 | (data[offset + 1] & 255) << 16 | (data[offset] & 255) << 8 | data[offset + 3] & 255; break; } if(premultiplied1) { if((pixel & 255) != 0 && (pixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (pixel & 255); pixel = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((pixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((pixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((pixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | pixel & 255 & 255; } } pixel = (redTable[pixel >>> 24 & 255] & 255) << 24 | (greenTable[pixel >>> 16 & 255] & 255) << 16 | (blueTable[pixel >>> 8 & 255] & 255) << 8 | alphaTable[pixel & 255] & 255; var format2 = format; var premultiplied2 = premultiplied; if(premultiplied2 == null) { premultiplied2 = false; } if(format2 == null) { format2 = 0; } if(premultiplied2) { if((pixel & 255) == 0) { if(pixel != 0) { pixel = 0; } } else if((pixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.a16 = lime_math__$RGBA_RGBA_$Impl_$.__alpha16[pixel & 255]; pixel = ((pixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 24 | ((pixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 16 | ((pixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 8 | pixel & 255 & 255; } } switch(format2) { case 0: data[offset] = pixel >>> 24 & 255; data[offset + 1] = pixel >>> 16 & 255; data[offset + 2] = pixel >>> 8 & 255; data[offset + 3] = pixel & 255; break; case 1: data[offset] = pixel & 255; data[offset + 1] = pixel >>> 24 & 255; data[offset + 2] = pixel >>> 16 & 255; data[offset + 3] = pixel >>> 8 & 255; break; case 2: data[offset] = pixel >>> 8 & 255; data[offset + 1] = pixel >>> 16 & 255; data[offset + 2] = pixel >>> 24 & 255; data[offset + 3] = pixel & 255; break; } } } image.dirty = true; image.version++; }; lime__$internal_graphics_ImageDataUtil.copyChannel = function(image,sourceImage,sourceRect,destPoint,sourceChannel,destChannel) { var destIdx; switch(destChannel._hx_index) { case 0: destIdx = 0; break; case 1: destIdx = 1; break; case 2: destIdx = 2; break; case 3: destIdx = 3; break; } var srcIdx; switch(sourceChannel._hx_index) { case 0: srcIdx = 0; break; case 1: srcIdx = 1; break; case 2: srcIdx = 2; break; case 3: srcIdx = 3; break; } var srcData = sourceImage.buffer.data; var destData = image.buffer.data; if(srcData == null || destData == null) { return; } var srcView = new lime__$internal_graphics__$ImageDataUtil_ImageDataView(sourceImage,sourceRect); var destView = new lime__$internal_graphics__$ImageDataUtil_ImageDataView(image,new lime_math_Rectangle(destPoint.x,destPoint.y,srcView.width,srcView.height)); var srcFormat = sourceImage.buffer.format; var destFormat = image.buffer.format; var srcPremultiplied = sourceImage.buffer.premultiplied; var destPremultiplied = image.buffer.premultiplied; var srcPosition; var destPosition; var srcPixel = 0; var destPixel = 0; var value = 0; var _g = 0; var _g1 = destView.height; while(_g < _g1) { var y = _g++; srcPosition = srcView.byteOffset + srcView.stride * y; destPosition = destView.byteOffset + destView.stride * y; var _g2 = 0; var _g11 = destView.width; while(_g2 < _g11) { var x = _g2++; var format = srcFormat; var premultiplied = srcPremultiplied; if(premultiplied == null) { premultiplied = false; } if(format == null) { format = 0; } switch(format) { case 0: srcPixel = (srcData[srcPosition] & 255) << 24 | (srcData[srcPosition + 1] & 255) << 16 | (srcData[srcPosition + 2] & 255) << 8 | srcData[srcPosition + 3] & 255; break; case 1: srcPixel = (srcData[srcPosition + 1] & 255) << 24 | (srcData[srcPosition + 2] & 255) << 16 | (srcData[srcPosition + 3] & 255) << 8 | srcData[srcPosition] & 255; break; case 2: srcPixel = (srcData[srcPosition + 2] & 255) << 24 | (srcData[srcPosition + 1] & 255) << 16 | (srcData[srcPosition] & 255) << 8 | srcData[srcPosition + 3] & 255; break; } if(premultiplied) { if((srcPixel & 255) != 0 && (srcPixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (srcPixel & 255); srcPixel = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((srcPixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((srcPixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((srcPixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | srcPixel & 255 & 255; } } var format1 = destFormat; var premultiplied1 = destPremultiplied; if(premultiplied1 == null) { premultiplied1 = false; } if(format1 == null) { format1 = 0; } switch(format1) { case 0: destPixel = (destData[destPosition] & 255) << 24 | (destData[destPosition + 1] & 255) << 16 | (destData[destPosition + 2] & 255) << 8 | destData[destPosition + 3] & 255; break; case 1: destPixel = (destData[destPosition + 1] & 255) << 24 | (destData[destPosition + 2] & 255) << 16 | (destData[destPosition + 3] & 255) << 8 | destData[destPosition] & 255; break; case 2: destPixel = (destData[destPosition + 2] & 255) << 24 | (destData[destPosition + 1] & 255) << 16 | (destData[destPosition] & 255) << 8 | destData[destPosition + 3] & 255; break; } if(premultiplied1) { if((destPixel & 255) != 0 && (destPixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (destPixel & 255); destPixel = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((destPixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((destPixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((destPixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | destPixel & 255 & 255; } } switch(srcIdx) { case 0: value = srcPixel >>> 24 & 255; break; case 1: value = srcPixel >>> 16 & 255; break; case 2: value = srcPixel >>> 8 & 255; break; case 3: value = srcPixel & 255; break; } switch(destIdx) { case 0: destPixel = (value & 255) << 24 | (destPixel >>> 16 & 255 & 255) << 16 | (destPixel >>> 8 & 255 & 255) << 8 | destPixel & 255 & 255; break; case 1: destPixel = (destPixel >>> 24 & 255 & 255) << 24 | (value & 255) << 16 | (destPixel >>> 8 & 255 & 255) << 8 | destPixel & 255 & 255; break; case 2: destPixel = (destPixel >>> 24 & 255 & 255) << 24 | (destPixel >>> 16 & 255 & 255) << 16 | (value & 255) << 8 | destPixel & 255 & 255; break; case 3: destPixel = (destPixel >>> 24 & 255 & 255) << 24 | (destPixel >>> 16 & 255 & 255) << 16 | (destPixel >>> 8 & 255 & 255) << 8 | value & 255; break; } var format2 = destFormat; var premultiplied2 = destPremultiplied; if(premultiplied2 == null) { premultiplied2 = false; } if(format2 == null) { format2 = 0; } if(premultiplied2) { if((destPixel & 255) == 0) { if(destPixel != 0) { destPixel = 0; } } else if((destPixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.a16 = lime_math__$RGBA_RGBA_$Impl_$.__alpha16[destPixel & 255]; destPixel = ((destPixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 24 | ((destPixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 16 | ((destPixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 8 | destPixel & 255 & 255; } } switch(format2) { case 0: destData[destPosition] = destPixel >>> 24 & 255; destData[destPosition + 1] = destPixel >>> 16 & 255; destData[destPosition + 2] = destPixel >>> 8 & 255; destData[destPosition + 3] = destPixel & 255; break; case 1: destData[destPosition] = destPixel & 255; destData[destPosition + 1] = destPixel >>> 24 & 255; destData[destPosition + 2] = destPixel >>> 16 & 255; destData[destPosition + 3] = destPixel >>> 8 & 255; break; case 2: destData[destPosition] = destPixel >>> 8 & 255; destData[destPosition + 1] = destPixel >>> 16 & 255; destData[destPosition + 2] = destPixel >>> 24 & 255; destData[destPosition + 3] = destPixel & 255; break; } srcPosition += 4; destPosition += 4; } } image.dirty = true; image.version++; }; lime__$internal_graphics_ImageDataUtil.copyPixels = function(image,sourceImage,sourceRect,destPoint,alphaImage,alphaPoint,mergeAlpha) { if(mergeAlpha == null) { mergeAlpha = false; } if(image.width == sourceImage.width && image.height == sourceImage.height && sourceRect.width == sourceImage.width && sourceRect.height == sourceImage.height && sourceRect.x == 0 && sourceRect.y == 0 && destPoint.x == 0 && destPoint.y == 0 && alphaImage == null && alphaPoint == null && mergeAlpha == false && image.get_format() == sourceImage.get_format()) { image.buffer.data.set(sourceImage.buffer.data); } else { var sourceData = sourceImage.buffer.data; var destData = image.buffer.data; if(sourceData == null || destData == null) { return; } var sourceView = new lime__$internal_graphics__$ImageDataUtil_ImageDataView(sourceImage,sourceRect); var destRect = new lime_math_Rectangle(destPoint.x,destPoint.y,sourceView.width,sourceView.height); var destView = new lime__$internal_graphics__$ImageDataUtil_ImageDataView(image,destRect); var sourceFormat = sourceImage.buffer.format; var destFormat = image.buffer.format; var sourcePosition; var destPosition; var sourceAlpha; var destAlpha; var oneMinusSourceAlpha; var blendAlpha; var sourcePixel = 0; var destPixel = 0; var sourcePremultiplied = sourceImage.buffer.premultiplied; var destPremultiplied = image.buffer.premultiplied; var sourceBytesPerPixel = sourceImage.buffer.bitsPerPixel / 8 | 0; var destBytesPerPixel = image.buffer.bitsPerPixel / 8 | 0; var useAlphaImage = alphaImage != null && alphaImage.get_transparent(); var blend = mergeAlpha || useAlphaImage && !image.get_transparent() || !mergeAlpha && !image.get_transparent() && sourceImage.get_transparent(); if(!useAlphaImage) { if(blend) { var _g = 0; var _g1 = destView.height; while(_g < _g1) { var y = _g++; sourcePosition = sourceView.byteOffset + sourceView.stride * y; destPosition = destView.byteOffset + destView.stride * y; var _g2 = 0; var _g11 = destView.width; while(_g2 < _g11) { var x = _g2++; var format = sourceFormat; var premultiplied = sourcePremultiplied; if(premultiplied == null) { premultiplied = false; } if(format == null) { format = 0; } switch(format) { case 0: sourcePixel = (sourceData[sourcePosition] & 255) << 24 | (sourceData[sourcePosition + 1] & 255) << 16 | (sourceData[sourcePosition + 2] & 255) << 8 | sourceData[sourcePosition + 3] & 255; break; case 1: sourcePixel = (sourceData[sourcePosition + 1] & 255) << 24 | (sourceData[sourcePosition + 2] & 255) << 16 | (sourceData[sourcePosition + 3] & 255) << 8 | sourceData[sourcePosition] & 255; break; case 2: sourcePixel = (sourceData[sourcePosition + 2] & 255) << 24 | (sourceData[sourcePosition + 1] & 255) << 16 | (sourceData[sourcePosition] & 255) << 8 | sourceData[sourcePosition + 3] & 255; break; } if(premultiplied) { if((sourcePixel & 255) != 0 && (sourcePixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (sourcePixel & 255); sourcePixel = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((sourcePixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((sourcePixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((sourcePixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | sourcePixel & 255 & 255; } } var format1 = destFormat; var premultiplied1 = destPremultiplied; if(premultiplied1 == null) { premultiplied1 = false; } if(format1 == null) { format1 = 0; } switch(format1) { case 0: destPixel = (destData[destPosition] & 255) << 24 | (destData[destPosition + 1] & 255) << 16 | (destData[destPosition + 2] & 255) << 8 | destData[destPosition + 3] & 255; break; case 1: destPixel = (destData[destPosition + 1] & 255) << 24 | (destData[destPosition + 2] & 255) << 16 | (destData[destPosition + 3] & 255) << 8 | destData[destPosition] & 255; break; case 2: destPixel = (destData[destPosition + 2] & 255) << 24 | (destData[destPosition + 1] & 255) << 16 | (destData[destPosition] & 255) << 8 | destData[destPosition + 3] & 255; break; } if(premultiplied1) { if((destPixel & 255) != 0 && (destPixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (destPixel & 255); destPixel = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((destPixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((destPixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((destPixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | destPixel & 255 & 255; } } sourceAlpha = (sourcePixel & 255) / 255.0; destAlpha = (destPixel & 255) / 255.0; oneMinusSourceAlpha = 1 - sourceAlpha; blendAlpha = sourceAlpha + destAlpha * oneMinusSourceAlpha; if(blendAlpha == 0) { destPixel = 0; } else { var value = lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round(((sourcePixel >>> 24 & 255) * sourceAlpha + (destPixel >>> 24 & 255) * destAlpha * oneMinusSourceAlpha) / blendAlpha)]; destPixel = (value & 255) << 24 | (destPixel >>> 16 & 255 & 255) << 16 | (destPixel >>> 8 & 255 & 255) << 8 | destPixel & 255 & 255; var value1 = lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round(((sourcePixel >>> 16 & 255) * sourceAlpha + (destPixel >>> 16 & 255) * destAlpha * oneMinusSourceAlpha) / blendAlpha)]; destPixel = (destPixel >>> 24 & 255 & 255) << 24 | (value1 & 255) << 16 | (destPixel >>> 8 & 255 & 255) << 8 | destPixel & 255 & 255; var value2 = lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round(((sourcePixel >>> 8 & 255) * sourceAlpha + (destPixel >>> 8 & 255) * destAlpha * oneMinusSourceAlpha) / blendAlpha)]; destPixel = (destPixel >>> 24 & 255 & 255) << 24 | (destPixel >>> 16 & 255 & 255) << 16 | (value2 & 255) << 8 | destPixel & 255 & 255; var value3 = lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round(blendAlpha * 255.0)]; destPixel = (destPixel >>> 24 & 255 & 255) << 24 | (destPixel >>> 16 & 255 & 255) << 16 | (destPixel >>> 8 & 255 & 255) << 8 | value3 & 255; } var format2 = destFormat; var premultiplied2 = destPremultiplied; if(premultiplied2 == null) { premultiplied2 = false; } if(format2 == null) { format2 = 0; } if(premultiplied2) { if((destPixel & 255) == 0) { if(destPixel != 0) { destPixel = 0; } } else if((destPixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.a16 = lime_math__$RGBA_RGBA_$Impl_$.__alpha16[destPixel & 255]; destPixel = ((destPixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 24 | ((destPixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 16 | ((destPixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 8 | destPixel & 255 & 255; } } switch(format2) { case 0: destData[destPosition] = destPixel >>> 24 & 255; destData[destPosition + 1] = destPixel >>> 16 & 255; destData[destPosition + 2] = destPixel >>> 8 & 255; destData[destPosition + 3] = destPixel & 255; break; case 1: destData[destPosition] = destPixel & 255; destData[destPosition + 1] = destPixel >>> 24 & 255; destData[destPosition + 2] = destPixel >>> 16 & 255; destData[destPosition + 3] = destPixel >>> 8 & 255; break; case 2: destData[destPosition] = destPixel >>> 8 & 255; destData[destPosition + 1] = destPixel >>> 16 & 255; destData[destPosition + 2] = destPixel >>> 24 & 255; destData[destPosition + 3] = destPixel & 255; break; } sourcePosition += 4; destPosition += 4; } } } else if(sourceFormat == destFormat && sourcePremultiplied == destPremultiplied && sourceBytesPerPixel == destBytesPerPixel) { var _g3 = 0; var _g12 = destView.height; while(_g3 < _g12) { var y1 = _g3++; sourcePosition = sourceView.byteOffset + sourceView.stride * y1; destPosition = destView.byteOffset + destView.stride * y1; destData.set(sourceData.subarray(sourcePosition,sourcePosition + destView.width * destBytesPerPixel),destPosition); } } else { var _g4 = 0; var _g13 = destView.height; while(_g4 < _g13) { var y2 = _g4++; sourcePosition = sourceView.byteOffset + sourceView.stride * y2; destPosition = destView.byteOffset + destView.stride * y2; var _g5 = 0; var _g14 = destView.width; while(_g5 < _g14) { var x1 = _g5++; var format3 = sourceFormat; var premultiplied3 = sourcePremultiplied; if(premultiplied3 == null) { premultiplied3 = false; } if(format3 == null) { format3 = 0; } switch(format3) { case 0: sourcePixel = (sourceData[sourcePosition] & 255) << 24 | (sourceData[sourcePosition + 1] & 255) << 16 | (sourceData[sourcePosition + 2] & 255) << 8 | sourceData[sourcePosition + 3] & 255; break; case 1: sourcePixel = (sourceData[sourcePosition + 1] & 255) << 24 | (sourceData[sourcePosition + 2] & 255) << 16 | (sourceData[sourcePosition + 3] & 255) << 8 | sourceData[sourcePosition] & 255; break; case 2: sourcePixel = (sourceData[sourcePosition + 2] & 255) << 24 | (sourceData[sourcePosition + 1] & 255) << 16 | (sourceData[sourcePosition] & 255) << 8 | sourceData[sourcePosition + 3] & 255; break; } if(premultiplied3) { if((sourcePixel & 255) != 0 && (sourcePixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (sourcePixel & 255); sourcePixel = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((sourcePixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((sourcePixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((sourcePixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | sourcePixel & 255 & 255; } } var format4 = destFormat; var premultiplied4 = destPremultiplied; if(premultiplied4 == null) { premultiplied4 = false; } if(format4 == null) { format4 = 0; } if(premultiplied4) { if((sourcePixel & 255) == 0) { if(sourcePixel != 0) { sourcePixel = 0; } } else if((sourcePixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.a16 = lime_math__$RGBA_RGBA_$Impl_$.__alpha16[sourcePixel & 255]; sourcePixel = ((sourcePixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 24 | ((sourcePixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 16 | ((sourcePixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 8 | sourcePixel & 255 & 255; } } switch(format4) { case 0: destData[destPosition] = sourcePixel >>> 24 & 255; destData[destPosition + 1] = sourcePixel >>> 16 & 255; destData[destPosition + 2] = sourcePixel >>> 8 & 255; destData[destPosition + 3] = sourcePixel & 255; break; case 1: destData[destPosition] = sourcePixel & 255; destData[destPosition + 1] = sourcePixel >>> 24 & 255; destData[destPosition + 2] = sourcePixel >>> 16 & 255; destData[destPosition + 3] = sourcePixel >>> 8 & 255; break; case 2: destData[destPosition] = sourcePixel >>> 8 & 255; destData[destPosition + 1] = sourcePixel >>> 16 & 255; destData[destPosition + 2] = sourcePixel >>> 24 & 255; destData[destPosition + 3] = sourcePixel & 255; break; } sourcePosition += 4; destPosition += 4; } } } } else { var alphaData = alphaImage.buffer.data; var alphaFormat = alphaImage.buffer.format; var alphaPosition; var alphaPixel = 0; var alphaView = new lime__$internal_graphics__$ImageDataUtil_ImageDataView(alphaImage,new lime_math_Rectangle(sourceView.x + (alphaPoint == null ? 0 : alphaPoint.x),sourceView.y + (alphaPoint == null ? 0 : alphaPoint.y),sourceView.width,sourceView.height)); destView.clip(destPoint.x | 0,destPoint.y | 0,alphaView.width,alphaView.height); if(blend) { var _g6 = 0; var _g15 = destView.height; while(_g6 < _g15) { var y3 = _g6++; sourcePosition = sourceView.byteOffset + sourceView.stride * y3; destPosition = destView.byteOffset + destView.stride * y3; alphaPosition = alphaView.byteOffset + alphaView.stride * y3; var _g7 = 0; var _g16 = destView.width; while(_g7 < _g16) { var x2 = _g7++; var format5 = sourceFormat; var premultiplied5 = sourcePremultiplied; if(premultiplied5 == null) { premultiplied5 = false; } if(format5 == null) { format5 = 0; } switch(format5) { case 0: sourcePixel = (sourceData[sourcePosition] & 255) << 24 | (sourceData[sourcePosition + 1] & 255) << 16 | (sourceData[sourcePosition + 2] & 255) << 8 | sourceData[sourcePosition + 3] & 255; break; case 1: sourcePixel = (sourceData[sourcePosition + 1] & 255) << 24 | (sourceData[sourcePosition + 2] & 255) << 16 | (sourceData[sourcePosition + 3] & 255) << 8 | sourceData[sourcePosition] & 255; break; case 2: sourcePixel = (sourceData[sourcePosition + 2] & 255) << 24 | (sourceData[sourcePosition + 1] & 255) << 16 | (sourceData[sourcePosition] & 255) << 8 | sourceData[sourcePosition + 3] & 255; break; } if(premultiplied5) { if((sourcePixel & 255) != 0 && (sourcePixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (sourcePixel & 255); sourcePixel = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((sourcePixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((sourcePixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((sourcePixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | sourcePixel & 255 & 255; } } var format6 = destFormat; var premultiplied6 = destPremultiplied; if(premultiplied6 == null) { premultiplied6 = false; } if(format6 == null) { format6 = 0; } switch(format6) { case 0: destPixel = (destData[destPosition] & 255) << 24 | (destData[destPosition + 1] & 255) << 16 | (destData[destPosition + 2] & 255) << 8 | destData[destPosition + 3] & 255; break; case 1: destPixel = (destData[destPosition + 1] & 255) << 24 | (destData[destPosition + 2] & 255) << 16 | (destData[destPosition + 3] & 255) << 8 | destData[destPosition] & 255; break; case 2: destPixel = (destData[destPosition + 2] & 255) << 24 | (destData[destPosition + 1] & 255) << 16 | (destData[destPosition] & 255) << 8 | destData[destPosition + 3] & 255; break; } if(premultiplied6) { if((destPixel & 255) != 0 && (destPixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (destPixel & 255); destPixel = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((destPixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((destPixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((destPixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | destPixel & 255 & 255; } } var format7 = alphaFormat; var premultiplied7 = false; if(premultiplied7 == null) { premultiplied7 = false; } if(format7 == null) { format7 = 0; } switch(format7) { case 0: alphaPixel = (alphaData[alphaPosition] & 255) << 24 | (alphaData[alphaPosition + 1] & 255) << 16 | (alphaData[alphaPosition + 2] & 255) << 8 | alphaData[alphaPosition + 3] & 255; break; case 1: alphaPixel = (alphaData[alphaPosition + 1] & 255) << 24 | (alphaData[alphaPosition + 2] & 255) << 16 | (alphaData[alphaPosition + 3] & 255) << 8 | alphaData[alphaPosition] & 255; break; case 2: alphaPixel = (alphaData[alphaPosition + 2] & 255) << 24 | (alphaData[alphaPosition + 1] & 255) << 16 | (alphaData[alphaPosition] & 255) << 8 | alphaData[alphaPosition + 3] & 255; break; } if(premultiplied7) { if((alphaPixel & 255) != 0 && (alphaPixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (alphaPixel & 255); alphaPixel = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((alphaPixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((alphaPixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((alphaPixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | alphaPixel & 255 & 255; } } sourceAlpha = (alphaPixel & 255) / 255.0 * ((sourcePixel & 255) / 255.0); if(sourceAlpha > 0) { destAlpha = (destPixel & 255) / 255.0; oneMinusSourceAlpha = 1 - sourceAlpha; blendAlpha = sourceAlpha + destAlpha * oneMinusSourceAlpha; var value4 = lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round(((sourcePixel >>> 24 & 255) * sourceAlpha + (destPixel >>> 24 & 255) * destAlpha * oneMinusSourceAlpha) / blendAlpha)]; destPixel = (value4 & 255) << 24 | (destPixel >>> 16 & 255 & 255) << 16 | (destPixel >>> 8 & 255 & 255) << 8 | destPixel & 255 & 255; var value5 = lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round(((sourcePixel >>> 16 & 255) * sourceAlpha + (destPixel >>> 16 & 255) * destAlpha * oneMinusSourceAlpha) / blendAlpha)]; destPixel = (destPixel >>> 24 & 255 & 255) << 24 | (value5 & 255) << 16 | (destPixel >>> 8 & 255 & 255) << 8 | destPixel & 255 & 255; var value6 = lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round(((sourcePixel >>> 8 & 255) * sourceAlpha + (destPixel >>> 8 & 255) * destAlpha * oneMinusSourceAlpha) / blendAlpha)]; destPixel = (destPixel >>> 24 & 255 & 255) << 24 | (destPixel >>> 16 & 255 & 255) << 16 | (value6 & 255) << 8 | destPixel & 255 & 255; var value7 = lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round(blendAlpha * 255.0)]; destPixel = (destPixel >>> 24 & 255 & 255) << 24 | (destPixel >>> 16 & 255 & 255) << 16 | (destPixel >>> 8 & 255 & 255) << 8 | value7 & 255; var format8 = destFormat; var premultiplied8 = destPremultiplied; if(premultiplied8 == null) { premultiplied8 = false; } if(format8 == null) { format8 = 0; } if(premultiplied8) { if((destPixel & 255) == 0) { if(destPixel != 0) { destPixel = 0; } } else if((destPixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.a16 = lime_math__$RGBA_RGBA_$Impl_$.__alpha16[destPixel & 255]; destPixel = ((destPixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 24 | ((destPixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 16 | ((destPixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 8 | destPixel & 255 & 255; } } switch(format8) { case 0: destData[destPosition] = destPixel >>> 24 & 255; destData[destPosition + 1] = destPixel >>> 16 & 255; destData[destPosition + 2] = destPixel >>> 8 & 255; destData[destPosition + 3] = destPixel & 255; break; case 1: destData[destPosition] = destPixel & 255; destData[destPosition + 1] = destPixel >>> 24 & 255; destData[destPosition + 2] = destPixel >>> 16 & 255; destData[destPosition + 3] = destPixel >>> 8 & 255; break; case 2: destData[destPosition] = destPixel >>> 8 & 255; destData[destPosition + 1] = destPixel >>> 16 & 255; destData[destPosition + 2] = destPixel >>> 24 & 255; destData[destPosition + 3] = destPixel & 255; break; } } sourcePosition += 4; destPosition += 4; alphaPosition += 4; } } } else { var _g8 = 0; var _g17 = destView.height; while(_g8 < _g17) { var y4 = _g8++; sourcePosition = sourceView.byteOffset + sourceView.stride * y4; destPosition = destView.byteOffset + destView.stride * y4; alphaPosition = alphaView.byteOffset + alphaView.stride * y4; var _g9 = 0; var _g18 = destView.width; while(_g9 < _g18) { var x3 = _g9++; var format9 = sourceFormat; var premultiplied9 = sourcePremultiplied; if(premultiplied9 == null) { premultiplied9 = false; } if(format9 == null) { format9 = 0; } switch(format9) { case 0: sourcePixel = (sourceData[sourcePosition] & 255) << 24 | (sourceData[sourcePosition + 1] & 255) << 16 | (sourceData[sourcePosition + 2] & 255) << 8 | sourceData[sourcePosition + 3] & 255; break; case 1: sourcePixel = (sourceData[sourcePosition + 1] & 255) << 24 | (sourceData[sourcePosition + 2] & 255) << 16 | (sourceData[sourcePosition + 3] & 255) << 8 | sourceData[sourcePosition] & 255; break; case 2: sourcePixel = (sourceData[sourcePosition + 2] & 255) << 24 | (sourceData[sourcePosition + 1] & 255) << 16 | (sourceData[sourcePosition] & 255) << 8 | sourceData[sourcePosition + 3] & 255; break; } if(premultiplied9) { if((sourcePixel & 255) != 0 && (sourcePixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (sourcePixel & 255); sourcePixel = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((sourcePixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((sourcePixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((sourcePixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | sourcePixel & 255 & 255; } } var format10 = alphaFormat; var premultiplied10 = false; if(premultiplied10 == null) { premultiplied10 = false; } if(format10 == null) { format10 = 0; } switch(format10) { case 0: alphaPixel = (alphaData[alphaPosition] & 255) << 24 | (alphaData[alphaPosition + 1] & 255) << 16 | (alphaData[alphaPosition + 2] & 255) << 8 | alphaData[alphaPosition + 3] & 255; break; case 1: alphaPixel = (alphaData[alphaPosition + 1] & 255) << 24 | (alphaData[alphaPosition + 2] & 255) << 16 | (alphaData[alphaPosition + 3] & 255) << 8 | alphaData[alphaPosition] & 255; break; case 2: alphaPixel = (alphaData[alphaPosition + 2] & 255) << 24 | (alphaData[alphaPosition + 1] & 255) << 16 | (alphaData[alphaPosition] & 255) << 8 | alphaData[alphaPosition + 3] & 255; break; } if(premultiplied10) { if((alphaPixel & 255) != 0 && (alphaPixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (alphaPixel & 255); alphaPixel = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((alphaPixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((alphaPixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((alphaPixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | alphaPixel & 255 & 255; } } var value8 = Math.round((sourcePixel & 255) * ((alphaPixel & 255) / 255)); sourcePixel = (sourcePixel >>> 24 & 255 & 255) << 24 | (sourcePixel >>> 16 & 255 & 255) << 16 | (sourcePixel >>> 8 & 255 & 255) << 8 | value8 & 255; var format11 = destFormat; var premultiplied11 = destPremultiplied; if(premultiplied11 == null) { premultiplied11 = false; } if(format11 == null) { format11 = 0; } if(premultiplied11) { if((sourcePixel & 255) == 0) { if(sourcePixel != 0) { sourcePixel = 0; } } else if((sourcePixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.a16 = lime_math__$RGBA_RGBA_$Impl_$.__alpha16[sourcePixel & 255]; sourcePixel = ((sourcePixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 24 | ((sourcePixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 16 | ((sourcePixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 8 | sourcePixel & 255 & 255; } } switch(format11) { case 0: destData[destPosition] = sourcePixel >>> 24 & 255; destData[destPosition + 1] = sourcePixel >>> 16 & 255; destData[destPosition + 2] = sourcePixel >>> 8 & 255; destData[destPosition + 3] = sourcePixel & 255; break; case 1: destData[destPosition] = sourcePixel & 255; destData[destPosition + 1] = sourcePixel >>> 24 & 255; destData[destPosition + 2] = sourcePixel >>> 16 & 255; destData[destPosition + 3] = sourcePixel >>> 8 & 255; break; case 2: destData[destPosition] = sourcePixel >>> 8 & 255; destData[destPosition + 1] = sourcePixel >>> 16 & 255; destData[destPosition + 2] = sourcePixel >>> 24 & 255; destData[destPosition + 3] = sourcePixel & 255; break; } sourcePosition += 4; destPosition += 4; alphaPosition += 4; } } } } } image.dirty = true; image.version++; }; lime__$internal_graphics_ImageDataUtil.fillRect = function(image,rect,color,format) { var fillColor; switch(format) { case 1: var argb = color; var this1 = 0; var rgba = this1; rgba = (argb >>> 16 & 255 & 255) << 24 | (argb >>> 8 & 255 & 255) << 16 | (argb & 255 & 255) << 8 | argb >>> 24 & 255 & 255; fillColor = rgba; break; case 2: var bgra = color; var this2 = 0; var rgba1 = this2; rgba1 = (bgra >>> 8 & 255 & 255) << 24 | (bgra >>> 16 & 255 & 255) << 16 | (bgra >>> 24 & 255 & 255) << 8 | bgra & 255 & 255; fillColor = rgba1; break; default: fillColor = color; } if(!image.get_transparent()) { fillColor = (fillColor >>> 24 & 255 & 255) << 24 | (fillColor >>> 16 & 255 & 255) << 16 | (fillColor >>> 8 & 255 & 255) << 8 | 255; } var data = image.buffer.data; if(data == null) { return; } var format1 = image.buffer.format; var premultiplied = image.buffer.premultiplied; if(premultiplied) { if((fillColor & 255) == 0) { if(fillColor != 0) { fillColor = 0; } } else if((fillColor & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.a16 = lime_math__$RGBA_RGBA_$Impl_$.__alpha16[fillColor & 255]; fillColor = ((fillColor >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 24 | ((fillColor >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 16 | ((fillColor >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 8 | fillColor & 255 & 255; } } var dataView = new lime__$internal_graphics__$ImageDataUtil_ImageDataView(image,rect); var row; var _g = 0; var _g1 = dataView.height; while(_g < _g1) { var y = _g++; row = dataView.byteOffset + dataView.stride * y; var _g2 = 0; var _g11 = dataView.width; while(_g2 < _g11) { var x = _g2++; var offset = row + x * 4; var format2 = format1; var premultiplied1 = false; if(premultiplied1 == null) { premultiplied1 = false; } if(format2 == null) { format2 = 0; } if(premultiplied1) { if((fillColor & 255) == 0) { if(fillColor != 0) { fillColor = 0; } } else if((fillColor & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.a16 = lime_math__$RGBA_RGBA_$Impl_$.__alpha16[fillColor & 255]; fillColor = ((fillColor >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 24 | ((fillColor >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 16 | ((fillColor >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 8 | fillColor & 255 & 255; } } switch(format2) { case 0: data[offset] = fillColor >>> 24 & 255; data[offset + 1] = fillColor >>> 16 & 255; data[offset + 2] = fillColor >>> 8 & 255; data[offset + 3] = fillColor & 255; break; case 1: data[offset] = fillColor & 255; data[offset + 1] = fillColor >>> 24 & 255; data[offset + 2] = fillColor >>> 16 & 255; data[offset + 3] = fillColor >>> 8 & 255; break; case 2: data[offset] = fillColor >>> 8 & 255; data[offset + 1] = fillColor >>> 16 & 255; data[offset + 2] = fillColor >>> 24 & 255; data[offset + 3] = fillColor & 255; break; } } } image.dirty = true; image.version++; }; lime__$internal_graphics_ImageDataUtil.floodFill = function(image,x,y,color,format) { var data = image.buffer.data; if(data == null) { return; } if(format == 1) { color = (color & 16777215) << 8 | color >> 24 & 255; } var format1 = image.buffer.format; var premultiplied = image.buffer.premultiplied; var fillColor = color; var hitColor = 0; var offset = (y + image.offsetY) * (image.buffer.width * 4) + (x + image.offsetX) * 4; var format2 = format1; var premultiplied1 = premultiplied; if(premultiplied1 == null) { premultiplied1 = false; } if(format2 == null) { format2 = 0; } switch(format2) { case 0: hitColor = (data[offset] & 255) << 24 | (data[offset + 1] & 255) << 16 | (data[offset + 2] & 255) << 8 | data[offset + 3] & 255; break; case 1: hitColor = (data[offset + 1] & 255) << 24 | (data[offset + 2] & 255) << 16 | (data[offset + 3] & 255) << 8 | data[offset] & 255; break; case 2: hitColor = (data[offset + 2] & 255) << 24 | (data[offset + 1] & 255) << 16 | (data[offset] & 255) << 8 | data[offset + 3] & 255; break; } if(premultiplied1) { if((hitColor & 255) != 0 && (hitColor & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (hitColor & 255); hitColor = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((hitColor >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((hitColor >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((hitColor >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | hitColor & 255 & 255; } } if(!image.get_transparent()) { fillColor = (fillColor >>> 24 & 255 & 255) << 24 | (fillColor >>> 16 & 255 & 255) << 16 | (fillColor >>> 8 & 255 & 255) << 8 | 255; hitColor = (hitColor >>> 24 & 255 & 255) << 24 | (hitColor >>> 16 & 255 & 255) << 16 | (hitColor >>> 8 & 255 & 255) << 8 | 255; } if(fillColor == hitColor) { return; } if(premultiplied) { if((fillColor & 255) == 0) { if(fillColor != 0) { fillColor = 0; } } else if((fillColor & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.a16 = lime_math__$RGBA_RGBA_$Impl_$.__alpha16[fillColor & 255]; fillColor = ((fillColor >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 24 | ((fillColor >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 16 | ((fillColor >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 8 | fillColor & 255 & 255; } } var dx = [0,-1,1,0]; var dy = [-1,0,0,1]; var minX = -image.offsetX; var minY = -image.offsetY; var maxX = minX + image.width; var maxY = minY + image.height; var queue = []; queue.push(x); queue.push(y); var curPointX; var curPointY; var nextPointX; var nextPointY; var nextPointOffset; var readColor = 0; while(queue.length > 0) { curPointY = queue.pop(); curPointX = queue.pop(); var _g = 0; while(_g < 4) { var i = _g++; nextPointX = curPointX + dx[i]; nextPointY = curPointY + dy[i]; if(nextPointX < minX || nextPointY < minY || nextPointX >= maxX || nextPointY >= maxY) { continue; } nextPointOffset = (nextPointY * image.width + nextPointX) * 4; var format3 = format1; var premultiplied2 = premultiplied; if(premultiplied2 == null) { premultiplied2 = false; } if(format3 == null) { format3 = 0; } switch(format3) { case 0: readColor = (data[nextPointOffset] & 255) << 24 | (data[nextPointOffset + 1] & 255) << 16 | (data[nextPointOffset + 2] & 255) << 8 | data[nextPointOffset + 3] & 255; break; case 1: readColor = (data[nextPointOffset + 1] & 255) << 24 | (data[nextPointOffset + 2] & 255) << 16 | (data[nextPointOffset + 3] & 255) << 8 | data[nextPointOffset] & 255; break; case 2: readColor = (data[nextPointOffset + 2] & 255) << 24 | (data[nextPointOffset + 1] & 255) << 16 | (data[nextPointOffset] & 255) << 8 | data[nextPointOffset + 3] & 255; break; } if(premultiplied2) { if((readColor & 255) != 0 && (readColor & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (readColor & 255); readColor = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((readColor >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((readColor >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((readColor >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | readColor & 255 & 255; } } if(readColor == hitColor) { var format4 = format1; var premultiplied3 = false; if(premultiplied3 == null) { premultiplied3 = false; } if(format4 == null) { format4 = 0; } if(premultiplied3) { if((fillColor & 255) == 0) { if(fillColor != 0) { fillColor = 0; } } else if((fillColor & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.a16 = lime_math__$RGBA_RGBA_$Impl_$.__alpha16[fillColor & 255]; fillColor = ((fillColor >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 24 | ((fillColor >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 16 | ((fillColor >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 8 | fillColor & 255 & 255; } } switch(format4) { case 0: data[nextPointOffset] = fillColor >>> 24 & 255; data[nextPointOffset + 1] = fillColor >>> 16 & 255; data[nextPointOffset + 2] = fillColor >>> 8 & 255; data[nextPointOffset + 3] = fillColor & 255; break; case 1: data[nextPointOffset] = fillColor & 255; data[nextPointOffset + 1] = fillColor >>> 24 & 255; data[nextPointOffset + 2] = fillColor >>> 16 & 255; data[nextPointOffset + 3] = fillColor >>> 8 & 255; break; case 2: data[nextPointOffset] = fillColor >>> 8 & 255; data[nextPointOffset + 1] = fillColor >>> 16 & 255; data[nextPointOffset + 2] = fillColor >>> 24 & 255; data[nextPointOffset + 3] = fillColor & 255; break; } queue.push(nextPointX); queue.push(nextPointY); } } } image.dirty = true; image.version++; }; lime__$internal_graphics_ImageDataUtil.gaussianBlur = function(image,sourceImage,sourceRect,destPoint,blurX,blurY,quality,strength,color) { if(strength == null) { strength = 1; } if(quality == null) { quality = 1; } if(blurY == null) { blurY = 4; } if(blurX == null) { blurX = 4; } var imagePremultiplied = image.get_premultiplied(); if(imagePremultiplied) { image.set_premultiplied(false); } lime__$internal_graphics_StackBlur.blur(image,sourceImage,sourceRect,destPoint,blurX,blurY,quality); image.dirty = true; image.version++; if(imagePremultiplied) { image.set_premultiplied(true); } return image; }; lime__$internal_graphics_ImageDataUtil.getColorBoundsRect = function(image,mask,color,findColor,format) { var left = image.width + 1; var right = 0; var top = image.height + 1; var bottom = 0; var _color; var _mask; switch(format) { case 1: var argb = color; var this1 = 0; var rgba = this1; rgba = (argb >>> 16 & 255 & 255) << 24 | (argb >>> 8 & 255 & 255) << 16 | (argb & 255 & 255) << 8 | argb >>> 24 & 255 & 255; _color = rgba; var argb1 = mask; var this2 = 0; var rgba1 = this2; rgba1 = (argb1 >>> 16 & 255 & 255) << 24 | (argb1 >>> 8 & 255 & 255) << 16 | (argb1 & 255 & 255) << 8 | argb1 >>> 24 & 255 & 255; _mask = rgba1; break; case 2: var bgra = color; var this3 = 0; var rgba2 = this3; rgba2 = (bgra >>> 8 & 255 & 255) << 24 | (bgra >>> 16 & 255 & 255) << 16 | (bgra >>> 24 & 255 & 255) << 8 | bgra & 255 & 255; _color = rgba2; var bgra1 = mask; var this4 = 0; var rgba3 = this4; rgba3 = (bgra1 >>> 8 & 255 & 255) << 24 | (bgra1 >>> 16 & 255 & 255) << 16 | (bgra1 >>> 24 & 255 & 255) << 8 | bgra1 & 255 & 255; _mask = rgba3; break; default: _color = color; _mask = mask; } if(!image.get_transparent()) { _color = (_color >>> 24 & 255 & 255) << 24 | (_color >>> 16 & 255 & 255) << 16 | (_color >>> 8 & 255 & 255) << 8 | 255; _mask = (_mask >>> 24 & 255 & 255) << 24 | (_mask >>> 16 & 255 & 255) << 16 | (_mask >>> 8 & 255 & 255) << 8 | 255; } var pixel; var hit; var _g = 0; var _g1 = image.width; while(_g < _g1) { var x = _g++; hit = false; var _g2 = 0; var _g11 = image.height; while(_g2 < _g11) { var y = _g2++; pixel = image.getPixel32(x,y,0); hit = findColor ? (pixel & _mask) == _color : (pixel & _mask) != _color; if(hit) { if(x < left) { left = x; } break; } } if(hit) { break; } } var ix; var _g21 = 0; var _g3 = image.width; while(_g21 < _g3) { var x1 = _g21++; ix = image.width - 1 - x1; hit = false; var _g22 = 0; var _g31 = image.height; while(_g22 < _g31) { var y1 = _g22++; pixel = image.getPixel32(ix,y1,0); hit = findColor ? (pixel & _mask) == _color : (pixel & _mask) != _color; if(hit) { if(ix > right) { right = ix; } break; } } if(hit) { break; } } var _g4 = 0; var _g5 = image.height; while(_g4 < _g5) { var y2 = _g4++; hit = false; var _g41 = 0; var _g51 = image.width; while(_g41 < _g51) { var x2 = _g41++; pixel = image.getPixel32(x2,y2,0); hit = findColor ? (pixel & _mask) == _color : (pixel & _mask) != _color; if(hit) { if(y2 < top) { top = y2; } break; } } if(hit) { break; } } var iy; var _g6 = 0; var _g7 = image.height; while(_g6 < _g7) { var y3 = _g6++; iy = image.height - 1 - y3; hit = false; var _g61 = 0; var _g71 = image.width; while(_g61 < _g71) { var x3 = _g61++; pixel = image.getPixel32(x3,iy,0); hit = findColor ? (pixel & _mask) == _color : (pixel & _mask) != _color; if(hit) { if(iy > bottom) { bottom = iy; } break; } } if(hit) { break; } } var w = right - left; var h = bottom - top; if(w > 0) { ++w; } if(h > 0) { ++h; } if(w < 0) { w = 0; } if(h < 0) { h = 0; } if(left == right) { w = 1; } if(top == bottom) { h = 1; } if(left > image.width) { left = 0; } if(top > image.height) { top = 0; } return new lime_math_Rectangle(left,top,w,h); }; lime__$internal_graphics_ImageDataUtil.getPixel = function(image,x,y,format) { var pixel = 0; var data = image.buffer.data; var offset = 4 * (y + image.offsetY) * image.buffer.width + (x + image.offsetX) * 4; var format1 = image.buffer.format; var premultiplied = image.buffer.premultiplied; if(premultiplied == null) { premultiplied = false; } if(format1 == null) { format1 = 0; } switch(format1) { case 0: pixel = (data[offset] & 255) << 24 | (data[offset + 1] & 255) << 16 | (data[offset + 2] & 255) << 8 | data[offset + 3] & 255; break; case 1: pixel = (data[offset + 1] & 255) << 24 | (data[offset + 2] & 255) << 16 | (data[offset + 3] & 255) << 8 | data[offset] & 255; break; case 2: pixel = (data[offset + 2] & 255) << 24 | (data[offset + 1] & 255) << 16 | (data[offset] & 255) << 8 | data[offset + 3] & 255; break; } if(premultiplied) { if((pixel & 255) != 0 && (pixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (pixel & 255); pixel = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((pixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((pixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((pixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | pixel & 255 & 255; } } pixel = (pixel >>> 24 & 255 & 255) << 24 | (pixel >>> 16 & 255 & 255) << 16 | (pixel >>> 8 & 255 & 255) << 8 | 0; switch(format) { case 1: var this1 = 0; var argb = this1; argb = (pixel & 255 & 255) << 24 | (pixel >>> 24 & 255 & 255) << 16 | (pixel >>> 16 & 255 & 255) << 8 | pixel >>> 8 & 255 & 255; return argb; case 2: var this2 = 0; var bgra = this2; bgra = (pixel >>> 8 & 255 & 255) << 24 | (pixel >>> 16 & 255 & 255) << 16 | (pixel >>> 24 & 255 & 255) << 8 | pixel & 255 & 255; return bgra; default: return pixel; } }; lime__$internal_graphics_ImageDataUtil.getPixel32 = function(image,x,y,format) { var pixel = 0; var data = image.buffer.data; var offset = 4 * (y + image.offsetY) * image.buffer.width + (x + image.offsetX) * 4; var format1 = image.buffer.format; var premultiplied = image.buffer.premultiplied; if(premultiplied == null) { premultiplied = false; } if(format1 == null) { format1 = 0; } switch(format1) { case 0: pixel = (data[offset] & 255) << 24 | (data[offset + 1] & 255) << 16 | (data[offset + 2] & 255) << 8 | data[offset + 3] & 255; break; case 1: pixel = (data[offset + 1] & 255) << 24 | (data[offset + 2] & 255) << 16 | (data[offset + 3] & 255) << 8 | data[offset] & 255; break; case 2: pixel = (data[offset + 2] & 255) << 24 | (data[offset + 1] & 255) << 16 | (data[offset] & 255) << 8 | data[offset + 3] & 255; break; } if(premultiplied) { if((pixel & 255) != 0 && (pixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (pixel & 255); pixel = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((pixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((pixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((pixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | pixel & 255 & 255; } } switch(format) { case 1: var this1 = 0; var argb = this1; argb = (pixel & 255 & 255) << 24 | (pixel >>> 24 & 255 & 255) << 16 | (pixel >>> 16 & 255 & 255) << 8 | pixel >>> 8 & 255 & 255; return argb; case 2: var this2 = 0; var bgra = this2; bgra = (pixel >>> 8 & 255 & 255) << 24 | (pixel >>> 16 & 255 & 255) << 16 | (pixel >>> 24 & 255 & 255) << 8 | pixel & 255 & 255; return bgra; default: return pixel; } }; lime__$internal_graphics_ImageDataUtil.getPixels = function(image,rect,format) { if(image.buffer.data == null) { return null; } var length = rect.width * rect.height | 0; var bytes = new haxe_io_Bytes(new ArrayBuffer(length * 4)); var data = image.buffer.data; var sourceFormat = image.buffer.format; var premultiplied = image.buffer.premultiplied; var dataView = new lime__$internal_graphics__$ImageDataUtil_ImageDataView(image,rect); var position; var argb = 0; var bgra = 0; var pixel = 0; var destPosition = 0; var _g = 0; var _g1 = dataView.height; while(_g < _g1) { var y = _g++; position = dataView.byteOffset + dataView.stride * y; var _g2 = 0; var _g11 = dataView.width; while(_g2 < _g11) { var x = _g2++; var format1 = sourceFormat; var premultiplied1 = premultiplied; if(premultiplied1 == null) { premultiplied1 = false; } if(format1 == null) { format1 = 0; } switch(format1) { case 0: pixel = (data[position] & 255) << 24 | (data[position + 1] & 255) << 16 | (data[position + 2] & 255) << 8 | data[position + 3] & 255; break; case 1: pixel = (data[position + 1] & 255) << 24 | (data[position + 2] & 255) << 16 | (data[position + 3] & 255) << 8 | data[position] & 255; break; case 2: pixel = (data[position + 2] & 255) << 24 | (data[position + 1] & 255) << 16 | (data[position] & 255) << 8 | data[position + 3] & 255; break; } if(premultiplied1) { if((pixel & 255) != 0 && (pixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (pixel & 255); pixel = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((pixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((pixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((pixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | pixel & 255 & 255; } } switch(format) { case 1: var this1 = 0; var argb1 = this1; argb1 = (pixel & 255 & 255) << 24 | (pixel >>> 24 & 255 & 255) << 16 | (pixel >>> 16 & 255 & 255) << 8 | pixel >>> 8 & 255 & 255; argb = argb1; pixel = argb; break; case 2: var this2 = 0; var bgra1 = this2; bgra1 = (pixel >>> 8 & 255 & 255) << 24 | (pixel >>> 16 & 255 & 255) << 16 | (pixel >>> 24 & 255 & 255) << 8 | pixel & 255 & 255; bgra = bgra1; pixel = bgra; break; default: } bytes.b[destPosition++] = pixel >>> 24 & 255 & 255; bytes.b[destPosition++] = pixel >>> 16 & 255 & 255; bytes.b[destPosition++] = pixel >>> 8 & 255 & 255; bytes.b[destPosition++] = pixel & 255 & 255; position += 4; } } return bytes; }; lime__$internal_graphics_ImageDataUtil.merge = function(image,sourceImage,sourceRect,destPoint,redMultiplier,greenMultiplier,blueMultiplier,alphaMultiplier) { if(image.buffer.data == null || sourceImage.buffer.data == null) { return; } var sourceView = new lime__$internal_graphics__$ImageDataUtil_ImageDataView(sourceImage,sourceRect); var destView = new lime__$internal_graphics__$ImageDataUtil_ImageDataView(image,new lime_math_Rectangle(destPoint.x,destPoint.y,sourceView.width,sourceView.height)); var sourceData = sourceImage.buffer.data; var destData = image.buffer.data; var sourceFormat = sourceImage.buffer.format; var destFormat = image.buffer.format; var sourcePremultiplied = sourceImage.buffer.premultiplied; var destPremultiplied = image.buffer.premultiplied; var sourcePosition; var destPosition; var sourcePixel = 0; var destPixel = 0; var _g = 0; var _g1 = destView.height; while(_g < _g1) { var y = _g++; sourcePosition = sourceView.byteOffset + sourceView.stride * y; destPosition = destView.byteOffset + destView.stride * y; var _g2 = 0; var _g11 = destView.width; while(_g2 < _g11) { var x = _g2++; var format = sourceFormat; var premultiplied = sourcePremultiplied; if(premultiplied == null) { premultiplied = false; } if(format == null) { format = 0; } switch(format) { case 0: sourcePixel = (sourceData[sourcePosition] & 255) << 24 | (sourceData[sourcePosition + 1] & 255) << 16 | (sourceData[sourcePosition + 2] & 255) << 8 | sourceData[sourcePosition + 3] & 255; break; case 1: sourcePixel = (sourceData[sourcePosition + 1] & 255) << 24 | (sourceData[sourcePosition + 2] & 255) << 16 | (sourceData[sourcePosition + 3] & 255) << 8 | sourceData[sourcePosition] & 255; break; case 2: sourcePixel = (sourceData[sourcePosition + 2] & 255) << 24 | (sourceData[sourcePosition + 1] & 255) << 16 | (sourceData[sourcePosition] & 255) << 8 | sourceData[sourcePosition + 3] & 255; break; } if(premultiplied) { if((sourcePixel & 255) != 0 && (sourcePixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (sourcePixel & 255); sourcePixel = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((sourcePixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((sourcePixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((sourcePixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | sourcePixel & 255 & 255; } } var format1 = destFormat; var premultiplied1 = destPremultiplied; if(premultiplied1 == null) { premultiplied1 = false; } if(format1 == null) { format1 = 0; } switch(format1) { case 0: destPixel = (destData[destPosition] & 255) << 24 | (destData[destPosition + 1] & 255) << 16 | (destData[destPosition + 2] & 255) << 8 | destData[destPosition + 3] & 255; break; case 1: destPixel = (destData[destPosition + 1] & 255) << 24 | (destData[destPosition + 2] & 255) << 16 | (destData[destPosition + 3] & 255) << 8 | destData[destPosition] & 255; break; case 2: destPixel = (destData[destPosition + 2] & 255) << 24 | (destData[destPosition + 1] & 255) << 16 | (destData[destPosition] & 255) << 8 | destData[destPosition + 3] & 255; break; } if(premultiplied1) { if((destPixel & 255) != 0 && (destPixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (destPixel & 255); destPixel = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((destPixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((destPixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((destPixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | destPixel & 255 & 255; } } var value = ((sourcePixel >>> 24 & 255) * redMultiplier + (destPixel >>> 24 & 255) * (256 - redMultiplier)) / 256 | 0; destPixel = (value & 255) << 24 | (destPixel >>> 16 & 255 & 255) << 16 | (destPixel >>> 8 & 255 & 255) << 8 | destPixel & 255 & 255; var value1 = ((sourcePixel >>> 16 & 255) * greenMultiplier + (destPixel >>> 16 & 255) * (256 - greenMultiplier)) / 256 | 0; destPixel = (destPixel >>> 24 & 255 & 255) << 24 | (value1 & 255) << 16 | (destPixel >>> 8 & 255 & 255) << 8 | destPixel & 255 & 255; var value2 = ((sourcePixel >>> 8 & 255) * blueMultiplier + (destPixel >>> 8 & 255) * (256 - blueMultiplier)) / 256 | 0; destPixel = (destPixel >>> 24 & 255 & 255) << 24 | (destPixel >>> 16 & 255 & 255) << 16 | (value2 & 255) << 8 | destPixel & 255 & 255; var value3 = ((sourcePixel & 255) * alphaMultiplier + (destPixel & 255) * (256 - alphaMultiplier)) / 256 | 0; destPixel = (destPixel >>> 24 & 255 & 255) << 24 | (destPixel >>> 16 & 255 & 255) << 16 | (destPixel >>> 8 & 255 & 255) << 8 | value3 & 255; var format2 = destFormat; var premultiplied2 = destPremultiplied; if(premultiplied2 == null) { premultiplied2 = false; } if(format2 == null) { format2 = 0; } if(premultiplied2) { if((destPixel & 255) == 0) { if(destPixel != 0) { destPixel = 0; } } else if((destPixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.a16 = lime_math__$RGBA_RGBA_$Impl_$.__alpha16[destPixel & 255]; destPixel = ((destPixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 24 | ((destPixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 16 | ((destPixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 8 | destPixel & 255 & 255; } } switch(format2) { case 0: destData[destPosition] = destPixel >>> 24 & 255; destData[destPosition + 1] = destPixel >>> 16 & 255; destData[destPosition + 2] = destPixel >>> 8 & 255; destData[destPosition + 3] = destPixel & 255; break; case 1: destData[destPosition] = destPixel & 255; destData[destPosition + 1] = destPixel >>> 24 & 255; destData[destPosition + 2] = destPixel >>> 16 & 255; destData[destPosition + 3] = destPixel >>> 8 & 255; break; case 2: destData[destPosition] = destPixel >>> 8 & 255; destData[destPosition + 1] = destPixel >>> 16 & 255; destData[destPosition + 2] = destPixel >>> 24 & 255; destData[destPosition + 3] = destPixel & 255; break; } sourcePosition += 4; destPosition += 4; } } image.dirty = true; image.version++; }; lime__$internal_graphics_ImageDataUtil.multiplyAlpha = function(image) { var data = image.buffer.data; if(data == null || !image.buffer.transparent) { return; } var format = image.buffer.format; var length = data.length / 4 | 0; var pixel = 0; var _g = 0; var _g1 = length; while(_g < _g1) { var i = _g++; var offset = i * 4; var format1 = format; var premultiplied = false; if(premultiplied == null) { premultiplied = false; } if(format1 == null) { format1 = 0; } switch(format1) { case 0: pixel = (data[offset] & 255) << 24 | (data[offset + 1] & 255) << 16 | (data[offset + 2] & 255) << 8 | data[offset + 3] & 255; break; case 1: pixel = (data[offset + 1] & 255) << 24 | (data[offset + 2] & 255) << 16 | (data[offset + 3] & 255) << 8 | data[offset] & 255; break; case 2: pixel = (data[offset + 2] & 255) << 24 | (data[offset + 1] & 255) << 16 | (data[offset] & 255) << 8 | data[offset + 3] & 255; break; } if(premultiplied) { if((pixel & 255) != 0 && (pixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (pixel & 255); pixel = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((pixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((pixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((pixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | pixel & 255 & 255; } } var offset1 = i * 4; var format2 = format; var premultiplied1 = true; if(premultiplied1 == null) { premultiplied1 = false; } if(format2 == null) { format2 = 0; } if(premultiplied1) { if((pixel & 255) == 0) { if(pixel != 0) { pixel = 0; } } else if((pixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.a16 = lime_math__$RGBA_RGBA_$Impl_$.__alpha16[pixel & 255]; pixel = ((pixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 24 | ((pixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 16 | ((pixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 8 | pixel & 255 & 255; } } switch(format2) { case 0: data[offset1] = pixel >>> 24 & 255; data[offset1 + 1] = pixel >>> 16 & 255; data[offset1 + 2] = pixel >>> 8 & 255; data[offset1 + 3] = pixel & 255; break; case 1: data[offset1] = pixel & 255; data[offset1 + 1] = pixel >>> 24 & 255; data[offset1 + 2] = pixel >>> 16 & 255; data[offset1 + 3] = pixel >>> 8 & 255; break; case 2: data[offset1] = pixel >>> 8 & 255; data[offset1 + 1] = pixel >>> 16 & 255; data[offset1 + 2] = pixel >>> 24 & 255; data[offset1 + 3] = pixel & 255; break; } } image.buffer.premultiplied = true; image.dirty = true; image.version++; }; lime__$internal_graphics_ImageDataUtil.resize = function(image,newWidth,newHeight) { var buffer = image.buffer; if(buffer.width == newWidth && buffer.height == newHeight) { return; } var elements = newWidth * newHeight * 4; var array = null; var vector = null; var view = null; var buffer1 = null; var len = null; var this1; if(elements != null) { this1 = new Uint8Array(elements); } else if(array != null) { this1 = new Uint8Array(array); } else if(vector != null) { this1 = new Uint8Array(vector.__array); } else if(view != null) { this1 = new Uint8Array(view); } else if(buffer1 != null) { if(len == null) { this1 = new Uint8Array(buffer1,0); } else { this1 = new Uint8Array(buffer1,0,len); } } else { this1 = null; } var newBuffer = new lime_graphics_ImageBuffer(this1,newWidth,newHeight); var imageWidth = image.width; var imageHeight = image.height; var data = image.get_data(); var newData = newBuffer.data; var sourceIndex; var sourceIndexX; var sourceIndexY; var sourceIndexXY; var index; var sourceX; var sourceY; var u; var v; var uRatio; var vRatio; var uOpposite; var vOpposite; var _g = 0; var _g1 = newHeight; while(_g < _g1) { var y = _g++; var _g2 = 0; var _g11 = newWidth; while(_g2 < _g11) { var x = _g2++; u = (x + 0.5) / newWidth * imageWidth - 0.5; v = (y + 0.5) / newHeight * imageHeight - 0.5; sourceX = u | 0; sourceY = v | 0; sourceIndex = (sourceY * imageWidth + sourceX) * 4; sourceIndexX = sourceX < imageWidth - 1 ? sourceIndex + 4 : sourceIndex; sourceIndexY = sourceY < imageHeight - 1 ? sourceIndex + imageWidth * 4 : sourceIndex; sourceIndexXY = sourceIndexX != sourceIndex ? sourceIndexY + 4 : sourceIndexY; index = (y * newWidth + x) * 4; uRatio = u - sourceX; vRatio = v - sourceY; uOpposite = 1 - uRatio; vOpposite = 1 - vRatio; newData[index] = (_$UInt_UInt_$Impl_$.toFloat(data[sourceIndex]) * uOpposite + _$UInt_UInt_$Impl_$.toFloat(data[sourceIndexX]) * uRatio) * vOpposite + (_$UInt_UInt_$Impl_$.toFloat(data[sourceIndexY]) * uOpposite + _$UInt_UInt_$Impl_$.toFloat(data[sourceIndexXY]) * uRatio) * vRatio | 0; newData[index + 1] = (_$UInt_UInt_$Impl_$.toFloat(data[sourceIndex + 1]) * uOpposite + _$UInt_UInt_$Impl_$.toFloat(data[sourceIndexX + 1]) * uRatio) * vOpposite + (_$UInt_UInt_$Impl_$.toFloat(data[sourceIndexY + 1]) * uOpposite + _$UInt_UInt_$Impl_$.toFloat(data[sourceIndexXY + 1]) * uRatio) * vRatio | 0; newData[index + 2] = (_$UInt_UInt_$Impl_$.toFloat(data[sourceIndex + 2]) * uOpposite + _$UInt_UInt_$Impl_$.toFloat(data[sourceIndexX + 2]) * uRatio) * vOpposite + (_$UInt_UInt_$Impl_$.toFloat(data[sourceIndexY + 2]) * uOpposite + _$UInt_UInt_$Impl_$.toFloat(data[sourceIndexXY + 2]) * uRatio) * vRatio | 0; if(data[sourceIndexX + 3] == 0 || data[sourceIndexY + 3] == 0 || data[sourceIndexXY + 3] == 0) { newData[index + 3] = 0; } else { newData[index + 3] = data[sourceIndex + 3]; } } } buffer.data = newBuffer.data; buffer.width = newWidth; buffer.height = newHeight; buffer.__srcImage = null; buffer.__srcImageData = null; buffer.__srcCanvas = null; buffer.__srcContext = null; image.dirty = true; image.version++; }; lime__$internal_graphics_ImageDataUtil.resizeBuffer = function(image,newWidth,newHeight) { var buffer = image.buffer; var data = image.get_data(); var elements = newWidth * newHeight * 4; var array = null; var vector = null; var view = null; var buffer1 = null; var len = null; var this1; if(elements != null) { this1 = new Uint8Array(elements); } else if(array != null) { this1 = new Uint8Array(array); } else if(vector != null) { this1 = new Uint8Array(vector.__array); } else if(view != null) { this1 = new Uint8Array(view); } else if(buffer1 != null) { if(len == null) { this1 = new Uint8Array(buffer1,0); } else { this1 = new Uint8Array(buffer1,0,len); } } else { this1 = null; } var newData = this1; var sourceIndex; var index; var _g = 0; var _g1 = buffer.height; while(_g < _g1) { var y = _g++; var _g2 = 0; var _g11 = buffer.width; while(_g2 < _g11) { var x = _g2++; sourceIndex = (y * buffer.width + x) * 4; index = (y * newWidth + x) * 4; newData[index] = data[sourceIndex]; newData[index + 1] = data[sourceIndex + 1]; newData[index + 2] = data[sourceIndex + 2]; newData[index + 3] = data[sourceIndex + 3]; } } buffer.data = newData; buffer.width = newWidth; buffer.height = newHeight; buffer.__srcImage = null; buffer.__srcImageData = null; buffer.__srcCanvas = null; buffer.__srcContext = null; image.dirty = true; image.version++; }; lime__$internal_graphics_ImageDataUtil.setFormat = function(image,format) { var data = image.buffer.data; if(data == null) { return; } var index; var a16; var length = data.length / 4 | 0; var r1; var g1; var b1; var a1; var r2; var g2; var b2; var a2; var r; var g; var b; var a; switch(image.get_format()) { case 0: r1 = 0; g1 = 1; b1 = 2; a1 = 3; break; case 1: r1 = 1; g1 = 2; b1 = 3; a1 = 0; break; case 2: r1 = 2; g1 = 1; b1 = 0; a1 = 3; break; } switch(format) { case 0: r2 = 0; g2 = 1; b2 = 2; a2 = 3; break; case 1: r2 = 1; g2 = 2; b2 = 3; a2 = 0; break; case 2: r2 = 2; g2 = 1; b2 = 0; a2 = 3; break; } var _g1 = 0; var _g2 = length; while(_g1 < _g2) { var i = _g1++; index = i * 4; r = data[index + r1]; g = data[index + g1]; b = data[index + b1]; a = data[index + a1]; data[index + r2] = r; data[index + g2] = g; data[index + b2] = b; data[index + a2] = a; } image.buffer.format = format; image.dirty = true; image.version++; }; lime__$internal_graphics_ImageDataUtil.setPixel = function(image,x,y,color,format) { var pixel; switch(format) { case 1: var argb = color; var this1 = 0; var rgba = this1; rgba = (argb >>> 16 & 255 & 255) << 24 | (argb >>> 8 & 255 & 255) << 16 | (argb & 255 & 255) << 8 | argb >>> 24 & 255 & 255; pixel = rgba; break; case 2: var bgra = color; var this2 = 0; var rgba1 = this2; rgba1 = (bgra >>> 8 & 255 & 255) << 24 | (bgra >>> 16 & 255 & 255) << 16 | (bgra >>> 24 & 255 & 255) << 8 | bgra & 255 & 255; pixel = rgba1; break; default: pixel = color; } var this3 = 0; var source = this3; var data = image.buffer.data; var offset = 4 * (y + image.offsetY) * image.buffer.width + (x + image.offsetX) * 4; var format1 = image.buffer.format; var premultiplied = image.buffer.premultiplied; if(premultiplied == null) { premultiplied = false; } if(format1 == null) { format1 = 0; } switch(format1) { case 0: source = (data[offset] & 255) << 24 | (data[offset + 1] & 255) << 16 | (data[offset + 2] & 255) << 8 | data[offset + 3] & 255; break; case 1: source = (data[offset + 1] & 255) << 24 | (data[offset + 2] & 255) << 16 | (data[offset + 3] & 255) << 8 | data[offset] & 255; break; case 2: source = (data[offset + 2] & 255) << 24 | (data[offset + 1] & 255) << 16 | (data[offset] & 255) << 8 | data[offset + 3] & 255; break; } if(premultiplied) { if((source & 255) != 0 && (source & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (source & 255); source = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((source >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((source >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((source >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | source & 255 & 255; } } var value = source & 255; pixel = (pixel >>> 24 & 255 & 255) << 24 | (pixel >>> 16 & 255 & 255) << 16 | (pixel >>> 8 & 255 & 255) << 8 | value & 255; var data1 = image.buffer.data; var offset1 = 4 * (y + image.offsetY) * image.buffer.width + (x + image.offsetX) * 4; var format2 = image.buffer.format; var premultiplied1 = image.buffer.premultiplied; if(premultiplied1 == null) { premultiplied1 = false; } if(format2 == null) { format2 = 0; } if(premultiplied1) { if((pixel & 255) == 0) { if(pixel != 0) { pixel = 0; } } else if((pixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.a16 = lime_math__$RGBA_RGBA_$Impl_$.__alpha16[pixel & 255]; pixel = ((pixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 24 | ((pixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 16 | ((pixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 8 | pixel & 255 & 255; } } switch(format2) { case 0: data1[offset1] = pixel >>> 24 & 255; data1[offset1 + 1] = pixel >>> 16 & 255; data1[offset1 + 2] = pixel >>> 8 & 255; data1[offset1 + 3] = pixel & 255; break; case 1: data1[offset1] = pixel & 255; data1[offset1 + 1] = pixel >>> 24 & 255; data1[offset1 + 2] = pixel >>> 16 & 255; data1[offset1 + 3] = pixel >>> 8 & 255; break; case 2: data1[offset1] = pixel >>> 8 & 255; data1[offset1 + 1] = pixel >>> 16 & 255; data1[offset1 + 2] = pixel >>> 24 & 255; data1[offset1 + 3] = pixel & 255; break; } image.dirty = true; image.version++; }; lime__$internal_graphics_ImageDataUtil.setPixel32 = function(image,x,y,color,format) { var pixel; switch(format) { case 1: var argb = color; var this1 = 0; var rgba = this1; rgba = (argb >>> 16 & 255 & 255) << 24 | (argb >>> 8 & 255 & 255) << 16 | (argb & 255 & 255) << 8 | argb >>> 24 & 255 & 255; pixel = rgba; break; case 2: var bgra = color; var this2 = 0; var rgba1 = this2; rgba1 = (bgra >>> 8 & 255 & 255) << 24 | (bgra >>> 16 & 255 & 255) << 16 | (bgra >>> 24 & 255 & 255) << 8 | bgra & 255 & 255; pixel = rgba1; break; default: pixel = color; } if(!image.get_transparent()) { pixel = (pixel >>> 24 & 255 & 255) << 24 | (pixel >>> 16 & 255 & 255) << 16 | (pixel >>> 8 & 255 & 255) << 8 | 255; } var data = image.buffer.data; var offset = 4 * (y + image.offsetY) * image.buffer.width + (x + image.offsetX) * 4; var format1 = image.buffer.format; var premultiplied = image.buffer.premultiplied; if(premultiplied == null) { premultiplied = false; } if(format1 == null) { format1 = 0; } if(premultiplied) { if((pixel & 255) == 0) { if(pixel != 0) { pixel = 0; } } else if((pixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.a16 = lime_math__$RGBA_RGBA_$Impl_$.__alpha16[pixel & 255]; pixel = ((pixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 24 | ((pixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 16 | ((pixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 8 | pixel & 255 & 255; } } switch(format1) { case 0: data[offset] = pixel >>> 24 & 255; data[offset + 1] = pixel >>> 16 & 255; data[offset + 2] = pixel >>> 8 & 255; data[offset + 3] = pixel & 255; break; case 1: data[offset] = pixel & 255; data[offset + 1] = pixel >>> 24 & 255; data[offset + 2] = pixel >>> 16 & 255; data[offset + 3] = pixel >>> 8 & 255; break; case 2: data[offset] = pixel >>> 8 & 255; data[offset + 1] = pixel >>> 16 & 255; data[offset + 2] = pixel >>> 24 & 255; data[offset + 3] = pixel & 255; break; } image.dirty = true; image.version++; }; lime__$internal_graphics_ImageDataUtil.setPixels = function(image,rect,bytePointer,format,endian) { if(image.buffer.data == null) { return; } var data = image.buffer.data; var sourceFormat = image.buffer.format; var premultiplied = image.buffer.premultiplied; var dataView = new lime__$internal_graphics__$ImageDataUtil_ImageDataView(image,rect); var row; var color; var pixel; var transparent = image.get_transparent(); var bytes = bytePointer.bytes; var dataPosition = bytePointer.offset; var littleEndian = endian != lime_system_Endian.BIG_ENDIAN; var _g = 0; var _g1 = dataView.height; while(_g < _g1) { var y = _g++; row = dataView.byteOffset + dataView.stride * y; var _g2 = 0; var _g11 = dataView.width; while(_g2 < _g11) { var x = _g2++; if(littleEndian) { color = bytes.getInt32(dataPosition); } else { color = bytes.b[dataPosition + 3] | bytes.b[dataPosition + 2] << 8 | bytes.b[dataPosition + 1] << 16 | bytes.b[dataPosition] << 24; } dataPosition += 4; switch(format) { case 1: var argb = color; var this1 = 0; var rgba = this1; rgba = (argb >>> 16 & 255 & 255) << 24 | (argb >>> 8 & 255 & 255) << 16 | (argb & 255 & 255) << 8 | argb >>> 24 & 255 & 255; pixel = rgba; break; case 2: var bgra = color; var this2 = 0; var rgba1 = this2; rgba1 = (bgra >>> 8 & 255 & 255) << 24 | (bgra >>> 16 & 255 & 255) << 16 | (bgra >>> 24 & 255 & 255) << 8 | bgra & 255 & 255; pixel = rgba1; break; default: pixel = color; } if(!transparent) { pixel = (pixel >>> 24 & 255 & 255) << 24 | (pixel >>> 16 & 255 & 255) << 16 | (pixel >>> 8 & 255 & 255) << 8 | 255; } var offset = row + x * 4; var format1 = sourceFormat; var premultiplied1 = premultiplied; if(premultiplied1 == null) { premultiplied1 = false; } if(format1 == null) { format1 = 0; } if(premultiplied1) { if((pixel & 255) == 0) { if(pixel != 0) { pixel = 0; } } else if((pixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.a16 = lime_math__$RGBA_RGBA_$Impl_$.__alpha16[pixel & 255]; pixel = ((pixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 24 | ((pixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 16 | ((pixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 8 | pixel & 255 & 255; } } switch(format1) { case 0: data[offset] = pixel >>> 24 & 255; data[offset + 1] = pixel >>> 16 & 255; data[offset + 2] = pixel >>> 8 & 255; data[offset + 3] = pixel & 255; break; case 1: data[offset] = pixel & 255; data[offset + 1] = pixel >>> 24 & 255; data[offset + 2] = pixel >>> 16 & 255; data[offset + 3] = pixel >>> 8 & 255; break; case 2: data[offset] = pixel >>> 8 & 255; data[offset + 1] = pixel >>> 16 & 255; data[offset + 2] = pixel >>> 24 & 255; data[offset + 3] = pixel & 255; break; } } } image.dirty = true; image.version++; }; lime__$internal_graphics_ImageDataUtil.threshold = function(image,sourceImage,sourceRect,destPoint,operation,threshold,color,mask,copySource,format) { var _color; var _mask; var _threshold; switch(format) { case 1: var argb = color; var this1 = 0; var rgba = this1; rgba = (argb >>> 16 & 255 & 255) << 24 | (argb >>> 8 & 255 & 255) << 16 | (argb & 255 & 255) << 8 | argb >>> 24 & 255 & 255; _color = rgba; var argb1 = mask; var this2 = 0; var rgba1 = this2; rgba1 = (argb1 >>> 16 & 255 & 255) << 24 | (argb1 >>> 8 & 255 & 255) << 16 | (argb1 & 255 & 255) << 8 | argb1 >>> 24 & 255 & 255; _mask = rgba1; var argb2 = threshold; var this3 = 0; var rgba2 = this3; rgba2 = (argb2 >>> 16 & 255 & 255) << 24 | (argb2 >>> 8 & 255 & 255) << 16 | (argb2 & 255 & 255) << 8 | argb2 >>> 24 & 255 & 255; _threshold = rgba2; break; case 2: var bgra = color; var this4 = 0; var rgba3 = this4; rgba3 = (bgra >>> 8 & 255 & 255) << 24 | (bgra >>> 16 & 255 & 255) << 16 | (bgra >>> 24 & 255 & 255) << 8 | bgra & 255 & 255; _color = rgba3; var bgra1 = mask; var this5 = 0; var rgba4 = this5; rgba4 = (bgra1 >>> 8 & 255 & 255) << 24 | (bgra1 >>> 16 & 255 & 255) << 16 | (bgra1 >>> 24 & 255 & 255) << 8 | bgra1 & 255 & 255; _mask = rgba4; var bgra2 = threshold; var this6 = 0; var rgba5 = this6; rgba5 = (bgra2 >>> 8 & 255 & 255) << 24 | (bgra2 >>> 16 & 255 & 255) << 16 | (bgra2 >>> 24 & 255 & 255) << 8 | bgra2 & 255 & 255; _threshold = rgba5; break; default: _color = color; _mask = mask; _threshold = threshold; } var _operation; switch(operation) { case "!=": _operation = 0; break; case "<": _operation = 2; break; case "<=": _operation = 3; break; case "==": _operation = 1; break; case ">": _operation = 4; break; case ">=": _operation = 5; break; default: _operation = -1; } if(_operation == -1) { return 0; } var srcData = sourceImage.buffer.data; var destData = image.buffer.data; if(srcData == null || destData == null) { return 0; } var hits = 0; var srcView = new lime__$internal_graphics__$ImageDataUtil_ImageDataView(sourceImage,sourceRect); var destView = new lime__$internal_graphics__$ImageDataUtil_ImageDataView(image,new lime_math_Rectangle(destPoint.x,destPoint.y,srcView.width,srcView.height)); var srcFormat = sourceImage.buffer.format; var destFormat = image.buffer.format; var srcPremultiplied = sourceImage.buffer.premultiplied; var destPremultiplied = image.buffer.premultiplied; var srcPosition; var destPosition; var srcPixel = 0; var destPixel = 0; var pixelMask; var test; var value; var _g = 0; var _g1 = destView.height; while(_g < _g1) { var y = _g++; srcPosition = srcView.byteOffset + srcView.stride * y; destPosition = destView.byteOffset + destView.stride * y; var _g2 = 0; var _g11 = destView.width; while(_g2 < _g11) { var x = _g2++; var format1 = srcFormat; var premultiplied = srcPremultiplied; if(premultiplied == null) { premultiplied = false; } if(format1 == null) { format1 = 0; } switch(format1) { case 0: srcPixel = (srcData[srcPosition] & 255) << 24 | (srcData[srcPosition + 1] & 255) << 16 | (srcData[srcPosition + 2] & 255) << 8 | srcData[srcPosition + 3] & 255; break; case 1: srcPixel = (srcData[srcPosition + 1] & 255) << 24 | (srcData[srcPosition + 2] & 255) << 16 | (srcData[srcPosition + 3] & 255) << 8 | srcData[srcPosition] & 255; break; case 2: srcPixel = (srcData[srcPosition + 2] & 255) << 24 | (srcData[srcPosition + 1] & 255) << 16 | (srcData[srcPosition] & 255) << 8 | srcData[srcPosition + 3] & 255; break; } if(premultiplied) { if((srcPixel & 255) != 0 && (srcPixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (srcPixel & 255); srcPixel = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((srcPixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((srcPixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((srcPixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | srcPixel & 255 & 255; } } pixelMask = srcPixel & _mask; var tmp1 = pixelMask >>> 24 & 255; var tmp2 = _threshold >>> 24 & 255; if(tmp1 != tmp2) { value = _$UInt_UInt_$Impl_$.gt(tmp1,tmp2) ? 1 : -1; } else { tmp1 = pixelMask >>> 16 & 255; tmp2 = _threshold >>> 16 & 255; if(tmp1 != tmp2) { value = _$UInt_UInt_$Impl_$.gt(tmp1,tmp2) ? 1 : -1; } else { tmp1 = pixelMask >>> 8 & 255; tmp2 = _threshold >>> 8 & 255; if(tmp1 != tmp2) { value = _$UInt_UInt_$Impl_$.gt(tmp1,tmp2) ? 1 : -1; } else { tmp1 = pixelMask & 255; tmp2 = _threshold & 255; value = tmp1 != tmp2 ? _$UInt_UInt_$Impl_$.gt(tmp1,tmp2) ? 1 : -1 : 0; } } } switch(_operation) { case 0: test = value != 0; break; case 1: test = value == 0; break; case 2: test = value == -1; break; case 3: test = value == 0 || value == -1; break; case 4: test = value == 1; break; case 5: test = value == 0 || value == 1; break; default: test = false; } if(test) { var format2 = destFormat; var premultiplied1 = destPremultiplied; if(premultiplied1 == null) { premultiplied1 = false; } if(format2 == null) { format2 = 0; } if(premultiplied1) { if((_color & 255) == 0) { if(_color != 0) { _color = 0; } } else if((_color & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.a16 = lime_math__$RGBA_RGBA_$Impl_$.__alpha16[_color & 255]; _color = ((_color >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 24 | ((_color >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 16 | ((_color >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 8 | _color & 255 & 255; } } switch(format2) { case 0: destData[destPosition] = _color >>> 24 & 255; destData[destPosition + 1] = _color >>> 16 & 255; destData[destPosition + 2] = _color >>> 8 & 255; destData[destPosition + 3] = _color & 255; break; case 1: destData[destPosition] = _color & 255; destData[destPosition + 1] = _color >>> 24 & 255; destData[destPosition + 2] = _color >>> 16 & 255; destData[destPosition + 3] = _color >>> 8 & 255; break; case 2: destData[destPosition] = _color >>> 8 & 255; destData[destPosition + 1] = _color >>> 16 & 255; destData[destPosition + 2] = _color >>> 24 & 255; destData[destPosition + 3] = _color & 255; break; } ++hits; } else if(copySource) { var format3 = destFormat; var premultiplied2 = destPremultiplied; if(premultiplied2 == null) { premultiplied2 = false; } if(format3 == null) { format3 = 0; } if(premultiplied2) { if((srcPixel & 255) == 0) { if(srcPixel != 0) { srcPixel = 0; } } else if((srcPixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.a16 = lime_math__$RGBA_RGBA_$Impl_$.__alpha16[srcPixel & 255]; srcPixel = ((srcPixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 24 | ((srcPixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 16 | ((srcPixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 8 | srcPixel & 255 & 255; } } switch(format3) { case 0: destData[destPosition] = srcPixel >>> 24 & 255; destData[destPosition + 1] = srcPixel >>> 16 & 255; destData[destPosition + 2] = srcPixel >>> 8 & 255; destData[destPosition + 3] = srcPixel & 255; break; case 1: destData[destPosition] = srcPixel & 255; destData[destPosition + 1] = srcPixel >>> 24 & 255; destData[destPosition + 2] = srcPixel >>> 16 & 255; destData[destPosition + 3] = srcPixel >>> 8 & 255; break; case 2: destData[destPosition] = srcPixel >>> 8 & 255; destData[destPosition + 1] = srcPixel >>> 16 & 255; destData[destPosition + 2] = srcPixel >>> 24 & 255; destData[destPosition + 3] = srcPixel & 255; break; } } srcPosition += 4; destPosition += 4; } } if(hits > 0) { image.dirty = true; image.version++; } return hits; }; lime__$internal_graphics_ImageDataUtil.unmultiplyAlpha = function(image) { var data = image.buffer.data; if(data == null) { return; } var format = image.buffer.format; var length = data.length / 4 | 0; var pixel = 0; var _g = 0; var _g1 = length; while(_g < _g1) { var i = _g++; var offset = i * 4; var format1 = format; var premultiplied = true; if(premultiplied == null) { premultiplied = false; } if(format1 == null) { format1 = 0; } switch(format1) { case 0: pixel = (data[offset] & 255) << 24 | (data[offset + 1] & 255) << 16 | (data[offset + 2] & 255) << 8 | data[offset + 3] & 255; break; case 1: pixel = (data[offset + 1] & 255) << 24 | (data[offset + 2] & 255) << 16 | (data[offset + 3] & 255) << 8 | data[offset] & 255; break; case 2: pixel = (data[offset + 2] & 255) << 24 | (data[offset + 1] & 255) << 16 | (data[offset] & 255) << 8 | data[offset + 3] & 255; break; } if(premultiplied) { if((pixel & 255) != 0 && (pixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (pixel & 255); pixel = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((pixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((pixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((pixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | pixel & 255 & 255; } } var offset1 = i * 4; var format2 = format; var premultiplied1 = false; if(premultiplied1 == null) { premultiplied1 = false; } if(format2 == null) { format2 = 0; } if(premultiplied1) { if((pixel & 255) == 0) { if(pixel != 0) { pixel = 0; } } else if((pixel & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.a16 = lime_math__$RGBA_RGBA_$Impl_$.__alpha16[pixel & 255]; pixel = ((pixel >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 24 | ((pixel >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 16 | ((pixel >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 8 | pixel & 255 & 255; } } switch(format2) { case 0: data[offset1] = pixel >>> 24 & 255; data[offset1 + 1] = pixel >>> 16 & 255; data[offset1 + 2] = pixel >>> 8 & 255; data[offset1 + 3] = pixel & 255; break; case 1: data[offset1] = pixel & 255; data[offset1 + 1] = pixel >>> 24 & 255; data[offset1 + 2] = pixel >>> 16 & 255; data[offset1 + 3] = pixel >>> 8 & 255; break; case 2: data[offset1] = pixel >>> 8 & 255; data[offset1 + 1] = pixel >>> 16 & 255; data[offset1 + 2] = pixel >>> 24 & 255; data[offset1 + 3] = pixel & 255; break; } } image.buffer.premultiplied = false; image.dirty = true; image.version++; }; lime__$internal_graphics_ImageDataUtil.__boxBlur = function(imgA,imgB,w,h,bx,by) { imgB.set(imgA); var bx1 = bx | 0; var by1 = by | 0; lime__$internal_graphics_ImageDataUtil.__boxBlurH(imgB,imgA,w,h,bx1,0); lime__$internal_graphics_ImageDataUtil.__boxBlurH(imgB,imgA,w,h,bx1,1); lime__$internal_graphics_ImageDataUtil.__boxBlurH(imgB,imgA,w,h,bx1,2); lime__$internal_graphics_ImageDataUtil.__boxBlurH(imgB,imgA,w,h,bx1,3); var iarr = 1 / (by1 + by1 + 1); var ws = w * 4; var ti; var li; var ri; var fv; var lv; var val; var _g = 0; var _g1 = w; while(_g < _g1) { var i = _g++; ti = i * 4; li = ti; ri = ti + by1 * ws; fv = imgA[ti]; lv = imgA[ti + ws * (h - 1)]; val = (by1 + 1) * fv; var _g2 = 0; var _g11 = by1; while(_g2 < _g11) { var j = _g2++; val = val + imgA[ti + j * ws]; } var _g21 = 0; var _g3 = by1 + 1; while(_g21 < _g3) { var j1 = _g21++; val = val + (imgA[ri] - fv); imgB[ti] = Math.round(_$UInt_UInt_$Impl_$.toFloat(val) * iarr); ri += ws; ti += ws; } var _g4 = by1 + 1; var _g5 = h - by1; while(_g4 < _g5) { var j2 = _g4++; val = val + (imgA[ri] - imgA[li]); imgB[ti] = Math.round(_$UInt_UInt_$Impl_$.toFloat(val) * iarr); li += ws; ri += ws; ti += ws; } var _g6 = h - by1; var _g7 = h; while(_g6 < _g7) { var j3 = _g6++; val = val + (lv - imgA[li]); imgB[ti] = Math.round(_$UInt_UInt_$Impl_$.toFloat(val) * iarr); li += ws; ti += ws; } } var iarr1 = 1 / (by1 + by1 + 1); var ws1 = w * 4; var ti1; var li1; var ri1; var fv1; var lv1; var val1; var _g8 = 0; var _g12 = w; while(_g8 < _g12) { var i1 = _g8++; ti1 = i1 * 4 + 1; li1 = ti1; ri1 = ti1 + by1 * ws1; fv1 = imgA[ti1]; lv1 = imgA[ti1 + ws1 * (h - 1)]; val1 = (by1 + 1) * fv1; var _g9 = 0; var _g13 = by1; while(_g9 < _g13) { var j4 = _g9++; val1 = val1 + imgA[ti1 + j4 * ws1]; } var _g22 = 0; var _g31 = by1 + 1; while(_g22 < _g31) { var j5 = _g22++; val1 = val1 + (imgA[ri1] - fv1); imgB[ti1] = Math.round(_$UInt_UInt_$Impl_$.toFloat(val1) * iarr1); ri1 += ws1; ti1 += ws1; } var _g41 = by1 + 1; var _g51 = h - by1; while(_g41 < _g51) { var j6 = _g41++; val1 = val1 + (imgA[ri1] - imgA[li1]); imgB[ti1] = Math.round(_$UInt_UInt_$Impl_$.toFloat(val1) * iarr1); li1 += ws1; ri1 += ws1; ti1 += ws1; } var _g61 = h - by1; var _g71 = h; while(_g61 < _g71) { var j7 = _g61++; val1 = val1 + (lv1 - imgA[li1]); imgB[ti1] = Math.round(_$UInt_UInt_$Impl_$.toFloat(val1) * iarr1); li1 += ws1; ti1 += ws1; } } var iarr2 = 1 / (by1 + by1 + 1); var ws2 = w * 4; var ti2; var li2; var ri2; var fv2; var lv2; var val2; var _g10 = 0; var _g14 = w; while(_g10 < _g14) { var i2 = _g10++; ti2 = i2 * 4 + 2; li2 = ti2; ri2 = ti2 + by1 * ws2; fv2 = imgA[ti2]; lv2 = imgA[ti2 + ws2 * (h - 1)]; val2 = (by1 + 1) * fv2; var _g15 = 0; var _g16 = by1; while(_g15 < _g16) { var j8 = _g15++; val2 = val2 + imgA[ti2 + j8 * ws2]; } var _g23 = 0; var _g32 = by1 + 1; while(_g23 < _g32) { var j9 = _g23++; val2 = val2 + (imgA[ri2] - fv2); imgB[ti2] = Math.round(_$UInt_UInt_$Impl_$.toFloat(val2) * iarr2); ri2 += ws2; ti2 += ws2; } var _g42 = by1 + 1; var _g52 = h - by1; while(_g42 < _g52) { var j10 = _g42++; val2 = val2 + (imgA[ri2] - imgA[li2]); imgB[ti2] = Math.round(_$UInt_UInt_$Impl_$.toFloat(val2) * iarr2); li2 += ws2; ri2 += ws2; ti2 += ws2; } var _g62 = h - by1; var _g72 = h; while(_g62 < _g72) { var j11 = _g62++; val2 = val2 + (lv2 - imgA[li2]); imgB[ti2] = Math.round(_$UInt_UInt_$Impl_$.toFloat(val2) * iarr2); li2 += ws2; ti2 += ws2; } } var iarr3 = 1 / (by1 + by1 + 1); var ws3 = w * 4; var ti3; var li3; var ri3; var fv3; var lv3; var val3; var _g17 = 0; var _g18 = w; while(_g17 < _g18) { var i3 = _g17++; ti3 = i3 * 4 + 3; li3 = ti3; ri3 = ti3 + by1 * ws3; fv3 = imgA[ti3]; lv3 = imgA[ti3 + ws3 * (h - 1)]; val3 = (by1 + 1) * fv3; var _g19 = 0; var _g110 = by1; while(_g19 < _g110) { var j12 = _g19++; val3 = val3 + imgA[ti3 + j12 * ws3]; } var _g24 = 0; var _g33 = by1 + 1; while(_g24 < _g33) { var j13 = _g24++; val3 = val3 + (imgA[ri3] - fv3); imgB[ti3] = Math.round(_$UInt_UInt_$Impl_$.toFloat(val3) * iarr3); ri3 += ws3; ti3 += ws3; } var _g43 = by1 + 1; var _g53 = h - by1; while(_g43 < _g53) { var j14 = _g43++; val3 = val3 + (imgA[ri3] - imgA[li3]); imgB[ti3] = Math.round(_$UInt_UInt_$Impl_$.toFloat(val3) * iarr3); li3 += ws3; ri3 += ws3; ti3 += ws3; } var _g63 = h - by1; var _g73 = h; while(_g63 < _g73) { var j15 = _g63++; val3 = val3 + (lv3 - imgA[li3]); imgB[ti3] = Math.round(_$UInt_UInt_$Impl_$.toFloat(val3) * iarr3); li3 += ws3; ti3 += ws3; } } }; lime__$internal_graphics_ImageDataUtil.__boxBlurH = function(imgA,imgB,w,h,r,off) { var iarr = 1 / (r + r + 1); var ti; var li; var ri; var fv; var lv; var val; var _g = 0; var _g1 = h; while(_g < _g1) { var i = _g++; ti = i * w; li = ti; ri = ti + r; fv = imgA[ti * 4 + off]; lv = imgA[(ti + w - 1) * 4 + off]; val = (r + 1) * fv; var _g2 = 0; var _g11 = r; while(_g2 < _g11) { var j = _g2++; val = val + imgA[(ti + j) * 4 + off]; } var _g21 = 0; var _g3 = r + 1; while(_g21 < _g3) { var j1 = _g21++; val = val + (imgA[ri * 4 + off] - fv); imgB[ti * 4 + off] = Math.round(_$UInt_UInt_$Impl_$.toFloat(val) * iarr); ++ri; ++ti; } var _g4 = r + 1; var _g5 = w - r; while(_g4 < _g5) { var j2 = _g4++; val = val + (imgA[ri * 4 + off] - imgA[li * 4 + off]); imgB[ti * 4 + off] = Math.round(_$UInt_UInt_$Impl_$.toFloat(val) * iarr); ++ri; ++li; ++ti; } var _g6 = w - r; var _g7 = w; while(_g6 < _g7) { var j3 = _g6++; val = val + (lv - imgA[li * 4 + off]); imgB[ti * 4 + off] = Math.round(_$UInt_UInt_$Impl_$.toFloat(val) * iarr); ++li; ++ti; } } }; lime__$internal_graphics_ImageDataUtil.__boxBlurT = function(imgA,imgB,w,h,r,off) { var iarr = 1 / (r + r + 1); var ws = w * 4; var ti; var li; var ri; var fv; var lv; var val; var _g = 0; var _g1 = w; while(_g < _g1) { var i = _g++; ti = i * 4 + off; li = ti; ri = ti + r * ws; fv = imgA[ti]; lv = imgA[ti + ws * (h - 1)]; val = (r + 1) * fv; var _g2 = 0; var _g11 = r; while(_g2 < _g11) { var j = _g2++; val = val + imgA[ti + j * ws]; } var _g21 = 0; var _g3 = r + 1; while(_g21 < _g3) { var j1 = _g21++; val = val + (imgA[ri] - fv); imgB[ti] = Math.round(_$UInt_UInt_$Impl_$.toFloat(val) * iarr); ri += ws; ti += ws; } var _g4 = r + 1; var _g5 = h - r; while(_g4 < _g5) { var j2 = _g4++; val = val + (imgA[ri] - imgA[li]); imgB[ti] = Math.round(_$UInt_UInt_$Impl_$.toFloat(val) * iarr); li += ws; ri += ws; ti += ws; } var _g6 = h - r; var _g7 = h; while(_g6 < _g7) { var j3 = _g6++; val = val + (lv - imgA[li]); imgB[ti] = Math.round(_$UInt_UInt_$Impl_$.toFloat(val) * iarr); li += ws; ti += ws; } } }; lime__$internal_graphics_ImageDataUtil.__calculateSourceOffset = function(sourceRect,destPoint,destX,destY) { var sourceX = destX - (destPoint.x | 0); var sourceY = destY - (destPoint.y | 0); var offset = 0; if(sourceX < 0 || sourceY < 0 || sourceX >= sourceRect.width || sourceY >= sourceRect.height) { offset = -1; } else { offset = 4 * (sourceY * (sourceRect.width | 0) + sourceX); } return offset; }; lime__$internal_graphics_ImageDataUtil.__getBoxesForGaussianBlur = function(sigma,n) { var wIdeal = Math.sqrt(12 * sigma * sigma / n + 1); var wl = Math.floor(wIdeal); if(wl % 2 == 0) { --wl; } var wu = wl + 2; var mIdeal = (12 * sigma * sigma - n * wl * wl - 4 * n * wl - 3 * n) / (-4 * wl - 4); var m = Math.round(mIdeal); var sizes = []; var _g = 0; var _g1 = n; while(_g < _g1) { var i = _g++; sizes.push(i < m ? wl : wu); } return sizes; }; lime__$internal_graphics_ImageDataUtil.__pixelCompare = function(n1,n2) { var tmp1 = n1 >>> 24 & 255; var tmp2 = n2 >>> 24 & 255; if(tmp1 != tmp2) { if(_$UInt_UInt_$Impl_$.gt(tmp1,tmp2)) { return 1; } else { return -1; } } else { tmp1 = n1 >>> 16 & 255; tmp2 = n2 >>> 16 & 255; if(tmp1 != tmp2) { if(_$UInt_UInt_$Impl_$.gt(tmp1,tmp2)) { return 1; } else { return -1; } } else { tmp1 = n1 >>> 8 & 255; tmp2 = n2 >>> 8 & 255; if(tmp1 != tmp2) { if(_$UInt_UInt_$Impl_$.gt(tmp1,tmp2)) { return 1; } else { return -1; } } else { tmp1 = n1 & 255; tmp2 = n2 & 255; if(tmp1 != tmp2) { if(_$UInt_UInt_$Impl_$.gt(tmp1,tmp2)) { return 1; } else { return -1; } } else { return 0; } } } } }; lime__$internal_graphics_ImageDataUtil.__translatePixel = function(imgB,sourceRect,destRect,destPoint,destX,destY,strength) { var d = 4 * (destY * (destRect.width | 0) + destX); var s = lime__$internal_graphics_ImageDataUtil.__calculateSourceOffset(sourceRect,destPoint,destX,destY); if(s < 0) { imgB[d] = imgB[d + 1] = imgB[d + 2] = imgB[d + 3] = 0; } else { imgB[d] = imgB[s]; imgB[d + 1] = imgB[s + 1]; imgB[d + 2] = imgB[s + 2]; var a = _$UInt_UInt_$Impl_$.toFloat(imgB[s + 3]) * strength | 0; imgB[d + 3] = a < 0 ? 0 : a > 255 ? 255 : a; } }; var lime__$internal_graphics__$ImageDataUtil_ImageDataView = function(image,rect) { this.image = image; if(rect == null) { this.rect = image.get_rect(); } else { if(rect.x < 0) { rect.x = 0; } if(rect.y < 0) { rect.y = 0; } if(rect.x + rect.width > image.width) { rect.width = image.width - rect.x; } if(rect.y + rect.height > image.height) { rect.height = image.height - rect.y; } if(rect.width < 0) { rect.width = 0; } if(rect.height < 0) { rect.height = 0; } this.rect = rect; } this.stride = image.buffer.get_stride(); this.__update(); }; $hxClasses["lime._internal.graphics._ImageDataUtil.ImageDataView"] = lime__$internal_graphics__$ImageDataUtil_ImageDataView; lime__$internal_graphics__$ImageDataUtil_ImageDataView.__name__ = "lime._internal.graphics._ImageDataUtil.ImageDataView"; lime__$internal_graphics__$ImageDataUtil_ImageDataView.prototype = { x: null ,y: null ,height: null ,width: null ,byteOffset: null ,image: null ,rect: null ,stride: null ,tempRect: null ,clip: function(x,y,width,height) { if(this.tempRect == null) { this.tempRect = new lime_math_Rectangle(); } this.tempRect.setTo(x,y,width,height); this.rect.intersection(this.tempRect,this.rect); this.__update(); } ,hasRow: function(y) { if(y >= 0) { return y < this.height; } else { return false; } } ,offset: function(x,y) { if(x < 0) { this.rect.x += x; if(this.rect.x < 0) { this.rect.x = 0; } } else { this.rect.x += x; this.rect.width -= x; } if(y < 0) { this.rect.y += y; if(this.rect.y < 0) { this.rect.y = 0; } } else { this.rect.y += y; this.rect.height -= y; } this.__update(); } ,row: function(y) { return this.byteOffset + this.stride * y; } ,__update: function() { this.x = Math.ceil(this.rect.x); this.y = Math.ceil(this.rect.y); this.width = Math.floor(this.rect.width); this.height = Math.floor(this.rect.height); this.byteOffset = this.stride * (this.y + this.image.offsetY) + (this.x + this.image.offsetX) * 4; } ,__class__: lime__$internal_graphics__$ImageDataUtil_ImageDataView }; var lime__$internal_graphics_StackBlur = function() { }; $hxClasses["lime._internal.graphics.StackBlur"] = lime__$internal_graphics_StackBlur; lime__$internal_graphics_StackBlur.__name__ = "lime._internal.graphics.StackBlur"; lime__$internal_graphics_StackBlur.blur = function(dest,source,sourceRect,destPoint,blurX,blurY,quality) { dest.copyPixels(source,sourceRect,destPoint); lime__$internal_graphics_StackBlur.__stackBlurCanvasRGBA(dest,sourceRect.width | 0,sourceRect.height | 0,blurX,blurY,quality); }; lime__$internal_graphics_StackBlur.__stackBlurCanvasRGBA = function(image,width,height,blurX,blurY,quality) { var radiusX = Math.round(blurX) >> 1; var radiusY = Math.round(blurY) >> 1; if(lime__$internal_graphics_StackBlur.MUL_TABLE == null) { return; } if(radiusX >= lime__$internal_graphics_StackBlur.MUL_TABLE.length) { radiusX = lime__$internal_graphics_StackBlur.MUL_TABLE.length - 1; } if(radiusY >= lime__$internal_graphics_StackBlur.MUL_TABLE.length) { radiusY = lime__$internal_graphics_StackBlur.MUL_TABLE.length - 1; } if(radiusX < 0 || radiusY < 0) { return; } var iterations = quality; if(iterations < 1) { iterations = 1; } if(iterations > 3) { iterations = 3; } var px = image.get_data(); var x; var y; var i; var p; var yp; var yi; var yw; var r; var g; var b; var a; var pr; var pg; var pb; var pa; var f; var divx = radiusX + radiusX + 1; var divy = radiusY + radiusY + 1; var w = width; var h = height; var w1 = w - 1; var h1 = h - 1; var rxp1 = radiusX + 1; var ryp1 = radiusY + 1; var ssx = new lime__$internal_graphics_BlurStack(); var sx = ssx; var _g = 1; var _g1 = divx; while(_g < _g1) { var i1 = _g++; sx = sx.n = new lime__$internal_graphics_BlurStack(); } sx.n = ssx; var ssy = new lime__$internal_graphics_BlurStack(); var sy = ssy; var _g2 = 1; var _g3 = divy; while(_g2 < _g3) { var i2 = _g2++; sy = sy.n = new lime__$internal_graphics_BlurStack(); } sy.n = ssy; var si = null; var mtx = lime__$internal_graphics_StackBlur.MUL_TABLE[radiusX]; var stx = lime__$internal_graphics_StackBlur.SHG_TABLE[radiusX]; var mty = lime__$internal_graphics_StackBlur.MUL_TABLE[radiusY]; var sty = lime__$internal_graphics_StackBlur.SHG_TABLE[radiusY]; while(iterations > 0) { --iterations; yi = 0; yw = yi; var ms = mtx; var ss = stx; y = h; while(true) { pr = px[yi]; r = rxp1 * pr; pg = px[yi + 1]; g = rxp1 * pg; pb = px[yi + 2]; b = rxp1 * pb; pa = px[yi + 3]; a = rxp1 * pa; sx = ssx; i = rxp1; while(true) { sx.r = pr; sx.g = pg; sx.b = pb; sx.a = pa; sx = sx.n; if(!(--i > -1)) { break; } } var _g4 = 1; var _g5 = rxp1; while(_g4 < _g5) { var i3 = _g4++; p = yi + ((w1 < i3 ? w1 : i3) << 2); r += sx.r = px[p]; g += sx.g = px[p + 1]; b += sx.b = px[p + 2]; a += sx.a = px[p + 3]; sx = sx.n; } si = ssx; var _g6 = 0; var _g7 = w; while(_g6 < _g7) { var x1 = _g6++; px[yi++] = r * ms >>> ss; px[yi++] = g * ms >>> ss; px[yi++] = b * ms >>> ss; px[yi++] = a * ms >>> ss; p = x1 + radiusX + 1; p = yw + (p < w1 ? p : w1) << 2; r -= si.r - (si.r = px[p]); g -= si.g - (si.g = px[p + 1]); b -= si.b - (si.b = px[p + 2]); a -= si.a - (si.a = px[p + 3]); si = si.n; } yw += w; if(!(--y > 0)) { break; } } ms = mty; ss = sty; var _g41 = 0; var _g51 = w; while(_g41 < _g51) { var x2 = _g41++; yi = x2 << 2; pr = px[yi]; r = ryp1 * pr; pg = px[yi + 1]; g = ryp1 * pg; pb = px[yi + 2]; b = ryp1 * pb; pa = px[yi + 3]; a = ryp1 * pa; sy = ssy; var _g42 = 0; var _g52 = ryp1; while(_g42 < _g52) { var i4 = _g42++; sy.r = pr; sy.g = pg; sy.b = pb; sy.a = pa; sy = sy.n; } yp = w; var _g61 = 1; var _g71 = radiusY + 1; while(_g61 < _g71) { var i5 = _g61++; yi = yp + x2 << 2; r += sy.r = px[yi]; g += sy.g = px[yi + 1]; b += sy.b = px[yi + 2]; a += sy.a = px[yi + 3]; sy = sy.n; if(i5 < h1) { yp += w; } } yi = x2; si = ssy; if(iterations > 0) { var _g8 = 0; var _g9 = h; while(_g8 < _g9) { var y1 = _g8++; p = yi << 2; pa = a * ms >>> ss; px[p + 3] = pa; if(pa > 0) { px[p] = r * ms >>> ss; px[p + 1] = g * ms >>> ss; px[p + 2] = b * ms >>> ss; } else { px[p] = px[p + 1] = px[p + 2] = 0; } p = y1 + ryp1; p = x2 + (p < h1 ? p : h1) * w << 2; r -= si.r - (si.r = px[p]); g -= si.g - (si.g = px[p + 1]); b -= si.b - (si.b = px[p + 2]); a -= si.a - (si.a = px[p + 3]); si = si.n; yi += w; } } else { var _g81 = 0; var _g91 = h; while(_g81 < _g91) { var y2 = _g81++; p = yi << 2; pa = a * ms >>> ss; px[p + 3] = pa; if(pa > 0) { f = 255 / pa; pr = (r * ms >>> ss) * f | 0; pg = (g * ms >>> ss) * f | 0; pb = (b * ms >>> ss) * f | 0; px[p] = pr > 255 ? 255 : pr; px[p + 1] = pg > 255 ? 255 : pg; px[p + 2] = pb > 255 ? 255 : pb; } else { px[p] = px[p + 1] = px[p + 2] = 0; } p = y2 + ryp1; p = x2 + (p < h1 ? p : h1) * w << 2; r -= si.r - (si.r = px[p]); g -= si.g - (si.g = px[p + 1]); b -= si.b - (si.b = px[p + 2]); a -= si.a - (si.a = px[p + 3]); si = si.n; yi += w; } } } } }; var lime__$internal_graphics_BlurStack = function() { this.r = 0; this.g = 0; this.b = 0; this.a = 0; this.n = null; }; $hxClasses["lime._internal.graphics.BlurStack"] = lime__$internal_graphics_BlurStack; lime__$internal_graphics_BlurStack.__name__ = "lime._internal.graphics.BlurStack"; lime__$internal_graphics_BlurStack.prototype = { r: null ,g: null ,b: null ,a: null ,n: null ,__class__: lime__$internal_graphics_BlurStack }; var lime__$internal_macros_AssetsMacro = function() { }; $hxClasses["lime._internal.macros.AssetsMacro"] = lime__$internal_macros_AssetsMacro; lime__$internal_macros_AssetsMacro.__name__ = "lime._internal.macros.AssetsMacro"; var lime_app_Event = function() { this.canceled = false; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; $hxClasses["lime.app.Event"] = lime_app_Event; lime_app_Event.__name__ = "lime.app.Event"; lime_app_Event.prototype = { canceled: null ,__listeners: null ,__repeat: null ,__priorities: null ,add: function(listener,once,priority) { if(priority == null) { priority = 0; } if(once == null) { once = false; } var _g = 0; var _g1 = this.__priorities.length; while(_g < _g1) { var i = _g++; if(priority > this.__priorities[i]) { this.__listeners.splice(i,0,listener); this.__priorities.splice(i,0,priority); this.__repeat.splice(i,0,!once); return; } } this.__listeners.push(listener); this.__priorities.push(priority); this.__repeat.push(!once); } ,cancel: function() { this.canceled = true; } ,dispatch: null ,has: function(listener) { var _g = 0; var _g1 = this.__listeners; while(_g < _g1.length) { var l = _g1[_g]; ++_g; if(Reflect.compareMethods(l,listener)) { return true; } } return false; } ,remove: function(listener) { var i = this.__listeners.length; while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) { this.__listeners.splice(i,1); this.__priorities.splice(i,1); this.__repeat.splice(i,1); } } ,removeAll: function() { var len = this.__listeners.length; this.__listeners.splice(0,len); this.__priorities.splice(0,len); this.__repeat.splice(0,len); } ,__class__: lime_app_Event }; var lime_app_Future = function(work,async) { if(async == null) { async = false; } if(work != null) { if(async) { var promise = new lime_app_Promise(); promise.future = this; lime_app__$Future_FutureWork.queue({ promise : promise, work : work}); } else { try { this.value = work(); this.isComplete = true; } catch( e ) { haxe_CallStack.lastException = e; this.error = ((e) instanceof js__$Boot_HaxeError) ? e.val : e; this.isError = true; } } } }; $hxClasses["lime.app.Future"] = lime_app_Future; lime_app_Future.__name__ = "lime.app.Future"; lime_app_Future.ofEvents = function(onComplete,onError,onProgress) { var promise = new lime_app_Promise(); onComplete.add(function(data) { promise.complete(data); },true); if(onError != null) { onError.add(function(error) { promise.error(error); },true); } if(onProgress != null) { onProgress.add(function(progress,total) { promise.progress(progress,total); },true); } return promise.future; }; lime_app_Future.withError = function(error) { var future = new lime_app_Future(); future.isError = true; future.error = error; return future; }; lime_app_Future.withValue = function(value) { var future = new lime_app_Future(); future.isComplete = true; future.value = value; return future; }; lime_app_Future.prototype = { error: null ,isComplete: null ,isError: null ,value: null ,__completeListeners: null ,__errorListeners: null ,__progressListeners: null ,onComplete: function(listener) { if(listener != null) { if(this.isComplete) { listener(this.value); } else if(!this.isError) { if(this.__completeListeners == null) { this.__completeListeners = []; } this.__completeListeners.push(listener); } } return this; } ,onError: function(listener) { if(listener != null) { if(this.isError) { listener(this.error); } else if(!this.isComplete) { if(this.__errorListeners == null) { this.__errorListeners = []; } this.__errorListeners.push(listener); } } return this; } ,onProgress: function(listener) { if(listener != null) { if(this.__progressListeners == null) { this.__progressListeners = []; } this.__progressListeners.push(listener); } return this; } ,ready: function(waitTime) { if(waitTime == null) { waitTime = -1; } if(this.isComplete || this.isError) { return this; } else { lime_utils_Log.warn("Cannot block thread in JavaScript",{ fileName : "lime/app/Future.hx", lineNumber : 208, className : "lime.app.Future", methodName : "ready"}); return this; } } ,result: function(waitTime) { if(waitTime == null) { waitTime = -1; } this.ready(waitTime); if(this.isComplete) { return this.value; } else { return null; } } ,then: function(next) { if(this.isComplete) { return next(this.value); } else if(this.isError) { var future = new lime_app_Future(); future.isError = true; future.error = this.error; return future; } else { var promise = new lime_app_Promise(); this.onError($bind(promise,promise.error)); this.onProgress($bind(promise,promise.progress)); this.onComplete(function(val) { var future1 = next(val); future1.onError($bind(promise,promise.error)); future1.onComplete($bind(promise,promise.complete)); }); return promise.future; } } ,__class__: lime_app_Future }; var lime_app__$Future_FutureWork = function() { }; $hxClasses["lime.app._Future.FutureWork"] = lime_app__$Future_FutureWork; lime_app__$Future_FutureWork.__name__ = "lime.app._Future.FutureWork"; lime_app__$Future_FutureWork.threadPool = null; lime_app__$Future_FutureWork.queue = function(state) { if(lime_app__$Future_FutureWork.threadPool == null) { lime_app__$Future_FutureWork.threadPool = new lime_system_ThreadPool(); lime_app__$Future_FutureWork.threadPool.doWork.add(lime_app__$Future_FutureWork.threadPool_doWork); lime_app__$Future_FutureWork.threadPool.onComplete.add(lime_app__$Future_FutureWork.threadPool_onComplete); lime_app__$Future_FutureWork.threadPool.onError.add(lime_app__$Future_FutureWork.threadPool_onError); } lime_app__$Future_FutureWork.threadPool.queue(state); }; lime_app__$Future_FutureWork.threadPool_doWork = function(state) { try { var result = state.work(); lime_app__$Future_FutureWork.threadPool.sendComplete({ promise : state.promise, result : result}); } catch( e ) { haxe_CallStack.lastException = e; lime_app__$Future_FutureWork.threadPool.sendError({ promise : state.promise, error : ((e) instanceof js__$Boot_HaxeError) ? e.val : e}); } }; lime_app__$Future_FutureWork.threadPool_onComplete = function(state) { state.promise.complete(state.result); }; lime_app__$Future_FutureWork.threadPool_onError = function(state) { state.promise.error(state.error); }; var lime_app_Promise = function() { this.future = new lime_app_Future(); }; $hxClasses["lime.app.Promise"] = lime_app_Promise; lime_app_Promise.__name__ = "lime.app.Promise"; lime_app_Promise.prototype = { future: null ,isComplete: null ,isError: null ,complete: function(data) { if(!this.future.isError) { this.future.isComplete = true; this.future.value = data; if(this.future.__completeListeners != null) { var _g = 0; var _g1 = this.future.__completeListeners; while(_g < _g1.length) { var listener = _g1[_g]; ++_g; listener(data); } this.future.__completeListeners = null; } } return this; } ,completeWith: function(future) { future.onComplete($bind(this,this.complete)); future.onError($bind(this,this.error)); future.onProgress($bind(this,this.progress)); return this; } ,error: function(msg) { if(!this.future.isComplete) { this.future.isError = true; this.future.error = msg; if(this.future.__errorListeners != null) { var _g = 0; var _g1 = this.future.__errorListeners; while(_g < _g1.length) { var listener = _g1[_g]; ++_g; listener(msg); } this.future.__errorListeners = null; } } return this; } ,progress: function(progress,total) { if(!this.future.isError && !this.future.isComplete) { if(this.future.__progressListeners != null) { var _g = 0; var _g1 = this.future.__progressListeners; while(_g < _g1.length) { var listener = _g1[_g]; ++_g; listener(progress,total); } } } return this; } ,get_isComplete: function() { return this.future.isComplete; } ,get_isError: function() { return this.future.isError; } ,__class__: lime_app_Promise ,__properties__: {get_isError:"get_isError",get_isComplete:"get_isComplete"} }; var lime_app__$Event_$Array_$String_$_$Void = function() { this.canceled = false; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; $hxClasses["lime.app._Event_Array_String__Void"] = lime_app__$Event_$Array_$String_$_$Void; lime_app__$Event_$Array_$String_$_$Void.__name__ = "lime.app._Event_Array_String__Void"; lime_app__$Event_$Array_$String_$_$Void.prototype = { canceled: null ,__repeat: null ,__priorities: null ,add: function(listener,once,priority) { if(priority == null) { priority = 0; } if(once == null) { once = false; } var _g = 0; var _g1 = this.__priorities.length; while(_g < _g1) { var i = _g++; if(priority > this.__priorities[i]) { this.__listeners.splice(i,0,listener); this.__priorities.splice(i,0,priority); this.__repeat.splice(i,0,!once); return; } } this.__listeners.push(listener); this.__priorities.push(priority); this.__repeat.push(!once); } ,cancel: function() { this.canceled = true; } ,has: function(listener) { var _g = 0; var _g1 = this.__listeners; while(_g < _g1.length) { var l = _g1[_g]; ++_g; if(Reflect.compareMethods(l,listener)) { return true; } } return false; } ,remove: function(listener) { var i = this.__listeners.length; while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) { this.__listeners.splice(i,1); this.__priorities.splice(i,1); this.__repeat.splice(i,1); } } ,removeAll: function() { var len = this.__listeners.length; this.__listeners.splice(0,len); this.__priorities.splice(0,len); this.__repeat.splice(0,len); } ,__listeners: null ,dispatch: function(a) { this.canceled = false; var listeners = this.__listeners; var repeat = this.__repeat; var i = 0; while(i < listeners.length) { listeners[i](a); if(!repeat[i]) { this.remove(listeners[i]); } else { ++i; } if(this.canceled) { break; } } } ,__class__: lime_app__$Event_$Array_$String_$_$Void }; var lime_app__$Event_$Dynamic_$Void = function() { this.canceled = false; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; $hxClasses["lime.app._Event_Dynamic_Void"] = lime_app__$Event_$Dynamic_$Void; lime_app__$Event_$Dynamic_$Void.__name__ = "lime.app._Event_Dynamic_Void"; lime_app__$Event_$Dynamic_$Void.prototype = { canceled: null ,__repeat: null ,__priorities: null ,add: function(listener,once,priority) { if(priority == null) { priority = 0; } if(once == null) { once = false; } var _g = 0; var _g1 = this.__priorities.length; while(_g < _g1) { var i = _g++; if(priority > this.__priorities[i]) { this.__listeners.splice(i,0,listener); this.__priorities.splice(i,0,priority); this.__repeat.splice(i,0,!once); return; } } this.__listeners.push(listener); this.__priorities.push(priority); this.__repeat.push(!once); } ,cancel: function() { this.canceled = true; } ,has: function(listener) { var _g = 0; var _g1 = this.__listeners; while(_g < _g1.length) { var l = _g1[_g]; ++_g; if(Reflect.compareMethods(l,listener)) { return true; } } return false; } ,remove: function(listener) { var i = this.__listeners.length; while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) { this.__listeners.splice(i,1); this.__priorities.splice(i,1); this.__repeat.splice(i,1); } } ,removeAll: function() { var len = this.__listeners.length; this.__listeners.splice(0,len); this.__priorities.splice(0,len); this.__repeat.splice(0,len); } ,__listeners: null ,dispatch: function(a) { this.canceled = false; var listeners = this.__listeners; var repeat = this.__repeat; var i = 0; while(i < listeners.length) { listeners[i](a); if(!repeat[i]) { this.remove(listeners[i]); } else { ++i; } if(this.canceled) { break; } } } ,__class__: lime_app__$Event_$Dynamic_$Void }; var lime_app__$Event_$Float_$Float_$Float_$Void = function() { this.canceled = false; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; $hxClasses["lime.app._Event_Float_Float_Float_Void"] = lime_app__$Event_$Float_$Float_$Float_$Void; lime_app__$Event_$Float_$Float_$Float_$Void.__name__ = "lime.app._Event_Float_Float_Float_Void"; lime_app__$Event_$Float_$Float_$Float_$Void.prototype = { canceled: null ,__repeat: null ,__priorities: null ,add: function(listener,once,priority) { if(priority == null) { priority = 0; } if(once == null) { once = false; } var _g = 0; var _g1 = this.__priorities.length; while(_g < _g1) { var i = _g++; if(priority > this.__priorities[i]) { this.__listeners.splice(i,0,listener); this.__priorities.splice(i,0,priority); this.__repeat.splice(i,0,!once); return; } } this.__listeners.push(listener); this.__priorities.push(priority); this.__repeat.push(!once); } ,cancel: function() { this.canceled = true; } ,has: function(listener) { var _g = 0; var _g1 = this.__listeners; while(_g < _g1.length) { var l = _g1[_g]; ++_g; if(Reflect.compareMethods(l,listener)) { return true; } } return false; } ,remove: function(listener) { var i = this.__listeners.length; while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) { this.__listeners.splice(i,1); this.__priorities.splice(i,1); this.__repeat.splice(i,1); } } ,removeAll: function() { var len = this.__listeners.length; this.__listeners.splice(0,len); this.__priorities.splice(0,len); this.__repeat.splice(0,len); } ,__listeners: null ,dispatch: function(a,a1,a2) { this.canceled = false; var listeners = this.__listeners; var repeat = this.__repeat; var i = 0; while(i < listeners.length) { listeners[i](a,a1,a2); if(!repeat[i]) { this.remove(listeners[i]); } else { ++i; } if(this.canceled) { break; } } } ,__class__: lime_app__$Event_$Float_$Float_$Float_$Void }; var lime_app__$Event_$Float_$Float_$Int_$Void = function() { this.canceled = false; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; $hxClasses["lime.app._Event_Float_Float_Int_Void"] = lime_app__$Event_$Float_$Float_$Int_$Void; lime_app__$Event_$Float_$Float_$Int_$Void.__name__ = "lime.app._Event_Float_Float_Int_Void"; lime_app__$Event_$Float_$Float_$Int_$Void.prototype = { canceled: null ,__repeat: null ,__priorities: null ,add: function(listener,once,priority) { if(priority == null) { priority = 0; } if(once == null) { once = false; } var _g = 0; var _g1 = this.__priorities.length; while(_g < _g1) { var i = _g++; if(priority > this.__priorities[i]) { this.__listeners.splice(i,0,listener); this.__priorities.splice(i,0,priority); this.__repeat.splice(i,0,!once); return; } } this.__listeners.push(listener); this.__priorities.push(priority); this.__repeat.push(!once); } ,cancel: function() { this.canceled = true; } ,has: function(listener) { var _g = 0; var _g1 = this.__listeners; while(_g < _g1.length) { var l = _g1[_g]; ++_g; if(Reflect.compareMethods(l,listener)) { return true; } } return false; } ,remove: function(listener) { var i = this.__listeners.length; while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) { this.__listeners.splice(i,1); this.__priorities.splice(i,1); this.__repeat.splice(i,1); } } ,removeAll: function() { var len = this.__listeners.length; this.__listeners.splice(0,len); this.__priorities.splice(0,len); this.__repeat.splice(0,len); } ,__listeners: null ,dispatch: function(a,a1,a2) { this.canceled = false; var listeners = this.__listeners; var repeat = this.__repeat; var i = 0; while(i < listeners.length) { listeners[i](a,a1,a2); if(!repeat[i]) { this.remove(listeners[i]); } else { ++i; } if(this.canceled) { break; } } } ,__class__: lime_app__$Event_$Float_$Float_$Int_$Void }; var lime_app__$Event_$Float_$Float_$Void = function() { this.canceled = false; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; $hxClasses["lime.app._Event_Float_Float_Void"] = lime_app__$Event_$Float_$Float_$Void; lime_app__$Event_$Float_$Float_$Void.__name__ = "lime.app._Event_Float_Float_Void"; lime_app__$Event_$Float_$Float_$Void.prototype = { canceled: null ,__repeat: null ,__priorities: null ,add: function(listener,once,priority) { if(priority == null) { priority = 0; } if(once == null) { once = false; } var _g = 0; var _g1 = this.__priorities.length; while(_g < _g1) { var i = _g++; if(priority > this.__priorities[i]) { this.__listeners.splice(i,0,listener); this.__priorities.splice(i,0,priority); this.__repeat.splice(i,0,!once); return; } } this.__listeners.push(listener); this.__priorities.push(priority); this.__repeat.push(!once); } ,cancel: function() { this.canceled = true; } ,has: function(listener) { var _g = 0; var _g1 = this.__listeners; while(_g < _g1.length) { var l = _g1[_g]; ++_g; if(Reflect.compareMethods(l,listener)) { return true; } } return false; } ,remove: function(listener) { var i = this.__listeners.length; while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) { this.__listeners.splice(i,1); this.__priorities.splice(i,1); this.__repeat.splice(i,1); } } ,removeAll: function() { var len = this.__listeners.length; this.__listeners.splice(0,len); this.__priorities.splice(0,len); this.__repeat.splice(0,len); } ,__listeners: null ,dispatch: function(a,a1) { this.canceled = false; var listeners = this.__listeners; var repeat = this.__repeat; var i = 0; while(i < listeners.length) { listeners[i](a,a1); if(!repeat[i]) { this.remove(listeners[i]); } else { ++i; } if(this.canceled) { break; } } } ,__class__: lime_app__$Event_$Float_$Float_$Void }; var lime_app__$Event_$Float_$Float_$lime_$ui_$MouseButton_$Void = function() { this.canceled = false; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; $hxClasses["lime.app._Event_Float_Float_lime_ui_MouseButton_Void"] = lime_app__$Event_$Float_$Float_$lime_$ui_$MouseButton_$Void; lime_app__$Event_$Float_$Float_$lime_$ui_$MouseButton_$Void.__name__ = "lime.app._Event_Float_Float_lime_ui_MouseButton_Void"; lime_app__$Event_$Float_$Float_$lime_$ui_$MouseButton_$Void.prototype = { canceled: null ,__repeat: null ,__priorities: null ,add: function(listener,once,priority) { if(priority == null) { priority = 0; } if(once == null) { once = false; } var _g = 0; var _g1 = this.__priorities.length; while(_g < _g1) { var i = _g++; if(priority > this.__priorities[i]) { this.__listeners.splice(i,0,listener); this.__priorities.splice(i,0,priority); this.__repeat.splice(i,0,!once); return; } } this.__listeners.push(listener); this.__priorities.push(priority); this.__repeat.push(!once); } ,cancel: function() { this.canceled = true; } ,has: function(listener) { var _g = 0; var _g1 = this.__listeners; while(_g < _g1.length) { var l = _g1[_g]; ++_g; if(Reflect.compareMethods(l,listener)) { return true; } } return false; } ,remove: function(listener) { var i = this.__listeners.length; while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) { this.__listeners.splice(i,1); this.__priorities.splice(i,1); this.__repeat.splice(i,1); } } ,removeAll: function() { var len = this.__listeners.length; this.__listeners.splice(0,len); this.__priorities.splice(0,len); this.__repeat.splice(0,len); } ,__listeners: null ,dispatch: function(a,a1,a2) { this.canceled = false; var listeners = this.__listeners; var repeat = this.__repeat; var i = 0; while(i < listeners.length) { listeners[i](a,a1,a2); if(!repeat[i]) { this.remove(listeners[i]); } else { ++i; } if(this.canceled) { break; } } } ,__class__: lime_app__$Event_$Float_$Float_$lime_$ui_$MouseButton_$Void }; var lime_app__$Event_$Float_$Float_$lime_$ui_$MouseWheelMode_$Void = function() { this.canceled = false; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; $hxClasses["lime.app._Event_Float_Float_lime_ui_MouseWheelMode_Void"] = lime_app__$Event_$Float_$Float_$lime_$ui_$MouseWheelMode_$Void; lime_app__$Event_$Float_$Float_$lime_$ui_$MouseWheelMode_$Void.__name__ = "lime.app._Event_Float_Float_lime_ui_MouseWheelMode_Void"; lime_app__$Event_$Float_$Float_$lime_$ui_$MouseWheelMode_$Void.prototype = { canceled: null ,__repeat: null ,__priorities: null ,add: function(listener,once,priority) { if(priority == null) { priority = 0; } if(once == null) { once = false; } var _g = 0; var _g1 = this.__priorities.length; while(_g < _g1) { var i = _g++; if(priority > this.__priorities[i]) { this.__listeners.splice(i,0,listener); this.__priorities.splice(i,0,priority); this.__repeat.splice(i,0,!once); return; } } this.__listeners.push(listener); this.__priorities.push(priority); this.__repeat.push(!once); } ,cancel: function() { this.canceled = true; } ,has: function(listener) { var _g = 0; var _g1 = this.__listeners; while(_g < _g1.length) { var l = _g1[_g]; ++_g; if(Reflect.compareMethods(l,listener)) { return true; } } return false; } ,remove: function(listener) { var i = this.__listeners.length; while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) { this.__listeners.splice(i,1); this.__priorities.splice(i,1); this.__repeat.splice(i,1); } } ,removeAll: function() { var len = this.__listeners.length; this.__listeners.splice(0,len); this.__priorities.splice(0,len); this.__repeat.splice(0,len); } ,__listeners: null ,dispatch: function(a,a1,a2) { this.canceled = false; var listeners = this.__listeners; var repeat = this.__repeat; var i = 0; while(i < listeners.length) { listeners[i](a,a1,a2); if(!repeat[i]) { this.remove(listeners[i]); } else { ++i; } if(this.canceled) { break; } } } ,__class__: lime_app__$Event_$Float_$Float_$lime_$ui_$MouseWheelMode_$Void }; var lime_app__$Event_$Int_$Float_$Float_$Void = function() { this.canceled = false; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; $hxClasses["lime.app._Event_Int_Float_Float_Void"] = lime_app__$Event_$Int_$Float_$Float_$Void; lime_app__$Event_$Int_$Float_$Float_$Void.__name__ = "lime.app._Event_Int_Float_Float_Void"; lime_app__$Event_$Int_$Float_$Float_$Void.prototype = { canceled: null ,__repeat: null ,__priorities: null ,add: function(listener,once,priority) { if(priority == null) { priority = 0; } if(once == null) { once = false; } var _g = 0; var _g1 = this.__priorities.length; while(_g < _g1) { var i = _g++; if(priority > this.__priorities[i]) { this.__listeners.splice(i,0,listener); this.__priorities.splice(i,0,priority); this.__repeat.splice(i,0,!once); return; } } this.__listeners.push(listener); this.__priorities.push(priority); this.__repeat.push(!once); } ,cancel: function() { this.canceled = true; } ,has: function(listener) { var _g = 0; var _g1 = this.__listeners; while(_g < _g1.length) { var l = _g1[_g]; ++_g; if(Reflect.compareMethods(l,listener)) { return true; } } return false; } ,remove: function(listener) { var i = this.__listeners.length; while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) { this.__listeners.splice(i,1); this.__priorities.splice(i,1); this.__repeat.splice(i,1); } } ,removeAll: function() { var len = this.__listeners.length; this.__listeners.splice(0,len); this.__priorities.splice(0,len); this.__repeat.splice(0,len); } ,__listeners: null ,dispatch: function(a,a1,a2) { this.canceled = false; var listeners = this.__listeners; var repeat = this.__repeat; var i = 0; while(i < listeners.length) { listeners[i](a,a1,a2); if(!repeat[i]) { this.remove(listeners[i]); } else { ++i; } if(this.canceled) { break; } } } ,__class__: lime_app__$Event_$Int_$Float_$Float_$Void }; var lime_app__$Event_$Int_$Float_$Void = function() { this.canceled = false; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; $hxClasses["lime.app._Event_Int_Float_Void"] = lime_app__$Event_$Int_$Float_$Void; lime_app__$Event_$Int_$Float_$Void.__name__ = "lime.app._Event_Int_Float_Void"; lime_app__$Event_$Int_$Float_$Void.prototype = { canceled: null ,__repeat: null ,__priorities: null ,add: function(listener,once,priority) { if(priority == null) { priority = 0; } if(once == null) { once = false; } var _g = 0; var _g1 = this.__priorities.length; while(_g < _g1) { var i = _g++; if(priority > this.__priorities[i]) { this.__listeners.splice(i,0,listener); this.__priorities.splice(i,0,priority); this.__repeat.splice(i,0,!once); return; } } this.__listeners.push(listener); this.__priorities.push(priority); this.__repeat.push(!once); } ,cancel: function() { this.canceled = true; } ,has: function(listener) { var _g = 0; var _g1 = this.__listeners; while(_g < _g1.length) { var l = _g1[_g]; ++_g; if(Reflect.compareMethods(l,listener)) { return true; } } return false; } ,remove: function(listener) { var i = this.__listeners.length; while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) { this.__listeners.splice(i,1); this.__priorities.splice(i,1); this.__repeat.splice(i,1); } } ,removeAll: function() { var len = this.__listeners.length; this.__listeners.splice(0,len); this.__priorities.splice(0,len); this.__repeat.splice(0,len); } ,__listeners: null ,dispatch: function(a,a1) { this.canceled = false; var listeners = this.__listeners; var repeat = this.__repeat; var i = 0; while(i < listeners.length) { listeners[i](a,a1); if(!repeat[i]) { this.remove(listeners[i]); } else { ++i; } if(this.canceled) { break; } } } ,__class__: lime_app__$Event_$Int_$Float_$Void }; var lime_app__$Event_$Int_$Int_$Void = function() { this.canceled = false; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; $hxClasses["lime.app._Event_Int_Int_Void"] = lime_app__$Event_$Int_$Int_$Void; lime_app__$Event_$Int_$Int_$Void.__name__ = "lime.app._Event_Int_Int_Void"; lime_app__$Event_$Int_$Int_$Void.prototype = { canceled: null ,__repeat: null ,__priorities: null ,add: function(listener,once,priority) { if(priority == null) { priority = 0; } if(once == null) { once = false; } var _g = 0; var _g1 = this.__priorities.length; while(_g < _g1) { var i = _g++; if(priority > this.__priorities[i]) { this.__listeners.splice(i,0,listener); this.__priorities.splice(i,0,priority); this.__repeat.splice(i,0,!once); return; } } this.__listeners.push(listener); this.__priorities.push(priority); this.__repeat.push(!once); } ,cancel: function() { this.canceled = true; } ,has: function(listener) { var _g = 0; var _g1 = this.__listeners; while(_g < _g1.length) { var l = _g1[_g]; ++_g; if(Reflect.compareMethods(l,listener)) { return true; } } return false; } ,remove: function(listener) { var i = this.__listeners.length; while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) { this.__listeners.splice(i,1); this.__priorities.splice(i,1); this.__repeat.splice(i,1); } } ,removeAll: function() { var len = this.__listeners.length; this.__listeners.splice(0,len); this.__priorities.splice(0,len); this.__repeat.splice(0,len); } ,__listeners: null ,dispatch: function(a,a1) { this.canceled = false; var listeners = this.__listeners; var repeat = this.__repeat; var i = 0; while(i < listeners.length) { listeners[i](a,a1); if(!repeat[i]) { this.remove(listeners[i]); } else { ++i; } if(this.canceled) { break; } } } ,__class__: lime_app__$Event_$Int_$Int_$Void }; var lime_app__$Event_$Int_$Void = function() { this.canceled = false; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; $hxClasses["lime.app._Event_Int_Void"] = lime_app__$Event_$Int_$Void; lime_app__$Event_$Int_$Void.__name__ = "lime.app._Event_Int_Void"; lime_app__$Event_$Int_$Void.prototype = { canceled: null ,__repeat: null ,__priorities: null ,add: function(listener,once,priority) { if(priority == null) { priority = 0; } if(once == null) { once = false; } var _g = 0; var _g1 = this.__priorities.length; while(_g < _g1) { var i = _g++; if(priority > this.__priorities[i]) { this.__listeners.splice(i,0,listener); this.__priorities.splice(i,0,priority); this.__repeat.splice(i,0,!once); return; } } this.__listeners.push(listener); this.__priorities.push(priority); this.__repeat.push(!once); } ,cancel: function() { this.canceled = true; } ,has: function(listener) { var _g = 0; var _g1 = this.__listeners; while(_g < _g1.length) { var l = _g1[_g]; ++_g; if(Reflect.compareMethods(l,listener)) { return true; } } return false; } ,remove: function(listener) { var i = this.__listeners.length; while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) { this.__listeners.splice(i,1); this.__priorities.splice(i,1); this.__repeat.splice(i,1); } } ,removeAll: function() { var len = this.__listeners.length; this.__listeners.splice(0,len); this.__priorities.splice(0,len); this.__repeat.splice(0,len); } ,__listeners: null ,dispatch: function(a) { this.canceled = false; var listeners = this.__listeners; var repeat = this.__repeat; var i = 0; while(i < listeners.length) { listeners[i](a); if(!repeat[i]) { this.remove(listeners[i]); } else { ++i; } if(this.canceled) { break; } } } ,__class__: lime_app__$Event_$Int_$Void }; var lime_app__$Event_$Int_$lime_$ui_$JoystickHatPosition_$Void = function() { this.canceled = false; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; $hxClasses["lime.app._Event_Int_lime_ui_JoystickHatPosition_Void"] = lime_app__$Event_$Int_$lime_$ui_$JoystickHatPosition_$Void; lime_app__$Event_$Int_$lime_$ui_$JoystickHatPosition_$Void.__name__ = "lime.app._Event_Int_lime_ui_JoystickHatPosition_Void"; lime_app__$Event_$Int_$lime_$ui_$JoystickHatPosition_$Void.prototype = { canceled: null ,__repeat: null ,__priorities: null ,add: function(listener,once,priority) { if(priority == null) { priority = 0; } if(once == null) { once = false; } var _g = 0; var _g1 = this.__priorities.length; while(_g < _g1) { var i = _g++; if(priority > this.__priorities[i]) { this.__listeners.splice(i,0,listener); this.__priorities.splice(i,0,priority); this.__repeat.splice(i,0,!once); return; } } this.__listeners.push(listener); this.__priorities.push(priority); this.__repeat.push(!once); } ,cancel: function() { this.canceled = true; } ,has: function(listener) { var _g = 0; var _g1 = this.__listeners; while(_g < _g1.length) { var l = _g1[_g]; ++_g; if(Reflect.compareMethods(l,listener)) { return true; } } return false; } ,remove: function(listener) { var i = this.__listeners.length; while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) { this.__listeners.splice(i,1); this.__priorities.splice(i,1); this.__repeat.splice(i,1); } } ,removeAll: function() { var len = this.__listeners.length; this.__listeners.splice(0,len); this.__priorities.splice(0,len); this.__repeat.splice(0,len); } ,__listeners: null ,dispatch: function(a,a1) { this.canceled = false; var listeners = this.__listeners; var repeat = this.__repeat; var i = 0; while(i < listeners.length) { listeners[i](a,a1); if(!repeat[i]) { this.remove(listeners[i]); } else { ++i; } if(this.canceled) { break; } } } ,__class__: lime_app__$Event_$Int_$lime_$ui_$JoystickHatPosition_$Void }; var lime_app__$Event_$String_$Int_$Int_$Void = function() { this.canceled = false; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; $hxClasses["lime.app._Event_String_Int_Int_Void"] = lime_app__$Event_$String_$Int_$Int_$Void; lime_app__$Event_$String_$Int_$Int_$Void.__name__ = "lime.app._Event_String_Int_Int_Void"; lime_app__$Event_$String_$Int_$Int_$Void.prototype = { canceled: null ,__repeat: null ,__priorities: null ,add: function(listener,once,priority) { if(priority == null) { priority = 0; } if(once == null) { once = false; } var _g = 0; var _g1 = this.__priorities.length; while(_g < _g1) { var i = _g++; if(priority > this.__priorities[i]) { this.__listeners.splice(i,0,listener); this.__priorities.splice(i,0,priority); this.__repeat.splice(i,0,!once); return; } } this.__listeners.push(listener); this.__priorities.push(priority); this.__repeat.push(!once); } ,cancel: function() { this.canceled = true; } ,has: function(listener) { var _g = 0; var _g1 = this.__listeners; while(_g < _g1.length) { var l = _g1[_g]; ++_g; if(Reflect.compareMethods(l,listener)) { return true; } } return false; } ,remove: function(listener) { var i = this.__listeners.length; while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) { this.__listeners.splice(i,1); this.__priorities.splice(i,1); this.__repeat.splice(i,1); } } ,removeAll: function() { var len = this.__listeners.length; this.__listeners.splice(0,len); this.__priorities.splice(0,len); this.__repeat.splice(0,len); } ,__listeners: null ,dispatch: function(a,a1,a2) { this.canceled = false; var listeners = this.__listeners; var repeat = this.__repeat; var i = 0; while(i < listeners.length) { listeners[i](a,a1,a2); if(!repeat[i]) { this.remove(listeners[i]); } else { ++i; } if(this.canceled) { break; } } } ,__class__: lime_app__$Event_$String_$Int_$Int_$Void }; var lime_app__$Event_$String_$Void = function() { this.canceled = false; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; $hxClasses["lime.app._Event_String_Void"] = lime_app__$Event_$String_$Void; lime_app__$Event_$String_$Void.__name__ = "lime.app._Event_String_Void"; lime_app__$Event_$String_$Void.prototype = { canceled: null ,__repeat: null ,__priorities: null ,add: function(listener,once,priority) { if(priority == null) { priority = 0; } if(once == null) { once = false; } var _g = 0; var _g1 = this.__priorities.length; while(_g < _g1) { var i = _g++; if(priority > this.__priorities[i]) { this.__listeners.splice(i,0,listener); this.__priorities.splice(i,0,priority); this.__repeat.splice(i,0,!once); return; } } this.__listeners.push(listener); this.__priorities.push(priority); this.__repeat.push(!once); } ,cancel: function() { this.canceled = true; } ,has: function(listener) { var _g = 0; var _g1 = this.__listeners; while(_g < _g1.length) { var l = _g1[_g]; ++_g; if(Reflect.compareMethods(l,listener)) { return true; } } return false; } ,remove: function(listener) { var i = this.__listeners.length; while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) { this.__listeners.splice(i,1); this.__priorities.splice(i,1); this.__repeat.splice(i,1); } } ,removeAll: function() { var len = this.__listeners.length; this.__listeners.splice(0,len); this.__priorities.splice(0,len); this.__repeat.splice(0,len); } ,__listeners: null ,dispatch: function(a) { this.canceled = false; var listeners = this.__listeners; var repeat = this.__repeat; var i = 0; while(i < listeners.length) { listeners[i](a); if(!repeat[i]) { this.remove(listeners[i]); } else { ++i; } if(this.canceled) { break; } } } ,__class__: lime_app__$Event_$String_$Void }; var lime_app__$Event_$Void_$Void = function() { this.canceled = false; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; $hxClasses["lime.app._Event_Void_Void"] = lime_app__$Event_$Void_$Void; lime_app__$Event_$Void_$Void.__name__ = "lime.app._Event_Void_Void"; lime_app__$Event_$Void_$Void.prototype = { canceled: null ,__repeat: null ,__priorities: null ,add: function(listener,once,priority) { if(priority == null) { priority = 0; } if(once == null) { once = false; } var _g = 0; var _g1 = this.__priorities.length; while(_g < _g1) { var i = _g++; if(priority > this.__priorities[i]) { this.__listeners.splice(i,0,listener); this.__priorities.splice(i,0,priority); this.__repeat.splice(i,0,!once); return; } } this.__listeners.push(listener); this.__priorities.push(priority); this.__repeat.push(!once); } ,cancel: function() { this.canceled = true; } ,has: function(listener) { var _g = 0; var _g1 = this.__listeners; while(_g < _g1.length) { var l = _g1[_g]; ++_g; if(Reflect.compareMethods(l,listener)) { return true; } } return false; } ,remove: function(listener) { var i = this.__listeners.length; while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) { this.__listeners.splice(i,1); this.__priorities.splice(i,1); this.__repeat.splice(i,1); } } ,removeAll: function() { var len = this.__listeners.length; this.__listeners.splice(0,len); this.__priorities.splice(0,len); this.__repeat.splice(0,len); } ,__listeners: null ,dispatch: function() { this.canceled = false; var listeners = this.__listeners; var repeat = this.__repeat; var i = 0; while(i < listeners.length) { listeners[i](); if(!repeat[i]) { this.remove(listeners[i]); } else { ++i; } if(this.canceled) { break; } } } ,__class__: lime_app__$Event_$Void_$Void }; var lime_app__$Event_$lime_$graphics_$RenderContext_$Void = function() { this.canceled = false; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; $hxClasses["lime.app._Event_lime_graphics_RenderContext_Void"] = lime_app__$Event_$lime_$graphics_$RenderContext_$Void; lime_app__$Event_$lime_$graphics_$RenderContext_$Void.__name__ = "lime.app._Event_lime_graphics_RenderContext_Void"; lime_app__$Event_$lime_$graphics_$RenderContext_$Void.prototype = { canceled: null ,__repeat: null ,__priorities: null ,add: function(listener,once,priority) { if(priority == null) { priority = 0; } if(once == null) { once = false; } var _g = 0; var _g1 = this.__priorities.length; while(_g < _g1) { var i = _g++; if(priority > this.__priorities[i]) { this.__listeners.splice(i,0,listener); this.__priorities.splice(i,0,priority); this.__repeat.splice(i,0,!once); return; } } this.__listeners.push(listener); this.__priorities.push(priority); this.__repeat.push(!once); } ,cancel: function() { this.canceled = true; } ,has: function(listener) { var _g = 0; var _g1 = this.__listeners; while(_g < _g1.length) { var l = _g1[_g]; ++_g; if(Reflect.compareMethods(l,listener)) { return true; } } return false; } ,remove: function(listener) { var i = this.__listeners.length; while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) { this.__listeners.splice(i,1); this.__priorities.splice(i,1); this.__repeat.splice(i,1); } } ,removeAll: function() { var len = this.__listeners.length; this.__listeners.splice(0,len); this.__priorities.splice(0,len); this.__repeat.splice(0,len); } ,__listeners: null ,dispatch: function(a) { this.canceled = false; var listeners = this.__listeners; var repeat = this.__repeat; var i = 0; while(i < listeners.length) { listeners[i](a); if(!repeat[i]) { this.remove(listeners[i]); } else { ++i; } if(this.canceled) { break; } } } ,__class__: lime_app__$Event_$lime_$graphics_$RenderContext_$Void }; var lime_app__$Event_$lime_$ui_$GamepadAxis_$Float_$Void = function() { this.canceled = false; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; $hxClasses["lime.app._Event_lime_ui_GamepadAxis_Float_Void"] = lime_app__$Event_$lime_$ui_$GamepadAxis_$Float_$Void; lime_app__$Event_$lime_$ui_$GamepadAxis_$Float_$Void.__name__ = "lime.app._Event_lime_ui_GamepadAxis_Float_Void"; lime_app__$Event_$lime_$ui_$GamepadAxis_$Float_$Void.prototype = { canceled: null ,__repeat: null ,__priorities: null ,add: function(listener,once,priority) { if(priority == null) { priority = 0; } if(once == null) { once = false; } var _g = 0; var _g1 = this.__priorities.length; while(_g < _g1) { var i = _g++; if(priority > this.__priorities[i]) { this.__listeners.splice(i,0,listener); this.__priorities.splice(i,0,priority); this.__repeat.splice(i,0,!once); return; } } this.__listeners.push(listener); this.__priorities.push(priority); this.__repeat.push(!once); } ,cancel: function() { this.canceled = true; } ,has: function(listener) { var _g = 0; var _g1 = this.__listeners; while(_g < _g1.length) { var l = _g1[_g]; ++_g; if(Reflect.compareMethods(l,listener)) { return true; } } return false; } ,remove: function(listener) { var i = this.__listeners.length; while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) { this.__listeners.splice(i,1); this.__priorities.splice(i,1); this.__repeat.splice(i,1); } } ,removeAll: function() { var len = this.__listeners.length; this.__listeners.splice(0,len); this.__priorities.splice(0,len); this.__repeat.splice(0,len); } ,__listeners: null ,dispatch: function(a,a1) { this.canceled = false; var listeners = this.__listeners; var repeat = this.__repeat; var i = 0; while(i < listeners.length) { listeners[i](a,a1); if(!repeat[i]) { this.remove(listeners[i]); } else { ++i; } if(this.canceled) { break; } } } ,__class__: lime_app__$Event_$lime_$ui_$GamepadAxis_$Float_$Void }; var lime_app__$Event_$lime_$ui_$GamepadButton_$Void = function() { this.canceled = false; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; $hxClasses["lime.app._Event_lime_ui_GamepadButton_Void"] = lime_app__$Event_$lime_$ui_$GamepadButton_$Void; lime_app__$Event_$lime_$ui_$GamepadButton_$Void.__name__ = "lime.app._Event_lime_ui_GamepadButton_Void"; lime_app__$Event_$lime_$ui_$GamepadButton_$Void.prototype = { canceled: null ,__repeat: null ,__priorities: null ,add: function(listener,once,priority) { if(priority == null) { priority = 0; } if(once == null) { once = false; } var _g = 0; var _g1 = this.__priorities.length; while(_g < _g1) { var i = _g++; if(priority > this.__priorities[i]) { this.__listeners.splice(i,0,listener); this.__priorities.splice(i,0,priority); this.__repeat.splice(i,0,!once); return; } } this.__listeners.push(listener); this.__priorities.push(priority); this.__repeat.push(!once); } ,cancel: function() { this.canceled = true; } ,has: function(listener) { var _g = 0; var _g1 = this.__listeners; while(_g < _g1.length) { var l = _g1[_g]; ++_g; if(Reflect.compareMethods(l,listener)) { return true; } } return false; } ,remove: function(listener) { var i = this.__listeners.length; while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) { this.__listeners.splice(i,1); this.__priorities.splice(i,1); this.__repeat.splice(i,1); } } ,removeAll: function() { var len = this.__listeners.length; this.__listeners.splice(0,len); this.__priorities.splice(0,len); this.__repeat.splice(0,len); } ,__listeners: null ,dispatch: function(a) { this.canceled = false; var listeners = this.__listeners; var repeat = this.__repeat; var i = 0; while(i < listeners.length) { listeners[i](a); if(!repeat[i]) { this.remove(listeners[i]); } else { ++i; } if(this.canceled) { break; } } } ,__class__: lime_app__$Event_$lime_$ui_$GamepadButton_$Void }; var lime_app__$Event_$lime_$ui_$Gamepad_$Void = function() { this.canceled = false; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; $hxClasses["lime.app._Event_lime_ui_Gamepad_Void"] = lime_app__$Event_$lime_$ui_$Gamepad_$Void; lime_app__$Event_$lime_$ui_$Gamepad_$Void.__name__ = "lime.app._Event_lime_ui_Gamepad_Void"; lime_app__$Event_$lime_$ui_$Gamepad_$Void.prototype = { canceled: null ,__repeat: null ,__priorities: null ,add: function(listener,once,priority) { if(priority == null) { priority = 0; } if(once == null) { once = false; } var _g = 0; var _g1 = this.__priorities.length; while(_g < _g1) { var i = _g++; if(priority > this.__priorities[i]) { this.__listeners.splice(i,0,listener); this.__priorities.splice(i,0,priority); this.__repeat.splice(i,0,!once); return; } } this.__listeners.push(listener); this.__priorities.push(priority); this.__repeat.push(!once); } ,cancel: function() { this.canceled = true; } ,has: function(listener) { var _g = 0; var _g1 = this.__listeners; while(_g < _g1.length) { var l = _g1[_g]; ++_g; if(Reflect.compareMethods(l,listener)) { return true; } } return false; } ,remove: function(listener) { var i = this.__listeners.length; while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) { this.__listeners.splice(i,1); this.__priorities.splice(i,1); this.__repeat.splice(i,1); } } ,removeAll: function() { var len = this.__listeners.length; this.__listeners.splice(0,len); this.__priorities.splice(0,len); this.__repeat.splice(0,len); } ,__listeners: null ,dispatch: function(a) { this.canceled = false; var listeners = this.__listeners; var repeat = this.__repeat; var i = 0; while(i < listeners.length) { listeners[i](a); if(!repeat[i]) { this.remove(listeners[i]); } else { ++i; } if(this.canceled) { break; } } } ,__class__: lime_app__$Event_$lime_$ui_$Gamepad_$Void }; var lime_app__$Event_$lime_$ui_$Joystick_$Void = function() { this.canceled = false; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; $hxClasses["lime.app._Event_lime_ui_Joystick_Void"] = lime_app__$Event_$lime_$ui_$Joystick_$Void; lime_app__$Event_$lime_$ui_$Joystick_$Void.__name__ = "lime.app._Event_lime_ui_Joystick_Void"; lime_app__$Event_$lime_$ui_$Joystick_$Void.prototype = { canceled: null ,__repeat: null ,__priorities: null ,add: function(listener,once,priority) { if(priority == null) { priority = 0; } if(once == null) { once = false; } var _g = 0; var _g1 = this.__priorities.length; while(_g < _g1) { var i = _g++; if(priority > this.__priorities[i]) { this.__listeners.splice(i,0,listener); this.__priorities.splice(i,0,priority); this.__repeat.splice(i,0,!once); return; } } this.__listeners.push(listener); this.__priorities.push(priority); this.__repeat.push(!once); } ,cancel: function() { this.canceled = true; } ,has: function(listener) { var _g = 0; var _g1 = this.__listeners; while(_g < _g1.length) { var l = _g1[_g]; ++_g; if(Reflect.compareMethods(l,listener)) { return true; } } return false; } ,remove: function(listener) { var i = this.__listeners.length; while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) { this.__listeners.splice(i,1); this.__priorities.splice(i,1); this.__repeat.splice(i,1); } } ,removeAll: function() { var len = this.__listeners.length; this.__listeners.splice(0,len); this.__priorities.splice(0,len); this.__repeat.splice(0,len); } ,__listeners: null ,dispatch: function(a) { this.canceled = false; var listeners = this.__listeners; var repeat = this.__repeat; var i = 0; while(i < listeners.length) { listeners[i](a); if(!repeat[i]) { this.remove(listeners[i]); } else { ++i; } if(this.canceled) { break; } } } ,__class__: lime_app__$Event_$lime_$ui_$Joystick_$Void }; var lime_app__$Event_$lime_$ui_$KeyCode_$lime_$ui_$KeyModifier_$Void = function() { this.canceled = false; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; $hxClasses["lime.app._Event_lime_ui_KeyCode_lime_ui_KeyModifier_Void"] = lime_app__$Event_$lime_$ui_$KeyCode_$lime_$ui_$KeyModifier_$Void; lime_app__$Event_$lime_$ui_$KeyCode_$lime_$ui_$KeyModifier_$Void.__name__ = "lime.app._Event_lime_ui_KeyCode_lime_ui_KeyModifier_Void"; lime_app__$Event_$lime_$ui_$KeyCode_$lime_$ui_$KeyModifier_$Void.prototype = { canceled: null ,__repeat: null ,__priorities: null ,add: function(listener,once,priority) { if(priority == null) { priority = 0; } if(once == null) { once = false; } var _g = 0; var _g1 = this.__priorities.length; while(_g < _g1) { var i = _g++; if(priority > this.__priorities[i]) { this.__listeners.splice(i,0,listener); this.__priorities.splice(i,0,priority); this.__repeat.splice(i,0,!once); return; } } this.__listeners.push(listener); this.__priorities.push(priority); this.__repeat.push(!once); } ,cancel: function() { this.canceled = true; } ,has: function(listener) { var _g = 0; var _g1 = this.__listeners; while(_g < _g1.length) { var l = _g1[_g]; ++_g; if(Reflect.compareMethods(l,listener)) { return true; } } return false; } ,remove: function(listener) { var i = this.__listeners.length; while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) { this.__listeners.splice(i,1); this.__priorities.splice(i,1); this.__repeat.splice(i,1); } } ,removeAll: function() { var len = this.__listeners.length; this.__listeners.splice(0,len); this.__priorities.splice(0,len); this.__repeat.splice(0,len); } ,__listeners: null ,dispatch: function(a,a1) { this.canceled = false; var listeners = this.__listeners; var repeat = this.__repeat; var i = 0; while(i < listeners.length) { listeners[i](a,a1); if(!repeat[i]) { this.remove(listeners[i]); } else { ++i; } if(this.canceled) { break; } } } ,__class__: lime_app__$Event_$lime_$ui_$KeyCode_$lime_$ui_$KeyModifier_$Void }; var lime_app__$Event_$lime_$ui_$Touch_$Void = function() { this.canceled = false; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; $hxClasses["lime.app._Event_lime_ui_Touch_Void"] = lime_app__$Event_$lime_$ui_$Touch_$Void; lime_app__$Event_$lime_$ui_$Touch_$Void.__name__ = "lime.app._Event_lime_ui_Touch_Void"; lime_app__$Event_$lime_$ui_$Touch_$Void.prototype = { canceled: null ,__repeat: null ,__priorities: null ,add: function(listener,once,priority) { if(priority == null) { priority = 0; } if(once == null) { once = false; } var _g = 0; var _g1 = this.__priorities.length; while(_g < _g1) { var i = _g++; if(priority > this.__priorities[i]) { this.__listeners.splice(i,0,listener); this.__priorities.splice(i,0,priority); this.__repeat.splice(i,0,!once); return; } } this.__listeners.push(listener); this.__priorities.push(priority); this.__repeat.push(!once); } ,cancel: function() { this.canceled = true; } ,has: function(listener) { var _g = 0; var _g1 = this.__listeners; while(_g < _g1.length) { var l = _g1[_g]; ++_g; if(Reflect.compareMethods(l,listener)) { return true; } } return false; } ,remove: function(listener) { var i = this.__listeners.length; while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) { this.__listeners.splice(i,1); this.__priorities.splice(i,1); this.__repeat.splice(i,1); } } ,removeAll: function() { var len = this.__listeners.length; this.__listeners.splice(0,len); this.__priorities.splice(0,len); this.__repeat.splice(0,len); } ,__listeners: null ,dispatch: function(a) { this.canceled = false; var listeners = this.__listeners; var repeat = this.__repeat; var i = 0; while(i < listeners.length) { listeners[i](a); if(!repeat[i]) { this.remove(listeners[i]); } else { ++i; } if(this.canceled) { break; } } } ,__class__: lime_app__$Event_$lime_$ui_$Touch_$Void }; var lime_app__$Event_$lime_$ui_$Window_$Void = function() { this.canceled = false; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; $hxClasses["lime.app._Event_lime_ui_Window_Void"] = lime_app__$Event_$lime_$ui_$Window_$Void; lime_app__$Event_$lime_$ui_$Window_$Void.__name__ = "lime.app._Event_lime_ui_Window_Void"; lime_app__$Event_$lime_$ui_$Window_$Void.prototype = { canceled: null ,__repeat: null ,__priorities: null ,add: function(listener,once,priority) { if(priority == null) { priority = 0; } if(once == null) { once = false; } var _g = 0; var _g1 = this.__priorities.length; while(_g < _g1) { var i = _g++; if(priority > this.__priorities[i]) { this.__listeners.splice(i,0,listener); this.__priorities.splice(i,0,priority); this.__repeat.splice(i,0,!once); return; } } this.__listeners.push(listener); this.__priorities.push(priority); this.__repeat.push(!once); } ,cancel: function() { this.canceled = true; } ,has: function(listener) { var _g = 0; var _g1 = this.__listeners; while(_g < _g1.length) { var l = _g1[_g]; ++_g; if(Reflect.compareMethods(l,listener)) { return true; } } return false; } ,remove: function(listener) { var i = this.__listeners.length; while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) { this.__listeners.splice(i,1); this.__priorities.splice(i,1); this.__repeat.splice(i,1); } } ,removeAll: function() { var len = this.__listeners.length; this.__listeners.splice(0,len); this.__priorities.splice(0,len); this.__repeat.splice(0,len); } ,__listeners: null ,dispatch: function(a) { this.canceled = false; var listeners = this.__listeners; var repeat = this.__repeat; var i = 0; while(i < listeners.length) { listeners[i](a); if(!repeat[i]) { this.remove(listeners[i]); } else { ++i; } if(this.canceled) { break; } } } ,__class__: lime_app__$Event_$lime_$ui_$Window_$Void }; var lime_app__$Event_$lime_$utils_$Resource_$Void = function() { this.canceled = false; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; $hxClasses["lime.app._Event_lime_utils_Resource_Void"] = lime_app__$Event_$lime_$utils_$Resource_$Void; lime_app__$Event_$lime_$utils_$Resource_$Void.__name__ = "lime.app._Event_lime_utils_Resource_Void"; lime_app__$Event_$lime_$utils_$Resource_$Void.prototype = { canceled: null ,__repeat: null ,__priorities: null ,add: function(listener,once,priority) { if(priority == null) { priority = 0; } if(once == null) { once = false; } var _g = 0; var _g1 = this.__priorities.length; while(_g < _g1) { var i = _g++; if(priority > this.__priorities[i]) { this.__listeners.splice(i,0,listener); this.__priorities.splice(i,0,priority); this.__repeat.splice(i,0,!once); return; } } this.__listeners.push(listener); this.__priorities.push(priority); this.__repeat.push(!once); } ,cancel: function() { this.canceled = true; } ,has: function(listener) { var _g = 0; var _g1 = this.__listeners; while(_g < _g1.length) { var l = _g1[_g]; ++_g; if(Reflect.compareMethods(l,listener)) { return true; } } return false; } ,remove: function(listener) { var i = this.__listeners.length; while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) { this.__listeners.splice(i,1); this.__priorities.splice(i,1); this.__repeat.splice(i,1); } } ,removeAll: function() { var len = this.__listeners.length; this.__listeners.splice(0,len); this.__priorities.splice(0,len); this.__repeat.splice(0,len); } ,__listeners: null ,dispatch: function(a) { this.canceled = false; var listeners = this.__listeners; var repeat = this.__repeat; var i = 0; while(i < listeners.length) { listeners[i](a); if(!repeat[i]) { this.remove(listeners[i]); } else { ++i; } if(this.canceled) { break; } } } ,__class__: lime_app__$Event_$lime_$utils_$Resource_$Void }; var lime_app__$Event_$ofEvents_$T_$Void = function() { this.canceled = false; this.__listeners = []; this.__priorities = []; this.__repeat = []; }; $hxClasses["lime.app._Event_ofEvents_T_Void"] = lime_app__$Event_$ofEvents_$T_$Void; lime_app__$Event_$ofEvents_$T_$Void.__name__ = "lime.app._Event_ofEvents_T_Void"; lime_app__$Event_$ofEvents_$T_$Void.prototype = { canceled: null ,__repeat: null ,__priorities: null ,add: function(listener,once,priority) { if(priority == null) { priority = 0; } if(once == null) { once = false; } var _g = 0; var _g1 = this.__priorities.length; while(_g < _g1) { var i = _g++; if(priority > this.__priorities[i]) { this.__listeners.splice(i,0,listener); this.__priorities.splice(i,0,priority); this.__repeat.splice(i,0,!once); return; } } this.__listeners.push(listener); this.__priorities.push(priority); this.__repeat.push(!once); } ,cancel: function() { this.canceled = true; } ,has: function(listener) { var _g = 0; var _g1 = this.__listeners; while(_g < _g1.length) { var l = _g1[_g]; ++_g; if(Reflect.compareMethods(l,listener)) { return true; } } return false; } ,remove: function(listener) { var i = this.__listeners.length; while(--i >= 0) if(Reflect.compareMethods(this.__listeners[i],listener)) { this.__listeners.splice(i,1); this.__priorities.splice(i,1); this.__repeat.splice(i,1); } } ,removeAll: function() { var len = this.__listeners.length; this.__listeners.splice(0,len); this.__priorities.splice(0,len); this.__repeat.splice(0,len); } ,__listeners: null ,dispatch: function(a) { this.canceled = false; var listeners = this.__listeners; var repeat = this.__repeat; var i = 0; while(i < listeners.length) { listeners[i](a); if(!repeat[i]) { this.remove(listeners[i]); } else { ++i; } if(this.canceled) { break; } } } ,__class__: lime_app__$Event_$ofEvents_$T_$Void }; var lime_graphics__$CairoRenderContext_CairoRenderContext_$Impl_$ = {}; $hxClasses["lime.graphics._CairoRenderContext.CairoRenderContext_Impl_"] = lime_graphics__$CairoRenderContext_CairoRenderContext_$Impl_$; lime_graphics__$CairoRenderContext_CairoRenderContext_$Impl_$.__name__ = "lime.graphics._CairoRenderContext.CairoRenderContext_Impl_"; lime_graphics__$CairoRenderContext_CairoRenderContext_$Impl_$.fromRenderContext = function(context) { return context.cairo; }; var lime_graphics__$Canvas2DRenderContext_Canvas2DRenderContext_$Impl_$ = {}; $hxClasses["lime.graphics._Canvas2DRenderContext.Canvas2DRenderContext_Impl_"] = lime_graphics__$Canvas2DRenderContext_Canvas2DRenderContext_$Impl_$; lime_graphics__$Canvas2DRenderContext_Canvas2DRenderContext_$Impl_$.__name__ = "lime.graphics._Canvas2DRenderContext.Canvas2DRenderContext_Impl_"; lime_graphics__$Canvas2DRenderContext_Canvas2DRenderContext_$Impl_$.fromRenderContext = function(context) { return context.canvas2D; }; var lime_graphics__$DOMRenderContext_DOMRenderContext_$Impl_$ = {}; $hxClasses["lime.graphics._DOMRenderContext.DOMRenderContext_Impl_"] = lime_graphics__$DOMRenderContext_DOMRenderContext_$Impl_$; lime_graphics__$DOMRenderContext_DOMRenderContext_$Impl_$.__name__ = "lime.graphics._DOMRenderContext.DOMRenderContext_Impl_"; lime_graphics__$DOMRenderContext_DOMRenderContext_$Impl_$.fromRenderContext = function(context) { return context.dom; }; var lime_graphics__$FlashRenderContext_FlashRenderContext_$Impl_$ = {}; $hxClasses["lime.graphics._FlashRenderContext.FlashRenderContext_Impl_"] = lime_graphics__$FlashRenderContext_FlashRenderContext_$Impl_$; lime_graphics__$FlashRenderContext_FlashRenderContext_$Impl_$.__name__ = "lime.graphics._FlashRenderContext.FlashRenderContext_Impl_"; lime_graphics__$FlashRenderContext_FlashRenderContext_$Impl_$.fromRenderContext = function(context) { return null; }; var lime_graphics_Image = function(buffer,offsetX,offsetY,width,height,color,type) { if(height == null) { height = -1; } if(width == null) { width = -1; } if(offsetY == null) { offsetY = 0; } if(offsetX == null) { offsetX = 0; } this.offsetX = offsetX; this.offsetY = offsetY; this.width = width; this.height = height; this.version = 0; if(type == null) { type = lime_graphics_ImageType.CANVAS; } this.type = type; if(buffer == null) { if(width > 0 && height > 0) { switch(this.type._hx_index) { case 0: this.buffer = new lime_graphics_ImageBuffer(null,width,height); lime__$internal_graphics_ImageCanvasUtil.createCanvas(this,width,height); if(color != null && color != 0) { this.fillRect(new lime_math_Rectangle(0,0,width,height),color); } break; case 1: var elements = width * height * 4; var array = null; var vector = null; var view = null; var buffer1 = null; var len = null; var this1; if(elements != null) { this1 = new Uint8Array(elements); } else if(array != null) { this1 = new Uint8Array(array); } else if(vector != null) { this1 = new Uint8Array(vector.__array); } else if(view != null) { this1 = new Uint8Array(view); } else if(buffer1 != null) { if(len == null) { this1 = new Uint8Array(buffer1,0); } else { this1 = new Uint8Array(buffer1,0,len); } } else { this1 = null; } this.buffer = new lime_graphics_ImageBuffer(this1,width,height); if(color != null && color != 0) { this.fillRect(new lime_math_Rectangle(0,0,width,height),color); } break; case 2: break; default: } } } else { this.__fromImageBuffer(buffer); } }; $hxClasses["lime.graphics.Image"] = lime_graphics_Image; lime_graphics_Image.__name__ = "lime.graphics.Image"; lime_graphics_Image.fromBase64 = function(base64,type) { if(base64 == null) { return null; } var image = new lime_graphics_Image(); image.__fromBase64(base64,type); return image; }; lime_graphics_Image.fromBitmapData = function(bitmapData) { if(bitmapData == null) { return null; } return bitmapData.image; }; lime_graphics_Image.fromBytes = function(bytes) { if(bytes == null) { return null; } var image = new lime_graphics_Image(); if(image.__fromBytes(bytes)) { return image; } else { return null; } }; lime_graphics_Image.fromCanvas = function(canvas) { if(canvas == null) { return null; } var buffer = new lime_graphics_ImageBuffer(null,canvas.width,canvas.height); buffer.set_src(canvas); var image = new lime_graphics_Image(buffer); image.type = lime_graphics_ImageType.CANVAS; return image; }; lime_graphics_Image.fromFile = function(path) { if(path == null) { return null; } var image = new lime_graphics_Image(); if(image.__fromFile(path)) { return image; } else { return null; } }; lime_graphics_Image.fromImageElement = function(image) { if(image == null) { return null; } var buffer = new lime_graphics_ImageBuffer(null,image.width,image.height); buffer.set_src(image); var _image = new lime_graphics_Image(buffer); _image.type = lime_graphics_ImageType.CANVAS; return _image; }; lime_graphics_Image.loadFromBase64 = function(base64,type) { if(base64 == null || type == null) { return lime_app_Future.withValue(null); } return lime__$internal_backend_html5_HTML5HTTPRequest.loadImage("data:" + type + ";base64," + base64); }; lime_graphics_Image.loadFromBytes = function(bytes) { if(bytes == null) { return lime_app_Future.withValue(null); } var type = ""; if(lime_graphics_Image.__isPNG(bytes)) { type = "image/png"; } else if(lime_graphics_Image.__isJPG(bytes)) { type = "image/jpeg"; } else if(lime_graphics_Image.__isGIF(bytes)) { type = "image/gif"; } else if(lime_graphics_Image.__isWebP(bytes)) { type = "image/webp"; } else { return lime_app_Future.withValue(null); } return lime__$internal_backend_html5_HTML5HTTPRequest.loadImageFromBytes(bytes,type); }; lime_graphics_Image.loadFromFile = function(path) { if(path == null) { return lime_app_Future.withValue(null); } return lime__$internal_backend_html5_HTML5HTTPRequest.loadImage(path); }; lime_graphics_Image.__isGIF = function(bytes) { if(bytes == null || bytes.length < 6) { return false; } var header = bytes.getString(0,6); if(header != "GIF87a") { return header == "GIF89a"; } else { return true; } }; lime_graphics_Image.__isJPG = function(bytes) { if(bytes == null || bytes.length < 4) { return false; } if(bytes.b[0] == 255 && bytes.b[1] == 216 && bytes.b[bytes.length - 2] == 255) { return bytes.b[bytes.length - 1] == 217; } else { return false; } }; lime_graphics_Image.__isPNG = function(bytes) { if(bytes == null || bytes.length < 8) { return false; } if(bytes.b[0] == 137 && bytes.b[1] == 80 && bytes.b[2] == 78 && bytes.b[3] == 71 && bytes.b[4] == 13 && bytes.b[5] == 10 && bytes.b[6] == 26) { return bytes.b[7] == 10; } else { return false; } }; lime_graphics_Image.__isWebP = function(bytes) { if(bytes == null || bytes.length < 16) { return false; } if(bytes.getString(0,4) == "RIFF") { return bytes.getString(8,4) == "WEBP"; } else { return false; } }; lime_graphics_Image.prototype = { buffer: null ,dirty: null ,height: null ,offsetX: null ,offsetY: null ,rect: null ,type: null ,version: null ,width: null ,x: null ,y: null ,clone: function() { if(this.buffer != null) { if(this.type == lime_graphics_ImageType.CANVAS) { lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(this); } else { lime__$internal_graphics_ImageCanvasUtil.convertToData(this); } var image = new lime_graphics_Image(this.buffer.clone(),this.offsetX,this.offsetY,this.width,this.height,null,this.type); image.version = this.version; return image; } else { return new lime_graphics_Image(null,this.offsetX,this.offsetY,this.width,this.height,null,this.type); } } ,colorTransform: function(rect,colorMatrix) { rect = this.__clipRect(rect); if(this.buffer == null || rect == null) { return; } switch(this.type._hx_index) { case 0: lime__$internal_graphics_ImageCanvasUtil.colorTransform(this,rect,colorMatrix); break; case 1: lime__$internal_graphics_ImageCanvasUtil.convertToData(this); lime__$internal_graphics_ImageDataUtil.colorTransform(this,rect,colorMatrix); break; case 2: rect.offset(this.offsetX,this.offsetY); this.buffer.__srcBitmapData.colorTransform(rect.__toFlashRectangle(),lime_math__$ColorMatrix_ColorMatrix_$Impl_$.__toFlashColorTransform(colorMatrix)); break; default: } } ,copyChannel: function(sourceImage,sourceRect,destPoint,sourceChannel,destChannel) { sourceRect = this.__clipRect(sourceRect); if(this.buffer == null || sourceRect == null) { return; } if(destChannel == lime_graphics_ImageChannel.ALPHA && !this.get_transparent()) { return; } if(sourceRect.width <= 0 || sourceRect.height <= 0) { return; } if(sourceRect.x + sourceRect.width > sourceImage.width) { sourceRect.width = sourceImage.width - sourceRect.x; } if(sourceRect.y + sourceRect.height > sourceImage.height) { sourceRect.height = sourceImage.height - sourceRect.y; } switch(this.type._hx_index) { case 0: lime__$internal_graphics_ImageCanvasUtil.copyChannel(this,sourceImage,sourceRect,destPoint,sourceChannel,destChannel); break; case 1: lime__$internal_graphics_ImageCanvasUtil.convertToData(this); lime__$internal_graphics_ImageCanvasUtil.convertToData(sourceImage); lime__$internal_graphics_ImageDataUtil.copyChannel(this,sourceImage,sourceRect,destPoint,sourceChannel,destChannel); break; case 2: var srcChannel; switch(sourceChannel._hx_index) { case 0: srcChannel = 1; break; case 1: srcChannel = 2; break; case 2: srcChannel = 4; break; case 3: srcChannel = 8; break; } var dstChannel; switch(destChannel._hx_index) { case 0: dstChannel = 1; break; case 1: dstChannel = 2; break; case 2: dstChannel = 4; break; case 3: dstChannel = 8; break; } sourceRect.offset(sourceImage.offsetX,sourceImage.offsetY); destPoint.offset(this.offsetX,this.offsetY); this.buffer.__srcBitmapData.copyChannel(sourceImage.buffer.get_src(),sourceRect.__toFlashRectangle(),destPoint.__toFlashPoint(),srcChannel,dstChannel); break; default: } } ,copyPixels: function(sourceImage,sourceRect,destPoint,alphaImage,alphaPoint,mergeAlpha) { if(mergeAlpha == null) { mergeAlpha = false; } if(this.buffer == null || sourceImage == null) { return; } if(sourceRect.width <= 0 || sourceRect.height <= 0) { return; } if(this.width <= 0 || this.height <= 0) { return; } if(sourceRect.x + sourceRect.width > sourceImage.width) { sourceRect.width = sourceImage.width - sourceRect.x; } if(sourceRect.y + sourceRect.height > sourceImage.height) { sourceRect.height = sourceImage.height - sourceRect.y; } if(sourceRect.x < 0) { sourceRect.width += sourceRect.x; sourceRect.x = 0; } if(sourceRect.y < 0) { sourceRect.height += sourceRect.y; sourceRect.y = 0; } if(destPoint.x + sourceRect.width > this.width) { sourceRect.width = this.width - destPoint.x; } if(destPoint.y + sourceRect.height > this.height) { sourceRect.height = this.height - destPoint.y; } if(destPoint.x < 0) { sourceRect.width += destPoint.x; sourceRect.x -= destPoint.x; destPoint.x = 0; } if(destPoint.y < 0) { sourceRect.height += destPoint.y; sourceRect.y -= destPoint.y; destPoint.y = 0; } if(sourceImage == this && destPoint.x < sourceRect.get_right() && destPoint.y < sourceRect.get_bottom()) { sourceImage = this.clone(); } if(alphaImage == sourceImage && (alphaPoint == null || alphaPoint.x == 0 && alphaPoint.y == 0)) { alphaImage = null; alphaPoint = null; } switch(this.type._hx_index) { case 0: if(alphaImage != null) { lime__$internal_graphics_ImageCanvasUtil.convertToData(this); lime__$internal_graphics_ImageCanvasUtil.convertToData(sourceImage); if(alphaImage != null) { lime__$internal_graphics_ImageCanvasUtil.convertToData(alphaImage); } lime__$internal_graphics_ImageDataUtil.copyPixels(this,sourceImage,sourceRect,destPoint,alphaImage,alphaPoint,mergeAlpha); } else { lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(this); lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(sourceImage); lime__$internal_graphics_ImageCanvasUtil.copyPixels(this,sourceImage,sourceRect,destPoint,alphaImage,alphaPoint,mergeAlpha); } break; case 1: lime__$internal_graphics_ImageCanvasUtil.convertToData(this); lime__$internal_graphics_ImageCanvasUtil.convertToData(sourceImage); if(alphaImage != null) { lime__$internal_graphics_ImageCanvasUtil.convertToData(alphaImage); } lime__$internal_graphics_ImageDataUtil.copyPixels(this,sourceImage,sourceRect,destPoint,alphaImage,alphaPoint,mergeAlpha); break; case 2: sourceRect.offset(sourceImage.offsetX,sourceImage.offsetY); destPoint.offset(this.offsetX,this.offsetY); if(alphaImage != null && alphaPoint != null) { alphaPoint.offset(alphaImage.offsetX,alphaImage.offsetY); } this.buffer.__srcBitmapData.copyPixels(sourceImage.buffer.__srcBitmapData,sourceRect.__toFlashRectangle(),destPoint.__toFlashPoint(),alphaImage != null ? alphaImage.buffer.get_src() : null,alphaPoint != null ? alphaPoint.__toFlashPoint() : null,mergeAlpha); break; default: } } ,encode: function(format,quality) { if(quality == null) { quality = 90; } if(format == null) { return lime__$internal_format_PNG.encode(this); } else { switch(format._hx_index) { case 0: return lime__$internal_format_BMP.encode(this); case 1: return lime__$internal_format_JPEG.encode(this,quality); case 2: return lime__$internal_format_PNG.encode(this); } } } ,fillRect: function(rect,color,format) { rect = this.__clipRect(rect); if(this.buffer == null || rect == null) { return; } switch(this.type._hx_index) { case 0: lime__$internal_graphics_ImageCanvasUtil.fillRect(this,rect,color,format); break; case 1: lime__$internal_graphics_ImageCanvasUtil.convertToData(this); if(this.buffer.data.length == 0) { return; } lime__$internal_graphics_ImageDataUtil.fillRect(this,rect,color,format); break; case 2: rect.offset(this.offsetX,this.offsetY); var argb; if(format == null) { var rgba = color; var this1 = 0; var argb1 = this1; argb1 = (rgba & 255 & 255) << 24 | (rgba >>> 24 & 255 & 255) << 16 | (rgba >>> 16 & 255 & 255) << 8 | rgba >>> 8 & 255 & 255; argb = argb1; } else { switch(format) { case 1: argb = color; break; case 2: var bgra = color; var this2 = 0; var argb2 = this2; argb2 = (bgra & 255 & 255) << 24 | (bgra >>> 8 & 255 & 255) << 16 | (bgra >>> 16 & 255 & 255) << 8 | bgra >>> 24 & 255 & 255; argb = argb2; break; default: var rgba1 = color; var this3 = 0; var argb3 = this3; argb3 = (rgba1 & 255 & 255) << 24 | (rgba1 >>> 24 & 255 & 255) << 16 | (rgba1 >>> 16 & 255 & 255) << 8 | rgba1 >>> 8 & 255 & 255; argb = argb3; } } this.buffer.__srcBitmapData.fillRect(rect.__toFlashRectangle(),argb); break; default: } } ,floodFill: function(x,y,color,format) { if(this.buffer == null) { return; } switch(this.type._hx_index) { case 0: lime__$internal_graphics_ImageCanvasUtil.floodFill(this,x,y,color,format); break; case 1: lime__$internal_graphics_ImageCanvasUtil.convertToData(this); lime__$internal_graphics_ImageDataUtil.floodFill(this,x,y,color,format); break; case 2: var argb; if(format == null) { var rgba = color; var this1 = 0; var argb1 = this1; argb1 = (rgba & 255 & 255) << 24 | (rgba >>> 24 & 255 & 255) << 16 | (rgba >>> 16 & 255 & 255) << 8 | rgba >>> 8 & 255 & 255; argb = argb1; } else { switch(format) { case 1: argb = color; break; case 2: var bgra = color; var this2 = 0; var argb2 = this2; argb2 = (bgra & 255 & 255) << 24 | (bgra >>> 8 & 255 & 255) << 16 | (bgra >>> 16 & 255 & 255) << 8 | bgra >>> 24 & 255 & 255; argb = argb2; break; default: var rgba1 = color; var this3 = 0; var argb3 = this3; argb3 = (rgba1 & 255 & 255) << 24 | (rgba1 >>> 24 & 255 & 255) << 16 | (rgba1 >>> 16 & 255 & 255) << 8 | rgba1 >>> 8 & 255 & 255; argb = argb3; } } this.buffer.__srcBitmapData.floodFill(x + this.offsetX,y + this.offsetY,argb); break; default: } } ,getColorBoundsRect: function(mask,color,findColor,format) { if(findColor == null) { findColor = true; } if(this.buffer == null) { return null; } switch(this.type._hx_index) { case 0: lime__$internal_graphics_ImageCanvasUtil.convertToData(this); return lime__$internal_graphics_ImageDataUtil.getColorBoundsRect(this,mask,color,findColor,format); case 1: return lime__$internal_graphics_ImageDataUtil.getColorBoundsRect(this,mask,color,findColor,format); case 2: var rect = this.buffer.__srcBitmapData.getColorBoundsRect(mask,color,findColor); return new lime_math_Rectangle(rect.x,rect.y,rect.width,rect.height); default: return null; } } ,getPixel: function(x,y,format) { if(this.buffer == null || x < 0 || y < 0 || x >= this.width || y >= this.height) { return 0; } switch(this.type._hx_index) { case 0: return lime__$internal_graphics_ImageCanvasUtil.getPixel(this,x,y,format); case 1: lime__$internal_graphics_ImageCanvasUtil.convertToData(this); return lime__$internal_graphics_ImageDataUtil.getPixel(this,x,y,format); case 2: var color = this.buffer.__srcBitmapData.getPixel(x + this.offsetX,y + this.offsetY); if(format == null) { var this1 = 0; var rgba = this1; rgba = (color >>> 16 & 255 & 255) << 24 | (color >>> 8 & 255 & 255) << 16 | (color & 255 & 255) << 8 | color >>> 24 & 255 & 255; var rgba1 = rgba; return rgba1; } else { switch(format) { case 1: return color; case 2: var this2 = 0; var bgra = this2; bgra = (color & 255 & 255) << 24 | (color >>> 8 & 255 & 255) << 16 | (color >>> 16 & 255 & 255) << 8 | color >>> 24 & 255 & 255; var bgra1 = bgra; return bgra1; default: var this3 = 0; var rgba2 = this3; rgba2 = (color >>> 16 & 255 & 255) << 24 | (color >>> 8 & 255 & 255) << 16 | (color & 255 & 255) << 8 | color >>> 24 & 255 & 255; var rgba3 = rgba2; return rgba3; } } break; default: return 0; } } ,getPixel32: function(x,y,format) { if(this.buffer == null || x < 0 || y < 0 || x >= this.width || y >= this.height) { return 0; } switch(this.type._hx_index) { case 0: return lime__$internal_graphics_ImageCanvasUtil.getPixel32(this,x,y,format); case 1: lime__$internal_graphics_ImageCanvasUtil.convertToData(this); return lime__$internal_graphics_ImageDataUtil.getPixel32(this,x,y,format); case 2: var color = this.buffer.__srcBitmapData.getPixel32(x + this.offsetX,y + this.offsetY); if(format == null) { var this1 = 0; var rgba = this1; rgba = (color >>> 16 & 255 & 255) << 24 | (color >>> 8 & 255 & 255) << 16 | (color & 255 & 255) << 8 | color >>> 24 & 255 & 255; var rgba1 = rgba; return rgba1; } else { switch(format) { case 1: return color; case 2: var this2 = 0; var bgra = this2; bgra = (color & 255 & 255) << 24 | (color >>> 8 & 255 & 255) << 16 | (color >>> 16 & 255 & 255) << 8 | color >>> 24 & 255 & 255; var bgra1 = bgra; return bgra1; default: var this3 = 0; var rgba2 = this3; rgba2 = (color >>> 16 & 255 & 255) << 24 | (color >>> 8 & 255 & 255) << 16 | (color & 255 & 255) << 8 | color >>> 24 & 255 & 255; var rgba3 = rgba2; return rgba3; } } break; default: return 0; } } ,getPixels: function(rect,format) { if(this.buffer == null) { return null; } switch(this.type._hx_index) { case 0: return lime__$internal_graphics_ImageCanvasUtil.getPixels(this,rect,format); case 1: lime__$internal_graphics_ImageCanvasUtil.convertToData(this); return lime__$internal_graphics_ImageDataUtil.getPixels(this,rect,format); case 2: return null; default: return null; } } ,merge: function(sourceImage,sourceRect,destPoint,redMultiplier,greenMultiplier,blueMultiplier,alphaMultiplier) { if(this.buffer == null || sourceImage == null) { return; } switch(this.type._hx_index) { case 0: lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(this); lime__$internal_graphics_ImageCanvasUtil.merge(this,sourceImage,sourceRect,destPoint,redMultiplier,greenMultiplier,blueMultiplier,alphaMultiplier); break; case 1: lime__$internal_graphics_ImageCanvasUtil.convertToData(this); lime__$internal_graphics_ImageCanvasUtil.convertToData(sourceImage); lime__$internal_graphics_ImageDataUtil.merge(this,sourceImage,sourceRect,destPoint,redMultiplier,greenMultiplier,blueMultiplier,alphaMultiplier); break; case 2: sourceRect.offset(this.offsetX,this.offsetY); this.buffer.__srcBitmapData.merge(sourceImage.buffer.__srcBitmapData,sourceRect.__toFlashRectangle(),destPoint.__toFlashPoint(),redMultiplier,greenMultiplier,blueMultiplier,alphaMultiplier); break; default: return; } } ,resize: function(newWidth,newHeight) { switch(this.type._hx_index) { case 0: lime__$internal_graphics_ImageCanvasUtil.resize(this,newWidth,newHeight); break; case 1: lime__$internal_graphics_ImageDataUtil.resize(this,newWidth,newHeight); break; case 2: break; default: } this.buffer.width = newWidth; this.buffer.height = newHeight; this.offsetX = 0; this.offsetY = 0; this.width = newWidth; this.height = newHeight; } ,scroll: function(x,y) { if(this.buffer == null) { return; } switch(this.type._hx_index) { case 0: lime__$internal_graphics_ImageCanvasUtil.scroll(this,x,y); break; case 1: this.copyPixels(this,this.get_rect(),new lime_math_Vector2(x,y)); break; case 2: this.buffer.__srcBitmapData.scroll(x + this.offsetX,y + this.offsetX); break; default: } } ,setPixel: function(x,y,color,format) { if(this.buffer == null || x < 0 || y < 0 || x >= this.width || y >= this.height) { return; } switch(this.type._hx_index) { case 0: lime__$internal_graphics_ImageCanvasUtil.setPixel(this,x,y,color,format); break; case 1: lime__$internal_graphics_ImageCanvasUtil.convertToData(this); lime__$internal_graphics_ImageDataUtil.setPixel(this,x,y,color,format); break; case 2: var argb; if(format == null) { var rgba = color; var this1 = 0; var argb1 = this1; argb1 = (rgba & 255 & 255) << 24 | (rgba >>> 24 & 255 & 255) << 16 | (rgba >>> 16 & 255 & 255) << 8 | rgba >>> 8 & 255 & 255; argb = argb1; } else { switch(format) { case 1: argb = color; break; case 2: var bgra = color; var this2 = 0; var argb2 = this2; argb2 = (bgra & 255 & 255) << 24 | (bgra >>> 8 & 255 & 255) << 16 | (bgra >>> 16 & 255 & 255) << 8 | bgra >>> 24 & 255 & 255; argb = argb2; break; default: var rgba1 = color; var this3 = 0; var argb3 = this3; argb3 = (rgba1 & 255 & 255) << 24 | (rgba1 >>> 24 & 255 & 255) << 16 | (rgba1 >>> 16 & 255 & 255) << 8 | rgba1 >>> 8 & 255 & 255; argb = argb3; } } this.buffer.__srcBitmapData.setPixel(x + this.offsetX,y + this.offsetX,argb); break; default: } } ,setPixel32: function(x,y,color,format) { if(this.buffer == null || x < 0 || y < 0 || x >= this.width || y >= this.height) { return; } switch(this.type._hx_index) { case 0: lime__$internal_graphics_ImageCanvasUtil.setPixel32(this,x,y,color,format); break; case 1: lime__$internal_graphics_ImageCanvasUtil.convertToData(this); lime__$internal_graphics_ImageDataUtil.setPixel32(this,x,y,color,format); break; case 2: var argb; if(format == null) { var rgba = color; var this1 = 0; var argb1 = this1; argb1 = (rgba & 255 & 255) << 24 | (rgba >>> 24 & 255 & 255) << 16 | (rgba >>> 16 & 255 & 255) << 8 | rgba >>> 8 & 255 & 255; argb = argb1; } else { switch(format) { case 1: argb = color; break; case 2: var bgra = color; var this2 = 0; var argb2 = this2; argb2 = (bgra & 255 & 255) << 24 | (bgra >>> 8 & 255 & 255) << 16 | (bgra >>> 16 & 255 & 255) << 8 | bgra >>> 24 & 255 & 255; argb = argb2; break; default: var rgba1 = color; var this3 = 0; var argb3 = this3; argb3 = (rgba1 & 255 & 255) << 24 | (rgba1 >>> 24 & 255 & 255) << 16 | (rgba1 >>> 16 & 255 & 255) << 8 | rgba1 >>> 8 & 255 & 255; argb = argb3; } } this.buffer.__srcBitmapData.setPixel32(x + this.offsetX,y + this.offsetY,argb); break; default: } } ,setPixels: function(rect,bytePointer,format,endian) { rect = this.__clipRect(rect); if(this.buffer == null || rect == null) { return; } if(endian == null) { endian = lime_system_Endian.BIG_ENDIAN; } switch(this.type._hx_index) { case 0: lime__$internal_graphics_ImageCanvasUtil.setPixels(this,rect,bytePointer,format,endian); break; case 1: lime__$internal_graphics_ImageCanvasUtil.convertToData(this); lime__$internal_graphics_ImageDataUtil.setPixels(this,rect,bytePointer,format,endian); break; case 2: break; default: } } ,threshold: function(sourceImage,sourceRect,destPoint,operation,threshold,color,mask,copySource,format) { if(copySource == null) { copySource = false; } if(mask == null) { mask = -1; } if(color == null) { color = 0; } if(this.buffer == null || sourceImage == null || sourceRect == null) { return 0; } switch(this.type._hx_index) { case 0:case 1: lime__$internal_graphics_ImageCanvasUtil.convertToData(this); lime__$internal_graphics_ImageCanvasUtil.convertToData(sourceImage); return lime__$internal_graphics_ImageDataUtil.threshold(this,sourceImage,sourceRect,destPoint,operation,threshold,color,mask,copySource,format); case 2: var _color; if(format == null) { var rgba = color; var this1 = 0; var argb = this1; argb = (rgba & 255 & 255) << 24 | (rgba >>> 24 & 255 & 255) << 16 | (rgba >>> 16 & 255 & 255) << 8 | rgba >>> 8 & 255 & 255; _color = argb; } else { switch(format) { case 1: _color = color; break; case 2: var bgra = color; var this2 = 0; var argb1 = this2; argb1 = (bgra & 255 & 255) << 24 | (bgra >>> 8 & 255 & 255) << 16 | (bgra >>> 16 & 255 & 255) << 8 | bgra >>> 24 & 255 & 255; _color = argb1; break; default: var rgba1 = color; var this3 = 0; var argb2 = this3; argb2 = (rgba1 & 255 & 255) << 24 | (rgba1 >>> 24 & 255 & 255) << 16 | (rgba1 >>> 16 & 255 & 255) << 8 | rgba1 >>> 8 & 255 & 255; _color = argb2; } } var _mask; if(format == null) { var rgba2 = mask; var this4 = 0; var argb3 = this4; argb3 = (rgba2 & 255 & 255) << 24 | (rgba2 >>> 24 & 255 & 255) << 16 | (rgba2 >>> 16 & 255 & 255) << 8 | rgba2 >>> 8 & 255 & 255; _mask = argb3; } else { switch(format) { case 1: _mask = mask; break; case 2: var bgra1 = mask; var this5 = 0; var argb4 = this5; argb4 = (bgra1 & 255 & 255) << 24 | (bgra1 >>> 8 & 255 & 255) << 16 | (bgra1 >>> 16 & 255 & 255) << 8 | bgra1 >>> 24 & 255 & 255; _mask = argb4; break; default: var rgba3 = mask; var this6 = 0; var argb5 = this6; argb5 = (rgba3 & 255 & 255) << 24 | (rgba3 >>> 24 & 255 & 255) << 16 | (rgba3 >>> 16 & 255 & 255) << 8 | rgba3 >>> 8 & 255 & 255; _mask = argb5; } } sourceRect.offset(sourceImage.offsetX,sourceImage.offsetY); destPoint.offset(this.offsetX,this.offsetY); return this.buffer.__srcBitmapData.threshold(sourceImage.buffer.get_src(),sourceRect.__toFlashRectangle(),destPoint.__toFlashPoint(),operation,threshold,_color,_mask,copySource); default: } return 0; } ,__clipRect: function(r) { if(r == null) { return null; } if(r.x < 0) { r.width -= -r.x; r.x = 0; if(r.x + r.width <= 0) { return null; } } if(r.y < 0) { r.height -= -r.y; r.y = 0; if(r.y + r.height <= 0) { return null; } } if(r.x + r.width >= this.width) { r.width -= r.x + r.width - this.width; if(r.width <= 0) { return null; } } if(r.y + r.height >= this.height) { r.height -= r.y + r.height - this.height; if(r.height <= 0) { return null; } } return r; } ,__fromBase64: function(base64,type,onload) { var _gthis = this; var image = new Image(); var image_onLoaded = function(event) { _gthis.buffer = new lime_graphics_ImageBuffer(null,image.width,image.height); _gthis.buffer.__srcImage = image; _gthis.offsetX = 0; _gthis.offsetY = 0; _gthis.width = _gthis.buffer.width; _gthis.height = _gthis.buffer.height; if(onload != null) { onload(_gthis); } }; image.addEventListener("load",image_onLoaded,false); image.src = "data:" + type + ";base64," + base64; } ,__fromBytes: function(bytes,onload) { var type = ""; if(lime_graphics_Image.__isPNG(bytes)) { type = "image/png"; } else if(lime_graphics_Image.__isJPG(bytes)) { type = "image/jpeg"; } else if(lime_graphics_Image.__isGIF(bytes)) { type = "image/gif"; } else { return false; } this.__fromBase64(lime__$internal_format_Base64.encode(bytes),type,onload); return true; } ,__fromFile: function(path,onload,onerror) { var _gthis = this; var image = new Image(); if(!lime__$internal_backend_html5_HTML5HTTPRequest.__isSameOrigin(path)) { image.crossOrigin = "Anonymous"; } image.onload = function(_) { _gthis.buffer = new lime_graphics_ImageBuffer(null,image.width,image.height); _gthis.buffer.__srcImage = image; _gthis.width = image.width; _gthis.height = image.height; if(onload != null) { onload(_gthis); } }; image.onerror = function(_1) { if(onerror != null) { onerror(); } }; image.src = path; var image1 = image.complete; return true; } ,__fromImageBuffer: function(buffer) { this.buffer = buffer; if(buffer != null) { if(this.width == -1) { this.width = buffer.width; } if(this.height == -1) { this.height = buffer.height; } } } ,get_data: function() { if(this.buffer.data == null && this.buffer.width > 0 && this.buffer.height > 0) { lime__$internal_graphics_ImageCanvasUtil.convertToData(this); } return this.buffer.data; } ,set_data: function(value) { return this.buffer.data = value; } ,get_format: function() { return this.buffer.format; } ,set_format: function(value) { if(this.buffer.format != value) { if(this.type._hx_index == 1) { lime__$internal_graphics_ImageDataUtil.setFormat(this,value); } } return this.buffer.format = value; } ,get_powerOfTwo: function() { if(this.buffer.width != 0 && (this.buffer.width & ~this.buffer.width + 1) == this.buffer.width) { if(this.buffer.height != 0) { return (this.buffer.height & ~this.buffer.height + 1) == this.buffer.height; } else { return false; } } else { return false; } } ,set_powerOfTwo: function(value) { if(value != this.get_powerOfTwo()) { var newWidth = 1; var newHeight = 1; while(newWidth < this.buffer.width) newWidth <<= 1; while(newHeight < this.buffer.height) newHeight <<= 1; if(newWidth == this.buffer.width && newHeight == this.buffer.height) { return value; } switch(this.type._hx_index) { case 0: lime__$internal_graphics_ImageCanvasUtil.convertToData(this); lime__$internal_graphics_ImageDataUtil.resizeBuffer(this,newWidth,newHeight); break; case 1: lime__$internal_graphics_ImageDataUtil.resizeBuffer(this,newWidth,newHeight); break; case 2: break; default: } } return value; } ,get_premultiplied: function() { return this.buffer.premultiplied; } ,set_premultiplied: function(value) { if(value && !this.buffer.premultiplied) { switch(this.type._hx_index) { case 0:case 1: lime__$internal_graphics_ImageCanvasUtil.convertToData(this); lime__$internal_graphics_ImageDataUtil.multiplyAlpha(this); break; default: } } else if(!value && this.buffer.premultiplied) { if(this.type._hx_index == 1) { lime__$internal_graphics_ImageCanvasUtil.convertToData(this); lime__$internal_graphics_ImageDataUtil.unmultiplyAlpha(this); } } return value; } ,get_rect: function() { return new lime_math_Rectangle(0,0,this.width,this.height); } ,get_src: function() { if(this.buffer.__srcCanvas == null && (this.buffer.data != null || this.type == lime_graphics_ImageType.DATA)) { lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(this); } return this.buffer.get_src(); } ,set_src: function(value) { return this.buffer.set_src(value); } ,get_transparent: function() { if(this.buffer == null) { return false; } return this.buffer.transparent; } ,set_transparent: function(value) { if(this.buffer == null) { return false; } return this.buffer.transparent = value; } ,__class__: lime_graphics_Image ,__properties__: {set_transparent:"set_transparent",get_transparent:"get_transparent",set_src:"set_src",get_src:"get_src",get_rect:"get_rect",set_premultiplied:"set_premultiplied",get_premultiplied:"get_premultiplied",set_powerOfTwo:"set_powerOfTwo",get_powerOfTwo:"get_powerOfTwo",set_format:"set_format",get_format:"get_format",set_data:"set_data",get_data:"get_data"} }; var lime_graphics_ImageBuffer = function(data,width,height,bitsPerPixel,format) { if(bitsPerPixel == null) { bitsPerPixel = 32; } if(height == null) { height = 0; } if(width == null) { width = 0; } this.data = data; this.width = width; this.height = height; this.bitsPerPixel = bitsPerPixel; this.format = format == null ? 0 : format; this.premultiplied = false; this.transparent = true; }; $hxClasses["lime.graphics.ImageBuffer"] = lime_graphics_ImageBuffer; lime_graphics_ImageBuffer.__name__ = "lime.graphics.ImageBuffer"; lime_graphics_ImageBuffer.prototype = { bitsPerPixel: null ,data: null ,format: null ,height: null ,premultiplied: null ,transparent: null ,width: null ,__srcBitmapData: null ,__srcCanvas: null ,__srcContext: null ,__srcCustom: null ,__srcImage: null ,__srcImageData: null ,clone: function() { var buffer = new lime_graphics_ImageBuffer(this.data,this.width,this.height,this.bitsPerPixel); if(this.data != null) { var elements = this.data.byteLength; var array = null; var vector = null; var view = null; var buffer1 = null; var len = null; var this1; if(elements != null) { this1 = new Uint8Array(elements); } else if(array != null) { this1 = new Uint8Array(array); } else if(vector != null) { this1 = new Uint8Array(vector.__array); } else if(view != null) { this1 = new Uint8Array(view); } else if(buffer1 != null) { if(len == null) { this1 = new Uint8Array(buffer1,0); } else { this1 = new Uint8Array(buffer1,0,len); } } else { this1 = null; } buffer.data = this1; var elements1 = null; var array1 = null; var vector1 = null; var view1 = this.data; var buffer2 = null; var len1 = null; var this2; if(elements1 != null) { this2 = new Uint8Array(elements1); } else if(array1 != null) { this2 = new Uint8Array(array1); } else if(vector1 != null) { this2 = new Uint8Array(vector1.__array); } else if(view1 != null) { this2 = new Uint8Array(view1); } else if(buffer2 != null) { if(len1 == null) { this2 = new Uint8Array(buffer2,0); } else { this2 = new Uint8Array(buffer2,0,len1); } } else { this2 = null; } var copy = this2; buffer.data.set(copy); } else if(this.__srcImageData != null) { buffer.__srcCanvas = window.document.createElement("canvas"); buffer.__srcContext = buffer.__srcCanvas.getContext("2d"); buffer.__srcCanvas.width = this.__srcImageData.width; buffer.__srcCanvas.height = this.__srcImageData.height; buffer.__srcImageData = buffer.__srcContext.createImageData(this.__srcImageData.width,this.__srcImageData.height); var copy1 = new Uint8ClampedArray(this.__srcImageData.data); buffer.__srcImageData.data.set(copy1); } else if(this.__srcCanvas != null) { buffer.__srcCanvas = window.document.createElement("canvas"); buffer.__srcContext = buffer.__srcCanvas.getContext("2d"); buffer.__srcCanvas.width = this.__srcCanvas.width; buffer.__srcCanvas.height = this.__srcCanvas.height; buffer.__srcContext.drawImage(this.__srcCanvas,0,0); } else { buffer.__srcImage = this.__srcImage; } buffer.bitsPerPixel = this.bitsPerPixel; buffer.format = this.format; buffer.premultiplied = this.premultiplied; buffer.transparent = this.transparent; return buffer; } ,get_src: function() { if(this.__srcImage != null) { return this.__srcImage; } return this.__srcCanvas; } ,set_src: function(value) { if(((value) instanceof Image)) { this.__srcImage = value; } else if(((value) instanceof HTMLCanvasElement)) { this.__srcCanvas = value; this.__srcContext = this.__srcCanvas.getContext("2d"); } return value; } ,get_stride: function() { return this.width * (this.bitsPerPixel / 8 | 0); } ,__class__: lime_graphics_ImageBuffer ,__properties__: {get_stride:"get_stride",set_src:"set_src",get_src:"get_src"} }; var lime_graphics_ImageChannel = $hxEnums["lime.graphics.ImageChannel"] = { __ename__ : "lime.graphics.ImageChannel", __constructs__ : ["RED","GREEN","BLUE","ALPHA"] ,RED: {_hx_index:0,__enum__:"lime.graphics.ImageChannel",toString:$estr} ,GREEN: {_hx_index:1,__enum__:"lime.graphics.ImageChannel",toString:$estr} ,BLUE: {_hx_index:2,__enum__:"lime.graphics.ImageChannel",toString:$estr} ,ALPHA: {_hx_index:3,__enum__:"lime.graphics.ImageChannel",toString:$estr} }; var lime_graphics_ImageFileFormat = $hxEnums["lime.graphics.ImageFileFormat"] = { __ename__ : "lime.graphics.ImageFileFormat", __constructs__ : ["BMP","JPEG","PNG"] ,BMP: {_hx_index:0,__enum__:"lime.graphics.ImageFileFormat",toString:$estr} ,JPEG: {_hx_index:1,__enum__:"lime.graphics.ImageFileFormat",toString:$estr} ,PNG: {_hx_index:2,__enum__:"lime.graphics.ImageFileFormat",toString:$estr} }; var lime_graphics_ImageType = $hxEnums["lime.graphics.ImageType"] = { __ename__ : "lime.graphics.ImageType", __constructs__ : ["CANVAS","DATA","FLASH","CUSTOM"] ,CANVAS: {_hx_index:0,__enum__:"lime.graphics.ImageType",toString:$estr} ,DATA: {_hx_index:1,__enum__:"lime.graphics.ImageType",toString:$estr} ,FLASH: {_hx_index:2,__enum__:"lime.graphics.ImageType",toString:$estr} ,CUSTOM: {_hx_index:3,__enum__:"lime.graphics.ImageType",toString:$estr} }; var lime_graphics__$OpenGLES2RenderContext_OpenGLES2RenderContext_$Impl_$ = {}; $hxClasses["lime.graphics._OpenGLES2RenderContext.OpenGLES2RenderContext_Impl_"] = lime_graphics__$OpenGLES2RenderContext_OpenGLES2RenderContext_$Impl_$; lime_graphics__$OpenGLES2RenderContext_OpenGLES2RenderContext_$Impl_$.__name__ = "lime.graphics._OpenGLES2RenderContext.OpenGLES2RenderContext_Impl_"; lime_graphics__$OpenGLES2RenderContext_OpenGLES2RenderContext_$Impl_$.fromGL = function(gl) { return null; }; lime_graphics__$OpenGLES2RenderContext_OpenGLES2RenderContext_$Impl_$.fromOpenGLES3RenderContext = function(gl) { return null; }; lime_graphics__$OpenGLES2RenderContext_OpenGLES2RenderContext_$Impl_$.fromRenderContext = function(context) { return null; }; lime_graphics__$OpenGLES2RenderContext_OpenGLES2RenderContext_$Impl_$.fromWebGLRenderContext = function(gl) { return null; }; var lime_graphics__$OpenGLES3RenderContext_OpenGLES3RenderContext_$Impl_$ = {}; $hxClasses["lime.graphics._OpenGLES3RenderContext.OpenGLES3RenderContext_Impl_"] = lime_graphics__$OpenGLES3RenderContext_OpenGLES3RenderContext_$Impl_$; lime_graphics__$OpenGLES3RenderContext_OpenGLES3RenderContext_$Impl_$.__name__ = "lime.graphics._OpenGLES3RenderContext.OpenGLES3RenderContext_Impl_"; lime_graphics__$OpenGLES3RenderContext_OpenGLES3RenderContext_$Impl_$.fromRenderContext = function(context) { return null; }; lime_graphics__$OpenGLES3RenderContext_OpenGLES3RenderContext_$Impl_$.fromGL = function(gl) { return null; }; lime_graphics__$OpenGLES3RenderContext_OpenGLES3RenderContext_$Impl_$.fromOpenGLES2RenderContext = function(context) { return null; }; lime_graphics__$OpenGLES3RenderContext_OpenGLES3RenderContext_$Impl_$.fromWebGLRenderContext = function(context) { return null; }; lime_graphics__$OpenGLES3RenderContext_OpenGLES3RenderContext_$Impl_$.fromWebGL2RenderContext = function(context) { return null; }; var lime_graphics__$OpenGLRenderContext_OpenGLRenderContext_$Impl_$ = {}; $hxClasses["lime.graphics._OpenGLRenderContext.OpenGLRenderContext_Impl_"] = lime_graphics__$OpenGLRenderContext_OpenGLRenderContext_$Impl_$; lime_graphics__$OpenGLRenderContext_OpenGLRenderContext_$Impl_$.__name__ = "lime.graphics._OpenGLRenderContext.OpenGLRenderContext_Impl_"; lime_graphics__$OpenGLRenderContext_OpenGLRenderContext_$Impl_$.fromRenderContext = function(context) { return null; }; var lime_graphics_RenderContext = function() { }; $hxClasses["lime.graphics.RenderContext"] = lime_graphics_RenderContext; lime_graphics_RenderContext.__name__ = "lime.graphics.RenderContext"; lime_graphics_RenderContext.prototype = { attributes: null ,cairo: null ,canvas2D: null ,dom: null ,flash: null ,gl: null ,gles2: null ,gles3: null ,type: null ,version: null ,webgl: null ,webgl2: null ,window: null ,__class__: lime_graphics_RenderContext }; var lime_graphics__$WebGL2RenderContext_WebGL2RenderContext_$Impl_$ = {}; $hxClasses["lime.graphics._WebGL2RenderContext.WebGL2RenderContext_Impl_"] = lime_graphics__$WebGL2RenderContext_WebGL2RenderContext_$Impl_$; lime_graphics__$WebGL2RenderContext_WebGL2RenderContext_$Impl_$.__name__ = "lime.graphics._WebGL2RenderContext.WebGL2RenderContext_Impl_"; lime_graphics__$WebGL2RenderContext_WebGL2RenderContext_$Impl_$.bufferData = function(this1,target,srcData,usage,srcOffset,length) { if(srcOffset != null) { this1.bufferData(target,srcData,usage,srcOffset,length); } else { this1.bufferData(target,srcData,usage); } }; lime_graphics__$WebGL2RenderContext_WebGL2RenderContext_$Impl_$.bufferSubData = function(this1,target,dstByteOffset,srcData,srcOffset,length) { if(srcOffset != null) { this1.bufferSubData(target,dstByteOffset,srcData,srcOffset,length); } else { this1.bufferSubData(target,dstByteOffset,srcData); } }; lime_graphics__$WebGL2RenderContext_WebGL2RenderContext_$Impl_$.compressedTexImage2D = function(this1,target,level,internalformat,width,height,border,srcData,srcOffset,srcLengthOverride) { if(srcOffset != null) { this1.compressedTexImage2D(target,level,internalformat,width,height,border,srcData,srcOffset,srcLengthOverride); } else { this1.compressedTexImage2D(target,level,internalformat,width,height,border,srcData); } }; lime_graphics__$WebGL2RenderContext_WebGL2RenderContext_$Impl_$.compressedTexSubImage2D = function(this1,target,level,xoffset,yoffset,width,height,format,srcData,srcOffset,srcLengthOverride) { if(srcOffset != null) { this1.compressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,srcData,srcOffset,srcLengthOverride); } else { this1.compressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,srcData); } }; lime_graphics__$WebGL2RenderContext_WebGL2RenderContext_$Impl_$.getBufferSubData = function(this1,target,srcByteOffset,dstData,srcOffset,length) { if(srcOffset != null) { this1.getBufferSubData(target,srcByteOffset,dstData,srcOffset,length); } else { this1.getBufferSubData(target,srcByteOffset,dstData); } }; lime_graphics__$WebGL2RenderContext_WebGL2RenderContext_$Impl_$.readPixels = function(this1,x,y,width,height,format,type,pixels,dstOffset) { if(dstOffset != null) { this1.readPixels(x,y,width,height,format,type,pixels,dstOffset); } else { this1.readPixels(x,y,width,height,format,type,pixels); } }; lime_graphics__$WebGL2RenderContext_WebGL2RenderContext_$Impl_$.texImage2D = function(this1,target,level,internalformat,width,height,border,format,type,srcData,srcOffset) { if(srcOffset != null) { this1.texImage2D(target,level,internalformat,width,height,border,format,type,srcData,srcOffset); } else if(format != null) { this1.texImage2D(target,level,internalformat,width,height,border,format,type,srcData); } else { this1.texImage2D(target,level,internalformat,width,height,border); } }; lime_graphics__$WebGL2RenderContext_WebGL2RenderContext_$Impl_$.texSubImage2D = function(this1,target,level,xoffset,yoffset,width,height,format,type,srcData,srcOffset) { if(srcOffset != null) { this1.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,srcData,srcOffset); } else if(type != null) { this1.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,srcData); } else { this1.texSubImage2D(target,level,xoffset,yoffset,width,height,format); } }; lime_graphics__$WebGL2RenderContext_WebGL2RenderContext_$Impl_$.uniform1fv = function(this1,location,data,srcOffset,srcLength) { if(srcOffset != null) { this1.uniform1fv(location,data,srcOffset,srcLength); } else { this1.uniform1fv(location,data); } }; lime_graphics__$WebGL2RenderContext_WebGL2RenderContext_$Impl_$.uniform1iv = function(this1,location,data,srcOffset,srcLength) { if(srcOffset != null) { this1.uniform1iv(location,data,srcOffset,srcLength); } else { this1.uniform1iv(location,data); } }; lime_graphics__$WebGL2RenderContext_WebGL2RenderContext_$Impl_$.uniform2fv = function(this1,location,data,srcOffset,srcLength) { if(srcOffset != null) { this1.uniform2fv(location,data,srcOffset,srcLength); } else { this1.uniform2fv(location,data); } }; lime_graphics__$WebGL2RenderContext_WebGL2RenderContext_$Impl_$.uniform2iv = function(this1,location,data,srcOffset,srcLength) { if(srcOffset != null) { this1.uniform2iv(location,data,srcOffset,srcLength); } else { this1.uniform2iv(location,data); } }; lime_graphics__$WebGL2RenderContext_WebGL2RenderContext_$Impl_$.uniform3fv = function(this1,location,data,srcOffset,srcLength) { if(srcOffset != null) { this1.uniform3fv(location,data,srcOffset,srcLength); } else { this1.uniform3fv(location,data); } }; lime_graphics__$WebGL2RenderContext_WebGL2RenderContext_$Impl_$.uniform3iv = function(this1,location,data,srcOffset,srcLength) { if(srcOffset != null) { this1.uniform3iv(location,data,srcOffset,srcLength); } else { this1.uniform3iv(location,data); } }; lime_graphics__$WebGL2RenderContext_WebGL2RenderContext_$Impl_$.uniform4fv = function(this1,location,data,srcOffset,srcLength) { if(srcOffset != null) { this1.uniform4fv(location,data,srcOffset,srcLength); } else { this1.uniform4fv(location,data); } }; lime_graphics__$WebGL2RenderContext_WebGL2RenderContext_$Impl_$.uniform4iv = function(this1,location,data,srcOffset,srcLength) { if(srcOffset != null) { this1.uniform4iv(location,data,srcOffset,srcLength); } else { this1.uniform4iv(location,data); } }; lime_graphics__$WebGL2RenderContext_WebGL2RenderContext_$Impl_$.uniformMatrix2fv = function(this1,location,transpose,data,srcOffset,srcLength) { if(srcOffset != null) { this1.uniformMatrix2fv(location,transpose,data,srcOffset,srcLength); } else { this1.uniformMatrix2fv(location,transpose,data); } }; lime_graphics__$WebGL2RenderContext_WebGL2RenderContext_$Impl_$.uniformMatrix3fv = function(this1,location,transpose,data,srcOffset,srcLength) { if(srcOffset != null) { this1.uniformMatrix3fv(location,transpose,data,srcOffset,srcLength); } else { this1.uniformMatrix3fv(location,transpose,data); } }; lime_graphics__$WebGL2RenderContext_WebGL2RenderContext_$Impl_$.uniformMatrix4fv = function(this1,location,transpose,data,srcOffset,srcLength) { if(srcOffset != null) { this1.uniformMatrix4fv(location,transpose,data,srcOffset,srcLength); } else { this1.uniformMatrix4fv(location,transpose,data); } }; lime_graphics__$WebGL2RenderContext_WebGL2RenderContext_$Impl_$.fromGL = function(gl) { return null; }; lime_graphics__$WebGL2RenderContext_WebGL2RenderContext_$Impl_$.fromRenderContext = function(context) { return context.webgl2; }; lime_graphics__$WebGL2RenderContext_WebGL2RenderContext_$Impl_$.toWebGLRenderContext = function(gl) { return gl; }; var lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$ = {}; $hxClasses["lime.graphics._WebGLRenderContext.WebGLRenderContext_Impl_"] = lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$; lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.__name__ = "lime.graphics._WebGLRenderContext.WebGLRenderContext_Impl_"; lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.bufferData = function(this1,target,srcData,usage) { var srcOffset = null; if(srcOffset != null) { this1.bufferData(target,srcData,usage,srcOffset,null); } else { this1.bufferData(target,srcData,usage); } }; lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.bufferSubData = function(this1,target,offset,srcData) { var srcOffset = null; if(srcOffset != null) { this1.bufferSubData(target,offset,srcData,srcOffset,null); } else { this1.bufferSubData(target,offset,srcData); } }; lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.compressedTexImage2D = function(this1,target,level,internalformat,width,height,border,srcData) { var srcOffset = null; if(srcOffset != null) { this1.compressedTexImage2D(target,level,internalformat,width,height,border,srcData,srcOffset,null); } else { this1.compressedTexImage2D(target,level,internalformat,width,height,border,srcData); } }; lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.compressedTexSubImage2D = function(this1,target,level,xoffset,yoffset,width,height,format,srcData) { var srcOffset = null; if(srcOffset != null) { this1.compressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,srcData,srcOffset,null); } else { this1.compressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,srcData); } }; lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.readPixels = function(this1,x,y,width,height,format,type,pixels) { var dstOffset = null; if(dstOffset != null) { this1.readPixels(x,y,width,height,format,type,pixels,dstOffset); } else { this1.readPixels(x,y,width,height,format,type,pixels); } }; lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.texImage2D = function(this1,target,level,internalformat,width,height,border,format,type,srcData) { var srcOffset = null; if(srcOffset != null) { this1.texImage2D(target,level,internalformat,width,height,border,format,type,srcData,srcOffset); } else if(format != null) { this1.texImage2D(target,level,internalformat,width,height,border,format,type,srcData); } else { this1.texImage2D(target,level,internalformat,width,height,border); } }; lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.texSubImage2D = function(this1,target,level,xoffset,yoffset,width,height,format,type,srcData) { var srcOffset = null; if(srcOffset != null) { this1.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,srcData,srcOffset); } else if(type != null) { this1.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,srcData); } else { this1.texSubImage2D(target,level,xoffset,yoffset,width,height,format); } }; lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.uniformMatrix2fv = function(this1,location,transpose,v) { var data = v; var srcOffset = null; if(srcOffset != null) { this1.uniformMatrix2fv(location,transpose,data,srcOffset,null); } else { this1.uniformMatrix2fv(location,transpose,data); } }; lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.uniformMatrix3fv = function(this1,location,transpose,v) { var data = v; var srcOffset = null; if(srcOffset != null) { this1.uniformMatrix3fv(location,transpose,data,srcOffset,null); } else { this1.uniformMatrix3fv(location,transpose,data); } }; lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.uniformMatrix4fv = function(this1,location,transpose,v) { var data = v; var srcOffset = null; if(srcOffset != null) { this1.uniformMatrix4fv(location,transpose,data,srcOffset,null); } else { this1.uniformMatrix4fv(location,transpose,data); } }; lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.fromWebGL2RenderContext = function(gl) { return gl; }; lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.fromRenderContext = function(context) { return context.webgl; }; lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.fromGL = function(gl) { return lime_graphics_opengl_GL.context; }; var lime_graphics_cairo_Cairo = function(surface) { var tmp = surface != null; }; $hxClasses["lime.graphics.cairo.Cairo"] = lime_graphics_cairo_Cairo; lime_graphics_cairo_Cairo.__name__ = "lime.graphics.cairo.Cairo"; lime_graphics_cairo_Cairo.__properties__ = {get_versionString:"get_versionString",get_version:"get_version"}; lime_graphics_cairo_Cairo.version = null; lime_graphics_cairo_Cairo.versionString = null; lime_graphics_cairo_Cairo.get_version = function() { return 0; }; lime_graphics_cairo_Cairo.get_versionString = function() { return ""; }; lime_graphics_cairo_Cairo.prototype = { target: null ,userData: null ,handle: null ,arc: function(xc,yc,radius,angle1,angle2) { } ,arcNegative: function(xc,yc,radius,angle1,angle2) { } ,clip: function() { } ,clipExtents: function(x1,y1,x2,y2) { } ,clipPreserve: function() { } ,closePath: function() { } ,copyPage: function() { } ,curveTo: function(x1,y1,x2,y2,x3,y3) { } ,fill: function() { } ,fillExtents: function(x1,y1,x2,y2) { } ,fillPreserve: function() { } ,getOperator: function() { return 0; } ,identityMatrix: function() { } ,inClip: function(x,y) { return false; } ,inFill: function(x,y) { return false; } ,inStroke: function(x,y) { return false; } ,lineTo: function(x,y) { } ,mask: function(pattern) { } ,maskSurface: function(surface,x,y) { } ,moveTo: function(x,y) { } ,newPath: function() { } ,paint: function() { } ,paintWithAlpha: function(alpha) { } ,popGroup: function() { return null; } ,popGroupToSource: function() { } ,pushGroup: function() { } ,pushGroupWithContent: function(content) { } ,recreate: function(surface) { } ,rectangle: function(x,y,width,height) { } ,relCurveTo: function(dx1,dy1,dx2,dy2,dx3,dy3) { } ,relLineTo: function(dx,dy) { } ,relMoveTo: function(dx,dy) { } ,resetClip: function() { } ,restore: function() { } ,rotate: function(amount) { } ,save: function() { } ,scale: function(x,y) { } ,setFontSize: function(size) { } ,setOperator: function(value) { return value; } ,setSourceRGB: function(r,g,b) { } ,setSourceRGBA: function(r,g,b,a) { } ,setSourceSurface: function(surface,x,y) { } ,showGlyphs: function(glyphs) { } ,showPage: function() { } ,showText: function(utf8) { } ,status: function() { return 0; } ,stroke: function() { } ,strokeExtents: function(x1,y1,x2,y2) { } ,strokePreserve: function() { } ,textPath: function(utf8) { } ,transform: function(matrix) { } ,translate: function(x,y) { } ,get_antialias: function() { return 0; } ,set_antialias: function(value) { return value; } ,get_currentPoint: function() { return null; } ,get_dash: function() { return []; } ,set_dash: function(value) { return value; } ,get_dashCount: function() { return 0; } ,get_fillRule: function() { return 0; } ,set_fillRule: function(value) { return value; } ,get_fontFace: function() { return 0; } ,set_fontFace: function(value) { return value; } ,get_fontOptions: function() { return null; } ,set_fontOptions: function(value) { return value; } ,get_groupTarget: function() { return 0; } ,get_hasCurrentPoint: function() { return false; } ,get_lineCap: function() { return 0; } ,set_lineCap: function(value) { return value; } ,get_lineJoin: function() { return 0; } ,set_lineJoin: function(value) { return value; } ,get_lineWidth: function() { return 0; } ,set_lineWidth: function(value) { return value; } ,get_matrix: function() { return null; } ,set_matrix: function(value) { return value; } ,get_miterLimit: function() { return 0; } ,set_miterLimit: function(value) { return value; } ,get_source: function() { return 0; } ,set_source: function(value) { return value; } ,get_target: function() { return 0; } ,get_tolerance: function() { return 0; } ,set_tolerance: function(value) { return value; } ,__class__: lime_graphics_cairo_Cairo ,__properties__: {set_tolerance:"set_tolerance",get_tolerance:"get_tolerance",get_target:"get_target",set_source:"set_source",get_source:"get_source",set_miterLimit:"set_miterLimit",get_miterLimit:"get_miterLimit",set_matrix:"set_matrix",get_matrix:"get_matrix",set_lineWidth:"set_lineWidth",get_lineWidth:"get_lineWidth",set_lineJoin:"set_lineJoin",get_lineJoin:"get_lineJoin",set_lineCap:"set_lineCap",get_lineCap:"get_lineCap",get_hasCurrentPoint:"get_hasCurrentPoint",get_groupTarget:"get_groupTarget",set_fontOptions:"set_fontOptions",get_fontOptions:"get_fontOptions",set_fontFace:"set_fontFace",get_fontFace:"get_fontFace",set_fillRule:"set_fillRule",get_fillRule:"get_fillRule",get_dashCount:"get_dashCount",set_dash:"set_dash",get_dash:"get_dash",get_currentPoint:"get_currentPoint",set_antialias:"set_antialias",get_antialias:"get_antialias"} }; var lime_graphics_cairo__$CairoFTFontFace_CairoFTFontFace_$Impl_$ = {}; $hxClasses["lime.graphics.cairo._CairoFTFontFace.CairoFTFontFace_Impl_"] = lime_graphics_cairo__$CairoFTFontFace_CairoFTFontFace_$Impl_$; lime_graphics_cairo__$CairoFTFontFace_CairoFTFontFace_$Impl_$.__name__ = "lime.graphics.cairo._CairoFTFontFace.CairoFTFontFace_Impl_"; lime_graphics_cairo__$CairoFTFontFace_CairoFTFontFace_$Impl_$._new = function() { var this1 = 0; return this1; }; lime_graphics_cairo__$CairoFTFontFace_CairoFTFontFace_$Impl_$.create = function(face,loadFlags) { return 0; }; var lime_graphics_cairo__$CairoFontFace_CairoFontFace_$Impl_$ = {}; $hxClasses["lime.graphics.cairo._CairoFontFace.CairoFontFace_Impl_"] = lime_graphics_cairo__$CairoFontFace_CairoFontFace_$Impl_$; lime_graphics_cairo__$CairoFontFace_CairoFontFace_$Impl_$.__name__ = "lime.graphics.cairo._CairoFontFace.CairoFontFace_Impl_"; lime_graphics_cairo__$CairoFontFace_CairoFontFace_$Impl_$._new = function() { var this1 = null; return this1; }; lime_graphics_cairo__$CairoFontFace_CairoFontFace_$Impl_$.status = function(this1) { return 0; }; var lime_graphics_cairo__$CairoFontOptions_CairoFontOptions_$Impl_$ = {}; $hxClasses["lime.graphics.cairo._CairoFontOptions.CairoFontOptions_Impl_"] = lime_graphics_cairo__$CairoFontOptions_CairoFontOptions_$Impl_$; lime_graphics_cairo__$CairoFontOptions_CairoFontOptions_$Impl_$.__name__ = "lime.graphics.cairo._CairoFontOptions.CairoFontOptions_Impl_"; lime_graphics_cairo__$CairoFontOptions_CairoFontOptions_$Impl_$.__properties__ = {set_subpixelOrder:"set_subpixelOrder",get_subpixelOrder:"get_subpixelOrder",set_hintStyle:"set_hintStyle",get_hintStyle:"get_hintStyle",set_hintMetrics:"set_hintMetrics",get_hintMetrics:"get_hintMetrics",set_antialias:"set_antialias",get_antialias:"get_antialias"}; lime_graphics_cairo__$CairoFontOptions_CairoFontOptions_$Impl_$._new = function() { var this1 = null; return this1; }; lime_graphics_cairo__$CairoFontOptions_CairoFontOptions_$Impl_$.get_antialias = function(this1) { return 0; }; lime_graphics_cairo__$CairoFontOptions_CairoFontOptions_$Impl_$.set_antialias = function(this1,value) { return value; }; lime_graphics_cairo__$CairoFontOptions_CairoFontOptions_$Impl_$.get_hintMetrics = function(this1) { return 0; }; lime_graphics_cairo__$CairoFontOptions_CairoFontOptions_$Impl_$.set_hintMetrics = function(this1,value) { return value; }; lime_graphics_cairo__$CairoFontOptions_CairoFontOptions_$Impl_$.get_hintStyle = function(this1) { return 0; }; lime_graphics_cairo__$CairoFontOptions_CairoFontOptions_$Impl_$.set_hintStyle = function(this1,value) { return value; }; lime_graphics_cairo__$CairoFontOptions_CairoFontOptions_$Impl_$.get_subpixelOrder = function(this1) { return 0; }; lime_graphics_cairo__$CairoFontOptions_CairoFontOptions_$Impl_$.set_subpixelOrder = function(this1,value) { return value; }; var lime_graphics_cairo_CairoGlyph = function(index,x,y) { if(y == null) { y = 0; } if(x == null) { x = 0; } this.index = index; this.x = x; this.y = y; }; $hxClasses["lime.graphics.cairo.CairoGlyph"] = lime_graphics_cairo_CairoGlyph; lime_graphics_cairo_CairoGlyph.__name__ = "lime.graphics.cairo.CairoGlyph"; lime_graphics_cairo_CairoGlyph.prototype = { index: null ,x: null ,y: null ,__class__: lime_graphics_cairo_CairoGlyph }; var lime_graphics_cairo__$CairoImageSurface_CairoImageSurface_$Impl_$ = {}; $hxClasses["lime.graphics.cairo._CairoImageSurface.CairoImageSurface_Impl_"] = lime_graphics_cairo__$CairoImageSurface_CairoImageSurface_$Impl_$; lime_graphics_cairo__$CairoImageSurface_CairoImageSurface_$Impl_$.__name__ = "lime.graphics.cairo._CairoImageSurface.CairoImageSurface_Impl_"; lime_graphics_cairo__$CairoImageSurface_CairoImageSurface_$Impl_$.__properties__ = {get_width:"get_width",get_stride:"get_stride",get_height:"get_height",get_format:"get_format",get_data:"get_data"}; lime_graphics_cairo__$CairoImageSurface_CairoImageSurface_$Impl_$._new = function(format,width,height) { var this1 = 0; return this1; }; lime_graphics_cairo__$CairoImageSurface_CairoImageSurface_$Impl_$.create = function(data,format,width,height,stride) { return 0; }; lime_graphics_cairo__$CairoImageSurface_CairoImageSurface_$Impl_$.fromImage = function(image) { return null; }; lime_graphics_cairo__$CairoImageSurface_CairoImageSurface_$Impl_$.get_data = function(this1) { return lime_utils__$DataPointer_DataPointer_$Impl_$.fromFloat(0); }; lime_graphics_cairo__$CairoImageSurface_CairoImageSurface_$Impl_$.get_format = function(this1) { return 0; }; lime_graphics_cairo__$CairoImageSurface_CairoImageSurface_$Impl_$.get_height = function(this1) { return 0; }; lime_graphics_cairo__$CairoImageSurface_CairoImageSurface_$Impl_$.get_stride = function(this1) { return 0; }; lime_graphics_cairo__$CairoImageSurface_CairoImageSurface_$Impl_$.get_width = function(this1) { return 0; }; var lime_graphics_cairo__$CairoPattern_CairoPattern_$Impl_$ = {}; $hxClasses["lime.graphics.cairo._CairoPattern.CairoPattern_Impl_"] = lime_graphics_cairo__$CairoPattern_CairoPattern_$Impl_$; lime_graphics_cairo__$CairoPattern_CairoPattern_$Impl_$.__name__ = "lime.graphics.cairo._CairoPattern.CairoPattern_Impl_"; lime_graphics_cairo__$CairoPattern_CairoPattern_$Impl_$.__properties__ = {set_matrix:"set_matrix",get_matrix:"get_matrix",set_filter:"set_filter",get_filter:"get_filter",set_extend:"set_extend",get_extend:"get_extend",get_colorStopCount:"get_colorStopCount"}; lime_graphics_cairo__$CairoPattern_CairoPattern_$Impl_$._new = function(handle) { var this1 = handle; return this1; }; lime_graphics_cairo__$CairoPattern_CairoPattern_$Impl_$.addColorStopRGB = function(this1,offset,r,g,b) { }; lime_graphics_cairo__$CairoPattern_CairoPattern_$Impl_$.addColorStopRGBA = function(this1,offset,r,g,b,a) { }; lime_graphics_cairo__$CairoPattern_CairoPattern_$Impl_$.createForSurface = function(surface) { return 0; }; lime_graphics_cairo__$CairoPattern_CairoPattern_$Impl_$.createLinear = function(x0,y0,x1,y1) { return 0; }; lime_graphics_cairo__$CairoPattern_CairoPattern_$Impl_$.createRadial = function(cx0,cy0,radius0,cx1,cy1,radius1) { return 0; }; lime_graphics_cairo__$CairoPattern_CairoPattern_$Impl_$.createRGB = function(r,g,b) { return 0; }; lime_graphics_cairo__$CairoPattern_CairoPattern_$Impl_$.createRGBA = function(r,g,b,a) { return 0; }; lime_graphics_cairo__$CairoPattern_CairoPattern_$Impl_$.get_colorStopCount = function(this1) { return 0; }; lime_graphics_cairo__$CairoPattern_CairoPattern_$Impl_$.get_extend = function(this1) { return 0; }; lime_graphics_cairo__$CairoPattern_CairoPattern_$Impl_$.set_extend = function(this1,value) { return value; }; lime_graphics_cairo__$CairoPattern_CairoPattern_$Impl_$.get_filter = function(this1) { return 0; }; lime_graphics_cairo__$CairoPattern_CairoPattern_$Impl_$.set_filter = function(this1,value) { return value; }; lime_graphics_cairo__$CairoPattern_CairoPattern_$Impl_$.get_matrix = function(this1) { return null; }; lime_graphics_cairo__$CairoPattern_CairoPattern_$Impl_$.set_matrix = function(this1,value) { return value; }; var lime_graphics_cairo__$CairoSurface_CairoSurface_$Impl_$ = {}; $hxClasses["lime.graphics.cairo._CairoSurface.CairoSurface_Impl_"] = lime_graphics_cairo__$CairoSurface_CairoSurface_$Impl_$; lime_graphics_cairo__$CairoSurface_CairoSurface_$Impl_$.__name__ = "lime.graphics.cairo._CairoSurface.CairoSurface_Impl_"; lime_graphics_cairo__$CairoSurface_CairoSurface_$Impl_$.flush = function(this1) { }; var lime_graphics_opengl_GL = function() { }; $hxClasses["lime.graphics.opengl.GL"] = lime_graphics_opengl_GL; lime_graphics_opengl_GL.__name__ = "lime.graphics.opengl.GL"; lime_graphics_opengl_GL.context = null; lime_graphics_opengl_GL.type = null; lime_graphics_opengl_GL.version = null; lime_graphics_opengl_GL.activeTexture = function(texture) { lime_graphics_opengl_GL.context.activeTexture(texture); }; lime_graphics_opengl_GL.attachShader = function(program,shader) { lime_graphics_opengl_GL.context.attachShader(program,shader); }; lime_graphics_opengl_GL.beginQuery = function(target,query) { lime_graphics_opengl_GL.context.beginQuery(target,query); }; lime_graphics_opengl_GL.beginTransformFeedback = function(primitiveNode) { lime_graphics_opengl_GL.context.beginTransformFeedback(primitiveNode); }; lime_graphics_opengl_GL.bindAttribLocation = function(program,index,name) { lime_graphics_opengl_GL.context.bindAttribLocation(program,index,name); }; lime_graphics_opengl_GL.bindBuffer = function(target,buffer) { lime_graphics_opengl_GL.context.bindBuffer(target,buffer); }; lime_graphics_opengl_GL.bindBufferBase = function(target,index,buffer) { lime_graphics_opengl_GL.context.bindBufferBase(target,index,buffer); }; lime_graphics_opengl_GL.bindBufferRange = function(target,index,buffer,offset,size) { lime_graphics_opengl_GL.context.bindBufferRange(target,index,buffer,offset,lime_utils__$DataPointer_DataPointer_$Impl_$.fromFloat(size)); }; lime_graphics_opengl_GL.bindFramebuffer = function(target,framebuffer) { lime_graphics_opengl_GL.context.bindFramebuffer(target,framebuffer); }; lime_graphics_opengl_GL.bindRenderbuffer = function(target,renderbuffer) { lime_graphics_opengl_GL.context.bindRenderbuffer(target,renderbuffer); }; lime_graphics_opengl_GL.bindSampler = function(unit,sampler) { lime_graphics_opengl_GL.context.bindSampler(unit,sampler); }; lime_graphics_opengl_GL.bindTexture = function(target,texture) { lime_graphics_opengl_GL.context.bindTexture(target,texture); }; lime_graphics_opengl_GL.bindTransformFeedback = function(target,transformFeedback) { lime_graphics_opengl_GL.context.bindTransformFeedback(target,transformFeedback); }; lime_graphics_opengl_GL.bindVertexArray = function(vertexArray) { lime_graphics_opengl_GL.context.bindVertexArray(vertexArray); }; lime_graphics_opengl_GL.blitFramebuffer = function(srcX0,srcY0,srcX1,srcY1,dstX0,dstY0,dstX1,dstY1,mask,filter) { lime_graphics_opengl_GL.context.blitFramebuffer(srcX0,srcY0,srcX1,srcY1,dstX0,dstY0,dstX1,dstY1,mask,filter); }; lime_graphics_opengl_GL.blendColor = function(red,green,blue,alpha) { lime_graphics_opengl_GL.context.blendColor(red,green,blue,alpha); }; lime_graphics_opengl_GL.blendEquation = function(mode) { lime_graphics_opengl_GL.context.blendEquation(mode); }; lime_graphics_opengl_GL.blendEquationSeparate = function(modeRGB,modeAlpha) { lime_graphics_opengl_GL.context.blendEquationSeparate(modeRGB,modeAlpha); }; lime_graphics_opengl_GL.blendFunc = function(sfactor,dfactor) { lime_graphics_opengl_GL.context.blendFunc(sfactor,dfactor); }; lime_graphics_opengl_GL.blendFuncSeparate = function(srcRGB,dstRGB,srcAlpha,dstAlpha) { lime_graphics_opengl_GL.context.blendFuncSeparate(srcRGB,dstRGB,srcAlpha,dstAlpha); }; lime_graphics_opengl_GL.bufferDataWEBGL = function(target,srcData,usage,srcOffset,length) { var this1 = lime_graphics_opengl_GL.context; if(srcOffset != null) { this1.bufferData(target,srcData,usage,srcOffset,length); } else { this1.bufferData(target,srcData,usage); } }; lime_graphics_opengl_GL.bufferSubDataWEBGL = function(target,dstByteOffset,srcData,srcOffset,length) { var this1 = lime_graphics_opengl_GL.context; if(srcOffset != null) { this1.bufferSubData(target,dstByteOffset,srcData,srcOffset,length); } else { this1.bufferSubData(target,dstByteOffset,srcData); } }; lime_graphics_opengl_GL.checkFramebufferStatus = function(target) { return lime_graphics_opengl_GL.context.checkFramebufferStatus(target); }; lime_graphics_opengl_GL.clear = function(mask) { lime_graphics_opengl_GL.context.clear(mask); }; lime_graphics_opengl_GL.clearBufferfi = function(buffer,drawbuffer,depth,stencil) { lime_graphics_opengl_GL.context.clearBufferfi(buffer,drawbuffer,depth,stencil); }; lime_graphics_opengl_GL.clearBufferfvWEBGL = function(buffer,drawbuffer,values,srcOffset) { lime_graphics_opengl_GL.context.clearBufferfv(buffer,drawbuffer,values,srcOffset); }; lime_graphics_opengl_GL.clearBufferivWEBGL = function(buffer,drawbuffer,values,srcOffset) { lime_graphics_opengl_GL.context.clearBufferiv(buffer,drawbuffer,values,srcOffset); }; lime_graphics_opengl_GL.clearBufferuivWEBGL = function(buffer,drawbuffer,values,srcOffset) { lime_graphics_opengl_GL.context.clearBufferuiv(buffer,drawbuffer,values,srcOffset); }; lime_graphics_opengl_GL.clearColor = function(red,green,blue,alpha) { lime_graphics_opengl_GL.context.clearColor(red,green,blue,alpha); }; lime_graphics_opengl_GL.clearDepth = function(depth) { lime_graphics_opengl_GL.context.clearDepth(depth); }; lime_graphics_opengl_GL.clearStencil = function(s) { lime_graphics_opengl_GL.context.clearStencil(s); }; lime_graphics_opengl_GL.clientWaitSync = function(sync,flags,timeout) { return lime_graphics_opengl_GL.context.clientWaitSync(sync,flags,timeout); }; lime_graphics_opengl_GL.colorMask = function(red,green,blue,alpha) { lime_graphics_opengl_GL.context.colorMask(red,green,blue,alpha); }; lime_graphics_opengl_GL.compileShader = function(shader) { lime_graphics_opengl_GL.context.compileShader(shader); }; lime_graphics_opengl_GL.compressedTexImage2DWEBGL = function(target,level,internalformat,width,height,border,srcData,srcOffset,srcLengthOverride) { var this1 = lime_graphics_opengl_GL.context; if(srcOffset != null) { this1.compressedTexImage2D(target,level,internalformat,width,height,border,srcData,srcOffset,srcLengthOverride); } else { this1.compressedTexImage2D(target,level,internalformat,width,height,border,srcData); } }; lime_graphics_opengl_GL.compressedTexImage3DWEBGL = function(target,level,internalformat,width,height,depth,border,srcData,srcOffset,srcLengthOverride) { lime_graphics_opengl_GL.context.compressedTexImage3D(target,level,internalformat,width,height,depth,border,srcData,srcOffset,srcLengthOverride); }; lime_graphics_opengl_GL.compressedTexSubImage2DWEBGL = function(target,level,xoffset,yoffset,width,height,format,srcData,srcOffset,srcLengthOverride) { var this1 = lime_graphics_opengl_GL.context; if(srcOffset != null) { this1.compressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,srcData,srcOffset,srcLengthOverride); } else { this1.compressedTexSubImage2D(target,level,xoffset,yoffset,width,height,format,srcData); } }; lime_graphics_opengl_GL.compressedTexSubImage3DWEBGL = function(target,level,xoffset,yoffset,zoffset,width,height,depth,format,srcData,srcOffset,srcLengthOverride) { lime_graphics_opengl_GL.context.compressedTexSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,srcData,srcOffset,srcLengthOverride); }; lime_graphics_opengl_GL.copyTexImage2D = function(target,level,internalformat,x,y,width,height,border) { lime_graphics_opengl_GL.context.copyTexImage2D(target,level,internalformat,x,y,width,height,border); }; lime_graphics_opengl_GL.copyTexSubImage2D = function(target,level,xoffset,yoffset,x,y,width,height) { lime_graphics_opengl_GL.context.copyTexSubImage2D(target,level,xoffset,yoffset,x,y,width,height); }; lime_graphics_opengl_GL.copyTexSubImage3D = function(target,level,xoffset,yoffset,zoffset,x,y,width,height) { lime_graphics_opengl_GL.context.copyTexSubImage3D(target,level,xoffset,yoffset,zoffset,x,y,width,height); }; lime_graphics_opengl_GL.createBuffer = function() { return lime_graphics_opengl_GL.context.createBuffer(); }; lime_graphics_opengl_GL.createFramebuffer = function() { return lime_graphics_opengl_GL.context.createFramebuffer(); }; lime_graphics_opengl_GL.createProgram = function() { return lime_graphics_opengl_GL.context.createProgram(); }; lime_graphics_opengl_GL.createQuery = function() { return lime_graphics_opengl_GL.context.createQuery(); }; lime_graphics_opengl_GL.createRenderbuffer = function() { return lime_graphics_opengl_GL.context.createRenderbuffer(); }; lime_graphics_opengl_GL.createSampler = function() { return lime_graphics_opengl_GL.context.createSampler(); }; lime_graphics_opengl_GL.createShader = function(type) { return lime_graphics_opengl_GL.context.createShader(type); }; lime_graphics_opengl_GL.createTexture = function() { return lime_graphics_opengl_GL.context.createTexture(); }; lime_graphics_opengl_GL.createTransformFeedback = function() { return lime_graphics_opengl_GL.context.createTransformFeedback(); }; lime_graphics_opengl_GL.createVertexArray = function() { return lime_graphics_opengl_GL.context.createVertexArray(); }; lime_graphics_opengl_GL.cullFace = function(mode) { lime_graphics_opengl_GL.context.cullFace(mode); }; lime_graphics_opengl_GL.deleteBuffer = function(buffer) { lime_graphics_opengl_GL.context.deleteBuffer(buffer); }; lime_graphics_opengl_GL.deleteFramebuffer = function(framebuffer) { lime_graphics_opengl_GL.context.deleteFramebuffer(framebuffer); }; lime_graphics_opengl_GL.deleteProgram = function(program) { lime_graphics_opengl_GL.context.deleteProgram(program); }; lime_graphics_opengl_GL.deleteQuery = function(query) { lime_graphics_opengl_GL.context.deleteQuery(query); }; lime_graphics_opengl_GL.deleteRenderbuffer = function(renderbuffer) { lime_graphics_opengl_GL.context.deleteRenderbuffer(renderbuffer); }; lime_graphics_opengl_GL.deleteSampler = function(sampler) { lime_graphics_opengl_GL.context.deleteSampler(sampler); }; lime_graphics_opengl_GL.deleteShader = function(shader) { lime_graphics_opengl_GL.context.deleteShader(shader); }; lime_graphics_opengl_GL.deleteSync = function(sync) { lime_graphics_opengl_GL.context.deleteSync(sync); }; lime_graphics_opengl_GL.deleteTexture = function(texture) { lime_graphics_opengl_GL.context.deleteTexture(texture); }; lime_graphics_opengl_GL.deleteTransformFeedback = function(transformFeedback) { lime_graphics_opengl_GL.context.deleteTransformFeedback(transformFeedback); }; lime_graphics_opengl_GL.deleteVertexArray = function(vertexArray) { lime_graphics_opengl_GL.context.deleteVertexArray(vertexArray); }; lime_graphics_opengl_GL.depthFunc = function(func) { lime_graphics_opengl_GL.context.depthFunc(func); }; lime_graphics_opengl_GL.depthMask = function(flag) { lime_graphics_opengl_GL.context.depthMask(flag); }; lime_graphics_opengl_GL.depthRange = function(zNear,zFar) { lime_graphics_opengl_GL.context.depthRange(zNear,zFar); }; lime_graphics_opengl_GL.detachShader = function(program,shader) { lime_graphics_opengl_GL.context.detachShader(program,shader); }; lime_graphics_opengl_GL.disable = function(cap) { lime_graphics_opengl_GL.context.disable(cap); }; lime_graphics_opengl_GL.disableVertexAttribArray = function(index) { lime_graphics_opengl_GL.context.disableVertexAttribArray(index); }; lime_graphics_opengl_GL.drawArrays = function(mode,first,count) { lime_graphics_opengl_GL.context.drawArrays(mode,first,count); }; lime_graphics_opengl_GL.drawArraysInstanced = function(mode,first,count,instanceCount) { lime_graphics_opengl_GL.context.drawArraysInstanced(mode,first,count,instanceCount); }; lime_graphics_opengl_GL.drawBuffers = function(buffers) { lime_graphics_opengl_GL.context.drawBuffers(buffers); }; lime_graphics_opengl_GL.drawElements = function(mode,count,type,offset) { lime_graphics_opengl_GL.context.drawElements(mode,count,type,offset); }; lime_graphics_opengl_GL.drawElementsInstanced = function(mode,count,type,offset,instanceCount) { lime_graphics_opengl_GL.context.drawElementsInstanced(mode,count,type,offset,instanceCount); }; lime_graphics_opengl_GL.drawRangeElements = function(mode,start,end,count,type,offset) { lime_graphics_opengl_GL.context.drawRangeElements(mode,start,end,count,type,offset); }; lime_graphics_opengl_GL.enable = function(cap) { lime_graphics_opengl_GL.context.enable(cap); }; lime_graphics_opengl_GL.enableVertexAttribArray = function(index) { lime_graphics_opengl_GL.context.enableVertexAttribArray(index); }; lime_graphics_opengl_GL.endQuery = function(target) { lime_graphics_opengl_GL.context.endQuery(target); }; lime_graphics_opengl_GL.endTransformFeedback = function() { lime_graphics_opengl_GL.context.endTransformFeedback(); }; lime_graphics_opengl_GL.fenceSync = function(condition,flags) { return lime_graphics_opengl_GL.context.fenceSync(condition,flags); }; lime_graphics_opengl_GL.finish = function() { lime_graphics_opengl_GL.context.finish(); }; lime_graphics_opengl_GL.flush = function() { lime_graphics_opengl_GL.context.flush(); }; lime_graphics_opengl_GL.framebufferRenderbuffer = function(target,attachment,renderbuffertarget,renderbuffer) { lime_graphics_opengl_GL.context.framebufferRenderbuffer(target,attachment,renderbuffertarget,renderbuffer); }; lime_graphics_opengl_GL.framebufferTexture2D = function(target,attachment,textarget,texture,level) { lime_graphics_opengl_GL.context.framebufferTexture2D(target,attachment,textarget,texture,level); }; lime_graphics_opengl_GL.framebufferTextureLayer = function(target,attachment,texture,level,layer) { lime_graphics_opengl_GL.context.framebufferTextureLayer(target,attachment,texture,level,layer); }; lime_graphics_opengl_GL.frontFace = function(mode) { lime_graphics_opengl_GL.context.frontFace(mode); }; lime_graphics_opengl_GL.generateMipmap = function(target) { lime_graphics_opengl_GL.context.generateMipmap(target); }; lime_graphics_opengl_GL.getActiveAttrib = function(program,index) { return lime_graphics_opengl_GL.context.getActiveAttrib(program,index); }; lime_graphics_opengl_GL.getActiveUniform = function(program,index) { return lime_graphics_opengl_GL.context.getActiveUniform(program,index); }; lime_graphics_opengl_GL.getActiveUniformBlockName = function(program,uniformBlockIndex) { return lime_graphics_opengl_GL.context.getActiveUniformBlockName(program,uniformBlockIndex); }; lime_graphics_opengl_GL.getActiveUniformBlockParameter = function(program,uniformBlockIndex,pname) { return lime_graphics_opengl_GL.context.getActiveUniformBlockParameter(program,uniformBlockIndex,pname); }; lime_graphics_opengl_GL.getActiveUniforms = function(program,uniformIndices,pname) { return lime_graphics_opengl_GL.context.getActiveUniforms(program,uniformIndices,pname); }; lime_graphics_opengl_GL.getAttachedShaders = function(program) { return lime_graphics_opengl_GL.context.getAttachedShaders(program); }; lime_graphics_opengl_GL.getAttribLocation = function(program,name) { return lime_graphics_opengl_GL.context.getAttribLocation(program,name); }; lime_graphics_opengl_GL.getBufferParameter = function(target,pname) { return lime_graphics_opengl_GL.context.getBufferParameter(target,pname); }; lime_graphics_opengl_GL.getBufferSubDataWEBGL = function(target,srcByteOffset,dstData,srcOffset,length) { var this1 = lime_graphics_opengl_GL.context; if(srcOffset != null) { this1.getBufferSubData(target,srcByteOffset,dstData,srcOffset,length); } else { this1.getBufferSubData(target,srcByteOffset,dstData); } }; lime_graphics_opengl_GL.getContextAttributes = function() { return lime_graphics_opengl_GL.context.getContextAttributes(); }; lime_graphics_opengl_GL.getError = function() { return lime_graphics_opengl_GL.context.getError(); }; lime_graphics_opengl_GL.getExtension = function(name) { return lime_graphics_opengl_GL.context.getExtension(name); }; lime_graphics_opengl_GL.getFragDataLocation = function(program,name) { return lime_graphics_opengl_GL.context.getFragDataLocation(program,name); }; lime_graphics_opengl_GL.getFramebufferAttachmentParameter = function(target,attachment,pname) { return lime_graphics_opengl_GL.context.getFramebufferAttachmentParameter(target,attachment,pname); }; lime_graphics_opengl_GL.getIndexedParameter = function(target,index) { return lime_graphics_opengl_GL.context.getIndexedParameter(target,index); }; lime_graphics_opengl_GL.getInternalformatParameter = function(target,internalformat,pname) { return lime_graphics_opengl_GL.context.getInternalformatParameter(target,internalformat,pname); }; lime_graphics_opengl_GL.getParameter = function(pname) { return lime_graphics_opengl_GL.context.getParameter(pname); }; lime_graphics_opengl_GL.getProgramInfoLog = function(program) { return lime_graphics_opengl_GL.context.getProgramInfoLog(program); }; lime_graphics_opengl_GL.getProgramParameter = function(program,pname) { return lime_graphics_opengl_GL.context.getProgramParameter(program,pname); }; lime_graphics_opengl_GL.getQuery = function(target,pname) { return lime_graphics_opengl_GL.context.getQuery(target,pname); }; lime_graphics_opengl_GL.getQueryParameter = function(query,pname) { return lime_graphics_opengl_GL.context.getQueryParameter(query,pname); }; lime_graphics_opengl_GL.getRenderbufferParameter = function(target,pname) { return lime_graphics_opengl_GL.context.getRenderbufferParameter(target,pname); }; lime_graphics_opengl_GL.getSamplerParameter = function(sampler,pname) { return lime_graphics_opengl_GL.context.getSamplerParameter(sampler,pname); }; lime_graphics_opengl_GL.getShaderInfoLog = function(shader) { return lime_graphics_opengl_GL.context.getShaderInfoLog(shader); }; lime_graphics_opengl_GL.getShaderParameter = function(shader,pname) { return lime_graphics_opengl_GL.context.getShaderParameter(shader,pname); }; lime_graphics_opengl_GL.getShaderPrecisionFormat = function(shadertype,precisiontype) { return lime_graphics_opengl_GL.context.getShaderPrecisionFormat(shadertype,precisiontype); }; lime_graphics_opengl_GL.getShaderSource = function(shader) { return lime_graphics_opengl_GL.context.getShaderSource(shader); }; lime_graphics_opengl_GL.getSupportedExtensions = function() { return lime_graphics_opengl_GL.context.getSupportedExtensions(); }; lime_graphics_opengl_GL.getSyncParameter = function(sync,pname) { return lime_graphics_opengl_GL.context.getSyncParameter(sync,pname); }; lime_graphics_opengl_GL.getTexParameter = function(target,pname) { return lime_graphics_opengl_GL.context.getTexParameter(target,pname); }; lime_graphics_opengl_GL.getTransformFeedbackVarying = function(program,index) { return lime_graphics_opengl_GL.context.getTransformFeedbackVarying(program,index); }; lime_graphics_opengl_GL.getUniform = function(program,location) { return lime_graphics_opengl_GL.context.getUniform(program,location); }; lime_graphics_opengl_GL.getUniformBlockIndex = function(program,uniformBlockName) { return lime_graphics_opengl_GL.context.getUniformBlockIndex(program,uniformBlockName); }; lime_graphics_opengl_GL.getUniformIndices = function(program,uniformNames) { return lime_graphics_opengl_GL.context.getUniformIndices(program,uniformNames); }; lime_graphics_opengl_GL.getUniformLocation = function(program,name) { return lime_graphics_opengl_GL.context.getUniformLocation(program,name); }; lime_graphics_opengl_GL.getVertexAttrib = function(index,pname) { return lime_graphics_opengl_GL.context.getVertexAttrib(index,pname); }; lime_graphics_opengl_GL.getVertexAttribOffset = function(index,pname) { return lime_utils__$DataPointer_DataPointer_$Impl_$.fromFloat(lime_graphics_opengl_GL.context.getVertexAttribOffset(index,pname)); }; lime_graphics_opengl_GL.hint = function(target,mode) { lime_graphics_opengl_GL.context.hint(target,mode); }; lime_graphics_opengl_GL.invalidateFramebuffer = function(target,attachments) { lime_graphics_opengl_GL.context.invalidateFramebuffer(target,attachments); }; lime_graphics_opengl_GL.invalidateSubFramebuffer = function(target,attachments,x,y,width,height) { lime_graphics_opengl_GL.context.invalidateSubFramebuffer(target,attachments,x,y,width,height); }; lime_graphics_opengl_GL.isBuffer = function(buffer) { return lime_graphics_opengl_GL.context.isBuffer(buffer); }; lime_graphics_opengl_GL.isContextLost = function() { return lime_graphics_opengl_GL.context.isContextLost(); }; lime_graphics_opengl_GL.isEnabled = function(cap) { return lime_graphics_opengl_GL.context.isEnabled(cap); }; lime_graphics_opengl_GL.isFramebuffer = function(framebuffer) { return lime_graphics_opengl_GL.context.isFramebuffer(framebuffer); }; lime_graphics_opengl_GL.isProgram = function(program) { return lime_graphics_opengl_GL.context.isProgram(program); }; lime_graphics_opengl_GL.isQuery = function(query) { return lime_graphics_opengl_GL.context.isQuery(query); }; lime_graphics_opengl_GL.isRenderbuffer = function(renderbuffer) { return lime_graphics_opengl_GL.context.isRenderbuffer(renderbuffer); }; lime_graphics_opengl_GL.isSampler = function(sampler) { return lime_graphics_opengl_GL.context.isSampler(sampler); }; lime_graphics_opengl_GL.isShader = function(shader) { return lime_graphics_opengl_GL.context.isShader(shader); }; lime_graphics_opengl_GL.isSync = function(sync) { return lime_graphics_opengl_GL.context.isSync(sync); }; lime_graphics_opengl_GL.isTexture = function(texture) { return lime_graphics_opengl_GL.context.isTexture(texture); }; lime_graphics_opengl_GL.isTransformFeedback = function(transformFeedback) { return lime_graphics_opengl_GL.context.isTransformFeedback(transformFeedback); }; lime_graphics_opengl_GL.isVertexArray = function(vertexArray) { return lime_graphics_opengl_GL.context.isVertexArray(vertexArray); }; lime_graphics_opengl_GL.lineWidth = function(width) { lime_graphics_opengl_GL.context.lineWidth(width); }; lime_graphics_opengl_GL.linkProgram = function(program) { lime_graphics_opengl_GL.context.linkProgram(program); }; lime_graphics_opengl_GL.pauseTransformFeedback = function() { lime_graphics_opengl_GL.context.pauseTransformFeedback(); }; lime_graphics_opengl_GL.pixelStorei = function(pname,param) { lime_graphics_opengl_GL.context.pixelStorei(pname,param); }; lime_graphics_opengl_GL.polygonOffset = function(factor,units) { lime_graphics_opengl_GL.context.polygonOffset(factor,units); }; lime_graphics_opengl_GL.readBuffer = function(src) { lime_graphics_opengl_GL.context.readBuffer(src); }; lime_graphics_opengl_GL.readPixelsWEBGL = function(x,y,width,height,format,type,pixels,dstOffset) { var this1 = lime_graphics_opengl_GL.context; if(dstOffset != null) { this1.readPixels(x,y,width,height,format,type,pixels,dstOffset); } else { this1.readPixels(x,y,width,height,format,type,pixels); } }; lime_graphics_opengl_GL.renderbufferStorage = function(target,internalformat,width,height) { lime_graphics_opengl_GL.context.renderbufferStorage(target,internalformat,width,height); }; lime_graphics_opengl_GL.renderbufferStorageMultisample = function(target,samples,internalformat,width,height) { lime_graphics_opengl_GL.context.renderbufferStorageMultisample(target,samples,internalformat,width,height); }; lime_graphics_opengl_GL.resumeTransformFeedback = function() { lime_graphics_opengl_GL.context.resumeTransformFeedback(); }; lime_graphics_opengl_GL.sampleCoverage = function(value,invert) { lime_graphics_opengl_GL.context.sampleCoverage(value,invert); }; lime_graphics_opengl_GL.samplerParameterf = function(sampler,pname,param) { lime_graphics_opengl_GL.context.samplerParameterf(sampler,pname,param); }; lime_graphics_opengl_GL.samplerParameteri = function(sampler,pname,param) { lime_graphics_opengl_GL.context.samplerParameteri(sampler,pname,param); }; lime_graphics_opengl_GL.scissor = function(x,y,width,height) { lime_graphics_opengl_GL.context.scissor(x,y,width,height); }; lime_graphics_opengl_GL.shaderSource = function(shader,source) { lime_graphics_opengl_GL.context.shaderSource(shader,source); }; lime_graphics_opengl_GL.stencilFunc = function(func,ref,mask) { lime_graphics_opengl_GL.context.stencilFunc(func,ref,mask); }; lime_graphics_opengl_GL.stencilFuncSeparate = function(face,func,ref,mask) { lime_graphics_opengl_GL.context.stencilFuncSeparate(face,func,ref,mask); }; lime_graphics_opengl_GL.stencilMask = function(mask) { lime_graphics_opengl_GL.context.stencilMask(mask); }; lime_graphics_opengl_GL.stencilMaskSeparate = function(face,mask) { lime_graphics_opengl_GL.context.stencilMaskSeparate(face,mask); }; lime_graphics_opengl_GL.stencilOp = function(fail,zfail,zpass) { lime_graphics_opengl_GL.context.stencilOp(fail,zfail,zpass); }; lime_graphics_opengl_GL.stencilOpSeparate = function(face,fail,zfail,zpass) { lime_graphics_opengl_GL.context.stencilOpSeparate(face,fail,zfail,zpass); }; lime_graphics_opengl_GL.texImage2DWEBGL = function(target,level,internalformat,width,height,border,format,type,srcData,srcOffset) { var this1 = lime_graphics_opengl_GL.context; if(srcOffset != null) { this1.texImage2D(target,level,internalformat,width,height,border,format,type,srcData,srcOffset); } else if(format != null) { this1.texImage2D(target,level,internalformat,width,height,border,format,type,srcData); } else { this1.texImage2D(target,level,internalformat,width,height,border); } }; lime_graphics_opengl_GL.texImage3DWEBGL = function(target,level,internalformat,width,height,depth,border,format,type,srcData,srcOffset) { lime_graphics_opengl_GL.context.texImage3D(target,level,internalformat,width,height,depth,border,format,type,srcData,srcOffset); }; lime_graphics_opengl_GL.texStorage2D = function(target,level,internalformat,width,height) { lime_graphics_opengl_GL.context.texStorage2D(target,level,internalformat,width,height); }; lime_graphics_opengl_GL.texStorage3D = function(target,level,internalformat,width,height,depth) { lime_graphics_opengl_GL.context.texStorage3D(target,level,internalformat,width,height,depth); }; lime_graphics_opengl_GL.texParameterf = function(target,pname,param) { lime_graphics_opengl_GL.context.texParameterf(target,pname,param); }; lime_graphics_opengl_GL.texParameteri = function(target,pname,param) { lime_graphics_opengl_GL.context.texParameteri(target,pname,param); }; lime_graphics_opengl_GL.texSubImage2DWEBGL = function(target,level,xoffset,yoffset,width,height,format,type,srcData,srcOffset) { var this1 = lime_graphics_opengl_GL.context; if(srcOffset != null) { this1.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,srcData,srcOffset); } else if(type != null) { this1.texSubImage2D(target,level,xoffset,yoffset,width,height,format,type,srcData); } else { this1.texSubImage2D(target,level,xoffset,yoffset,width,height,format); } }; lime_graphics_opengl_GL.texSubImage3DWEBGL = function(target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,source,srcOffset) { lime_graphics_opengl_GL.context.texSubImage3D(target,level,xoffset,yoffset,zoffset,width,height,depth,format,type,source,srcOffset); }; lime_graphics_opengl_GL.transformFeedbackVaryings = function(program,varyings,bufferMode) { lime_graphics_opengl_GL.context.transformFeedbackVaryings(program,varyings,bufferMode); }; lime_graphics_opengl_GL.uniform1f = function(location,v0) { lime_graphics_opengl_GL.context.uniform1f(location,v0); }; lime_graphics_opengl_GL.uniform1fvWEBGL = function(location,data,srcOffset,srcLength) { var this1 = lime_graphics_opengl_GL.context; if(srcOffset != null) { this1.uniform1fv(location,data,srcOffset,srcLength); } else { this1.uniform1fv(location,data); } }; lime_graphics_opengl_GL.uniform1i = function(location,v0) { lime_graphics_opengl_GL.context.uniform1i(location,v0); }; lime_graphics_opengl_GL.uniform1ivWEBGL = function(location,data,srcOffset,srcLength) { var this1 = lime_graphics_opengl_GL.context; if(srcOffset != null) { this1.uniform1iv(location,data,srcOffset,srcLength); } else { this1.uniform1iv(location,data); } }; lime_graphics_opengl_GL.uniform1ui = function(location,v0) { lime_graphics_opengl_GL.context.uniform1ui(location,v0); }; lime_graphics_opengl_GL.uniform1uivWEBGL = function(location,data,srcOffset,srcLength) { lime_graphics_opengl_GL.context.uniform1uiv(location,data,srcOffset,srcLength); }; lime_graphics_opengl_GL.uniform2f = function(location,v0,v1) { lime_graphics_opengl_GL.context.uniform2f(location,v0,v1); }; lime_graphics_opengl_GL.uniform2fvWEBGL = function(location,data,srcOffset,srcLength) { lime_graphics__$WebGL2RenderContext_WebGL2RenderContext_$Impl_$.uniform2fv(lime_graphics_opengl_GL.context,location,data,srcOffset,srcLength); }; lime_graphics_opengl_GL.uniform2i = function(location,x,y) { lime_graphics_opengl_GL.context.uniform2i(location,x,y); }; lime_graphics_opengl_GL.uniform2ivWEBGL = function(location,data,srcOffset,srcLength) { var this1 = lime_graphics_opengl_GL.context; if(srcOffset != null) { this1.uniform2iv(location,data,srcOffset,srcLength); } else { this1.uniform2iv(location,data); } }; lime_graphics_opengl_GL.uniform2ui = function(location,x,y) { lime_graphics_opengl_GL.context.uniform2ui(location,x,y); }; lime_graphics_opengl_GL.uniform2uivWEBGL = function(location,data,srcOffset,srcLength) { lime_graphics_opengl_GL.context.uniform2uiv(location,data,srcOffset,srcLength); }; lime_graphics_opengl_GL.uniform3f = function(location,v0,v1,v2) { lime_graphics_opengl_GL.context.uniform3f(location,v0,v1,v2); }; lime_graphics_opengl_GL.uniform3fvWEBGL = function(location,data,srcOffset,srcLength) { var this1 = lime_graphics_opengl_GL.context; if(srcOffset != null) { this1.uniform3fv(location,data,srcOffset,srcLength); } else { this1.uniform3fv(location,data); } }; lime_graphics_opengl_GL.uniform3i = function(location,v0,v1,v2) { lime_graphics_opengl_GL.context.uniform3i(location,v0,v1,v2); }; lime_graphics_opengl_GL.uniform3ivWEBGL = function(location,data,srcOffset,srcLength) { var this1 = lime_graphics_opengl_GL.context; if(srcOffset != null) { this1.uniform3iv(location,data,srcOffset,srcLength); } else { this1.uniform3iv(location,data); } }; lime_graphics_opengl_GL.uniform3ui = function(location,v0,v1,v2) { lime_graphics_opengl_GL.context.uniform3ui(location,v0,v1,v2); }; lime_graphics_opengl_GL.uniform3uivWEBGL = function(location,data,srcOffset,srcLength) { lime_graphics_opengl_GL.context.uniform3uiv(location,data,srcOffset,srcLength); }; lime_graphics_opengl_GL.uniform4f = function(location,v0,v1,v2,v3) { lime_graphics_opengl_GL.context.uniform4f(location,v0,v1,v2,v3); }; lime_graphics_opengl_GL.uniform4fvWEBGL = function(location,data,srcOffset,srcLength) { var this1 = lime_graphics_opengl_GL.context; if(srcOffset != null) { this1.uniform4fv(location,data,srcOffset,srcLength); } else { this1.uniform4fv(location,data); } }; lime_graphics_opengl_GL.uniform4i = function(location,v0,v1,v2,v3) { lime_graphics_opengl_GL.context.uniform4i(location,v0,v1,v2,v3); }; lime_graphics_opengl_GL.uniform4ivWEBGL = function(location,data,srcOffset,srcLength) { var this1 = lime_graphics_opengl_GL.context; if(srcOffset != null) { this1.uniform4iv(location,data,srcOffset,srcLength); } else { this1.uniform4iv(location,data); } }; lime_graphics_opengl_GL.uniform4ui = function(location,v0,v1,v2,v3) { lime_graphics_opengl_GL.context.uniform4ui(location,v0,v1,v2,v3); }; lime_graphics_opengl_GL.uniform4uivWEBGL = function(location,data,srcOffset,srcLength) { lime_graphics_opengl_GL.context.uniform4uiv(location,data,srcOffset,srcLength); }; lime_graphics_opengl_GL.uniformBlockBinding = function(program,uniformBlockIndex,uniformBlockBinding) { lime_graphics_opengl_GL.context.uniformBlockBinding(program,uniformBlockIndex,uniformBlockBinding); }; lime_graphics_opengl_GL.uniformMatrix2fvWEBGL = function(location,transpose,v,srcOffset,srcLength) { var this1 = lime_graphics_opengl_GL.context; if(srcOffset != null) { this1.uniformMatrix2fv(location,transpose,v,srcOffset,srcLength); } else { this1.uniformMatrix2fv(location,transpose,v); } }; lime_graphics_opengl_GL.uniformMatrix2x3fvWEBGL = function(location,transpose,v,srcOffset,srcLength) { lime_graphics_opengl_GL.context.uniformMatrix2x3fv(location,transpose,v,srcOffset,srcLength); }; lime_graphics_opengl_GL.uniformMatrix2x4fvWEBGL = function(location,transpose,v,srcOffset,srcLength) { lime_graphics_opengl_GL.context.uniformMatrix2x4fv(location,transpose,v,srcOffset,srcLength); }; lime_graphics_opengl_GL.uniformMatrix3fvWEBGL = function(location,transpose,v,srcOffset,srcLength) { var this1 = lime_graphics_opengl_GL.context; if(srcOffset != null) { this1.uniformMatrix3fv(location,transpose,v,srcOffset,srcLength); } else { this1.uniformMatrix3fv(location,transpose,v); } }; lime_graphics_opengl_GL.uniformMatrix3x2fvWEBGL = function(location,transpose,v,srcOffset,srcLength) { lime_graphics_opengl_GL.context.uniformMatrix3x2fv(location,transpose,v,srcOffset,srcLength); }; lime_graphics_opengl_GL.uniformMatrix3x4fvWEBGL = function(location,transpose,v,srcOffset,srcLength) { lime_graphics_opengl_GL.context.uniformMatrix3x4fv(location,transpose,v,srcOffset,srcLength); }; lime_graphics_opengl_GL.uniformMatrix4fvWEBGL = function(location,transpose,v,srcOffset,srcLength) { var this1 = lime_graphics_opengl_GL.context; if(srcOffset != null) { this1.uniformMatrix4fv(location,transpose,v,srcOffset,srcLength); } else { this1.uniformMatrix4fv(location,transpose,v); } }; lime_graphics_opengl_GL.uniformMatrix4x2fvWEBGL = function(location,transpose,v,srcOffset,srcLength) { lime_graphics_opengl_GL.context.uniformMatrix4x2fv(location,transpose,v,srcOffset,srcLength); }; lime_graphics_opengl_GL.uniformMatrix4x3fvWEBGL = function(location,transpose,v,srcOffset,srcLength) { lime_graphics_opengl_GL.context.uniformMatrix4x3fv(location,transpose,v,srcOffset,srcLength); }; lime_graphics_opengl_GL.useProgram = function(program) { lime_graphics_opengl_GL.context.useProgram(program); }; lime_graphics_opengl_GL.validateProgram = function(program) { lime_graphics_opengl_GL.context.validateProgram(program); }; lime_graphics_opengl_GL.vertexAttrib1f = function(index,v0) { lime_graphics_opengl_GL.context.vertexAttrib1f(index,v0); }; lime_graphics_opengl_GL.vertexAttrib1fv = function(index,v) { lime_graphics_opengl_GL.context.vertexAttrib1fv(index,v); }; lime_graphics_opengl_GL.vertexAttrib1fvWEBGL = function(index,v) { lime_graphics_opengl_GL.context.vertexAttrib1fv(index,v); }; lime_graphics_opengl_GL.vertexAttrib2f = function(index,v0,v1) { lime_graphics_opengl_GL.context.vertexAttrib2f(index,v0,v1); }; lime_graphics_opengl_GL.vertexAttrib2fv = function(index,v) { lime_graphics_opengl_GL.context.vertexAttrib2fv(index,v); }; lime_graphics_opengl_GL.vertexAttrib2fvWEBGL = function(index,v) { lime_graphics_opengl_GL.context.vertexAttrib2fv(index,v); }; lime_graphics_opengl_GL.vertexAttrib3f = function(index,v0,v1,v2) { lime_graphics_opengl_GL.context.vertexAttrib3f(index,v0,v1,v2); }; lime_graphics_opengl_GL.vertexAttrib3fv = function(index,v) { lime_graphics_opengl_GL.context.vertexAttrib3fv(index,v); }; lime_graphics_opengl_GL.vertexAttrib3fvWEBGL = function(index,v) { lime_graphics_opengl_GL.context.vertexAttrib3fv(index,v); }; lime_graphics_opengl_GL.vertexAttrib4f = function(index,v0,v1,v2,v3) { lime_graphics_opengl_GL.context.vertexAttrib4f(index,v0,v1,v2,v3); }; lime_graphics_opengl_GL.vertexAttrib4fv = function(index,v) { lime_graphics_opengl_GL.context.vertexAttrib4fv(index,v); }; lime_graphics_opengl_GL.vertexAttrib4fvWEBGL = function(index,v) { lime_graphics_opengl_GL.context.vertexAttrib4fv(index,v); }; lime_graphics_opengl_GL.vertexAttribDivisor = function(index,divisor) { lime_graphics_opengl_GL.context.vertexAttribDivisor(index,divisor); }; lime_graphics_opengl_GL.vertexAttribI4i = function(index,v0,v1,v2,v3) { lime_graphics_opengl_GL.context.vertexAttribI4i(index,v0,v1,v2,v3); }; lime_graphics_opengl_GL.vertexAttribI4iv = function(index,v) { lime_graphics_opengl_GL.context.vertexAttribI4iv(index,v); }; lime_graphics_opengl_GL.vertexAttribI4ivWEBGL = function(index,v) { lime_graphics_opengl_GL.context.vertexAttribI4iv(index,v); }; lime_graphics_opengl_GL.vertexAttribI4ui = function(index,v0,v1,v2,v3) { lime_graphics_opengl_GL.context.vertexAttribI4ui(index,v0,v1,v2,v3); }; lime_graphics_opengl_GL.vertexAttribI4uiv = function(index,v) { lime_graphics_opengl_GL.context.vertexAttribI4uiv(index,v); }; lime_graphics_opengl_GL.vertexAttribI4uivWEBGL = function(index,v) { lime_graphics_opengl_GL.context.vertexAttribI4uiv(index,v); }; lime_graphics_opengl_GL.vertexAttribIPointer = function(index,size,type,stride,offset) { lime_graphics_opengl_GL.context.vertexAttribIPointer(index,size,type,stride,offset); }; lime_graphics_opengl_GL.vertexAttribPointer = function(index,size,type,normalized,stride,offset) { lime_graphics_opengl_GL.context.vertexAttribPointer(index,size,type,normalized,stride,offset); }; lime_graphics_opengl_GL.viewport = function(x,y,width,height) { lime_graphics_opengl_GL.context.viewport(x,y,width,height); }; lime_graphics_opengl_GL.waitSync = function(sync,flags,timeout) { lime_graphics_opengl_GL.context.waitSync(sync,flags,timeout); }; lime_graphics_opengl_GL.__getObjectID = function(object) { if(object == null) { return 0; } else { return object.id; } }; var lime_graphics_opengl__$GLProgram_GLProgram_$Impl_$ = {}; $hxClasses["lime.graphics.opengl._GLProgram.GLProgram_Impl_"] = lime_graphics_opengl__$GLProgram_GLProgram_$Impl_$; lime_graphics_opengl__$GLProgram_GLProgram_$Impl_$.__name__ = "lime.graphics.opengl._GLProgram.GLProgram_Impl_"; lime_graphics_opengl__$GLProgram_GLProgram_$Impl_$.fromSources = function(gl,vertexSource,fragmentSource) { var vertexShader = lime_graphics_opengl__$GLShader_GLShader_$Impl_$.fromSource(gl,vertexSource,gl.VERTEX_SHADER); var fragmentShader = lime_graphics_opengl__$GLShader_GLShader_$Impl_$.fromSource(gl,fragmentSource,gl.FRAGMENT_SHADER); var program = gl.createProgram(); gl.attachShader(program,vertexShader); gl.attachShader(program,fragmentShader); gl.linkProgram(program); if(gl.getProgramParameter(program,35714) == 0) { var message = "Unable to initialize the shader program"; message += "\n" + lime_graphics_opengl_GL.context.getProgramInfoLog(program); lime_utils_Log.error(message,{ fileName : "lime/graphics/opengl/GLProgram.hx", lineNumber : 39, className : "lime.graphics.opengl._GLProgram.GLProgram_Impl_", methodName : "fromSources"}); } return program; }; var lime_graphics_opengl__$GLShader_GLShader_$Impl_$ = {}; $hxClasses["lime.graphics.opengl._GLShader.GLShader_Impl_"] = lime_graphics_opengl__$GLShader_GLShader_$Impl_$; lime_graphics_opengl__$GLShader_GLShader_$Impl_$.__name__ = "lime.graphics.opengl._GLShader.GLShader_Impl_"; lime_graphics_opengl__$GLShader_GLShader_$Impl_$.fromSource = function(gl,source,type) { var shader = gl.createShader(type); gl.shaderSource(shader,source); gl.compileShader(shader); if(gl.getShaderParameter(shader,gl.COMPILE_STATUS) == 0) { var message; if(type == gl.VERTEX_SHADER) { message = "Error compiling vertex shader"; } else if(type == gl.FRAGMENT_SHADER) { message = "Error compiling fragment shader"; } else { message = "Error compiling unknown shader type"; } message += "\n" + gl.getShaderInfoLog(shader); lime_utils_Log.error(message,{ fileName : "lime/graphics/opengl/GLShader.hx", lineNumber : 40, className : "lime.graphics.opengl._GLShader.GLShader_Impl_", methodName : "fromSource"}); } return shader; }; var lime_graphics_opengl_ext_KHR_$debug = function() { this.STACK_UNDERFLOW = 1284; this.STACK_OVERFLOW = 1283; this.CONTEXT_FLAG_DEBUG_BIT = 2; this.DEBUG_OUTPUT = 37600; this.DEBUG_SEVERITY_LOW = 37192; this.DEBUG_SEVERITY_MEDIUM = 37191; this.DEBUG_SEVERITY_HIGH = 37190; this.DEBUG_LOGGED_MESSAGES = 37189; this.MAX_DEBUG_LOGGED_MESSAGES = 37188; this.MAX_DEBUG_MESSAGE_LENGTH = 37187; this.MAX_LABEL_LENGTH = 33512; this.SAMPLER = 33510; this.QUERY = 33507; this.PROGRAM = 33506; this.SHADER = 33505; this.BUFFER = 33504; this.DEBUG_GROUP_STACK_DEPTH = 33389; this.MAX_DEBUG_GROUP_STACK_DEPTH = 33388; this.DEBUG_SEVERITY_NOTIFICATION = 33387; this.DEBUG_TYPE_POP_GROUP = 33386; this.DEBUG_TYPE_PUSH_GROUP = 33385; this.DEBUG_TYPE_MARKER = 33384; this.DEBUG_TYPE_OTHER = 33361; this.DEBUG_TYPE_PERFORMANCE = 33360; this.DEBUG_TYPE_PORTABILITY = 33359; this.DEBUG_TYPE_UNDEFINED_BEHAVIOR = 33358; this.DEBUG_TYPE_DEPRECATED_BEHAVIOR = 33357; this.DEBUG_TYPE_ERROR = 33356; this.DEBUG_SOURCE_OTHER = 33355; this.DEBUG_SOURCE_APPLICATION = 33354; this.DEBUG_SOURCE_THIRD_PARTY = 33353; this.DEBUG_SOURCE_SHADER_COMPILER = 33352; this.DEBUG_SOURCE_WINDOW_SYSTEM = 33351; this.DEBUG_SOURCE_API = 33350; this.DEBUG_CALLBACK_USER_PARAM = 33349; this.DEBUG_CALLBACK_FUNCTION = 33348; this.DEBUG_NEXT_LOGGED_MESSAGE_LENGTH = 33347; this.DEBUG_OUTPUT_SYNCHRONOUS = 33346; }; $hxClasses["lime.graphics.opengl.ext.KHR_debug"] = lime_graphics_opengl_ext_KHR_$debug; lime_graphics_opengl_ext_KHR_$debug.__name__ = "lime.graphics.opengl.ext.KHR_debug"; lime_graphics_opengl_ext_KHR_$debug.prototype = { DEBUG_OUTPUT_SYNCHRONOUS: null ,DEBUG_NEXT_LOGGED_MESSAGE_LENGTH: null ,DEBUG_CALLBACK_FUNCTION: null ,DEBUG_CALLBACK_USER_PARAM: null ,DEBUG_SOURCE_API: null ,DEBUG_SOURCE_WINDOW_SYSTEM: null ,DEBUG_SOURCE_SHADER_COMPILER: null ,DEBUG_SOURCE_THIRD_PARTY: null ,DEBUG_SOURCE_APPLICATION: null ,DEBUG_SOURCE_OTHER: null ,DEBUG_TYPE_ERROR: null ,DEBUG_TYPE_DEPRECATED_BEHAVIOR: null ,DEBUG_TYPE_UNDEFINED_BEHAVIOR: null ,DEBUG_TYPE_PORTABILITY: null ,DEBUG_TYPE_PERFORMANCE: null ,DEBUG_TYPE_OTHER: null ,DEBUG_TYPE_MARKER: null ,DEBUG_TYPE_PUSH_GROUP: null ,DEBUG_TYPE_POP_GROUP: null ,DEBUG_SEVERITY_NOTIFICATION: null ,MAX_DEBUG_GROUP_STACK_DEPTH: null ,DEBUG_GROUP_STACK_DEPTH: null ,BUFFER: null ,SHADER: null ,PROGRAM: null ,QUERY: null ,SAMPLER: null ,MAX_LABEL_LENGTH: null ,MAX_DEBUG_MESSAGE_LENGTH: null ,MAX_DEBUG_LOGGED_MESSAGES: null ,DEBUG_LOGGED_MESSAGES: null ,DEBUG_SEVERITY_HIGH: null ,DEBUG_SEVERITY_MEDIUM: null ,DEBUG_SEVERITY_LOW: null ,DEBUG_OUTPUT: null ,CONTEXT_FLAG_DEBUG_BIT: null ,STACK_OVERFLOW: null ,STACK_UNDERFLOW: null ,__class__: lime_graphics_opengl_ext_KHR_$debug }; var lime_math__$ARGB_ARGB_$Impl_$ = {}; $hxClasses["lime.math._ARGB.ARGB_Impl_"] = lime_math__$ARGB_ARGB_$Impl_$; lime_math__$ARGB_ARGB_$Impl_$.__name__ = "lime.math._ARGB.ARGB_Impl_"; lime_math__$ARGB_ARGB_$Impl_$.__properties__ = {set_r:"set_r",get_r:"get_r",set_g:"set_g",get_g:"get_g",set_b:"set_b",get_b:"get_b",set_a:"set_a",get_a:"get_a"}; lime_math__$ARGB_ARGB_$Impl_$.a16 = null; lime_math__$ARGB_ARGB_$Impl_$.unmult = null; lime_math__$ARGB_ARGB_$Impl_$._new = function(argb) { if(argb == null) { argb = 0; } var this1 = argb; return this1; }; lime_math__$ARGB_ARGB_$Impl_$.create = function(a,r,g,b) { var this1 = 0; var argb = this1; argb = (a & 255) << 24 | (r & 255) << 16 | (g & 255) << 8 | b & 255; return argb; }; lime_math__$ARGB_ARGB_$Impl_$.multiplyAlpha = function(this1) { if((this1 >>> 24 & 255) == 0) { this1 = 0; } else if((this1 >>> 24 & 255) != 255) { lime_math__$ARGB_ARGB_$Impl_$.a16 = lime_math__$RGBA_RGBA_$Impl_$.__alpha16[this1 >>> 24 & 255]; this1 = (this1 >>> 24 & 255 & 255) << 24 | ((this1 >>> 16 & 255) * lime_math__$ARGB_ARGB_$Impl_$.a16 >> 16 & 255) << 16 | ((this1 >>> 8 & 255) * lime_math__$ARGB_ARGB_$Impl_$.a16 >> 16 & 255) << 8 | (this1 & 255) * lime_math__$ARGB_ARGB_$Impl_$.a16 >> 16 & 255; } }; lime_math__$ARGB_ARGB_$Impl_$.readUInt8 = function(this1,data,offset,format,premultiplied) { if(premultiplied == null) { premultiplied = false; } if(format == null) { format = 0; } switch(format) { case 0: this1 = (data[offset + 1] & 255) << 24 | (data[offset + 2] & 255) << 16 | (data[offset + 3] & 255) << 8 | data[offset] & 255; break; case 1: this1 = (data[offset + 2] & 255) << 24 | (data[offset + 3] & 255) << 16 | (data[offset] & 255) << 8 | data[offset + 1] & 255; break; case 2: this1 = (data[offset + 1] & 255) << 24 | (data[offset] & 255) << 16 | (data[offset + 3] & 255) << 8 | data[offset + 2] & 255; break; } if(premultiplied) { if((this1 >>> 24 & 255) != 0 && (this1 >>> 24 & 255) != 255) { lime_math__$ARGB_ARGB_$Impl_$.unmult = 255.0 / (this1 >>> 24 & 255); this1 = (this1 >>> 24 & 255 & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.floor((this1 >>> 16 & 255) * lime_math__$ARGB_ARGB_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.floor((this1 >>> 8 & 255) * lime_math__$ARGB_ARGB_$Impl_$.unmult)] & 255) << 8 | lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.floor((this1 & 255) * lime_math__$ARGB_ARGB_$Impl_$.unmult)] & 255; } } }; lime_math__$ARGB_ARGB_$Impl_$.set = function(this1,a,r,g,b) { this1 = (a & 255) << 24 | (r & 255) << 16 | (g & 255) << 8 | b & 255; }; lime_math__$ARGB_ARGB_$Impl_$.unmultiplyAlpha = function(this1) { if((this1 >>> 24 & 255) != 0 && (this1 >>> 24 & 255) != 255) { lime_math__$ARGB_ARGB_$Impl_$.unmult = 255.0 / (this1 >>> 24 & 255); this1 = (this1 >>> 24 & 255 & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.floor((this1 >>> 16 & 255) * lime_math__$ARGB_ARGB_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.floor((this1 >>> 8 & 255) * lime_math__$ARGB_ARGB_$Impl_$.unmult)] & 255) << 8 | lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.floor((this1 & 255) * lime_math__$ARGB_ARGB_$Impl_$.unmult)] & 255; } }; lime_math__$ARGB_ARGB_$Impl_$.writeUInt8 = function(this1,data,offset,format,premultiplied) { if(premultiplied == null) { premultiplied = false; } if(format == null) { format = 0; } if(premultiplied) { if((this1 >>> 24 & 255) == 0) { this1 = 0; } else if((this1 >>> 24 & 255) != 255) { lime_math__$ARGB_ARGB_$Impl_$.a16 = lime_math__$RGBA_RGBA_$Impl_$.__alpha16[this1 >>> 24 & 255]; this1 = (this1 >>> 24 & 255 & 255) << 24 | ((this1 >>> 16 & 255) * lime_math__$ARGB_ARGB_$Impl_$.a16 >> 16 & 255) << 16 | ((this1 >>> 8 & 255) * lime_math__$ARGB_ARGB_$Impl_$.a16 >> 16 & 255) << 8 | (this1 & 255) * lime_math__$ARGB_ARGB_$Impl_$.a16 >> 16 & 255; } } switch(format) { case 0: data[offset] = this1 >>> 16 & 255; data[offset + 1] = this1 >>> 8 & 255; data[offset + 2] = this1 & 255; data[offset + 3] = this1 >>> 24 & 255; break; case 1: data[offset] = this1 >>> 24 & 255; data[offset + 1] = this1 >>> 16 & 255; data[offset + 2] = this1 >>> 8 & 255; data[offset + 3] = this1 & 255; break; case 2: data[offset] = this1 & 255; data[offset + 1] = this1 >>> 8 & 255; data[offset + 2] = this1 >>> 16 & 255; data[offset + 3] = this1 >>> 24 & 255; break; } }; lime_math__$ARGB_ARGB_$Impl_$.__fromBGRA = function(bgra) { var this1 = 0; var argb = this1; argb = (bgra & 255 & 255) << 24 | (bgra >>> 8 & 255 & 255) << 16 | (bgra >>> 16 & 255 & 255) << 8 | bgra >>> 24 & 255 & 255; return argb; }; lime_math__$ARGB_ARGB_$Impl_$.__fromRGBA = function(rgba) { var this1 = 0; var argb = this1; argb = (rgba & 255 & 255) << 24 | (rgba >>> 24 & 255 & 255) << 16 | (rgba >>> 16 & 255 & 255) << 8 | rgba >>> 8 & 255 & 255; return argb; }; lime_math__$ARGB_ARGB_$Impl_$.get_a = function(this1) { return this1 >>> 24 & 255; }; lime_math__$ARGB_ARGB_$Impl_$.set_a = function(this1,value) { this1 = (value & 255) << 24 | (this1 >>> 16 & 255 & 255) << 16 | (this1 >>> 8 & 255 & 255) << 8 | this1 & 255 & 255; return value; }; lime_math__$ARGB_ARGB_$Impl_$.get_b = function(this1) { return this1 & 255; }; lime_math__$ARGB_ARGB_$Impl_$.set_b = function(this1,value) { this1 = (this1 >>> 24 & 255 & 255) << 24 | (this1 >>> 16 & 255 & 255) << 16 | (this1 >>> 8 & 255 & 255) << 8 | value & 255; return value; }; lime_math__$ARGB_ARGB_$Impl_$.get_g = function(this1) { return this1 >>> 8 & 255; }; lime_math__$ARGB_ARGB_$Impl_$.set_g = function(this1,value) { this1 = (this1 >>> 24 & 255 & 255) << 24 | (this1 >>> 16 & 255 & 255) << 16 | (value & 255) << 8 | this1 & 255 & 255; return value; }; lime_math__$ARGB_ARGB_$Impl_$.get_r = function(this1) { return this1 >>> 16 & 255; }; lime_math__$ARGB_ARGB_$Impl_$.set_r = function(this1,value) { this1 = (this1 >>> 24 & 255 & 255) << 24 | (value & 255) << 16 | (this1 >>> 8 & 255 & 255) << 8 | this1 & 255 & 255; return value; }; var lime_math__$BGRA_BGRA_$Impl_$ = {}; $hxClasses["lime.math._BGRA.BGRA_Impl_"] = lime_math__$BGRA_BGRA_$Impl_$; lime_math__$BGRA_BGRA_$Impl_$.__name__ = "lime.math._BGRA.BGRA_Impl_"; lime_math__$BGRA_BGRA_$Impl_$.__properties__ = {set_r:"set_r",get_r:"get_r",set_g:"set_g",get_g:"get_g",set_b:"set_b",get_b:"get_b",set_a:"set_a",get_a:"get_a"}; lime_math__$BGRA_BGRA_$Impl_$.a16 = null; lime_math__$BGRA_BGRA_$Impl_$.unmult = null; lime_math__$BGRA_BGRA_$Impl_$._new = function(bgra) { if(bgra == null) { bgra = 0; } var this1 = bgra; return this1; }; lime_math__$BGRA_BGRA_$Impl_$.create = function(b,g,r,a) { var this1 = 0; var bgra = this1; bgra = (b & 255) << 24 | (g & 255) << 16 | (r & 255) << 8 | a & 255; return bgra; }; lime_math__$BGRA_BGRA_$Impl_$.multiplyAlpha = function(this1) { if((this1 & 255) == 0) { this1 = 0; } else if((this1 & 255) != 255) { lime_math__$BGRA_BGRA_$Impl_$.a16 = lime_math__$RGBA_RGBA_$Impl_$.__alpha16[this1 & 255]; this1 = ((this1 >>> 24 & 255) * lime_math__$BGRA_BGRA_$Impl_$.a16 >> 16 & 255) << 24 | ((this1 >>> 16 & 255) * lime_math__$BGRA_BGRA_$Impl_$.a16 >> 16 & 255) << 16 | ((this1 >>> 8 & 255) * lime_math__$BGRA_BGRA_$Impl_$.a16 >> 16 & 255) << 8 | this1 & 255 & 255; } }; lime_math__$BGRA_BGRA_$Impl_$.readUInt8 = function(this1,data,offset,format,premultiplied) { if(premultiplied == null) { premultiplied = false; } if(format == null) { format = 0; } switch(format) { case 0: this1 = (data[offset + 2] & 255) << 24 | (data[offset + 1] & 255) << 16 | (data[offset] & 255) << 8 | data[offset + 3] & 255; break; case 1: this1 = (data[offset + 3] & 255) << 24 | (data[offset + 2] & 255) << 16 | (data[offset + 1] & 255) << 8 | data[offset] & 255; break; case 2: this1 = (data[offset] & 255) << 24 | (data[offset + 1] & 255) << 16 | (data[offset + 2] & 255) << 8 | data[offset + 3] & 255; break; } if(premultiplied) { if((this1 & 255) != 0 && (this1 & 255) != 255) { lime_math__$BGRA_BGRA_$Impl_$.unmult = 255.0 / (this1 & 255); this1 = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.floor((this1 >>> 24 & 255) * lime_math__$BGRA_BGRA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.floor((this1 >>> 16 & 255) * lime_math__$BGRA_BGRA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.floor((this1 >>> 8 & 255) * lime_math__$BGRA_BGRA_$Impl_$.unmult)] & 255) << 8 | this1 & 255 & 255; } } }; lime_math__$BGRA_BGRA_$Impl_$.set = function(this1,b,g,r,a) { this1 = (b & 255) << 24 | (g & 255) << 16 | (r & 255) << 8 | a & 255; }; lime_math__$BGRA_BGRA_$Impl_$.unmultiplyAlpha = function(this1) { if((this1 & 255) != 0 && (this1 & 255) != 255) { lime_math__$BGRA_BGRA_$Impl_$.unmult = 255.0 / (this1 & 255); this1 = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.floor((this1 >>> 24 & 255) * lime_math__$BGRA_BGRA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.floor((this1 >>> 16 & 255) * lime_math__$BGRA_BGRA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.floor((this1 >>> 8 & 255) * lime_math__$BGRA_BGRA_$Impl_$.unmult)] & 255) << 8 | this1 & 255 & 255; } }; lime_math__$BGRA_BGRA_$Impl_$.writeUInt8 = function(this1,data,offset,format,premultiplied) { if(premultiplied == null) { premultiplied = false; } if(format == null) { format = 0; } if(premultiplied) { if((this1 & 255) == 0) { this1 = 0; } else if((this1 & 255) != 255) { lime_math__$BGRA_BGRA_$Impl_$.a16 = lime_math__$RGBA_RGBA_$Impl_$.__alpha16[this1 & 255]; this1 = ((this1 >>> 24 & 255) * lime_math__$BGRA_BGRA_$Impl_$.a16 >> 16 & 255) << 24 | ((this1 >>> 16 & 255) * lime_math__$BGRA_BGRA_$Impl_$.a16 >> 16 & 255) << 16 | ((this1 >>> 8 & 255) * lime_math__$BGRA_BGRA_$Impl_$.a16 >> 16 & 255) << 8 | this1 & 255 & 255; } } switch(format) { case 0: data[offset] = this1 >>> 8 & 255; data[offset + 1] = this1 >>> 16 & 255; data[offset + 2] = this1 >>> 24 & 255; data[offset + 3] = this1 & 255; break; case 1: data[offset] = this1 & 255; data[offset + 1] = this1 >>> 8 & 255; data[offset + 2] = this1 >>> 16 & 255; data[offset + 3] = this1 >>> 24 & 255; break; case 2: data[offset] = this1 >>> 24 & 255; data[offset + 1] = this1 >>> 16 & 255; data[offset + 2] = this1 >>> 8 & 255; data[offset + 3] = this1 & 255; break; } }; lime_math__$BGRA_BGRA_$Impl_$.__fromARGB = function(argb) { var this1 = 0; var bgra = this1; bgra = (argb & 255 & 255) << 24 | (argb >>> 8 & 255 & 255) << 16 | (argb >>> 16 & 255 & 255) << 8 | argb >>> 24 & 255 & 255; return bgra; }; lime_math__$BGRA_BGRA_$Impl_$.__fromRGBA = function(rgba) { var this1 = 0; var bgra = this1; bgra = (rgba >>> 8 & 255 & 255) << 24 | (rgba >>> 16 & 255 & 255) << 16 | (rgba >>> 24 & 255 & 255) << 8 | rgba & 255 & 255; return bgra; }; lime_math__$BGRA_BGRA_$Impl_$.get_a = function(this1) { return this1 & 255; }; lime_math__$BGRA_BGRA_$Impl_$.set_a = function(this1,value) { this1 = (this1 >>> 24 & 255 & 255) << 24 | (this1 >>> 16 & 255 & 255) << 16 | (this1 >>> 8 & 255 & 255) << 8 | value & 255; return value; }; lime_math__$BGRA_BGRA_$Impl_$.get_b = function(this1) { return this1 >>> 24 & 255; }; lime_math__$BGRA_BGRA_$Impl_$.set_b = function(this1,value) { this1 = (value & 255) << 24 | (this1 >>> 16 & 255 & 255) << 16 | (this1 >>> 8 & 255 & 255) << 8 | this1 & 255 & 255; return value; }; lime_math__$BGRA_BGRA_$Impl_$.get_g = function(this1) { return this1 >>> 16 & 255; }; lime_math__$BGRA_BGRA_$Impl_$.set_g = function(this1,value) { this1 = (this1 >>> 24 & 255 & 255) << 24 | (value & 255) << 16 | (this1 >>> 8 & 255 & 255) << 8 | this1 & 255 & 255; return value; }; lime_math__$BGRA_BGRA_$Impl_$.get_r = function(this1) { return this1 >>> 8 & 255; }; lime_math__$BGRA_BGRA_$Impl_$.set_r = function(this1,value) { this1 = (this1 >>> 24 & 255 & 255) << 24 | (this1 >>> 16 & 255 & 255) << 16 | (value & 255) << 8 | this1 & 255 & 255; return value; }; var lime_math__$ColorMatrix_ColorMatrix_$Impl_$ = {}; $hxClasses["lime.math._ColorMatrix.ColorMatrix_Impl_"] = lime_math__$ColorMatrix_ColorMatrix_$Impl_$; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.__name__ = "lime.math._ColorMatrix.ColorMatrix_Impl_"; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.__properties__ = {set_redOffset:"set_redOffset",get_redOffset:"get_redOffset",set_redMultiplier:"set_redMultiplier",get_redMultiplier:"get_redMultiplier",set_greenOffset:"set_greenOffset",get_greenOffset:"get_greenOffset",set_greenMultiplier:"set_greenMultiplier",get_greenMultiplier:"get_greenMultiplier",set_color:"set_color",get_color:"get_color",set_blueOffset:"set_blueOffset",get_blueOffset:"get_blueOffset",set_blueMultiplier:"set_blueMultiplier",get_blueMultiplier:"get_blueMultiplier",set_alphaOffset:"set_alphaOffset",get_alphaOffset:"get_alphaOffset",set_alphaMultiplier:"set_alphaMultiplier",get_alphaMultiplier:"get_alphaMultiplier"}; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.__alphaTable = null; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.__blueTable = null; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.__greenTable = null; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.__redTable = null; lime_math__$ColorMatrix_ColorMatrix_$Impl_$._new = function(data) { var this1; if(data != null && data.length == 20) { this1 = data; } else { var elements = null; var array = lime_math__$ColorMatrix_ColorMatrix_$Impl_$.__identity; var vector = null; var view = null; var buffer = null; var len = null; var this2; if(elements != null) { this2 = new Float32Array(elements); } else if(array != null) { this2 = new Float32Array(array); } else if(vector != null) { this2 = new Float32Array(vector.__array); } else if(view != null) { this2 = new Float32Array(view); } else if(buffer != null) { if(len == null) { this2 = new Float32Array(buffer,0); } else { this2 = new Float32Array(buffer,0,len); } } else { this2 = null; } this1 = this2; } return this1; }; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.clone = function(this1) { var elements = null; var array = null; var vector = null; var view = lime_utils__$Float32Array_Float32Array_$Impl_$.toArrayBufferView(this1); var buffer = null; var len = null; var this2; if(elements != null) { this2 = new Float32Array(elements); } else if(array != null) { this2 = new Float32Array(array); } else if(vector != null) { this2 = new Float32Array(vector.__array); } else if(view != null) { this2 = new Float32Array(view); } else if(buffer != null) { if(len == null) { this2 = new Float32Array(buffer,0); } else { this2 = new Float32Array(buffer,0,len); } } else { this2 = null; } return lime_math__$ColorMatrix_ColorMatrix_$Impl_$._new(this2); }; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.concat = function(this1,second) { this1[0] += second[0]; this1[6] += second[6]; this1[12] += second[12]; this1[18] += second[18]; }; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.copyFrom = function(this1,other) { this1.set(other); }; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.identity = function(this1) { this1[0] = 1; this1[1] = 0; this1[2] = 0; this1[3] = 0; this1[4] = 0; this1[5] = 0; this1[6] = 1; this1[7] = 0; this1[8] = 0; this1[9] = 0; this1[10] = 0; this1[11] = 0; this1[12] = 1; this1[13] = 0; this1[14] = 0; this1[15] = 0; this1[16] = 0; this1[17] = 0; this1[18] = 1; this1[19] = 0; }; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.getAlphaTable = function(this1) { if(lime_math__$ColorMatrix_ColorMatrix_$Impl_$.__alphaTable == null) { var array = null; var vector = null; var view = null; var buffer = null; var len = null; var this2 = new Uint8Array(256); lime_math__$ColorMatrix_ColorMatrix_$Impl_$.__alphaTable = this2; } var value; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.__alphaTable[0] = 0; var _g = 1; while(_g < 256) { var i = _g++; value = Math.floor(i * this1[18] + this1[19] * 255); if(value > 255) { value = 255; } if(value < 0) { value = 0; } lime_math__$ColorMatrix_ColorMatrix_$Impl_$.__alphaTable[i] = value; } return lime_math__$ColorMatrix_ColorMatrix_$Impl_$.__alphaTable; }; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.getBlueTable = function(this1) { if(lime_math__$ColorMatrix_ColorMatrix_$Impl_$.__blueTable == null) { var array = null; var vector = null; var view = null; var buffer = null; var len = null; var this2 = new Uint8Array(256); lime_math__$ColorMatrix_ColorMatrix_$Impl_$.__blueTable = this2; } var value; var _g = 0; while(_g < 256) { var i = _g++; value = Math.floor(i * this1[12] + this1[14] * 255); if(value > 255) { value = 255; } if(value < 0) { value = 0; } lime_math__$ColorMatrix_ColorMatrix_$Impl_$.__blueTable[i] = value; } return lime_math__$ColorMatrix_ColorMatrix_$Impl_$.__blueTable; }; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.getGreenTable = function(this1) { if(lime_math__$ColorMatrix_ColorMatrix_$Impl_$.__greenTable == null) { var array = null; var vector = null; var view = null; var buffer = null; var len = null; var this2 = new Uint8Array(256); lime_math__$ColorMatrix_ColorMatrix_$Impl_$.__greenTable = this2; } var value; var _g = 0; while(_g < 256) { var i = _g++; value = Math.floor(i * this1[6] + this1[9] * 255); if(value > 255) { value = 255; } if(value < 0) { value = 0; } lime_math__$ColorMatrix_ColorMatrix_$Impl_$.__greenTable[i] = value; } return lime_math__$ColorMatrix_ColorMatrix_$Impl_$.__greenTable; }; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.getRedTable = function(this1) { if(lime_math__$ColorMatrix_ColorMatrix_$Impl_$.__redTable == null) { var array = null; var vector = null; var view = null; var buffer = null; var len = null; var this2 = new Uint8Array(256); lime_math__$ColorMatrix_ColorMatrix_$Impl_$.__redTable = this2; } var value; var _g = 0; while(_g < 256) { var i = _g++; value = Math.floor(i * this1[0] + this1[4] * 255); if(value > 255) { value = 255; } if(value < 0) { value = 0; } lime_math__$ColorMatrix_ColorMatrix_$Impl_$.__redTable[i] = value; } return lime_math__$ColorMatrix_ColorMatrix_$Impl_$.__redTable; }; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.__toFlashColorTransform = function(this1) { return null; }; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.get_alphaMultiplier = function(this1) { return this1[18]; }; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.set_alphaMultiplier = function(this1,value) { return this1[18] = value; }; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.get_alphaOffset = function(this1) { return this1[19] * 255; }; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.set_alphaOffset = function(this1,value) { return this1[19] = value / 255; }; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.get_blueMultiplier = function(this1) { return this1[12]; }; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.set_blueMultiplier = function(this1,value) { return this1[12] = value; }; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.get_blueOffset = function(this1) { return this1[14] * 255; }; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.set_blueOffset = function(this1,value) { return this1[14] = value / 255; }; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.get_color = function(this1) { return (this1[4] * 255 | 0) << 16 | (this1[9] * 255 | 0) << 8 | (this1[14] * 255 | 0); }; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.set_color = function(this1,value) { this1[4] = (value >> 16 & 255) / 255; this1[9] = (value >> 8 & 255) / 255; this1[14] = (value & 255) / 255; this1[0] = 0; this1[6] = 0; this1[12] = 0; return lime_math__$ColorMatrix_ColorMatrix_$Impl_$.get_color(this1); }; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.get_greenMultiplier = function(this1) { return this1[6]; }; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.set_greenMultiplier = function(this1,value) { return this1[6] = value; }; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.get_greenOffset = function(this1) { return this1[9] * 255; }; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.set_greenOffset = function(this1,value) { return this1[9] = value / 255; }; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.get_redMultiplier = function(this1) { return this1[0]; }; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.set_redMultiplier = function(this1,value) { return this1[0] = value; }; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.get_redOffset = function(this1) { return this1[4] * 255; }; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.set_redOffset = function(this1,value) { return this1[4] = value / 255; }; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.get = function(this1,index) { return this1[index]; }; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.set = function(this1,index,value) { return this1[index] = value; }; var lime_math__$Matrix4_Matrix4_$Impl_$ = {}; $hxClasses["lime.math._Matrix4.Matrix4_Impl_"] = lime_math__$Matrix4_Matrix4_$Impl_$; lime_math__$Matrix4_Matrix4_$Impl_$.__name__ = "lime.math._Matrix4.Matrix4_Impl_"; lime_math__$Matrix4_Matrix4_$Impl_$.__properties__ = {set_position:"set_position",get_position:"get_position",get_determinant:"get_determinant"}; lime_math__$Matrix4_Matrix4_$Impl_$._new = function(data) { var this1; if(data != null && data.length == 16) { this1 = data; } else { var elements = null; var array = lime_math__$Matrix4_Matrix4_$Impl_$.__identity; var vector = null; var view = null; var buffer = null; var len = null; var this2; if(elements != null) { this2 = new Float32Array(elements); } else if(array != null) { this2 = new Float32Array(array); } else if(vector != null) { this2 = new Float32Array(vector.__array); } else if(view != null) { this2 = new Float32Array(view); } else if(buffer != null) { if(len == null) { this2 = new Float32Array(buffer,0); } else { this2 = new Float32Array(buffer,0,len); } } else { this2 = null; } this1 = this2; } return this1; }; lime_math__$Matrix4_Matrix4_$Impl_$.append = function(this1,lhs) { var m111 = this1[0]; var m121 = this1[4]; var m131 = this1[8]; var m141 = this1[12]; var m112 = this1[1]; var m122 = this1[5]; var m132 = this1[9]; var m142 = this1[13]; var m113 = this1[2]; var m123 = this1[6]; var m133 = this1[10]; var m143 = this1[14]; var m114 = this1[3]; var m124 = this1[7]; var m134 = this1[11]; var m144 = this1[15]; var m211 = lime_math__$Matrix4_Matrix4_$Impl_$.get(lhs,0); var m221 = lime_math__$Matrix4_Matrix4_$Impl_$.get(lhs,4); var m231 = lime_math__$Matrix4_Matrix4_$Impl_$.get(lhs,8); var m241 = lime_math__$Matrix4_Matrix4_$Impl_$.get(lhs,12); var m212 = lime_math__$Matrix4_Matrix4_$Impl_$.get(lhs,1); var m222 = lime_math__$Matrix4_Matrix4_$Impl_$.get(lhs,5); var m232 = lime_math__$Matrix4_Matrix4_$Impl_$.get(lhs,9); var m242 = lime_math__$Matrix4_Matrix4_$Impl_$.get(lhs,13); var m213 = lime_math__$Matrix4_Matrix4_$Impl_$.get(lhs,2); var m223 = lime_math__$Matrix4_Matrix4_$Impl_$.get(lhs,6); var m233 = lime_math__$Matrix4_Matrix4_$Impl_$.get(lhs,10); var m243 = lime_math__$Matrix4_Matrix4_$Impl_$.get(lhs,14); var m214 = lime_math__$Matrix4_Matrix4_$Impl_$.get(lhs,3); var m224 = lime_math__$Matrix4_Matrix4_$Impl_$.get(lhs,7); var m234 = lime_math__$Matrix4_Matrix4_$Impl_$.get(lhs,11); var m244 = lime_math__$Matrix4_Matrix4_$Impl_$.get(lhs,15); this1[0] = m111 * m211 + m112 * m221 + m113 * m231 + m114 * m241; this1[1] = m111 * m212 + m112 * m222 + m113 * m232 + m114 * m242; this1[2] = m111 * m213 + m112 * m223 + m113 * m233 + m114 * m243; this1[3] = m111 * m214 + m112 * m224 + m113 * m234 + m114 * m244; this1[4] = m121 * m211 + m122 * m221 + m123 * m231 + m124 * m241; this1[5] = m121 * m212 + m122 * m222 + m123 * m232 + m124 * m242; this1[6] = m121 * m213 + m122 * m223 + m123 * m233 + m124 * m243; this1[7] = m121 * m214 + m122 * m224 + m123 * m234 + m124 * m244; this1[8] = m131 * m211 + m132 * m221 + m133 * m231 + m134 * m241; this1[9] = m131 * m212 + m132 * m222 + m133 * m232 + m134 * m242; this1[10] = m131 * m213 + m132 * m223 + m133 * m233 + m134 * m243; this1[11] = m131 * m214 + m132 * m224 + m133 * m234 + m134 * m244; this1[12] = m141 * m211 + m142 * m221 + m143 * m231 + m144 * m241; this1[13] = m141 * m212 + m142 * m222 + m143 * m232 + m144 * m242; this1[14] = m141 * m213 + m142 * m223 + m143 * m233 + m144 * m243; this1[15] = m141 * m214 + m142 * m224 + m143 * m234 + m144 * m244; }; lime_math__$Matrix4_Matrix4_$Impl_$.appendRotation = function(this1,degrees,axis,pivotPoint) { var m = lime_math__$Matrix4_Matrix4_$Impl_$.__getAxisRotation(this1,axis.x,axis.y,axis.z,degrees); if(pivotPoint != null) { var p = pivotPoint; lime_math__$Matrix4_Matrix4_$Impl_$.appendTranslation(m,p.x,p.y,p.z); } lime_math__$Matrix4_Matrix4_$Impl_$.append(this1,m); }; lime_math__$Matrix4_Matrix4_$Impl_$.appendScale = function(this1,xScale,yScale,zScale) { var elements = null; var array = [xScale,0.0,0.0,0.0,0.0,yScale,0.0,0.0,0.0,0.0,zScale,0.0,0.0,0.0,0.0,1.0]; var vector = null; var view = null; var buffer = null; var len = null; var this2; if(elements != null) { this2 = new Float32Array(elements); } else if(array != null) { this2 = new Float32Array(array); } else if(vector != null) { this2 = new Float32Array(vector.__array); } else if(view != null) { this2 = new Float32Array(view); } else if(buffer != null) { if(len == null) { this2 = new Float32Array(buffer,0); } else { this2 = new Float32Array(buffer,0,len); } } else { this2 = null; } lime_math__$Matrix4_Matrix4_$Impl_$.append(this1,lime_math__$Matrix4_Matrix4_$Impl_$._new(this2)); }; lime_math__$Matrix4_Matrix4_$Impl_$.appendTranslation = function(this1,x,y,z) { this1[12] += x; this1[13] += y; this1[14] += z; }; lime_math__$Matrix4_Matrix4_$Impl_$.clone = function(this1) { var elements = null; var array = null; var vector = null; var view = lime_utils__$Float32Array_Float32Array_$Impl_$.toArrayBufferView(this1); var buffer = null; var len = null; var this2; if(elements != null) { this2 = new Float32Array(elements); } else if(array != null) { this2 = new Float32Array(array); } else if(vector != null) { this2 = new Float32Array(vector.__array); } else if(view != null) { this2 = new Float32Array(view); } else if(buffer != null) { if(len == null) { this2 = new Float32Array(buffer,0); } else { this2 = new Float32Array(buffer,0,len); } } else { this2 = null; } return lime_math__$Matrix4_Matrix4_$Impl_$._new(this2); }; lime_math__$Matrix4_Matrix4_$Impl_$.copyColumnFrom = function(this1,column,vector) { switch(column) { case 0: this1[0] = vector.x; this1[1] = vector.y; this1[2] = vector.z; this1[3] = vector.w; break; case 1: this1[4] = vector.x; this1[5] = vector.y; this1[6] = vector.z; this1[7] = vector.w; break; case 2: this1[8] = vector.x; this1[9] = vector.y; this1[10] = vector.z; this1[11] = vector.w; break; case 3: this1[12] = vector.x; this1[13] = vector.y; this1[14] = vector.z; this1[15] = vector.w; break; default: lime_utils_Log.error("Column " + column + " out of bounds [0, ..., 3]",{ fileName : "lime/math/Matrix4.hx", lineNumber : 187, className : "lime.math._Matrix4.Matrix4_Impl_", methodName : "copyColumnFrom"}); } }; lime_math__$Matrix4_Matrix4_$Impl_$.copyColumnTo = function(this1,column,vector) { switch(column) { case 0: vector.x = this1[0]; vector.y = this1[1]; vector.z = this1[2]; vector.w = this1[3]; break; case 1: vector.x = this1[4]; vector.y = this1[5]; vector.z = this1[6]; vector.w = this1[7]; break; case 2: vector.x = this1[8]; vector.y = this1[9]; vector.z = this1[10]; vector.w = this1[11]; break; case 3: vector.x = this1[12]; vector.y = this1[13]; vector.z = this1[14]; vector.w = this1[15]; break; default: lime_utils_Log.error("Column " + column + " out of bounds [0, ..., 3]",{ fileName : "lime/math/Matrix4.hx", lineNumber : 225, className : "lime.math._Matrix4.Matrix4_Impl_", methodName : "copyColumnTo"}); } }; lime_math__$Matrix4_Matrix4_$Impl_$.copyFrom = function(this1,other) { this1.set(other); }; lime_math__$Matrix4_Matrix4_$Impl_$.copyRowFrom = function(this1,row,vector) { switch(row) { case 0: this1[0] = vector.x; this1[4] = vector.y; this1[8] = vector.z; this1[12] = vector.w; break; case 1: this1[1] = vector.x; this1[5] = vector.y; this1[9] = vector.z; this1[13] = vector.w; break; case 2: this1[2] = vector.x; this1[6] = vector.y; this1[10] = vector.z; this1[14] = vector.w; break; case 3: this1[3] = vector.x; this1[7] = vector.y; this1[11] = vector.z; this1[15] = vector.w; break; default: lime_utils_Log.error("Row " + row + " out of bounds [0, ..., 3]",{ fileName : "lime/math/Matrix4.hx", lineNumber : 272, className : "lime.math._Matrix4.Matrix4_Impl_", methodName : "copyRowFrom"}); } }; lime_math__$Matrix4_Matrix4_$Impl_$.copyRowTo = function(this1,row,vector) { switch(row) { case 0: vector.x = this1[0]; vector.y = this1[4]; vector.z = this1[8]; vector.w = this1[12]; break; case 1: vector.x = this1[1]; vector.y = this1[5]; vector.z = this1[9]; vector.w = this1[13]; break; case 2: vector.x = this1[2]; vector.y = this1[6]; vector.z = this1[10]; vector.w = this1[14]; break; case 3: vector.x = this1[3]; vector.y = this1[7]; vector.z = this1[11]; vector.w = this1[15]; break; default: lime_utils_Log.error("Row " + row + " out of bounds [0, ..., 3]",{ fileName : "lime/math/Matrix4.hx", lineNumber : 310, className : "lime.math._Matrix4.Matrix4_Impl_", methodName : "copyRowTo"}); } }; lime_math__$Matrix4_Matrix4_$Impl_$.create2D = function(this1,a,b,c,d,tx,ty) { if(ty == null) { ty = 0; } if(tx == null) { tx = 0; } this1[0] = a; this1[1] = b; this1[2] = 0; this1[3] = 0; this1[4] = c; this1[5] = d; this1[6] = 0; this1[7] = 0; this1[8] = 0; this1[9] = 0; this1[10] = 1; this1[11] = 0; this1[12] = tx; this1[13] = ty; this1[14] = 0; this1[15] = 1; }; lime_math__$Matrix4_Matrix4_$Impl_$.createOrtho = function(this1,left,right,bottom,top,zNear,zFar) { var sx = 1.0 / (right - left); var sy = 1.0 / (top - bottom); var sz = 1.0 / (zFar - zNear); this1[0] = 2 * sx; this1[1] = 0; this1[2] = 0; this1[3] = 0; this1[4] = 0; this1[5] = 2 * sy; this1[6] = 0; this1[7] = 0; this1[8] = 0; this1[9] = 0; this1[10] = -2 * sz; this1[11] = 0; this1[12] = -(left + right) * sx; this1[13] = -(bottom + top) * sy; this1[14] = -(zNear + zFar) * sz; this1[15] = 1; }; lime_math__$Matrix4_Matrix4_$Impl_$.deltaTransformVector = function(this1,v,result) { if(result == null) { result = new lime_math_Vector4(); } var x = v.x; var y = v.y; var z = v.z; result.x = x * this1[0] + y * this1[4] + z * this1[8] + this1[3]; result.y = x * this1[1] + y * this1[5] + z * this1[9] + this1[7]; result.z = x * this1[2] + y * this1[6] + z * this1[10] + this1[11]; return result; }; lime_math__$Matrix4_Matrix4_$Impl_$.fromMatrix3 = function(matrix3) { var mat = lime_math__$Matrix4_Matrix4_$Impl_$._new(); lime_math__$Matrix4_Matrix4_$Impl_$.create2D(mat,matrix3.a,matrix3.b,matrix3.c,matrix3.d,matrix3.tx,matrix3.ty); return mat; }; lime_math__$Matrix4_Matrix4_$Impl_$.identity = function(this1) { this1[0] = 1; this1[1] = 0; this1[2] = 0; this1[3] = 0; this1[4] = 0; this1[5] = 1; this1[6] = 0; this1[7] = 0; this1[8] = 0; this1[9] = 0; this1[10] = 1; this1[11] = 0; this1[12] = 0; this1[13] = 0; this1[14] = 0; this1[15] = 1; }; lime_math__$Matrix4_Matrix4_$Impl_$.interpolate = function(thisMat,toMat,percent,result) { if(result == null) { result = lime_math__$Matrix4_Matrix4_$Impl_$._new(); } var _g = 0; while(_g < 16) { var i = _g++; lime_math__$Matrix4_Matrix4_$Impl_$.set(result,i,lime_math__$Matrix4_Matrix4_$Impl_$.get(thisMat,i) + (lime_math__$Matrix4_Matrix4_$Impl_$.get(toMat,i) - lime_math__$Matrix4_Matrix4_$Impl_$.get(thisMat,i)) * percent); } return result; }; lime_math__$Matrix4_Matrix4_$Impl_$.interpolateTo = function(this1,toMat,percent) { var _g = 0; while(_g < 16) { var i = _g++; this1[i] += (lime_math__$Matrix4_Matrix4_$Impl_$.get(toMat,i) - this1[i]) * percent; } }; lime_math__$Matrix4_Matrix4_$Impl_$.invert = function(this1) { var d = lime_math__$Matrix4_Matrix4_$Impl_$.get_determinant(this1); var invertable = Math.abs(d) > 0.00000000001; if(invertable) { d = 1 / d; var m11 = this1[0]; var m21 = this1[4]; var m31 = this1[8]; var m41 = this1[12]; var m12 = this1[1]; var m22 = this1[5]; var m32 = this1[9]; var m42 = this1[13]; var m13 = this1[2]; var m23 = this1[6]; var m33 = this1[10]; var m43 = this1[14]; var m14 = this1[3]; var m24 = this1[7]; var m34 = this1[11]; var m44 = this1[15]; this1[0] = d * (m22 * (m33 * m44 - m43 * m34) - m32 * (m23 * m44 - m43 * m24) + m42 * (m23 * m34 - m33 * m24)); this1[1] = -d * (m12 * (m33 * m44 - m43 * m34) - m32 * (m13 * m44 - m43 * m14) + m42 * (m13 * m34 - m33 * m14)); this1[2] = d * (m12 * (m23 * m44 - m43 * m24) - m22 * (m13 * m44 - m43 * m14) + m42 * (m13 * m24 - m23 * m14)); this1[3] = -d * (m12 * (m23 * m34 - m33 * m24) - m22 * (m13 * m34 - m33 * m14) + m32 * (m13 * m24 - m23 * m14)); this1[4] = -d * (m21 * (m33 * m44 - m43 * m34) - m31 * (m23 * m44 - m43 * m24) + m41 * (m23 * m34 - m33 * m24)); this1[5] = d * (m11 * (m33 * m44 - m43 * m34) - m31 * (m13 * m44 - m43 * m14) + m41 * (m13 * m34 - m33 * m14)); this1[6] = -d * (m11 * (m23 * m44 - m43 * m24) - m21 * (m13 * m44 - m43 * m14) + m41 * (m13 * m24 - m23 * m14)); this1[7] = d * (m11 * (m23 * m34 - m33 * m24) - m21 * (m13 * m34 - m33 * m14) + m31 * (m13 * m24 - m23 * m14)); this1[8] = d * (m21 * (m32 * m44 - m42 * m34) - m31 * (m22 * m44 - m42 * m24) + m41 * (m22 * m34 - m32 * m24)); this1[9] = -d * (m11 * (m32 * m44 - m42 * m34) - m31 * (m12 * m44 - m42 * m14) + m41 * (m12 * m34 - m32 * m14)); this1[10] = d * (m11 * (m22 * m44 - m42 * m24) - m21 * (m12 * m44 - m42 * m14) + m41 * (m12 * m24 - m22 * m14)); this1[11] = -d * (m11 * (m22 * m34 - m32 * m24) - m21 * (m12 * m34 - m32 * m14) + m31 * (m12 * m24 - m22 * m14)); this1[12] = -d * (m21 * (m32 * m43 - m42 * m33) - m31 * (m22 * m43 - m42 * m23) + m41 * (m22 * m33 - m32 * m23)); this1[13] = d * (m11 * (m32 * m43 - m42 * m33) - m31 * (m12 * m43 - m42 * m13) + m41 * (m12 * m33 - m32 * m13)); this1[14] = -d * (m11 * (m22 * m43 - m42 * m23) - m21 * (m12 * m43 - m42 * m13) + m41 * (m12 * m23 - m22 * m13)); this1[15] = d * (m11 * (m22 * m33 - m32 * m23) - m21 * (m12 * m33 - m32 * m13) + m31 * (m12 * m23 - m22 * m13)); } return invertable; }; lime_math__$Matrix4_Matrix4_$Impl_$.pointAt = function(this1,pos,at,up) { if(at == null) { at = new lime_math_Vector4(0,0,1); } if(up == null) { up = new lime_math_Vector4(0,1,0); } var result = null; if(result == null) { result = new lime_math_Vector4(); } result.x = pos.x - at.x; result.y = pos.y - at.y; result.z = pos.z - at.z; var dir = result; var vup = new lime_math_Vector4(up.x,up.y,up.z,up.w); var l = Math.sqrt(dir.x * dir.x + dir.y * dir.y + dir.z * dir.z); if(l != 0) { dir.x /= l; dir.y /= l; dir.z /= l; } var l1 = Math.sqrt(vup.x * vup.x + vup.y * vup.y + vup.z * vup.z); if(l1 != 0) { vup.x /= l1; vup.y /= l1; vup.z /= l1; } var dir2 = new lime_math_Vector4(dir.x,dir.y,dir.z,dir.w); var s = vup.x * dir.x + vup.y * dir.y + vup.z * dir.z; dir2.x *= s; dir2.y *= s; dir2.z *= s; var result1 = null; if(result1 == null) { result1 = new lime_math_Vector4(); } result1.x = vup.x - dir2.x; result1.y = vup.y - dir2.y; result1.z = vup.z - dir2.z; vup = result1; if(Math.sqrt(vup.x * vup.x + vup.y * vup.y + vup.z * vup.z) > 0) { var l2 = Math.sqrt(vup.x * vup.x + vup.y * vup.y + vup.z * vup.z); if(l2 != 0) { vup.x /= l2; vup.y /= l2; vup.z /= l2; } } else if(dir.x != 0) { vup = new lime_math_Vector4(-dir.y,dir.x,0); } else { vup = new lime_math_Vector4(1,0,0); } var result2 = null; if(result2 == null) { result2 = new lime_math_Vector4(); } var ya = vup.z * dir.x - vup.x * dir.z; var za = vup.x * dir.y - vup.y * dir.x; result2.x = vup.y * dir.z - vup.z * dir.y; result2.y = ya; result2.z = za; result2.w = 1; var right = result2; var l3 = Math.sqrt(right.x * right.x + right.y * right.y + right.z * right.z); if(l3 != 0) { right.x /= l3; right.y /= l3; right.z /= l3; } this1[0] = right.x; this1[4] = right.y; this1[8] = right.z; this1[12] = 0.0; this1[1] = vup.x; this1[5] = vup.y; this1[9] = vup.z; this1[13] = 0.0; this1[2] = dir.x; this1[6] = dir.y; this1[10] = dir.z; this1[14] = 0.0; this1[3] = pos.x; this1[7] = pos.y; this1[11] = pos.z; this1[15] = 1.0; }; lime_math__$Matrix4_Matrix4_$Impl_$.prepend = function(this1,rhs) { var m111 = lime_math__$Matrix4_Matrix4_$Impl_$.get(rhs,0); var m121 = lime_math__$Matrix4_Matrix4_$Impl_$.get(rhs,4); var m131 = lime_math__$Matrix4_Matrix4_$Impl_$.get(rhs,8); var m141 = lime_math__$Matrix4_Matrix4_$Impl_$.get(rhs,12); var m112 = lime_math__$Matrix4_Matrix4_$Impl_$.get(rhs,1); var m122 = lime_math__$Matrix4_Matrix4_$Impl_$.get(rhs,5); var m132 = lime_math__$Matrix4_Matrix4_$Impl_$.get(rhs,9); var m142 = lime_math__$Matrix4_Matrix4_$Impl_$.get(rhs,13); var m113 = lime_math__$Matrix4_Matrix4_$Impl_$.get(rhs,2); var m123 = lime_math__$Matrix4_Matrix4_$Impl_$.get(rhs,6); var m133 = lime_math__$Matrix4_Matrix4_$Impl_$.get(rhs,10); var m143 = lime_math__$Matrix4_Matrix4_$Impl_$.get(rhs,14); var m114 = lime_math__$Matrix4_Matrix4_$Impl_$.get(rhs,3); var m124 = lime_math__$Matrix4_Matrix4_$Impl_$.get(rhs,7); var m134 = lime_math__$Matrix4_Matrix4_$Impl_$.get(rhs,11); var m144 = lime_math__$Matrix4_Matrix4_$Impl_$.get(rhs,15); var m211 = this1[0]; var m221 = this1[4]; var m231 = this1[8]; var m241 = this1[12]; var m212 = this1[1]; var m222 = this1[5]; var m232 = this1[9]; var m242 = this1[13]; var m213 = this1[2]; var m223 = this1[6]; var m233 = this1[10]; var m243 = this1[14]; var m214 = this1[3]; var m224 = this1[7]; var m234 = this1[11]; var m244 = this1[15]; this1[0] = m111 * m211 + m112 * m221 + m113 * m231 + m114 * m241; this1[1] = m111 * m212 + m112 * m222 + m113 * m232 + m114 * m242; this1[2] = m111 * m213 + m112 * m223 + m113 * m233 + m114 * m243; this1[3] = m111 * m214 + m112 * m224 + m113 * m234 + m114 * m244; this1[4] = m121 * m211 + m122 * m221 + m123 * m231 + m124 * m241; this1[5] = m121 * m212 + m122 * m222 + m123 * m232 + m124 * m242; this1[6] = m121 * m213 + m122 * m223 + m123 * m233 + m124 * m243; this1[7] = m121 * m214 + m122 * m224 + m123 * m234 + m124 * m244; this1[8] = m131 * m211 + m132 * m221 + m133 * m231 + m134 * m241; this1[9] = m131 * m212 + m132 * m222 + m133 * m232 + m134 * m242; this1[10] = m131 * m213 + m132 * m223 + m133 * m233 + m134 * m243; this1[11] = m131 * m214 + m132 * m224 + m133 * m234 + m134 * m244; this1[12] = m141 * m211 + m142 * m221 + m143 * m231 + m144 * m241; this1[13] = m141 * m212 + m142 * m222 + m143 * m232 + m144 * m242; this1[14] = m141 * m213 + m142 * m223 + m143 * m233 + m144 * m243; this1[15] = m141 * m214 + m142 * m224 + m143 * m234 + m144 * m244; }; lime_math__$Matrix4_Matrix4_$Impl_$.prependRotation = function(this1,degrees,axis,pivotPoint) { var m = lime_math__$Matrix4_Matrix4_$Impl_$.__getAxisRotation(this1,axis.x,axis.y,axis.z,degrees); if(pivotPoint != null) { var p = pivotPoint; lime_math__$Matrix4_Matrix4_$Impl_$.appendTranslation(m,p.x,p.y,p.z); } lime_math__$Matrix4_Matrix4_$Impl_$.prepend(this1,m); }; lime_math__$Matrix4_Matrix4_$Impl_$.prependScale = function(this1,xScale,yScale,zScale) { var elements = null; var array = [xScale,0.0,0.0,0.0,0.0,yScale,0.0,0.0,0.0,0.0,zScale,0.0,0.0,0.0,0.0,1.0]; var vector = null; var view = null; var buffer = null; var len = null; var this2; if(elements != null) { this2 = new Float32Array(elements); } else if(array != null) { this2 = new Float32Array(array); } else if(vector != null) { this2 = new Float32Array(vector.__array); } else if(view != null) { this2 = new Float32Array(view); } else if(buffer != null) { if(len == null) { this2 = new Float32Array(buffer,0); } else { this2 = new Float32Array(buffer,0,len); } } else { this2 = null; } lime_math__$Matrix4_Matrix4_$Impl_$.prepend(this1,lime_math__$Matrix4_Matrix4_$Impl_$._new(this2)); }; lime_math__$Matrix4_Matrix4_$Impl_$.prependTranslation = function(this1,x,y,z) { var m = lime_math__$Matrix4_Matrix4_$Impl_$._new(); lime_math__$Matrix4_Matrix4_$Impl_$.set_position(m,new lime_math_Vector4(x,y,z)); lime_math__$Matrix4_Matrix4_$Impl_$.prepend(this1,m); }; lime_math__$Matrix4_Matrix4_$Impl_$.transformVector = function(this1,v,result) { if(result == null) { result = new lime_math_Vector4(); } var x = v.x; var y = v.y; var z = v.z; result.x = x * this1[0] + y * this1[4] + z * this1[8] + this1[12]; result.y = x * this1[1] + y * this1[5] + z * this1[9] + this1[13]; result.z = x * this1[2] + y * this1[6] + z * this1[10] + this1[14]; result.w = x * this1[3] + y * this1[7] + z * this1[11] + this1[15]; return result; }; lime_math__$Matrix4_Matrix4_$Impl_$.transformVectors = function(this1,ain,aout) { var i = 0; var x; var y; var z; while(i + 3 <= ain.length) { x = ain[i]; y = ain[i + 1]; z = ain[i + 2]; aout[i] = x * this1[0] + y * this1[4] + z * this1[8] + this1[12]; aout[i + 1] = x * this1[1] + y * this1[5] + z * this1[9] + this1[13]; aout[i + 2] = x * this1[2] + y * this1[6] + z * this1[10] + this1[14]; i += 3; } }; lime_math__$Matrix4_Matrix4_$Impl_$.transpose = function(this1) { var temp = this1[1]; this1[1] = this1[4]; this1[4] = temp; var temp1 = this1[2]; this1[2] = this1[8]; this1[8] = temp1; var temp2 = this1[3]; this1[3] = this1[12]; this1[12] = temp2; var temp3 = this1[6]; this1[6] = this1[9]; this1[9] = temp3; var temp4 = this1[7]; this1[7] = this1[13]; this1[13] = temp4; var temp5 = this1[11]; this1[11] = this1[14]; this1[14] = temp5; }; lime_math__$Matrix4_Matrix4_$Impl_$.__getAxisRotation = function(this1,x,y,z,degrees) { var m = lime_math__$Matrix4_Matrix4_$Impl_$._new(); var a1 = new lime_math_Vector4(x,y,z); var rad = -degrees * (Math.PI / 180); var c = Math.cos(rad); var s = Math.sin(rad); var t = 1.0 - c; lime_math__$Matrix4_Matrix4_$Impl_$.set(m,0,c + a1.x * a1.x * t); lime_math__$Matrix4_Matrix4_$Impl_$.set(m,5,c + a1.y * a1.y * t); lime_math__$Matrix4_Matrix4_$Impl_$.set(m,10,c + a1.z * a1.z * t); var tmp1 = a1.x * a1.y * t; var tmp2 = a1.z * s; lime_math__$Matrix4_Matrix4_$Impl_$.set(m,4,tmp1 + tmp2); lime_math__$Matrix4_Matrix4_$Impl_$.set(m,1,tmp1 - tmp2); tmp1 = a1.x * a1.z * t; tmp2 = a1.y * s; lime_math__$Matrix4_Matrix4_$Impl_$.set(m,8,tmp1 - tmp2); lime_math__$Matrix4_Matrix4_$Impl_$.set(m,2,tmp1 + tmp2); tmp1 = a1.y * a1.z * t; tmp2 = a1.x * s; lime_math__$Matrix4_Matrix4_$Impl_$.set(m,9,tmp1 + tmp2); lime_math__$Matrix4_Matrix4_$Impl_$.set(m,6,tmp1 - tmp2); return m; }; lime_math__$Matrix4_Matrix4_$Impl_$.__swap = function(this1,a,b) { var temp = this1[a]; this1[a] = this1[b]; this1[b] = temp; }; lime_math__$Matrix4_Matrix4_$Impl_$.get_determinant = function(this1) { return (this1[0] * this1[5] - this1[4] * this1[1]) * (this1[10] * this1[15] - this1[14] * this1[11]) - (this1[0] * this1[9] - this1[8] * this1[1]) * (this1[6] * this1[15] - this1[14] * this1[7]) + (this1[0] * this1[13] - this1[12] * this1[1]) * (this1[6] * this1[11] - this1[10] * this1[7]) + (this1[4] * this1[9] - this1[8] * this1[5]) * (this1[2] * this1[15] - this1[14] * this1[3]) - (this1[4] * this1[13] - this1[12] * this1[5]) * (this1[2] * this1[11] - this1[10] * this1[3]) + (this1[8] * this1[13] - this1[12] * this1[9]) * (this1[2] * this1[7] - this1[6] * this1[3]); }; lime_math__$Matrix4_Matrix4_$Impl_$.get_position = function(this1) { return new lime_math_Vector4(this1[12],this1[13],this1[14]); }; lime_math__$Matrix4_Matrix4_$Impl_$.set_position = function(this1,val) { this1[12] = val.x; this1[13] = val.y; this1[14] = val.z; return val; }; lime_math__$Matrix4_Matrix4_$Impl_$.get = function(this1,index) { return this1[index]; }; lime_math__$Matrix4_Matrix4_$Impl_$.set = function(this1,index,value) { this1[index] = value; return value; }; var lime_math__$RGBA_RGBA_$Impl_$ = {}; $hxClasses["lime.math._RGBA.RGBA_Impl_"] = lime_math__$RGBA_RGBA_$Impl_$; lime_math__$RGBA_RGBA_$Impl_$.__name__ = "lime.math._RGBA.RGBA_Impl_"; lime_math__$RGBA_RGBA_$Impl_$.__properties__ = {set_r:"set_r",get_r:"get_r",set_g:"set_g",get_g:"get_g",set_b:"set_b",get_b:"get_b",set_a:"set_a",get_a:"get_a"}; lime_math__$RGBA_RGBA_$Impl_$.__alpha16 = null; lime_math__$RGBA_RGBA_$Impl_$.__clamp = null; lime_math__$RGBA_RGBA_$Impl_$.a16 = null; lime_math__$RGBA_RGBA_$Impl_$.unmult = null; lime_math__$RGBA_RGBA_$Impl_$._new = function(rgba) { if(rgba == null) { rgba = 0; } var this1 = rgba; return this1; }; lime_math__$RGBA_RGBA_$Impl_$.create = function(r,g,b,a) { var this1 = 0; var rgba = this1; rgba = (r & 255) << 24 | (g & 255) << 16 | (b & 255) << 8 | a & 255; return rgba; }; lime_math__$RGBA_RGBA_$Impl_$.multiplyAlpha = function(this1) { if((this1 & 255) == 0) { if(this1 != 0) { this1 = 0; } } else if((this1 & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.a16 = lime_math__$RGBA_RGBA_$Impl_$.__alpha16[this1 & 255]; this1 = ((this1 >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 24 | ((this1 >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 16 | ((this1 >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 8 | this1 & 255 & 255; } }; lime_math__$RGBA_RGBA_$Impl_$.readUInt8 = function(this1,data,offset,format,premultiplied) { if(premultiplied == null) { premultiplied = false; } if(format == null) { format = 0; } switch(format) { case 0: this1 = (data[offset] & 255) << 24 | (data[offset + 1] & 255) << 16 | (data[offset + 2] & 255) << 8 | data[offset + 3] & 255; break; case 1: this1 = (data[offset + 1] & 255) << 24 | (data[offset + 2] & 255) << 16 | (data[offset + 3] & 255) << 8 | data[offset] & 255; break; case 2: this1 = (data[offset + 2] & 255) << 24 | (data[offset + 1] & 255) << 16 | (data[offset] & 255) << 8 | data[offset + 3] & 255; break; } if(premultiplied) { if((this1 & 255) != 0 && (this1 & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (this1 & 255); this1 = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((this1 >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((this1 >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((this1 >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | this1 & 255 & 255; } } }; lime_math__$RGBA_RGBA_$Impl_$.set = function(this1,r,g,b,a) { this1 = (r & 255) << 24 | (g & 255) << 16 | (b & 255) << 8 | a & 255; }; lime_math__$RGBA_RGBA_$Impl_$.unmultiplyAlpha = function(this1) { if((this1 & 255) != 0 && (this1 & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.unmult = 255.0 / (this1 & 255); this1 = (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((this1 >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 24 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((this1 >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 16 | (lime_math__$RGBA_RGBA_$Impl_$.__clamp[Math.round((this1 >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.unmult)] & 255) << 8 | this1 & 255 & 255; } }; lime_math__$RGBA_RGBA_$Impl_$.writeUInt8 = function(this1,data,offset,format,premultiplied) { if(premultiplied == null) { premultiplied = false; } if(format == null) { format = 0; } if(premultiplied) { if((this1 & 255) == 0) { if(this1 != 0) { this1 = 0; } } else if((this1 & 255) != 255) { lime_math__$RGBA_RGBA_$Impl_$.a16 = lime_math__$RGBA_RGBA_$Impl_$.__alpha16[this1 & 255]; this1 = ((this1 >>> 24 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 24 | ((this1 >>> 16 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 16 | ((this1 >>> 8 & 255) * lime_math__$RGBA_RGBA_$Impl_$.a16 >> 16 & 255) << 8 | this1 & 255 & 255; } } switch(format) { case 0: data[offset] = this1 >>> 24 & 255; data[offset + 1] = this1 >>> 16 & 255; data[offset + 2] = this1 >>> 8 & 255; data[offset + 3] = this1 & 255; break; case 1: data[offset] = this1 & 255; data[offset + 1] = this1 >>> 24 & 255; data[offset + 2] = this1 >>> 16 & 255; data[offset + 3] = this1 >>> 8 & 255; break; case 2: data[offset] = this1 >>> 8 & 255; data[offset + 1] = this1 >>> 16 & 255; data[offset + 2] = this1 >>> 24 & 255; data[offset + 3] = this1 & 255; break; } }; lime_math__$RGBA_RGBA_$Impl_$.__fromARGB = function(argb) { var this1 = 0; var rgba = this1; rgba = (argb >>> 16 & 255 & 255) << 24 | (argb >>> 8 & 255 & 255) << 16 | (argb & 255 & 255) << 8 | argb >>> 24 & 255 & 255; return rgba; }; lime_math__$RGBA_RGBA_$Impl_$.__fromBGRA = function(bgra) { var this1 = 0; var rgba = this1; rgba = (bgra >>> 8 & 255 & 255) << 24 | (bgra >>> 16 & 255 & 255) << 16 | (bgra >>> 24 & 255 & 255) << 8 | bgra & 255 & 255; return rgba; }; lime_math__$RGBA_RGBA_$Impl_$.get_a = function(this1) { return this1 & 255; }; lime_math__$RGBA_RGBA_$Impl_$.set_a = function(this1,value) { this1 = (this1 >>> 24 & 255 & 255) << 24 | (this1 >>> 16 & 255 & 255) << 16 | (this1 >>> 8 & 255 & 255) << 8 | value & 255; return value; }; lime_math__$RGBA_RGBA_$Impl_$.get_b = function(this1) { return this1 >>> 8 & 255; }; lime_math__$RGBA_RGBA_$Impl_$.set_b = function(this1,value) { this1 = (this1 >>> 24 & 255 & 255) << 24 | (this1 >>> 16 & 255 & 255) << 16 | (value & 255) << 8 | this1 & 255 & 255; return value; }; lime_math__$RGBA_RGBA_$Impl_$.get_g = function(this1) { return this1 >>> 16 & 255; }; lime_math__$RGBA_RGBA_$Impl_$.set_g = function(this1,value) { this1 = (this1 >>> 24 & 255 & 255) << 24 | (value & 255) << 16 | (this1 >>> 8 & 255 & 255) << 8 | this1 & 255 & 255; return value; }; lime_math__$RGBA_RGBA_$Impl_$.get_r = function(this1) { return this1 >>> 24 & 255; }; lime_math__$RGBA_RGBA_$Impl_$.set_r = function(this1,value) { this1 = (value & 255) << 24 | (this1 >>> 16 & 255 & 255) << 16 | (this1 >>> 8 & 255 & 255) << 8 | this1 & 255 & 255; return value; }; var lime_math_Rectangle = function(x,y,width,height) { if(height == null) { height = 0; } if(width == null) { width = 0; } if(y == null) { y = 0; } if(x == null) { x = 0; } this.x = x; this.y = y; this.width = width; this.height = height; }; $hxClasses["lime.math.Rectangle"] = lime_math_Rectangle; lime_math_Rectangle.__name__ = "lime.math.Rectangle"; lime_math_Rectangle.prototype = { height: null ,width: null ,x: null ,y: null ,clone: function() { return new lime_math_Rectangle(this.x,this.y,this.width,this.height); } ,contains: function(x,y) { if(x >= this.x && y >= this.y && x < this.get_right()) { return y < this.get_bottom(); } else { return false; } } ,containsPoint: function(point) { return this.containsVector(point); } ,containsRect: function(rect) { if(rect.width <= 0 || rect.height <= 0) { if(rect.x > this.x && rect.y > this.y && rect.get_right() < this.get_right()) { return rect.get_bottom() < this.get_bottom(); } else { return false; } } else if(rect.x >= this.x && rect.y >= this.y && rect.get_right() <= this.get_right()) { return rect.get_bottom() <= this.get_bottom(); } else { return false; } } ,containsVector: function(vector) { return this.contains(vector.x,vector.y); } ,copyFrom: function(sourceRect) { this.x = sourceRect.x; this.y = sourceRect.y; this.width = sourceRect.width; this.height = sourceRect.height; } ,equals: function(toCompare) { if(toCompare != null && this.x == toCompare.x && this.y == toCompare.y && this.width == toCompare.width) { return this.height == toCompare.height; } else { return false; } } ,inflate: function(dx,dy) { this.x -= dx; this.width += dx * 2; this.y -= dy; this.height += dy * 2; } ,inflateVector: function(vector) { this.inflate(vector.x,vector.y); } ,intersection: function(toIntersect,result) { if(result == null) { result = new lime_math_Rectangle(); } var x0 = this.x < toIntersect.x ? toIntersect.x : this.x; var x1 = this.get_right() > toIntersect.get_right() ? toIntersect.get_right() : this.get_right(); if(x1 <= x0) { result.setEmpty(); return result; } var y0 = this.y < toIntersect.y ? toIntersect.y : this.y; var y1 = this.get_bottom() > toIntersect.get_bottom() ? toIntersect.get_bottom() : this.get_bottom(); if(y1 <= y0) { result.setEmpty(); return result; } result.x = x0; result.y = y0; result.width = x1 - x0; result.height = y1 - y0; return result; } ,intersects: function(toIntersect) { var x0 = this.x < toIntersect.x ? toIntersect.x : this.x; var x1 = this.get_right() > toIntersect.get_right() ? toIntersect.get_right() : this.get_right(); if(x1 <= x0) { return false; } var y0 = this.y < toIntersect.y ? toIntersect.y : this.y; var y1 = this.get_bottom() > toIntersect.get_bottom() ? toIntersect.get_bottom() : this.get_bottom(); return y1 > y0; } ,isEmpty: function() { if(!(this.width <= 0)) { return this.height <= 0; } else { return true; } } ,offset: function(dx,dy) { this.x += dx; this.y += dy; } ,offsetVector: function(vector) { this.x += vector.x; this.y += vector.y; } ,setEmpty: function() { this.x = this.y = this.width = this.height = 0; } ,setTo: function(xa,ya,widtha,heighta) { this.x = xa; this.y = ya; this.width = widtha; this.height = heighta; } ,union: function(toUnion,result) { if(result == null) { result = new lime_math_Rectangle(); } if(this.width == 0 || this.height == 0) { result.copyFrom(toUnion); } else if(toUnion.width == 0 || toUnion.height == 0) { result.copyFrom(this); } else { var x0 = this.x > toUnion.x ? toUnion.x : this.x; var x1 = this.get_right() < toUnion.get_right() ? toUnion.get_right() : this.get_right(); var y0 = this.y > toUnion.y ? toUnion.y : this.y; var y1 = this.get_bottom() < toUnion.get_bottom() ? toUnion.get_bottom() : this.get_bottom(); result.setTo(x0,y0,x1 - x0,y1 - y0); } return result; } ,__toFlashRectangle: function() { return null; } ,get_bottom: function() { return this.y + this.height; } ,set_bottom: function(b) { this.height = b - this.y; return b; } ,get_bottomRight: function() { return new lime_math_Vector2(this.x + this.width,this.y + this.height); } ,set_bottomRight: function(p) { this.width = p.x - this.x; this.height = p.y - this.y; return p.clone(); } ,get_left: function() { return this.x; } ,set_left: function(l) { this.width -= l - this.x; this.x = l; return l; } ,get_right: function() { return this.x + this.width; } ,set_right: function(r) { this.width = r - this.x; return r; } ,get_size: function() { return new lime_math_Vector2(this.width,this.height); } ,set_size: function(p) { this.width = p.x; this.height = p.y; return p.clone(); } ,get_top: function() { return this.y; } ,set_top: function(t) { this.height -= t - this.y; this.y = t; return t; } ,get_topLeft: function() { return new lime_math_Vector2(this.x,this.y); } ,set_topLeft: function(p) { this.x = p.x; this.y = p.y; return p.clone(); } ,__class__: lime_math_Rectangle ,__properties__: {set_topLeft:"set_topLeft",get_topLeft:"get_topLeft",set_top:"set_top",get_top:"get_top",set_size:"set_size",get_size:"get_size",set_right:"set_right",get_right:"get_right",set_left:"set_left",get_left:"get_left",set_bottomRight:"set_bottomRight",get_bottomRight:"get_bottomRight",set_bottom:"set_bottom",get_bottom:"get_bottom"} }; var lime_math_Vector4 = function(x,y,z,w) { if(w == null) { w = 0.; } if(z == null) { z = 0.; } if(y == null) { y = 0.; } if(x == null) { x = 0.; } this.w = w; this.x = x; this.y = y; this.z = z; }; $hxClasses["lime.math.Vector4"] = lime_math_Vector4; lime_math_Vector4.__name__ = "lime.math.Vector4"; lime_math_Vector4.__properties__ = {get_Z_AXIS:"get_Z_AXIS",get_Y_AXIS:"get_Y_AXIS",get_X_AXIS:"get_X_AXIS"}; lime_math_Vector4.angleBetween = function(a,b) { var a0 = new lime_math_Vector4(a.x,a.y,a.z,a.w); var l = Math.sqrt(a0.x * a0.x + a0.y * a0.y + a0.z * a0.z); if(l != 0) { a0.x /= l; a0.y /= l; a0.z /= l; } var b0 = new lime_math_Vector4(b.x,b.y,b.z,b.w); var l1 = Math.sqrt(b0.x * b0.x + b0.y * b0.y + b0.z * b0.z); if(l1 != 0) { b0.x /= l1; b0.y /= l1; b0.z /= l1; } return Math.acos(a0.x * b0.x + a0.y * b0.y + a0.z * b0.z); }; lime_math_Vector4.distance = function(pt1,pt2) { var x = pt2.x - pt1.x; var y = pt2.y - pt1.y; var z = pt2.z - pt1.z; return Math.sqrt(x * x + y * y + z * z); }; lime_math_Vector4.distanceSquared = function(pt1,pt2) { var x = pt2.x - pt1.x; var y = pt2.y - pt1.y; var z = pt2.z - pt1.z; return x * x + y * y + z * z; }; lime_math_Vector4.get_X_AXIS = function() { return new lime_math_Vector4(1,0,0); }; lime_math_Vector4.get_Y_AXIS = function() { return new lime_math_Vector4(0,1,0); }; lime_math_Vector4.get_Z_AXIS = function() { return new lime_math_Vector4(0,0,1); }; lime_math_Vector4.prototype = { w: null ,x: null ,y: null ,z: null ,add: function(a,result) { if(result == null) { result = new lime_math_Vector4(); } result.x = this.x + a.x; result.y = this.y + a.y; result.z = this.z + a.z; return result; } ,clone: function() { return new lime_math_Vector4(this.x,this.y,this.z,this.w); } ,copyFrom: function(sourceVector4) { this.x = sourceVector4.x; this.y = sourceVector4.y; this.z = sourceVector4.z; } ,crossProduct: function(a,result) { if(result == null) { result = new lime_math_Vector4(); } var ya = this.z * a.x - this.x * a.z; var za = this.x * a.y - this.y * a.x; result.x = this.y * a.z - this.z * a.y; result.y = ya; result.z = za; result.w = 1; return result; } ,decrementBy: function(a) { this.x -= a.x; this.y -= a.y; this.z -= a.z; } ,dotProduct: function(a) { return this.x * a.x + this.y * a.y + this.z * a.z; } ,equals: function(toCompare,allFour) { if(allFour == null) { allFour = false; } if(this.x == toCompare.x && this.y == toCompare.y && this.z == toCompare.z) { if(!(!allFour)) { return this.w == toCompare.w; } else { return true; } } else { return false; } } ,incrementBy: function(a) { this.x += a.x; this.y += a.y; this.z += a.z; } ,nearEquals: function(toCompare,tolerance,allFour) { if(allFour == null) { allFour = false; } if(Math.abs(this.x - toCompare.x) < tolerance && Math.abs(this.y - toCompare.y) < tolerance && Math.abs(this.z - toCompare.z) < tolerance) { if(!(!allFour)) { return Math.abs(this.w - toCompare.w) < tolerance; } else { return true; } } else { return false; } } ,negate: function() { this.x *= -1; this.y *= -1; this.z *= -1; } ,normalize: function() { var l = Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z); if(l != 0) { this.x /= l; this.y /= l; this.z /= l; } return l; } ,project: function() { this.x /= this.w; this.y /= this.w; this.z /= this.w; } ,scaleBy: function(s) { this.x *= s; this.y *= s; this.z *= s; } ,setTo: function(xa,ya,za) { this.x = xa; this.y = ya; this.z = za; } ,subtract: function(a,result) { if(result == null) { result = new lime_math_Vector4(); } result.x = this.x - a.x; result.y = this.y - a.y; result.z = this.z - a.z; return result; } ,toString: function() { return "Vector4(" + this.x + ", " + this.y + ", " + this.z + ")"; } ,get_length: function() { return Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z); } ,get_lengthSquared: function() { return this.x * this.x + this.y * this.y + this.z * this.z; } ,__class__: lime_math_Vector4 ,__properties__: {get_lengthSquared:"get_lengthSquared",get_length:"get_length"} }; var lime_media_AudioBuffer = function() { }; $hxClasses["lime.media.AudioBuffer"] = lime_media_AudioBuffer; lime_media_AudioBuffer.__name__ = "lime.media.AudioBuffer"; lime_media_AudioBuffer.fromBase64 = function(base64String) { if(base64String == null) { return null; } if(base64String.indexOf(",") == -1) { base64String = "data:" + lime_media_AudioBuffer.__getCodec(lime__$internal_format_Base64.decode(base64String)) + ";base64," + base64String; } var audioBuffer = new lime_media_AudioBuffer(); audioBuffer.set_src(new Howl({ src : [base64String], html5 : true, preload : false})); return audioBuffer; }; lime_media_AudioBuffer.fromBytes = function(bytes) { if(bytes == null) { return null; } var audioBuffer = new lime_media_AudioBuffer(); audioBuffer.set_src(new Howl({ src : ["data:" + lime_media_AudioBuffer.__getCodec(bytes) + ";base64," + lime__$internal_format_Base64.encode(bytes)], html5 : true, preload : false})); return audioBuffer; }; lime_media_AudioBuffer.fromFile = function(path) { if(path == null) { return null; } var audioBuffer = new lime_media_AudioBuffer(); audioBuffer.__srcHowl = new Howl({ src : [path], preload : false}); return audioBuffer; }; lime_media_AudioBuffer.fromFiles = function(paths) { var audioBuffer = new lime_media_AudioBuffer(); audioBuffer.__srcHowl = new Howl({ src : paths, preload : false}); return audioBuffer; }; lime_media_AudioBuffer.fromVorbisFile = function(vorbisFile) { return null; }; lime_media_AudioBuffer.loadFromFile = function(path) { var promise = new lime_app_Promise(); var audioBuffer = lime_media_AudioBuffer.fromFile(path); if(audioBuffer != null) { if(audioBuffer != null) { audioBuffer.__srcHowl.on("load",function() { promise.complete(audioBuffer); }); audioBuffer.__srcHowl.on("loaderror",function(id,msg) { promise.error(msg); }); audioBuffer.__srcHowl.load(); } } else { promise.error(null); } return promise.future; }; lime_media_AudioBuffer.loadFromFiles = function(paths) { var promise = new lime_app_Promise(); var audioBuffer = lime_media_AudioBuffer.fromFiles(paths); if(audioBuffer != null) { audioBuffer.__srcHowl.on("load",function() { promise.complete(audioBuffer); }); audioBuffer.__srcHowl.on("loaderror",function() { promise.error(null); }); audioBuffer.__srcHowl.load(); } else { promise.error(null); } return promise.future; }; lime_media_AudioBuffer.__getCodec = function(bytes) { var signature = bytes.getString(0,4); switch(signature) { case "OggS": return "audio/ogg"; case "RIFF": if(bytes.getString(8,4) == "WAVE") { return "audio/wav"; } else { var _g = bytes.b[2]; var _g1 = bytes.b[1]; switch(bytes.b[0]) { case 73: if(_g1 == 68) { if(_g == 51) { return "audio/mp3"; } } break; case 255: switch(_g1) { case 243:case 250:case 251: return "audio/mp3"; default: } break; default: } } break; case "fLaC": return "audio/flac"; default: var _g2 = bytes.b[2]; var _g11 = bytes.b[1]; switch(bytes.b[0]) { case 73: if(_g11 == 68) { if(_g2 == 51) { return "audio/mp3"; } } break; case 255: switch(_g11) { case 243:case 250:case 251: return "audio/mp3"; default: } break; default: } } lime_utils_Log.error("Unsupported sound format",{ fileName : "lime/media/AudioBuffer.hx", lineNumber : 362, className : "lime.media.AudioBuffer", methodName : "__getCodec"}); return null; }; lime_media_AudioBuffer.prototype = { bitsPerSample: null ,channels: null ,data: null ,sampleRate: null ,__srcAudio: null ,__srcBuffer: null ,__srcCustom: null ,__srcHowl: null ,__srcSound: null ,__srcVorbisFile: null ,dispose: function() { this.__srcHowl.unload(); } ,get_src: function() { return this.__srcHowl; } ,set_src: function(value) { return this.__srcHowl = value; } ,__class__: lime_media_AudioBuffer ,__properties__: {set_src:"set_src",get_src:"get_src"} }; var lime_media_AudioContext = function(type) { if(type != "custom") { if(type == null || type == "web") { try { window.AudioContext = window.AudioContext || window.webkitAudioContext; this.web = new window.AudioContext (); this.type = "web"; } catch( e ) { haxe_CallStack.lastException = e; var e1 = ((e) instanceof js__$Boot_HaxeError) ? e.val : e; } } if(this.web == null && type != "web") { this.html5 = new lime_media_HTML5AudioContext(); this.type = "html5"; } } else { this.type = "custom"; } }; $hxClasses["lime.media.AudioContext"] = lime_media_AudioContext; lime_media_AudioContext.__name__ = "lime.media.AudioContext"; lime_media_AudioContext.prototype = { custom: null ,flash: null ,html5: null ,openal: null ,type: null ,web: null ,__class__: lime_media_AudioContext }; var lime_media_AudioManager = function() { }; $hxClasses["lime.media.AudioManager"] = lime_media_AudioManager; lime_media_AudioManager.__name__ = "lime.media.AudioManager"; lime_media_AudioManager.context = null; lime_media_AudioManager.init = function(context) { if(lime_media_AudioManager.context == null) { if(context == null) { lime_media_AudioManager.context = new lime_media_AudioContext(); context = lime_media_AudioManager.context; if(context.type == "openal") { var alc = context.openal; var device = alc.openDevice(); var ctx = alc.createContext(device); alc.makeContextCurrent(ctx); alc.processContext(ctx); } } lime_media_AudioManager.context = context; } }; lime_media_AudioManager.resume = function() { if(lime_media_AudioManager.context != null && lime_media_AudioManager.context.type == "openal") { var alc = lime_media_AudioManager.context.openal; var currentContext = alc.getCurrentContext(); if(currentContext != null) { var device = alc.getContextsDevice(currentContext); alc.resumeDevice(device); alc.processContext(currentContext); } } }; lime_media_AudioManager.shutdown = function() { if(lime_media_AudioManager.context != null && lime_media_AudioManager.context.type == "openal") { var alc = lime_media_AudioManager.context.openal; var currentContext = alc.getCurrentContext(); if(currentContext != null) { var device = alc.getContextsDevice(currentContext); alc.makeContextCurrent(null); alc.destroyContext(currentContext); if(device != null) { alc.closeDevice(device); } } } lime_media_AudioManager.context = null; }; lime_media_AudioManager.suspend = function() { if(lime_media_AudioManager.context != null && lime_media_AudioManager.context.type == "openal") { var alc = lime_media_AudioManager.context.openal; var currentContext = alc.getCurrentContext(); if(currentContext != null) { alc.suspendContext(currentContext); var device = alc.getContextsDevice(currentContext); if(device != null) { alc.pauseDevice(device); } } } }; var lime_media_AudioSource = function(buffer,offset,length,loops) { if(loops == null) { loops = 0; } if(offset == null) { offset = 0; } this.onComplete = new lime_app__$Event_$Void_$Void(); this.buffer = buffer; this.offset = offset; this.__backend = new lime__$internal_backend_html5_HTML5AudioSource(this); if(length != null && length != 0) { this.set_length(length); } this.set_loops(loops); if(buffer != null) { this.init(); } }; $hxClasses["lime.media.AudioSource"] = lime_media_AudioSource; lime_media_AudioSource.__name__ = "lime.media.AudioSource"; lime_media_AudioSource.prototype = { onComplete: null ,buffer: null ,offset: null ,__backend: null ,dispose: function() { this.__backend.dispose(); } ,init: function() { this.__backend.init(); } ,play: function() { this.__backend.play(); } ,pause: function() { this.__backend.pause(); } ,stop: function() { this.__backend.stop(); } ,get_currentTime: function() { return this.__backend.getCurrentTime(); } ,set_currentTime: function(value) { return this.__backend.setCurrentTime(value); } ,get_gain: function() { return this.__backend.getGain(); } ,set_gain: function(value) { return this.__backend.setGain(value); } ,get_length: function() { return this.__backend.getLength(); } ,set_length: function(value) { return this.__backend.setLength(value); } ,get_loops: function() { return this.__backend.getLoops(); } ,set_loops: function(value) { return this.__backend.setLoops(value); } ,get_position: function() { return this.__backend.getPosition(); } ,set_position: function(value) { return this.__backend.setPosition(value); } ,__class__: lime_media_AudioSource ,__properties__: {set_position:"set_position",get_position:"get_position",set_loops:"set_loops",get_loops:"get_loops",set_length:"set_length",get_length:"get_length",set_gain:"set_gain",get_gain:"get_gain",set_currentTime:"set_currentTime",get_currentTime:"get_currentTime"} }; var lime_media_FlashAudioContext = function() { }; $hxClasses["lime.media.FlashAudioContext"] = lime_media_FlashAudioContext; lime_media_FlashAudioContext.__name__ = "lime.media.FlashAudioContext"; lime_media_FlashAudioContext.prototype = { createBuffer: function(stream,context) { return null; } ,getBytesLoaded: function(buffer) { return 0; } ,getBytesTotal: function(buffer) { return 0; } ,getID3: function(buffer) { return null; } ,getIsBuffering: function(buffer) { return false; } ,getIsURLInaccessible: function(buffer) { return false; } ,getLength: function(buffer) { return 0; } ,getURL: function(buffer) { return null; } ,close: function(buffer) { } ,extract: function(buffer,target,length,startPosition) { if(startPosition == null) { startPosition = -1; } return 0; } ,load: function(buffer,stream,context) { } ,loadCompressedDataFromByteArray: function(buffer,bytes,bytesLength) { } ,loadPCMFromByteArray: function(buffer,bytes,samples,format,stereo,sampleRate) { if(sampleRate == null) { sampleRate = 44100; } if(stereo == null) { stereo = true; } } ,play: function(buffer,startTime,loops,sndTransform) { if(loops == null) { loops = 0; } if(startTime == null) { startTime = 0; } return null; } ,__class__: lime_media_FlashAudioContext }; var lime_media_HTML5AudioContext = function() { this.NETWORK_NO_SOURCE = 3; this.NETWORK_LOADING = 2; this.NETWORK_IDLE = 1; this.NETWORK_EMPTY = 0; this.HAVE_NOTHING = 0; this.HAVE_METADATA = 1; this.HAVE_FUTURE_DATA = 3; this.HAVE_ENOUGH_DATA = 4; this.HAVE_CURRENT_DATA = 2; }; $hxClasses["lime.media.HTML5AudioContext"] = lime_media_HTML5AudioContext; lime_media_HTML5AudioContext.__name__ = "lime.media.HTML5AudioContext"; lime_media_HTML5AudioContext.prototype = { HAVE_CURRENT_DATA: null ,HAVE_ENOUGH_DATA: null ,HAVE_FUTURE_DATA: null ,HAVE_METADATA: null ,HAVE_NOTHING: null ,NETWORK_EMPTY: null ,NETWORK_IDLE: null ,NETWORK_LOADING: null ,NETWORK_NO_SOURCE: null ,canPlayType: function(buffer,type) { if(buffer.__srcAudio != null) { return buffer.__srcAudio.canPlayType(type); } return null; } ,createBuffer: function(urlString) { var buffer = new lime_media_AudioBuffer(); buffer.__srcAudio = new Audio(); buffer.__srcAudio.src = urlString; return buffer; } ,getAutoplay: function(buffer) { if(buffer.__srcAudio != null) { return buffer.__srcAudio.autoplay; } return false; } ,getBuffered: function(buffer) { if(buffer.__srcAudio != null) { return buffer.__srcAudio.buffered; } return null; } ,getCurrentSrc: function(buffer) { if(buffer.__srcAudio != null) { return buffer.__srcAudio.currentSrc; } return null; } ,getCurrentTime: function(buffer) { if(buffer.__srcAudio != null) { return buffer.__srcAudio.currentTime; } return 0; } ,getDefaultPlaybackRate: function(buffer) { if(buffer.__srcAudio != null) { return buffer.__srcAudio.defaultPlaybackRate; } return 1; } ,getDuration: function(buffer) { if(buffer.__srcAudio != null) { return buffer.__srcAudio.duration; } return 0; } ,getEnded: function(buffer) { if(buffer.__srcAudio != null) { return buffer.__srcAudio.ended; } return false; } ,getError: function(buffer) { if(buffer.__srcAudio != null) { return buffer.__srcAudio.error; } return null; } ,getLoop: function(buffer) { if(buffer.__srcAudio != null) { return buffer.__srcAudio.loop; } return false; } ,getMuted: function(buffer) { if(buffer.__srcAudio != null) { return buffer.__srcAudio.muted; } return false; } ,getNetworkState: function(buffer) { if(buffer.__srcAudio != null) { return buffer.__srcAudio.networkState; } return 0; } ,getPaused: function(buffer) { if(buffer.__srcAudio != null) { return buffer.__srcAudio.paused; } return false; } ,getPlaybackRate: function(buffer) { if(buffer.__srcAudio != null) { return buffer.__srcAudio.playbackRate; } return 1; } ,getPlayed: function(buffer) { if(buffer.__srcAudio != null) { return buffer.__srcAudio.played; } return null; } ,getPreload: function(buffer) { if(buffer.__srcAudio != null) { return buffer.__srcAudio.preload; } return null; } ,getReadyState: function(buffer) { if(buffer.__srcAudio != null) { return buffer.__srcAudio.readyState; } return 0; } ,getSeekable: function(buffer) { if(buffer.__srcAudio != null) { return buffer.__srcAudio.seekable; } return null; } ,getSeeking: function(buffer) { if(buffer.__srcAudio != null) { return buffer.__srcAudio.seeking; } return false; } ,getSrc: function(buffer) { if(buffer.__srcAudio != null) { return buffer.__srcAudio.src; } return null; } ,getStartTime: function(buffer) { if(buffer.__srcAudio != null) { return buffer.__srcAudio.playbackRate; } return 0; } ,getVolume: function(buffer) { if(buffer.__srcAudio != null) { return buffer.__srcAudio.volume; } return 1; } ,load: function(buffer) { if(buffer.__srcAudio != null) { buffer.__srcAudio.load(); } } ,pause: function(buffer) { if(buffer.__srcAudio != null) { buffer.__srcAudio.pause(); } } ,play: function(buffer) { if(buffer.__srcAudio != null) { buffer.__srcAudio.play(); } } ,setAutoplay: function(buffer,value) { if(buffer.__srcAudio != null) { buffer.__srcAudio.autoplay = value; } } ,setCurrentTime: function(buffer,value) { if(buffer.__srcAudio != null) { buffer.__srcAudio.currentTime = value; } } ,setDefaultPlaybackRate: function(buffer,value) { if(buffer.__srcAudio != null) { buffer.__srcAudio.defaultPlaybackRate = value; } } ,setLoop: function(buffer,value) { if(buffer.__srcAudio != null) { buffer.__srcAudio.loop = value; } } ,setMuted: function(buffer,value) { if(buffer.__srcAudio != null) { buffer.__srcAudio.muted = value; } } ,setPlaybackRate: function(buffer,value) { if(buffer.__srcAudio != null) { buffer.__srcAudio.playbackRate = value; } } ,setPreload: function(buffer,value) { if(buffer.__srcAudio != null) { buffer.__srcAudio.preload = value; } } ,setSrc: function(buffer,value) { if(buffer.__srcAudio != null) { buffer.__srcAudio.src = value; } } ,setVolume: function(buffer,value) { if(buffer.__srcAudio != null) { buffer.__srcAudio.volume = value; } } ,__class__: lime_media_HTML5AudioContext }; var lime_media_OpenALAudioContext = function() { this.ALL_DEVICES_SPECIFIER = 4115; this.DEFAULT_ALL_DEVICES_SPECIFIER = 4114; this.ENUMERATE_ALL_EXT = 1; this.DEVICE_SPECIFIER = 4101; this.DEFAULT_DEVICE_SPECIFIER = 4100; this.ALL_ATTRIBUTES = 4099; this.ATTRIBUTES_SIZE = 4098; this.INVALID_CONTEXT = 40962; this.INVALID_DEVICE = 40961; this.STEREO_SOURCES = 4113; this.MONO_SOURCES = 4112; this.SYNC = 4105; this.REFRESH = 4104; this.EXPONENT_DISTANCE_CLAMPED = 53254; this.EXPONENT_DISTANCE = 53253; this.LINEAR_DISTANCE_CLAMPED = 53252; this.LINEAR_DISTANCE = 53251; this.INVERSE_DISTANCE_CLAMPED = 53250; this.INVERSE_DISTANCE = 53249; this.DISTANCE_MODEL = 53248; this.DOPPLER_VELOCITY = 49153; this.SPEED_OF_SOUND = 49155; this.DOPPLER_FACTOR = 49152; this.EXTENSIONS = 45060; this.RENDERER = 45059; this.VERSION = 45058; this.VENDOR = 45057; this.OUT_OF_MEMORY = 40965; this.INVALID_OPERATION = 40964; this.INVALID_VALUE = 40963; this.INVALID_ENUM = 40962; this.INVALID_NAME = 40961; this.NO_ERROR = 0; this.SIZE = 8196; this.CHANNELS = 8195; this.BITS = 8194; this.FREQUENCY = 8193; this.FORMAT_STEREO16 = 4355; this.FORMAT_STEREO8 = 4354; this.FORMAT_MONO16 = 4353; this.FORMAT_MONO8 = 4352; this.UNDETERMINED = 4144; this.STREAMING = 4137; this.STATIC = 4136; this.SOURCE_TYPE = 4135; this.BYTE_OFFSET = 4134; this.SAMPLE_OFFSET = 4133; this.SEC_OFFSET = 4132; this.MAX_DISTANCE = 4131; this.CONE_OUTER_GAIN = 4130; this.ROLLOFF_FACTOR = 4129; this.REFERENCE_DISTANCE = 4128; this.BUFFERS_PROCESSED = 4118; this.BUFFERS_QUEUED = 4117; this.STOPPED = 4116; this.PAUSED = 4115; this.PLAYING = 4114; this.INITIAL = 4113; this.SOURCE_STATE = 4112; this.ORIENTATION = 4111; this.MAX_GAIN = 4110; this.MIN_GAIN = 4109; this.GAIN = 4106; this.BUFFER = 4105; this.LOOPING = 4103; this.VELOCITY = 4102; this.DIRECTION = 4101; this.POSITION = 4100; this.PITCH = 4099; this.CONE_OUTER_ANGLE = 4098; this.CONE_INNER_ANGLE = 4097; this.SOURCE_RELATIVE = 514; this.TRUE = 1; this.FALSE = 0; this.NONE = 0; }; $hxClasses["lime.media.OpenALAudioContext"] = lime_media_OpenALAudioContext; lime_media_OpenALAudioContext.__name__ = "lime.media.OpenALAudioContext"; lime_media_OpenALAudioContext.prototype = { NONE: null ,FALSE: null ,TRUE: null ,SOURCE_RELATIVE: null ,CONE_INNER_ANGLE: null ,CONE_OUTER_ANGLE: null ,PITCH: null ,POSITION: null ,DIRECTION: null ,VELOCITY: null ,LOOPING: null ,BUFFER: null ,GAIN: null ,MIN_GAIN: null ,MAX_GAIN: null ,ORIENTATION: null ,SOURCE_STATE: null ,INITIAL: null ,PLAYING: null ,PAUSED: null ,STOPPED: null ,BUFFERS_QUEUED: null ,BUFFERS_PROCESSED: null ,REFERENCE_DISTANCE: null ,ROLLOFF_FACTOR: null ,CONE_OUTER_GAIN: null ,MAX_DISTANCE: null ,SEC_OFFSET: null ,SAMPLE_OFFSET: null ,BYTE_OFFSET: null ,SOURCE_TYPE: null ,STATIC: null ,STREAMING: null ,UNDETERMINED: null ,FORMAT_MONO8: null ,FORMAT_MONO16: null ,FORMAT_STEREO8: null ,FORMAT_STEREO16: null ,FREQUENCY: null ,BITS: null ,CHANNELS: null ,SIZE: null ,NO_ERROR: null ,INVALID_NAME: null ,INVALID_ENUM: null ,INVALID_VALUE: null ,INVALID_OPERATION: null ,OUT_OF_MEMORY: null ,VENDOR: null ,VERSION: null ,RENDERER: null ,EXTENSIONS: null ,DOPPLER_FACTOR: null ,SPEED_OF_SOUND: null ,DOPPLER_VELOCITY: null ,DISTANCE_MODEL: null ,INVERSE_DISTANCE: null ,INVERSE_DISTANCE_CLAMPED: null ,LINEAR_DISTANCE: null ,LINEAR_DISTANCE_CLAMPED: null ,EXPONENT_DISTANCE: null ,EXPONENT_DISTANCE_CLAMPED: null ,REFRESH: null ,SYNC: null ,MONO_SOURCES: null ,STEREO_SOURCES: null ,INVALID_DEVICE: null ,INVALID_CONTEXT: null ,ATTRIBUTES_SIZE: null ,ALL_ATTRIBUTES: null ,DEFAULT_DEVICE_SPECIFIER: null ,DEVICE_SPECIFIER: null ,ENUMERATE_ALL_EXT: null ,DEFAULT_ALL_DEVICES_SPECIFIER: null ,ALL_DEVICES_SPECIFIER: null ,bufferData: function(buffer,format,data,size,freq) { lime_media_openal_AL.bufferData(buffer,format,data,size,freq); } ,buffer3f: function(buffer,param,value1,value2,value3) { lime_media_openal_AL.buffer3f(buffer,param,value1,value2,value3); } ,buffer3i: function(buffer,param,value1,value2,value3) { lime_media_openal_AL.buffer3i(buffer,param,value1,value2,value3); } ,bufferf: function(buffer,param,value) { lime_media_openal_AL.bufferf(buffer,param,value); } ,bufferfv: function(buffer,param,values) { lime_media_openal_AL.bufferfv(buffer,param,values); } ,bufferi: function(buffer,param,value) { lime_media_openal_AL.bufferi(buffer,param,value); } ,bufferiv: function(buffer,param,values) { lime_media_openal_AL.bufferiv(buffer,param,values); } ,closeDevice: function(device) { return lime_media_openal_ALC.closeDevice(device); } ,createContext: function(device,attrlist) { return lime_media_openal_ALC.createContext(device,attrlist); } ,createBuffer: function() { return lime_media_openal_AL.createBuffer(); } ,createSource: function() { return lime_media_openal_AL.createSource(); } ,deleteBuffer: function(buffer) { lime_media_openal_AL.deleteBuffer(buffer); } ,deleteBuffers: function(buffers) { lime_media_openal_AL.deleteBuffers(buffers); } ,deleteSource: function(source) { lime_media_openal_AL.deleteSource(source); } ,deleteSources: function(sources) { lime_media_openal_AL.deleteSources(sources); } ,destroyContext: function(context) { if(context == null) { return; } lime_media_openal_ALC.destroyContext(context); } ,disable: function(capability) { lime_media_openal_AL.disable(capability); } ,distanceModel: function(distanceModel) { lime_media_openal_AL.distanceModel(distanceModel); } ,dopplerFactor: function(value) { lime_media_openal_AL.dopplerFactor(value); } ,dopplerVelocity: function(value) { lime_media_openal_AL.dopplerVelocity(value); } ,enable: function(capability) { lime_media_openal_AL.enable(capability); } ,genSource: function() { return this.createSource(); } ,genSources: function(n) { return lime_media_openal_AL.genSources(n); } ,genBuffer: function() { return this.createBuffer(); } ,genBuffers: function(n) { return lime_media_openal_AL.genBuffers(n); } ,getBoolean: function(param) { return lime_media_openal_AL.getBoolean(param); } ,getBooleanv: function(param,count) { if(count == null) { count = 1; } return lime_media_openal_AL.getBooleanv(param,count); } ,getBuffer3f: function(buffer,param) { return lime_media_openal_AL.getBuffer3f(buffer,param); } ,getBuffer3i: function(buffer,param) { return lime_media_openal_AL.getBuffer3i(buffer,param); } ,getBufferf: function(buffer,param) { return lime_media_openal_AL.getBufferf(buffer,param); } ,getBufferfv: function(buffer,param,count) { if(count == null) { count = 1; } return lime_media_openal_AL.getBufferfv(buffer,param,count); } ,getBufferi: function(buffer,param) { return lime_media_openal_AL.getBufferi(buffer,param); } ,getBufferiv: function(buffer,param,count) { if(count == null) { count = 1; } return lime_media_openal_AL.getBufferiv(buffer,param,count); } ,getContextsDevice: function(context) { if(context == null) { return null; } return lime_media_openal_ALC.getContextsDevice(context); } ,getCurrentContext: function() { return lime_media_openal_ALC.getCurrentContext(); } ,getDouble: function(param) { return lime_media_openal_AL.getDouble(param); } ,getDoublev: function(param,count) { if(count == null) { count = 1; } return lime_media_openal_AL.getDoublev(param,count); } ,getEnumValue: function(ename) { return lime_media_openal_AL.getEnumValue(ename); } ,getError: function(device) { if(device == null) { return lime_media_openal_AL.getError(); } else { return lime_media_openal_ALC.getError(device); } } ,getErrorString: function(device) { if(device == null) { return lime_media_openal_AL.getErrorString(); } else { return lime_media_openal_ALC.getErrorString(device); } } ,getFloat: function(param) { return lime_media_openal_AL.getFloat(param); } ,getFloatv: function(param,count) { if(count == null) { count = 1; } return lime_media_openal_AL.getFloatv(param,count); } ,getInteger: function(param) { return lime_media_openal_AL.getInteger(param); } ,getIntegerv: function(param,count,device) { if(count == null) { count = 1; } if(device == null) { return lime_media_openal_AL.getIntegerv(param,count); } else { return lime_media_openal_ALC.getIntegerv(device,param,count); } } ,getListener3f: function(param) { return lime_media_openal_AL.getListener3f(param); } ,getListener3i: function(param) { return lime_media_openal_AL.getListener3i(param); } ,getListenerf: function(param) { return lime_media_openal_AL.getListenerf(param); } ,getListenerfv: function(param,count) { if(count == null) { count = 1; } return lime_media_openal_AL.getListenerfv(param,count); } ,getListeneri: function(param) { return lime_media_openal_AL.getListeneri(param); } ,getListeneriv: function(param,count) { if(count == null) { count = 1; } return lime_media_openal_AL.getListeneriv(param,count); } ,getProcAddress: function(fname) { return lime_media_openal_AL.getProcAddress(fname); } ,getSource3f: function(source,param) { return lime_media_openal_AL.getSource3f(source,param); } ,getSourcef: function(source,param) { return lime_media_openal_AL.getSourcef(source,param); } ,getSource3i: function(source,param) { return lime_media_openal_AL.getSource3i(source,param); } ,getSourcefv: function(source,param,count) { if(count == null) { count = 1; } return lime_media_openal_AL.getSourcefv(source,param); } ,getSourcei: function(source,param) { return lime_media_openal_AL.getSourcei(source,param); } ,getSourceiv: function(source,param,count) { if(count == null) { count = 1; } return lime_media_openal_AL.getSourceiv(source,param,count); } ,getString: function(param,device) { if(device == null) { return lime_media_openal_AL.getString(param); } else { return lime_media_openal_ALC.getString(device,param); } } ,isBuffer: function(buffer) { return lime_media_openal_AL.isBuffer(buffer); } ,isEnabled: function(capability) { return lime_media_openal_AL.isEnabled(capability); } ,isExtensionPresent: function(extname) { return lime_media_openal_AL.isExtensionPresent(extname); } ,isSource: function(source) { return lime_media_openal_AL.isSource(source); } ,listener3f: function(param,value1,value2,value3) { lime_media_openal_AL.listener3f(param,value1,value2,value3); } ,listener3i: function(param,value1,value2,value3) { lime_media_openal_AL.listener3i(param,value1,value2,value3); } ,listenerf: function(param,value) { lime_media_openal_AL.listenerf(param,value); } ,listenerfv: function(param,values) { lime_media_openal_AL.listenerfv(param,values); } ,listeneri: function(param,value) { lime_media_openal_AL.listeneri(param,value); } ,listeneriv: function(param,values) { lime_media_openal_AL.listeneriv(param,values); } ,makeContextCurrent: function(context) { return lime_media_openal_ALC.makeContextCurrent(context); } ,openDevice: function(deviceName) { return lime_media_openal_ALC.openDevice(deviceName); } ,pauseDevice: function(device) { lime_media_openal_ALC.pauseDevice(device); } ,processContext: function(context) { lime_media_openal_ALC.processContext(context); } ,resumeDevice: function(device) { lime_media_openal_ALC.resumeDevice(device); } ,source3f: function(source,param,value1,value2,value3) { lime_media_openal_AL.source3f(source,param,value1,value2,value3); } ,source3i: function(source,param,value1,value2,value3) { lime_media_openal_AL.source3i(source,param,value1,value2,value3); } ,sourcef: function(source,param,value) { lime_media_openal_AL.sourcef(source,param,value); } ,sourcefv: function(source,param,values) { lime_media_openal_AL.sourcefv(source,param,values); } ,sourcei: function(source,param,value) { lime_media_openal_AL.sourcei(source,param,value); } ,sourceiv: function(source,param,values) { lime_media_openal_AL.sourceiv(source,param,values); } ,sourcePlay: function(source) { lime_media_openal_AL.sourcePlay(source); } ,sourcePlayv: function(sources) { lime_media_openal_AL.sourcePlayv(sources); } ,sourceStop: function(source) { lime_media_openal_AL.sourceStop(source); } ,sourceStopv: function(sources) { lime_media_openal_AL.sourceStopv(sources); } ,sourceRewind: function(source) { lime_media_openal_AL.sourceRewind(source); } ,sourceRewindv: function(sources) { lime_media_openal_AL.sourceRewindv(sources); } ,sourcePause: function(source) { lime_media_openal_AL.sourcePause(source); } ,sourcePausev: function(sources) { lime_media_openal_AL.sourcePausev(sources); } ,sourceQueueBuffer: function(source,buffer) { lime_media_openal_AL.sourceQueueBuffer(source,buffer); } ,sourceQueueBuffers: function(source,nb,buffers) { lime_media_openal_AL.sourceQueueBuffers(source,nb,buffers); } ,sourceUnqueueBuffer: function(source) { return lime_media_openal_AL.sourceUnqueueBuffer(source); } ,sourceUnqueueBuffers: function(source,nb) { return lime_media_openal_AL.sourceUnqueueBuffers(source,nb); } ,speedOfSound: function(value) { lime_media_openal_AL.speedOfSound(value); } ,suspendContext: function(context) { lime_media_openal_ALC.suspendContext(context); } ,__class__: lime_media_OpenALAudioContext }; var lime_media_openal_AL = function() { }; $hxClasses["lime.media.openal.AL"] = lime_media_openal_AL; lime_media_openal_AL.__name__ = "lime.media.openal.AL"; lime_media_openal_AL.removeDirectFilter = function(source) { }; lime_media_openal_AL.removeSend = function(source,index) { }; lime_media_openal_AL.auxf = function(aux,param,value) { }; lime_media_openal_AL.auxfv = function(aux,param,values) { }; lime_media_openal_AL.auxi = function(aux,param,value) { }; lime_media_openal_AL.auxiv = function(aux,param,values) { }; lime_media_openal_AL.bufferData = function(buffer,format,data,size,freq) { }; lime_media_openal_AL.buffer3f = function(buffer,param,value1,value2,value3) { }; lime_media_openal_AL.buffer3i = function(buffer,param,value1,value2,value3) { }; lime_media_openal_AL.bufferf = function(buffer,param,value) { }; lime_media_openal_AL.bufferfv = function(buffer,param,values) { }; lime_media_openal_AL.bufferi = function(buffer,param,value) { }; lime_media_openal_AL.bufferiv = function(buffer,param,values) { }; lime_media_openal_AL.createAux = function() { return null; }; lime_media_openal_AL.createBuffer = function() { return null; }; lime_media_openal_AL.createEffect = function() { return null; }; lime_media_openal_AL.createFilter = function() { return null; }; lime_media_openal_AL.createSource = function() { return null; }; lime_media_openal_AL.deleteBuffer = function(buffer) { }; lime_media_openal_AL.deleteBuffers = function(buffers) { }; lime_media_openal_AL.deleteSource = function(source) { }; lime_media_openal_AL.deleteSources = function(sources) { }; lime_media_openal_AL.disable = function(capability) { }; lime_media_openal_AL.distanceModel = function(distanceModel) { }; lime_media_openal_AL.dopplerFactor = function(value) { }; lime_media_openal_AL.dopplerVelocity = function(value) { }; lime_media_openal_AL.effectf = function(effect,param,value) { }; lime_media_openal_AL.effectfv = function(effect,param,values) { }; lime_media_openal_AL.effecti = function(effect,param,value) { }; lime_media_openal_AL.effectiv = function(effect,param,values) { }; lime_media_openal_AL.enable = function(capability) { }; lime_media_openal_AL.genSource = function() { return null; }; lime_media_openal_AL.genSources = function(n) { return null; }; lime_media_openal_AL.genBuffer = function() { return null; }; lime_media_openal_AL.genBuffers = function(n) { return null; }; lime_media_openal_AL.getBoolean = function(param) { return false; }; lime_media_openal_AL.getBooleanv = function(param,count) { if(count == null) { count = 1; } return null; }; lime_media_openal_AL.getBuffer3f = function(buffer,param) { return null; }; lime_media_openal_AL.getBuffer3i = function(buffer,param) { return null; }; lime_media_openal_AL.getBufferf = function(buffer,param) { return 0; }; lime_media_openal_AL.getBufferfv = function(buffer,param,count) { if(count == null) { count = 1; } return null; }; lime_media_openal_AL.getBufferi = function(buffer,param) { return 0; }; lime_media_openal_AL.getBufferiv = function(buffer,param,count) { if(count == null) { count = 1; } return null; }; lime_media_openal_AL.getDouble = function(param) { return 0; }; lime_media_openal_AL.getDoublev = function(param,count) { if(count == null) { count = 1; } return null; }; lime_media_openal_AL.getEnumValue = function(ename) { return 0; }; lime_media_openal_AL.getError = function() { return 0; }; lime_media_openal_AL.getErrorString = function() { switch(lime_media_openal_AL.getError()) { case 40961: return "INVALID_NAME: Invalid parameter name"; case 40962: return "INVALID_ENUM: Invalid enum value"; case 40963: return "INVALID_VALUE: Invalid parameter value"; case 40964: return "INVALID_OPERATION: Illegal operation or call"; case 40965: return "OUT_OF_MEMORY: OpenAL has run out of memory"; default: return ""; } }; lime_media_openal_AL.getFilteri = function(filter,param) { return 0; }; lime_media_openal_AL.getFloat = function(param) { return 0; }; lime_media_openal_AL.getFloatv = function(param,count) { if(count == null) { count = 1; } return null; }; lime_media_openal_AL.getInteger = function(param) { return 0; }; lime_media_openal_AL.getIntegerv = function(param,count) { if(count == null) { count = 1; } return null; }; lime_media_openal_AL.getListener3f = function(param) { return null; }; lime_media_openal_AL.getListener3i = function(param) { return null; }; lime_media_openal_AL.getListenerf = function(param) { return 0; }; lime_media_openal_AL.getListenerfv = function(param,count) { if(count == null) { count = 1; } return null; }; lime_media_openal_AL.getListeneri = function(param) { return 0; }; lime_media_openal_AL.getListeneriv = function(param,count) { if(count == null) { count = 1; } return null; }; lime_media_openal_AL.getParameter = function(param) { return null; }; lime_media_openal_AL.getProcAddress = function(fname) { return null; }; lime_media_openal_AL.getSource3f = function(source,param) { return null; }; lime_media_openal_AL.getSourcef = function(source,param) { return 0; }; lime_media_openal_AL.getSource3i = function(source,param) { return null; }; lime_media_openal_AL.getSourcefv = function(source,param,count) { if(count == null) { count = 1; } return null; }; lime_media_openal_AL.getSourcei = function(source,param) { return 0; }; lime_media_openal_AL.getSourceiv = function(source,param,count) { if(count == null) { count = 1; } return null; }; lime_media_openal_AL.getString = function(param) { return null; }; lime_media_openal_AL.isBuffer = function(buffer) { return false; }; lime_media_openal_AL.isEnabled = function(capability) { return false; }; lime_media_openal_AL.isExtensionPresent = function(extname) { return false; }; lime_media_openal_AL.isAux = function(aux) { return false; }; lime_media_openal_AL.isEffect = function(effect) { return false; }; lime_media_openal_AL.isFilter = function(filter) { return false; }; lime_media_openal_AL.isSource = function(source) { return false; }; lime_media_openal_AL.listener3f = function(param,value1,value2,value3) { }; lime_media_openal_AL.listener3i = function(param,value1,value2,value3) { }; lime_media_openal_AL.listenerf = function(param,value) { }; lime_media_openal_AL.listenerfv = function(param,values) { }; lime_media_openal_AL.listeneri = function(param,value) { }; lime_media_openal_AL.listeneriv = function(param,values) { }; lime_media_openal_AL.source3f = function(source,param,value1,value2,value3) { }; lime_media_openal_AL.source3i = function(source,param,value1,value2,value3) { }; lime_media_openal_AL.sourcef = function(source,param,value) { }; lime_media_openal_AL.sourcefv = function(source,param,values) { }; lime_media_openal_AL.sourcei = function(source,param,value) { }; lime_media_openal_AL.filteri = function(filter,param,value) { }; lime_media_openal_AL.filterf = function(filter,param,value) { }; lime_media_openal_AL.sourceiv = function(source,param,values) { }; lime_media_openal_AL.sourcePlay = function(source) { }; lime_media_openal_AL.sourcePlayv = function(sources) { }; lime_media_openal_AL.sourceStop = function(source) { }; lime_media_openal_AL.sourceStopv = function(sources) { }; lime_media_openal_AL.sourceRewind = function(source) { }; lime_media_openal_AL.sourceRewindv = function(sources) { }; lime_media_openal_AL.sourcePause = function(source) { }; lime_media_openal_AL.sourcePausev = function(sources) { }; lime_media_openal_AL.sourceQueueBuffer = function(source,buffer) { }; lime_media_openal_AL.sourceQueueBuffers = function(source,nb,buffers) { }; lime_media_openal_AL.sourceUnqueueBuffer = function(source) { return 0; }; lime_media_openal_AL.sourceUnqueueBuffers = function(source,nb) { return null; }; lime_media_openal_AL.speedOfSound = function(value) { }; var lime_media_openal__$ALAuxiliaryEffectSlot_ALAuxiliaryEffectSlot_$Impl_$ = {}; $hxClasses["lime.media.openal._ALAuxiliaryEffectSlot.ALAuxiliaryEffectSlot_Impl_"] = lime_media_openal__$ALAuxiliaryEffectSlot_ALAuxiliaryEffectSlot_$Impl_$; lime_media_openal__$ALAuxiliaryEffectSlot_ALAuxiliaryEffectSlot_$Impl_$.__name__ = "lime.media.openal._ALAuxiliaryEffectSlot.ALAuxiliaryEffectSlot_Impl_"; lime_media_openal__$ALAuxiliaryEffectSlot_ALAuxiliaryEffectSlot_$Impl_$._new = function(handle) { var this1 = handle; return this1; }; var lime_media_openal__$ALBuffer_ALBuffer_$Impl_$ = {}; $hxClasses["lime.media.openal._ALBuffer.ALBuffer_Impl_"] = lime_media_openal__$ALBuffer_ALBuffer_$Impl_$; lime_media_openal__$ALBuffer_ALBuffer_$Impl_$.__name__ = "lime.media.openal._ALBuffer.ALBuffer_Impl_"; lime_media_openal__$ALBuffer_ALBuffer_$Impl_$._new = function(handle) { var this1 = handle; return this1; }; var lime_media_openal_ALC = function() { }; $hxClasses["lime.media.openal.ALC"] = lime_media_openal_ALC; lime_media_openal_ALC.__name__ = "lime.media.openal.ALC"; lime_media_openal_ALC.closeDevice = function(device) { return false; }; lime_media_openal_ALC.createContext = function(device,attrlist) { return null; }; lime_media_openal_ALC.destroyContext = function(context) { }; lime_media_openal_ALC.getContextsDevice = function(context) { return null; }; lime_media_openal_ALC.getCurrentContext = function() { return null; }; lime_media_openal_ALC.getError = function(device) { return 0; }; lime_media_openal_ALC.getErrorString = function(device) { switch(lime_media_openal_ALC.getError(device)) { case 40961: return "INVALID_DEVICE: Invalid device (or no device?)"; case 40962: return "INVALID_CONTEXT: Invalid context (or no context?)"; case 40963: return "INVALID_ENUM: Invalid enum value"; case 40964: return "INVALID_VALUE: Invalid param value"; case 40965: return "OUT_OF_MEMORY: OpenAL has run out of memory"; default: return ""; } }; lime_media_openal_ALC.getIntegerv = function(device,param,size) { return null; }; lime_media_openal_ALC.getString = function(device,param) { return null; }; lime_media_openal_ALC.makeContextCurrent = function(context) { return false; }; lime_media_openal_ALC.openDevice = function(deviceName) { return null; }; lime_media_openal_ALC.pauseDevice = function(device) { }; lime_media_openal_ALC.processContext = function(context) { }; lime_media_openal_ALC.resumeDevice = function(device) { }; lime_media_openal_ALC.suspendContext = function(context) { }; var lime_media_openal__$ALContext_ALContext_$Impl_$ = {}; $hxClasses["lime.media.openal._ALContext.ALContext_Impl_"] = lime_media_openal__$ALContext_ALContext_$Impl_$; lime_media_openal__$ALContext_ALContext_$Impl_$.__name__ = "lime.media.openal._ALContext.ALContext_Impl_"; lime_media_openal__$ALContext_ALContext_$Impl_$._new = function(handle) { var this1 = handle; return this1; }; var lime_media_openal__$ALDevice_ALDevice_$Impl_$ = {}; $hxClasses["lime.media.openal._ALDevice.ALDevice_Impl_"] = lime_media_openal__$ALDevice_ALDevice_$Impl_$; lime_media_openal__$ALDevice_ALDevice_$Impl_$.__name__ = "lime.media.openal._ALDevice.ALDevice_Impl_"; lime_media_openal__$ALDevice_ALDevice_$Impl_$._new = function(handle) { var this1 = handle; return this1; }; var lime_media_openal__$ALEffect_ALEffect_$Impl_$ = {}; $hxClasses["lime.media.openal._ALEffect.ALEffect_Impl_"] = lime_media_openal__$ALEffect_ALEffect_$Impl_$; lime_media_openal__$ALEffect_ALEffect_$Impl_$.__name__ = "lime.media.openal._ALEffect.ALEffect_Impl_"; lime_media_openal__$ALEffect_ALEffect_$Impl_$._new = function(handle) { var this1 = handle; return this1; }; var lime_media_openal__$ALFilter_ALFilter_$Impl_$ = {}; $hxClasses["lime.media.openal._ALFilter.ALFilter_Impl_"] = lime_media_openal__$ALFilter_ALFilter_$Impl_$; lime_media_openal__$ALFilter_ALFilter_$Impl_$.__name__ = "lime.media.openal._ALFilter.ALFilter_Impl_"; lime_media_openal__$ALFilter_ALFilter_$Impl_$._new = function(handle) { var this1 = handle; return this1; }; var lime_media_openal__$ALSource_ALSource_$Impl_$ = {}; $hxClasses["lime.media.openal._ALSource.ALSource_Impl_"] = lime_media_openal__$ALSource_ALSource_$Impl_$; lime_media_openal__$ALSource_ALSource_$Impl_$.__name__ = "lime.media.openal._ALSource.ALSource_Impl_"; lime_media_openal__$ALSource_ALSource_$Impl_$._new = function(handle) { var this1 = handle; return this1; }; var lime_media_vorbis_VorbisComment = function() { }; $hxClasses["lime.media.vorbis.VorbisComment"] = lime_media_vorbis_VorbisComment; lime_media_vorbis_VorbisComment.__name__ = "lime.media.vorbis.VorbisComment"; lime_media_vorbis_VorbisComment.prototype = { userComments: null ,vendor: null ,__class__: lime_media_vorbis_VorbisComment }; var lime_media_vorbis_VorbisFile = function(handle) { this.handle = handle; }; $hxClasses["lime.media.vorbis.VorbisFile"] = lime_media_vorbis_VorbisFile; lime_media_vorbis_VorbisFile.__name__ = "lime.media.vorbis.VorbisFile"; lime_media_vorbis_VorbisFile.fromBytes = function(bytes) { return null; }; lime_media_vorbis_VorbisFile.fromFile = function(path) { return null; }; lime_media_vorbis_VorbisFile.prototype = { bitstream: null ,handle: null ,bitrate: function(bitstream) { if(bitstream == null) { bitstream = -1; } return 0; } ,bitrateInstant: function() { return 0; } ,clear: function() { } ,comment: function(bitstream) { if(bitstream == null) { bitstream = -1; } return null; } ,crosslap: function(other) { return 0; } ,info: function(bitstream) { if(bitstream == null) { bitstream = -1; } return null; } ,pcmSeek: function(pos) { return 0; } ,pcmSeekLap: function(pos) { return 0; } ,pcmSeekPage: function(pos) { return 0; } ,pcmSeekPageLap: function(pos) { return 0; } ,pcmTell: function() { var this1 = new haxe__$Int64__$_$_$Int64(0,0); return this1; } ,pcmTotal: function(bitstream) { if(bitstream == null) { bitstream = -1; } var this1 = new haxe__$Int64__$_$_$Int64(0,0); return this1; } ,rawSeek: function(pos) { return 0; } ,rawSeekLap: function(pos) { return 0; } ,rawTell: function() { var this1 = new haxe__$Int64__$_$_$Int64(0,0); return this1; } ,rawTotal: function(bitstream) { if(bitstream == null) { bitstream = -1; } var this1 = new haxe__$Int64__$_$_$Int64(0,0); return this1; } ,read: function(buffer,position,length,bigEndianPacking,wordSize,signed) { if(signed == null) { signed = true; } if(wordSize == null) { wordSize = 2; } if(bigEndianPacking == null) { bigEndianPacking = false; } if(length == null) { length = 4096; } return 0; } ,readFloat: function(pcmChannels,samples) { return 0; } ,seekable: function() { return false; } ,serialNumber: function(bitstream) { if(bitstream == null) { bitstream = -1; } return 0; } ,streams: function() { return 0; } ,timeSeek: function(s) { return 0; } ,timeSeekLap: function(s) { return 0; } ,timeSeekPage: function(s) { return 0; } ,timeSeekPageLap: function(s) { return 0; } ,timeTell: function() { return 0; } ,timeTotal: function(bitstream) { if(bitstream == null) { bitstream = -1; } return 0; } ,__class__: lime_media_vorbis_VorbisFile }; var lime_media_vorbis_VorbisInfo = function() { }; $hxClasses["lime.media.vorbis.VorbisInfo"] = lime_media_vorbis_VorbisInfo; lime_media_vorbis_VorbisInfo.__name__ = "lime.media.vorbis.VorbisInfo"; lime_media_vorbis_VorbisInfo.prototype = { bitrateLower: null ,bitrateNominal: null ,bitrateUpper: null ,channels: null ,rate: null ,version: null ,__class__: lime_media_vorbis_VorbisInfo }; var lime_net__$IHTTPRequest = function() { }; $hxClasses["lime.net._IHTTPRequest"] = lime_net__$IHTTPRequest; lime_net__$IHTTPRequest.__name__ = "lime.net._IHTTPRequest"; lime_net__$IHTTPRequest.__isInterface__ = true; lime_net__$IHTTPRequest.prototype = { contentType: null ,data: null ,enableResponseHeaders: null ,followRedirects: null ,formData: null ,headers: null ,method: null ,responseHeaders: null ,responseStatus: null ,timeout: null ,uri: null ,userAgent: null ,withCredentials: null ,cancel: null ,__class__: lime_net__$IHTTPRequest }; var lime_net__$HTTPRequest_AbstractHTTPRequest = function(uri) { this.uri = uri; this.contentType = "application/x-www-form-urlencoded"; this.followRedirects = true; this.enableResponseHeaders = false; this.formData = new haxe_ds_StringMap(); this.headers = []; this.method = "GET"; this.timeout = 30000; this.withCredentials = false; this.__backend = new lime__$internal_backend_html5_HTML5HTTPRequest(); this.__backend.init(this); }; $hxClasses["lime.net._HTTPRequest.AbstractHTTPRequest"] = lime_net__$HTTPRequest_AbstractHTTPRequest; lime_net__$HTTPRequest_AbstractHTTPRequest.__name__ = "lime.net._HTTPRequest.AbstractHTTPRequest"; lime_net__$HTTPRequest_AbstractHTTPRequest.__interfaces__ = [lime_net__$IHTTPRequest]; lime_net__$HTTPRequest_AbstractHTTPRequest.prototype = { contentType: null ,data: null ,enableResponseHeaders: null ,followRedirects: null ,formData: null ,headers: null ,method: null ,responseData: null ,responseHeaders: null ,responseStatus: null ,timeout: null ,uri: null ,userAgent: null ,withCredentials: null ,__backend: null ,cancel: function() { this.__backend.cancel(); } ,load: function(uri) { return null; } ,__class__: lime_net__$HTTPRequest_AbstractHTTPRequest }; var lime_net_HTTPRequest = function(uri) { lime_net__$HTTPRequest_AbstractHTTPRequest.call(this,uri); }; $hxClasses["lime.net.HTTPRequest"] = lime_net_HTTPRequest; lime_net_HTTPRequest.__name__ = "lime.net.HTTPRequest"; lime_net_HTTPRequest.__super__ = lime_net__$HTTPRequest_AbstractHTTPRequest; lime_net_HTTPRequest.prototype = $extend(lime_net__$HTTPRequest_AbstractHTTPRequest.prototype,{ __class__: lime_net_HTTPRequest }); var lime_net__$HTTPRequest_$Bytes = function(uri) { lime_net__$HTTPRequest_AbstractHTTPRequest.call(this,uri); }; $hxClasses["lime.net._HTTPRequest_Bytes"] = lime_net__$HTTPRequest_$Bytes; lime_net__$HTTPRequest_$Bytes.__name__ = "lime.net._HTTPRequest_Bytes"; lime_net__$HTTPRequest_$Bytes.__super__ = lime_net__$HTTPRequest_AbstractHTTPRequest; lime_net__$HTTPRequest_$Bytes.prototype = $extend(lime_net__$HTTPRequest_AbstractHTTPRequest.prototype,{ fromBytes: function(bytes) { return bytes; } ,load: function(uri) { var _gthis = this; if(uri != null) { this.uri = uri; } var promise = new lime_app_Promise(); var future = this.__backend.loadData(this.uri); future.onProgress($bind(promise,promise.progress)); future.onError($bind(promise,promise.error)); future.onComplete(function(bytes) { _gthis.responseData = _gthis.fromBytes(bytes); promise.complete(_gthis.responseData); }); return promise.future; } ,__class__: lime_net__$HTTPRequest_$Bytes }); var lime_net__$HTTPRequest_$String = function(uri) { lime_net__$HTTPRequest_AbstractHTTPRequest.call(this,uri); }; $hxClasses["lime.net._HTTPRequest_String"] = lime_net__$HTTPRequest_$String; lime_net__$HTTPRequest_$String.__name__ = "lime.net._HTTPRequest_String"; lime_net__$HTTPRequest_$String.__super__ = lime_net__$HTTPRequest_AbstractHTTPRequest; lime_net__$HTTPRequest_$String.prototype = $extend(lime_net__$HTTPRequest_AbstractHTTPRequest.prototype,{ load: function(uri) { var _gthis = this; if(uri != null) { this.uri = uri; } var promise = new lime_app_Promise(); var future = this.__backend.loadText(this.uri); future.onProgress($bind(promise,promise.progress)); future.onError($bind(promise,promise.error)); future.onComplete(function(text) { _gthis.responseData = text; promise.complete(_gthis.responseData); }); return promise.future; } ,__class__: lime_net__$HTTPRequest_$String }); var lime_net_HTTPRequestHeader = function(name,value) { if(value == null) { value = ""; } this.name = name; this.value = value; }; $hxClasses["lime.net.HTTPRequestHeader"] = lime_net_HTTPRequestHeader; lime_net_HTTPRequestHeader.__name__ = "lime.net.HTTPRequestHeader"; lime_net_HTTPRequestHeader.prototype = { name: null ,value: null ,__class__: lime_net_HTTPRequestHeader }; var lime_net__$HTTPRequest_$lime_$text_$Font = function(uri) { lime_net__$HTTPRequest_$Bytes.call(this,uri); }; $hxClasses["lime.net._HTTPRequest_lime_text_Font"] = lime_net__$HTTPRequest_$lime_$text_$Font; lime_net__$HTTPRequest_$lime_$text_$Font.__name__ = "lime.net._HTTPRequest_lime_text_Font"; lime_net__$HTTPRequest_$lime_$text_$Font.__super__ = lime_net__$HTTPRequest_$Bytes; lime_net__$HTTPRequest_$lime_$text_$Font.prototype = $extend(lime_net__$HTTPRequest_$Bytes.prototype,{ fromBytes: function(bytes) { return lime_text_Font.fromBytes(bytes); } ,__class__: lime_net__$HTTPRequest_$lime_$text_$Font }); var lime_net__$HTTPRequest_$lime_$utils_$Bytes = function(uri) { lime_net__$HTTPRequest_$Bytes.call(this,uri); }; $hxClasses["lime.net._HTTPRequest_lime_utils_Bytes"] = lime_net__$HTTPRequest_$lime_$utils_$Bytes; lime_net__$HTTPRequest_$lime_$utils_$Bytes.__name__ = "lime.net._HTTPRequest_lime_utils_Bytes"; lime_net__$HTTPRequest_$lime_$utils_$Bytes.__super__ = lime_net__$HTTPRequest_$Bytes; lime_net__$HTTPRequest_$lime_$utils_$Bytes.prototype = $extend(lime_net__$HTTPRequest_$Bytes.prototype,{ fromBytes: function(bytes) { return lime_utils__$Bytes_Bytes_$Impl_$.fromBytes(bytes); } ,__class__: lime_net__$HTTPRequest_$lime_$utils_$Bytes }); var lime_net__$HTTPRequest_$openfl_$utils_$ByteArray = function(uri) { lime_net__$HTTPRequest_$Bytes.call(this,uri); }; $hxClasses["lime.net._HTTPRequest_openfl_utils_ByteArray"] = lime_net__$HTTPRequest_$openfl_$utils_$ByteArray; lime_net__$HTTPRequest_$openfl_$utils_$ByteArray.__name__ = "lime.net._HTTPRequest_openfl_utils_ByteArray"; lime_net__$HTTPRequest_$openfl_$utils_$ByteArray.__super__ = lime_net__$HTTPRequest_$Bytes; lime_net__$HTTPRequest_$openfl_$utils_$ByteArray.prototype = $extend(lime_net__$HTTPRequest_$Bytes.prototype,{ fromBytes: function(bytes) { return openfl_utils__$ByteArray_ByteArray_$Impl_$.fromBytes(bytes); } ,__class__: lime_net__$HTTPRequest_$openfl_$utils_$ByteArray }); var lime_system_BackgroundWorker = function() { this.onProgress = new lime_app__$Event_$Dynamic_$Void(); this.onError = new lime_app__$Event_$Dynamic_$Void(); this.onComplete = new lime_app__$Event_$Dynamic_$Void(); this.doWork = new lime_app__$Event_$Dynamic_$Void(); }; $hxClasses["lime.system.BackgroundWorker"] = lime_system_BackgroundWorker; lime_system_BackgroundWorker.__name__ = "lime.system.BackgroundWorker"; lime_system_BackgroundWorker.prototype = { canceled: null ,completed: null ,doWork: null ,onComplete: null ,onError: null ,onProgress: null ,__runMessage: null ,cancel: function() { this.canceled = true; } ,run: function(message) { this.canceled = false; this.completed = false; this.__runMessage = message; this.__doWork(); } ,sendComplete: function(message) { this.completed = true; if(!this.canceled) { this.canceled = true; this.onComplete.dispatch(message); } } ,sendError: function(message) { if(!this.canceled) { this.canceled = true; this.onError.dispatch(message); } } ,sendProgress: function(message) { if(!this.canceled) { this.onProgress.dispatch(message); } } ,__doWork: function() { this.doWork.dispatch(this.__runMessage); } ,__update: function(deltaTime) { } ,__class__: lime_system_BackgroundWorker }; var lime_system_CFFI = function() { }; $hxClasses["lime.system.CFFI"] = lime_system_CFFI; lime_system_CFFI.__name__ = "lime.system.CFFI"; lime_system_CFFI.available = null; lime_system_CFFI.enabled = null; lime_system_CFFI.load = function(library,method,args,lazy) { if(lazy == null) { lazy = false; } if(args == null) { args = 0; } if(!lime_system_CFFI.enabled) { return Reflect.makeVarArgs(function(__) { return { }; }); } var result = null; return result; }; lime_system_CFFI.__findHaxelib = function(library) { return ""; }; lime_system_CFFI.__loaderTrace = function(message) { }; lime_system_CFFI.__sysName = function() { return null; }; lime_system_CFFI.__tryLoad = function(name,library,func,args) { return null; }; var lime_system__$CFFIPointer_CFFIPointer_$Impl_$ = {}; $hxClasses["lime.system._CFFIPointer.CFFIPointer_Impl_"] = lime_system__$CFFIPointer_CFFIPointer_$Impl_$; lime_system__$CFFIPointer_CFFIPointer_$Impl_$.__name__ = "lime.system._CFFIPointer.CFFIPointer_Impl_"; lime_system__$CFFIPointer_CFFIPointer_$Impl_$._new = function(handle) { var this1 = handle; return this1; }; lime_system__$CFFIPointer_CFFIPointer_$Impl_$.get = function(this1) { var tmp = this1 != null; return 0; }; lime_system__$CFFIPointer_CFFIPointer_$Impl_$.equals = function(a,b) { return lime_system__$CFFIPointer_CFFIPointer_$Impl_$.get(a) == b; }; lime_system__$CFFIPointer_CFFIPointer_$Impl_$.equalsPointer = function(a,b) { return lime_system__$CFFIPointer_CFFIPointer_$Impl_$.get(a) == lime_system__$CFFIPointer_CFFIPointer_$Impl_$.get(b); }; lime_system__$CFFIPointer_CFFIPointer_$Impl_$.greaterThan = function(a,b) { return lime_system__$CFFIPointer_CFFIPointer_$Impl_$.get(a) > b; }; lime_system__$CFFIPointer_CFFIPointer_$Impl_$.greaterThanPointer = function(a,b) { return lime_system__$CFFIPointer_CFFIPointer_$Impl_$.get(a) > lime_system__$CFFIPointer_CFFIPointer_$Impl_$.get(b); }; lime_system__$CFFIPointer_CFFIPointer_$Impl_$.greaterThanOrEqual = function(a,b) { return lime_system__$CFFIPointer_CFFIPointer_$Impl_$.get(a) >= b; }; lime_system__$CFFIPointer_CFFIPointer_$Impl_$.greaterThanOrEqualPointer = function(a,b) { return lime_system__$CFFIPointer_CFFIPointer_$Impl_$.get(a) >= lime_system__$CFFIPointer_CFFIPointer_$Impl_$.get(b); }; lime_system__$CFFIPointer_CFFIPointer_$Impl_$.lessThan = function(a,b) { return lime_system__$CFFIPointer_CFFIPointer_$Impl_$.get(a) < b; }; lime_system__$CFFIPointer_CFFIPointer_$Impl_$.lessThanPointer = function(a,b) { return lime_system__$CFFIPointer_CFFIPointer_$Impl_$.get(a) < lime_system__$CFFIPointer_CFFIPointer_$Impl_$.get(b); }; lime_system__$CFFIPointer_CFFIPointer_$Impl_$.lessThanOrEqual = function(a,b) { return lime_system__$CFFIPointer_CFFIPointer_$Impl_$.get(a) <= b; }; lime_system__$CFFIPointer_CFFIPointer_$Impl_$.lessThanOrEqualPointer = function(a,b) { return lime_system__$CFFIPointer_CFFIPointer_$Impl_$.get(a) <= lime_system__$CFFIPointer_CFFIPointer_$Impl_$.get(b); }; lime_system__$CFFIPointer_CFFIPointer_$Impl_$.notEquals = function(a,b) { return lime_system__$CFFIPointer_CFFIPointer_$Impl_$.get(a) != b; }; lime_system__$CFFIPointer_CFFIPointer_$Impl_$.notEqualsPointer = function(a,b) { return lime_system__$CFFIPointer_CFFIPointer_$Impl_$.get(a) != lime_system__$CFFIPointer_CFFIPointer_$Impl_$.get(b); }; var lime_system_Clipboard = function() { }; $hxClasses["lime.system.Clipboard"] = lime_system_Clipboard; lime_system_Clipboard.__name__ = "lime.system.Clipboard"; lime_system_Clipboard.__properties__ = {set_text:"set_text",get_text:"get_text"}; lime_system_Clipboard._text = null; lime_system_Clipboard.__update = function() { var cacheText = lime_system_Clipboard._text; lime_system_Clipboard._text = null; if(lime_system_Clipboard._text != cacheText) { lime_system_Clipboard.onUpdate.dispatch(); } }; lime_system_Clipboard.get_text = function() { lime_system_Clipboard.__update(); return lime_system_Clipboard._text; }; lime_system_Clipboard.set_text = function(value) { var cacheText = lime_system_Clipboard._text; lime_system_Clipboard._text = value; var $window = lime_app_Application.current.__window; if($window != null) { $window.__backend.setClipboard(value); } if(lime_system_Clipboard._text != cacheText) { lime_system_Clipboard.onUpdate.dispatch(); } return value; }; var lime_system_Display = function() { }; $hxClasses["lime.system.Display"] = lime_system_Display; lime_system_Display.__name__ = "lime.system.Display"; lime_system_Display.prototype = { bounds: null ,currentMode: null ,id: null ,dpi: null ,name: null ,supportedModes: null ,__class__: lime_system_Display }; var lime_system_DisplayMode = function(width,height,refreshRate,pixelFormat) { this.width = width; this.height = height; this.refreshRate = refreshRate; this.pixelFormat = pixelFormat; }; $hxClasses["lime.system.DisplayMode"] = lime_system_DisplayMode; lime_system_DisplayMode.__name__ = "lime.system.DisplayMode"; lime_system_DisplayMode.prototype = { height: null ,pixelFormat: null ,refreshRate: null ,width: null ,__class__: lime_system_DisplayMode }; var lime_system_Endian = $hxEnums["lime.system.Endian"] = { __ename__ : "lime.system.Endian", __constructs__ : ["LITTLE_ENDIAN","BIG_ENDIAN"] ,LITTLE_ENDIAN: {_hx_index:0,__enum__:"lime.system.Endian",toString:$estr} ,BIG_ENDIAN: {_hx_index:1,__enum__:"lime.system.Endian",toString:$estr} }; var lime_system_Sensor = function(type,id) { this.onUpdate = new lime_app__$Event_$Float_$Float_$Float_$Void(); this.type = type; this.id = id; }; $hxClasses["lime.system.Sensor"] = lime_system_Sensor; lime_system_Sensor.__name__ = "lime.system.Sensor"; lime_system_Sensor.getSensors = function(type) { if(type == null) { return lime_system_Sensor.sensors.slice(); } else { var result = []; var _g = 0; var _g1 = lime_system_Sensor.sensors; while(_g < _g1.length) { var sensor = _g1[_g]; ++_g; if(sensor.type == type) { result.push(sensor); } } return result; } }; lime_system_Sensor.registerSensor = function(type,id) { var sensor = new lime_system_Sensor(type,id); lime_system_Sensor.sensors.push(sensor); lime_system_Sensor.sensorByID.h[id] = sensor; return sensor; }; lime_system_Sensor.prototype = { id: null ,onUpdate: null ,type: null ,__class__: lime_system_Sensor }; var lime_system_SensorType = $hxEnums["lime.system.SensorType"] = { __ename__ : "lime.system.SensorType", __constructs__ : ["ACCELEROMETER"] ,ACCELEROMETER: {_hx_index:0,__enum__:"lime.system.SensorType",toString:$estr} }; var lime_system_System = function() { }; $hxClasses["lime.system.System"] = lime_system_System; lime_system_System.__name__ = "lime.system.System"; lime_system_System.__properties__ = {get_userDirectory:"get_userDirectory",get_platformVersion:"get_platformVersion",get_platformName:"get_platformName",get_platformLabel:"get_platformLabel",get_numDisplays:"get_numDisplays",get_fontsDirectory:"get_fontsDirectory",get_endianness:"get_endianness",get_documentsDirectory:"get_documentsDirectory",get_deviceVendor:"get_deviceVendor",get_deviceModel:"get_deviceModel",get_desktopDirectory:"get_desktopDirectory",get_applicationStorageDirectory:"get_applicationStorageDirectory",get_applicationDirectory:"get_applicationDirectory",set_allowScreenTimeout:"set_allowScreenTimeout",get_allowScreenTimeout:"get_allowScreenTimeout"}; lime_system_System.disableCFFI = null; lime_system_System.__applicationDirectory = null; lime_system_System.__applicationEntryPoint = null; lime_system_System.__applicationStorageDirectory = null; lime_system_System.__desktopDirectory = null; lime_system_System.__deviceModel = null; lime_system_System.__deviceVendor = null; lime_system_System.__documentsDirectory = null; lime_system_System.__endianness = null; lime_system_System.__fontsDirectory = null; lime_system_System.__platformLabel = null; lime_system_System.__platformName = null; lime_system_System.__platformVersion = null; lime_system_System.__userDirectory = null; lime_system_System.embed = $hx_exports["lime"]["embed"] = function(projectName,element,width,height,config) { if(lime_system_System.__applicationEntryPoint == null) { return; } var _this = lime_system_System.__applicationEntryPoint; if(__map_reserved[projectName] != null ? _this.existsReserved(projectName) : _this.h.hasOwnProperty(projectName)) { var htmlElement = null; if(typeof(element) == "string") { htmlElement = window.document.getElementById(element); } else if(element == null) { htmlElement = window.document.createElement("div"); } else { htmlElement = element; } if(htmlElement == null) { window.console.log("[lime.embed] ERROR: Cannot find target element: " + Std.string(element)); return; } if(width == null) { width = 0; } if(height == null) { height = 0; } if(config == null) { config = { }; } if(Object.prototype.hasOwnProperty.call(config,"background") && typeof(config.background) == "string") { var background = StringTools.replace(Std.string(config.background),"#",""); if(background.indexOf("0x") > -1) { config.background = Std.parseInt(background); } else { config.background = Std.parseInt("0x" + background); } } config.element = htmlElement; config.width = width; config.height = height; var _this1 = lime_system_System.__applicationEntryPoint; (__map_reserved[projectName] != null ? _this1.getReserved(projectName) : _this1.h[projectName])(config); } }; lime_system_System.exit = function(code) { }; lime_system_System.getDisplay = function(id) { if(id == 0) { var display = new lime_system_Display(); display.id = 0; display.name = "Generic Display"; display.dpi = 96 * window.devicePixelRatio; display.currentMode = new lime_system_DisplayMode(window.screen.width,window.screen.height,60,1); display.supportedModes = [display.currentMode]; display.bounds = new lime_math_Rectangle(0,0,display.currentMode.width,display.currentMode.height); return display; } return null; }; lime_system_System.getTimer = function() { return window.performance.now() | 0; }; lime_system_System.load = function(library,method,args,lazy) { if(lazy == null) { lazy = false; } if(args == null) { args = 0; } return lime_system_CFFI.load(library,method,args,lazy); }; lime_system_System.openFile = function(path) { if(path != null) { window.open(path,"_blank"); } }; lime_system_System.openURL = function(url,target) { if(target == null) { target = "_blank"; } if(url != null) { window.open(url,target); } }; lime_system_System.__copyMissingFields = function(target,source) { if(source == null || target == null) { return; } var _g = 0; var _g1 = Reflect.fields(source); while(_g < _g1.length) { var field = _g1[_g]; ++_g; if(!Object.prototype.hasOwnProperty.call(target,field)) { target[field] = Reflect.field(source,field); } } }; lime_system_System.__getDirectory = function(type) { return null; }; lime_system_System.__parseBool = function(value) { return value == "true"; }; lime_system_System.__registerEntryPoint = function(projectName,entryPoint) { if(lime_system_System.__applicationEntryPoint == null) { lime_system_System.__applicationEntryPoint = new haxe_ds_StringMap(); } var _this = lime_system_System.__applicationEntryPoint; if(__map_reserved[projectName] != null) { _this.setReserved(projectName,entryPoint); } else { _this.h[projectName] = entryPoint; } }; lime_system_System.__runProcess = function(command,args) { return null; }; lime_system_System.get_allowScreenTimeout = function() { return true; }; lime_system_System.set_allowScreenTimeout = function(value) { return true; }; lime_system_System.get_applicationDirectory = function() { if(lime_system_System.__applicationDirectory == null) { lime_system_System.__applicationDirectory = lime_system_System.__getDirectory(0); } return lime_system_System.__applicationDirectory; }; lime_system_System.get_applicationStorageDirectory = function() { if(lime_system_System.__applicationStorageDirectory == null) { lime_system_System.__applicationStorageDirectory = lime_system_System.__getDirectory(1); } return lime_system_System.__applicationStorageDirectory; }; lime_system_System.get_deviceModel = function() { var tmp = lime_system_System.__deviceModel == null; return lime_system_System.__deviceModel; }; lime_system_System.get_deviceVendor = function() { var tmp = lime_system_System.__deviceVendor == null; return lime_system_System.__deviceVendor; }; lime_system_System.get_desktopDirectory = function() { if(lime_system_System.__desktopDirectory == null) { lime_system_System.__desktopDirectory = lime_system_System.__getDirectory(2); } return lime_system_System.__desktopDirectory; }; lime_system_System.get_documentsDirectory = function() { if(lime_system_System.__documentsDirectory == null) { lime_system_System.__documentsDirectory = lime_system_System.__getDirectory(3); } return lime_system_System.__documentsDirectory; }; lime_system_System.get_endianness = function() { if(lime_system_System.__endianness == null) { var arrayBuffer = new ArrayBuffer(2); var elements = null; var array = null; var vector = null; var view = null; var len = null; var this1; if(elements != null) { this1 = new Uint8Array(elements); } else if(array != null) { this1 = new Uint8Array(array); } else if(vector != null) { this1 = new Uint8Array(vector.__array); } else if(view != null) { this1 = new Uint8Array(view); } else if(arrayBuffer != null) { if(len == null) { this1 = new Uint8Array(arrayBuffer,0); } else { this1 = new Uint8Array(arrayBuffer,0,len); } } else { this1 = null; } var uint8Array = this1; var elements1 = null; var array1 = null; var vector1 = null; var view1 = null; var len1 = null; var this2; if(elements1 != null) { this2 = new Uint16Array(elements1); } else if(array1 != null) { this2 = new Uint16Array(array1); } else if(vector1 != null) { this2 = new Uint16Array(vector1.__array); } else if(view1 != null) { this2 = new Uint16Array(view1); } else if(arrayBuffer != null) { if(len1 == null) { this2 = new Uint16Array(arrayBuffer,0); } else { this2 = new Uint16Array(arrayBuffer,0,len1); } } else { this2 = null; } var uint16array = this2; uint8Array[0] = 170; uint8Array[1] = 187; if(uint16array[0] == 43707) { lime_system_System.__endianness = lime_system_Endian.BIG_ENDIAN; } else { lime_system_System.__endianness = lime_system_Endian.LITTLE_ENDIAN; } } return lime_system_System.__endianness; }; lime_system_System.get_fontsDirectory = function() { if(lime_system_System.__fontsDirectory == null) { lime_system_System.__fontsDirectory = lime_system_System.__getDirectory(4); } return lime_system_System.__fontsDirectory; }; lime_system_System.get_numDisplays = function() { return 1; }; lime_system_System.get_platformLabel = function() { if(lime_system_System.__platformLabel == null) { var name = lime_system_System.get_platformName(); var version = lime_system_System.get_platformVersion(); if(name != null && version != null) { lime_system_System.__platformLabel = name + " " + version; } else if(name != null) { lime_system_System.__platformLabel = name; } } return lime_system_System.__platformLabel; }; lime_system_System.get_platformName = function() { if(lime_system_System.__platformName == null) { lime_system_System.__platformName = "HTML5"; } return lime_system_System.__platformName; }; lime_system_System.get_platformVersion = function() { var tmp = lime_system_System.__platformVersion == null; return lime_system_System.__platformVersion; }; lime_system_System.get_userDirectory = function() { if(lime_system_System.__userDirectory == null) { lime_system_System.__userDirectory = lime_system_System.__getDirectory(5); } return lime_system_System.__userDirectory; }; var lime_system_ThreadPool = function(minThreads,maxThreads) { if(maxThreads == null) { maxThreads = 1; } if(minThreads == null) { minThreads = 0; } this.onRun = new lime_app__$Event_$Dynamic_$Void(); this.onProgress = new lime_app__$Event_$Dynamic_$Void(); this.onError = new lime_app__$Event_$Dynamic_$Void(); this.onComplete = new lime_app__$Event_$Dynamic_$Void(); this.doWork = new lime_app__$Event_$Dynamic_$Void(); this.minThreads = minThreads; this.maxThreads = maxThreads; this.currentThreads = 0; }; $hxClasses["lime.system.ThreadPool"] = lime_system_ThreadPool; lime_system_ThreadPool.__name__ = "lime.system.ThreadPool"; lime_system_ThreadPool.prototype = { currentThreads: null ,doWork: null ,maxThreads: null ,minThreads: null ,onComplete: null ,onError: null ,onProgress: null ,onRun: null ,queue: function(state) { this.runWork(state); } ,sendComplete: function(state) { this.onComplete.dispatch(state); } ,sendError: function(state) { this.onError.dispatch(state); } ,sendProgress: function(state) { this.onProgress.dispatch(state); } ,runWork: function(state) { this.onRun.dispatch(state); this.doWork.dispatch(state); } ,__class__: lime_system_ThreadPool }; var lime_system__$ThreadPool_ThreadPoolMessageType = $hxEnums["lime.system._ThreadPool.ThreadPoolMessageType"] = { __ename__ : "lime.system._ThreadPool.ThreadPoolMessageType", __constructs__ : ["COMPLETE","ERROR","EXIT","PROGRESS","WORK"] ,COMPLETE: {_hx_index:0,__enum__:"lime.system._ThreadPool.ThreadPoolMessageType",toString:$estr} ,ERROR: {_hx_index:1,__enum__:"lime.system._ThreadPool.ThreadPoolMessageType",toString:$estr} ,EXIT: {_hx_index:2,__enum__:"lime.system._ThreadPool.ThreadPoolMessageType",toString:$estr} ,PROGRESS: {_hx_index:3,__enum__:"lime.system._ThreadPool.ThreadPoolMessageType",toString:$estr} ,WORK: {_hx_index:4,__enum__:"lime.system._ThreadPool.ThreadPoolMessageType",toString:$estr} }; var lime_system__$ThreadPool_ThreadPoolMessage = function(type,state) { this.type = type; this.state = state; }; $hxClasses["lime.system._ThreadPool.ThreadPoolMessage"] = lime_system__$ThreadPool_ThreadPoolMessage; lime_system__$ThreadPool_ThreadPoolMessage.__name__ = "lime.system._ThreadPool.ThreadPoolMessage"; lime_system__$ThreadPool_ThreadPoolMessage.prototype = { state: null ,type: null ,__class__: lime_system__$ThreadPool_ThreadPoolMessage }; var lime_text__$Glyph_Glyph_$Impl_$ = {}; $hxClasses["lime.text._Glyph.Glyph_Impl_"] = lime_text__$Glyph_Glyph_$Impl_$; lime_text__$Glyph_Glyph_$Impl_$.__name__ = "lime.text._Glyph.Glyph_Impl_"; lime_text__$Glyph_Glyph_$Impl_$._new = function(i) { var this1 = i; return this1; }; var lime_text_GlyphMetrics = function() { }; $hxClasses["lime.text.GlyphMetrics"] = lime_text_GlyphMetrics; lime_text_GlyphMetrics.__name__ = "lime.text.GlyphMetrics"; lime_text_GlyphMetrics.prototype = { advance: null ,height: null ,horizontalBearing: null ,verticalBearing: null ,__class__: lime_text_GlyphMetrics }; var lime_text_harfbuzz_HB = function() { }; $hxClasses["lime.text.harfbuzz.HB"] = lime_text_harfbuzz_HB; lime_text_harfbuzz_HB.__name__ = "lime.text.harfbuzz.HB"; lime_text_harfbuzz_HB.shape = function(font,buffer,features) { }; var lime_text_harfbuzz__$HBBlob_HBBlob_$Impl_$ = {}; $hxClasses["lime.text.harfbuzz._HBBlob.HBBlob_Impl_"] = lime_text_harfbuzz__$HBBlob_HBBlob_$Impl_$; lime_text_harfbuzz__$HBBlob_HBBlob_$Impl_$.__name__ = "lime.text.harfbuzz._HBBlob.HBBlob_Impl_"; lime_text_harfbuzz__$HBBlob_HBBlob_$Impl_$.__properties__ = {get_length:"get_length",get_immutable:"get_immutable",get_dataWritable:"get_dataWritable",get_data:"get_data",get_empty:"get_empty"}; lime_text_harfbuzz__$HBBlob_HBBlob_$Impl_$._new = function(data,length,memoryMode) { var this1 = null; return this1; }; lime_text_harfbuzz__$HBBlob_HBBlob_$Impl_$.createSubBlob = function(this1,offset,length) { return null; }; lime_text_harfbuzz__$HBBlob_HBBlob_$Impl_$.makeImmutable = function(this1) { }; lime_text_harfbuzz__$HBBlob_HBBlob_$Impl_$.get_data = function(this1) { return 0; }; lime_text_harfbuzz__$HBBlob_HBBlob_$Impl_$.get_dataWritable = function(this1) { return 0; }; lime_text_harfbuzz__$HBBlob_HBBlob_$Impl_$.get_empty = function() { return null; }; lime_text_harfbuzz__$HBBlob_HBBlob_$Impl_$.get_immutable = function(this1) { return false; }; lime_text_harfbuzz__$HBBlob_HBBlob_$Impl_$.get_length = function(this1) { return 0; }; var lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$ = {}; $hxClasses["lime.text.harfbuzz._HBBuffer.HBBuffer_Impl_"] = lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.__name__ = "lime.text.harfbuzz._HBBuffer.HBBuffer_Impl_"; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.__properties__ = {set_segmentProperties:"set_segmentProperties",get_segmentProperties:"get_segmentProperties",set_script:"set_script",get_script:"get_script",set_replacementCodepoint:"set_replacementCodepoint",get_replacementCodepoint:"get_replacementCodepoint",set_length:"set_length",get_length:"get_length",set_language:"set_language",get_language:"get_language",set_flags:"set_flags",get_flags:"get_flags",set_direction:"set_direction",get_direction:"get_direction",set_contentType:"set_contentType",get_contentType:"get_contentType",set_clusterLevel:"set_clusterLevel",get_clusterLevel:"get_clusterLevel",get_allocationSuccessful:"get_allocationSuccessful"}; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$._new = function() { var this1 = null; return this1; }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.add = function(this1,codepoint,cluster) { }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.addCodepoints = function(this1,text,textLength,itemOffset,itemLength) { }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.addUTF8 = function(this1,text,itemOffset,itemLength) { }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.addUTF16 = function(this1,text,textLength,itemOffset,itemLength) { }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.addUTF32 = function(this1,text,textLength,itemOffset,itemLength) { }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.clearContents = function(this1) { }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.getGlyphInfo = function(this1) { return null; }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.getGlyphPositions = function(this1) { return null; }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.guessSegmentProperties = function(this1) { }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.normalizeGlyphs = function(this1) { }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.preallocate = function(this1,size) { return false; }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.reset = function(this1) { }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.reverse = function(this1) { }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.reverseClusters = function(this1) { }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.get_allocationSuccessful = function(this1) { return false; }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.get_clusterLevel = function(this1) { return 0; }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.set_clusterLevel = function(this1,value) { return value; }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.get_contentType = function(this1) { return 0; }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.set_contentType = function(this1,value) { return value; }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.get_direction = function(this1) { return 0; }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.set_direction = function(this1,value) { return value; }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.get_empty = function() { return null; }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.get_flags = function(this1) { return 0; }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.set_flags = function(this1,value) { return value; }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.get_language = function(this1) { return null; }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.set_language = function(this1,value) { return value; }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.get_length = function(this1) { return 0; }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.set_length = function(this1,value) { return value; }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.get_replacementCodepoint = function(this1) { return 0; }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.set_replacementCodepoint = function(this1,value) { return value; }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.get_script = function(this1) { return 0; }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.set_script = function(this1,value) { return value; }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.get_segmentProperties = function(this1) { return null; }; lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$.set_segmentProperties = function(this1,value) { return value; }; var lime_text_harfbuzz__$HBFTFont_HBFTFont_$Impl_$ = {}; $hxClasses["lime.text.harfbuzz._HBFTFont.HBFTFont_Impl_"] = lime_text_harfbuzz__$HBFTFont_HBFTFont_$Impl_$; lime_text_harfbuzz__$HBFTFont_HBFTFont_$Impl_$.__name__ = "lime.text.harfbuzz._HBFTFont.HBFTFont_Impl_"; lime_text_harfbuzz__$HBFTFont_HBFTFont_$Impl_$.__properties__ = {set_loadFlags:"set_loadFlags",get_loadFlags:"get_loadFlags"}; lime_text_harfbuzz__$HBFTFont_HBFTFont_$Impl_$._new = function(font) { var this1; if(font.src != null) { this1 = null; } else { this1 = null; } return this1; }; lime_text_harfbuzz__$HBFTFont_HBFTFont_$Impl_$.get_loadFlags = function(this1) { return 0; }; lime_text_harfbuzz__$HBFTFont_HBFTFont_$Impl_$.set_loadFlags = function(this1,value) { return value; }; var lime_text_harfbuzz__$HBFace_HBFace_$Impl_$ = {}; $hxClasses["lime.text.harfbuzz._HBFace.HBFace_Impl_"] = lime_text_harfbuzz__$HBFace_HBFace_$Impl_$; lime_text_harfbuzz__$HBFace_HBFace_$Impl_$.__name__ = "lime.text.harfbuzz._HBFace.HBFace_Impl_"; lime_text_harfbuzz__$HBFace_HBFace_$Impl_$.__properties__ = {set_upem:"set_upem",get_upem:"get_upem",set_index:"set_index",get_index:"get_index",get_immutable:"get_immutable",set_glyphCount:"set_glyphCount",get_glyphCount:"get_glyphCount",get_empty:"get_empty"}; lime_text_harfbuzz__$HBFace_HBFace_$Impl_$._new = function(blob,index) { var this1 = null; return this1; }; lime_text_harfbuzz__$HBFace_HBFace_$Impl_$.get_empty = function() { return null; }; lime_text_harfbuzz__$HBFace_HBFace_$Impl_$.get_glyphCount = function(this1) { return 0; }; lime_text_harfbuzz__$HBFace_HBFace_$Impl_$.set_glyphCount = function(this1,value) { return value; }; lime_text_harfbuzz__$HBFace_HBFace_$Impl_$.get_immutable = function(this1) { return false; }; lime_text_harfbuzz__$HBFace_HBFace_$Impl_$.get_index = function(this1) { return 0; }; lime_text_harfbuzz__$HBFace_HBFace_$Impl_$.set_index = function(this1,value) { return value; }; lime_text_harfbuzz__$HBFace_HBFace_$Impl_$.get_upem = function(this1) { return 0; }; lime_text_harfbuzz__$HBFace_HBFace_$Impl_$.set_upem = function(this1,value) { return value; }; var lime_text_harfbuzz_HBFeature = function() { }; $hxClasses["lime.text.harfbuzz.HBFeature"] = lime_text_harfbuzz_HBFeature; lime_text_harfbuzz_HBFeature.__name__ = "lime.text.harfbuzz.HBFeature"; lime_text_harfbuzz_HBFeature.prototype = { __class__: lime_text_harfbuzz_HBFeature }; var lime_text_harfbuzz__$HBFont_HBFont_$Impl_$ = {}; $hxClasses["lime.text.harfbuzz._HBFont.HBFont_Impl_"] = lime_text_harfbuzz__$HBFont_HBFont_$Impl_$; lime_text_harfbuzz__$HBFont_HBFont_$Impl_$.__name__ = "lime.text.harfbuzz._HBFont.HBFont_Impl_"; lime_text_harfbuzz__$HBFont_HBFont_$Impl_$.__properties__ = {set_scale:"set_scale",get_scale:"get_scale",set_ppem:"set_ppem",get_ppem:"get_ppem",get_parent:"get_parent",get_immutable:"get_immutable",get_face:"get_face",get_empty:"get_empty"}; lime_text_harfbuzz__$HBFont_HBFont_$Impl_$._new = function(face) { var this1 = null; return this1; }; lime_text_harfbuzz__$HBFont_HBFont_$Impl_$.addGlyphOriginForDirection = function(this1,glyph,direction,x,y) { }; lime_text_harfbuzz__$HBFont_HBFont_$Impl_$.createSubFont = function(this1) { return null; }; lime_text_harfbuzz__$HBFont_HBFont_$Impl_$.getGlyphAdvanceForDirection = function(this1,glyph,direction) { return null; }; lime_text_harfbuzz__$HBFont_HBFont_$Impl_$.getGlyphKerningForDirection = function(this1,glyph,firstGlyph,secondGlyph,direction) { return null; }; lime_text_harfbuzz__$HBFont_HBFont_$Impl_$.getGlyphOriginForDirection = function(this1,glyph,direction) { return null; }; lime_text_harfbuzz__$HBFont_HBFont_$Impl_$.glyphFromString = function(this1,s) { return 0; }; lime_text_harfbuzz__$HBFont_HBFont_$Impl_$.glyphToString = function(this1,codepoint) { return null; }; lime_text_harfbuzz__$HBFont_HBFont_$Impl_$.makeImmutable = function(this1) { }; lime_text_harfbuzz__$HBFont_HBFont_$Impl_$.subtractGlyphOriginForDirection = function(this1,glyph,direction,x,y) { }; lime_text_harfbuzz__$HBFont_HBFont_$Impl_$.get_empty = function() { return null; }; lime_text_harfbuzz__$HBFont_HBFont_$Impl_$.get_face = function(this1) { return null; }; lime_text_harfbuzz__$HBFont_HBFont_$Impl_$.get_immutable = function(this1) { return false; }; lime_text_harfbuzz__$HBFont_HBFont_$Impl_$.get_parent = function(this1) { return null; }; lime_text_harfbuzz__$HBFont_HBFont_$Impl_$.get_ppem = function(this1) { return null; }; lime_text_harfbuzz__$HBFont_HBFont_$Impl_$.set_ppem = function(this1,value) { return value; }; lime_text_harfbuzz__$HBFont_HBFont_$Impl_$.get_scale = function(this1) { return null; }; lime_text_harfbuzz__$HBFont_HBFont_$Impl_$.set_scale = function(this1,value) { return value; }; var lime_text_harfbuzz_HBGlyphInfo = function() { }; $hxClasses["lime.text.harfbuzz.HBGlyphInfo"] = lime_text_harfbuzz_HBGlyphInfo; lime_text_harfbuzz_HBGlyphInfo.__name__ = "lime.text.harfbuzz.HBGlyphInfo"; lime_text_harfbuzz_HBGlyphInfo.prototype = { codepoint: null ,mask: null ,cluster: null ,__class__: lime_text_harfbuzz_HBGlyphInfo }; var lime_text_harfbuzz_HBGlyphPosition = function() { }; $hxClasses["lime.text.harfbuzz.HBGlyphPosition"] = lime_text_harfbuzz_HBGlyphPosition; lime_text_harfbuzz_HBGlyphPosition.__name__ = "lime.text.harfbuzz.HBGlyphPosition"; lime_text_harfbuzz_HBGlyphPosition.prototype = { xAdvance: null ,xOffset: null ,yAdvance: null ,yOffset: null ,__class__: lime_text_harfbuzz_HBGlyphPosition }; var lime_text_harfbuzz__$HBLanguage_HBLanguage_$Impl_$ = {}; $hxClasses["lime.text.harfbuzz._HBLanguage.HBLanguage_Impl_"] = lime_text_harfbuzz__$HBLanguage_HBLanguage_$Impl_$; lime_text_harfbuzz__$HBLanguage_HBLanguage_$Impl_$.__name__ = "lime.text.harfbuzz._HBLanguage.HBLanguage_Impl_"; lime_text_harfbuzz__$HBLanguage_HBLanguage_$Impl_$._new = function(language) { var this1 = null; return this1; }; lime_text_harfbuzz__$HBLanguage_HBLanguage_$Impl_$.toString = function(this1) { return null; }; lime_text_harfbuzz__$HBLanguage_HBLanguage_$Impl_$.fromString = function(value) { return lime_text_harfbuzz__$HBLanguage_HBLanguage_$Impl_$._new(value); }; var lime_text_harfbuzz_HBSegmentProperties = function() { }; $hxClasses["lime.text.harfbuzz.HBSegmentProperties"] = lime_text_harfbuzz_HBSegmentProperties; lime_text_harfbuzz_HBSegmentProperties.__name__ = "lime.text.harfbuzz.HBSegmentProperties"; lime_text_harfbuzz_HBSegmentProperties.prototype = { __class__: lime_text_harfbuzz_HBSegmentProperties }; var lime_ui_FileDialog = function() { this.onSelectMultiple = new lime_app__$Event_$Array_$String_$_$Void(); this.onSelect = new lime_app__$Event_$String_$Void(); this.onSave = new lime_app__$Event_$String_$Void(); this.onOpen = new lime_app__$Event_$lime_$utils_$Resource_$Void(); this.onCancel = new lime_app__$Event_$Void_$Void(); }; $hxClasses["lime.ui.FileDialog"] = lime_ui_FileDialog; lime_ui_FileDialog.__name__ = "lime.ui.FileDialog"; lime_ui_FileDialog.prototype = { onCancel: null ,onOpen: null ,onSave: null ,onSelect: null ,onSelectMultiple: null ,browse: function(type,filter,defaultPath,title) { if(type == null) { type = lime_ui_FileDialogType.OPEN; } this.onCancel.dispatch(); return false; } ,open: function(filter,defaultPath,title) { this.onCancel.dispatch(); return false; } ,save: function(data,filter,defaultPath,title,type) { if(type == null) { type = "application/octet-stream"; } if(data == null) { this.onCancel.dispatch(); return false; } var defaultExtension = ""; if(lime_graphics_Image.__isPNG(data)) { type = "image/png"; defaultExtension = ".png"; } else if(lime_graphics_Image.__isJPG(data)) { type = "image/jpeg"; defaultExtension = ".jpg"; } else if(lime_graphics_Image.__isGIF(data)) { type = "image/gif"; defaultExtension = ".gif"; } else if(lime_graphics_Image.__isWebP(data)) { type = "image/webp"; defaultExtension = ".webp"; } var path = defaultPath != null ? haxe_io_Path.withoutDirectory(defaultPath) : "download" + defaultExtension; var buffer = data.b.bufferValue; buffer = buffer.slice(0,data.length); window.saveAs(new Blob([buffer],{ type : type}),path,true); this.onSave.dispatch(path); return true; } ,__class__: lime_ui_FileDialog }; var lime_ui_FileDialogType = $hxEnums["lime.ui.FileDialogType"] = { __ename__ : "lime.ui.FileDialogType", __constructs__ : ["OPEN","OPEN_MULTIPLE","SAVE","OPEN_DIRECTORY"] ,OPEN: {_hx_index:0,__enum__:"lime.ui.FileDialogType",toString:$estr} ,OPEN_MULTIPLE: {_hx_index:1,__enum__:"lime.ui.FileDialogType",toString:$estr} ,SAVE: {_hx_index:2,__enum__:"lime.ui.FileDialogType",toString:$estr} ,OPEN_DIRECTORY: {_hx_index:3,__enum__:"lime.ui.FileDialogType",toString:$estr} }; var lime_ui_Gamepad = function(id) { this.onDisconnect = new lime_app__$Event_$Void_$Void(); this.onButtonUp = new lime_app__$Event_$lime_$ui_$GamepadButton_$Void(); this.onButtonDown = new lime_app__$Event_$lime_$ui_$GamepadButton_$Void(); this.onAxisMove = new lime_app__$Event_$lime_$ui_$GamepadAxis_$Float_$Void(); this.id = id; this.connected = true; }; $hxClasses["lime.ui.Gamepad"] = lime_ui_Gamepad; lime_ui_Gamepad.__name__ = "lime.ui.Gamepad"; lime_ui_Gamepad.addMappings = function(mappings) { }; lime_ui_Gamepad.__connect = function(id) { if(!lime_ui_Gamepad.devices.h.hasOwnProperty(id)) { var gamepad = new lime_ui_Gamepad(id); lime_ui_Gamepad.devices.h[id] = gamepad; lime_ui_Gamepad.onConnect.dispatch(gamepad); } }; lime_ui_Gamepad.__disconnect = function(id) { var gamepad = lime_ui_Gamepad.devices.h[id]; if(gamepad != null) { gamepad.connected = false; } lime_ui_Gamepad.devices.remove(id); if(gamepad != null) { gamepad.onDisconnect.dispatch(); } }; lime_ui_Gamepad.prototype = { connected: null ,id: null ,onAxisMove: null ,onButtonDown: null ,onButtonUp: null ,onDisconnect: null ,get_guid: function() { var devices = lime_ui_Joystick.__getDeviceData(); return devices[this.id].id; } ,get_name: function() { var devices = lime_ui_Joystick.__getDeviceData(); return devices[this.id].id; } ,__class__: lime_ui_Gamepad ,__properties__: {get_name:"get_name",get_guid:"get_guid"} }; var lime_ui__$GamepadAxis_GamepadAxis_$Impl_$ = {}; $hxClasses["lime.ui._GamepadAxis.GamepadAxis_Impl_"] = lime_ui__$GamepadAxis_GamepadAxis_$Impl_$; lime_ui__$GamepadAxis_GamepadAxis_$Impl_$.__name__ = "lime.ui._GamepadAxis.GamepadAxis_Impl_"; lime_ui__$GamepadAxis_GamepadAxis_$Impl_$.toString = function(this1) { switch(this1) { case 0: return "LEFT_X"; case 1: return "LEFT_Y"; case 2: return "RIGHT_X"; case 3: return "RIGHT_Y"; case 4: return "TRIGGER_LEFT"; case 5: return "TRIGGER_RIGHT"; default: return "UNKNOWN (" + this1 + ")"; } }; var lime_ui__$GamepadButton_GamepadButton_$Impl_$ = {}; $hxClasses["lime.ui._GamepadButton.GamepadButton_Impl_"] = lime_ui__$GamepadButton_GamepadButton_$Impl_$; lime_ui__$GamepadButton_GamepadButton_$Impl_$.__name__ = "lime.ui._GamepadButton.GamepadButton_Impl_"; lime_ui__$GamepadButton_GamepadButton_$Impl_$.toString = function(this1) { switch(this1) { case 0: return "A"; case 1: return "B"; case 2: return "X"; case 3: return "Y"; case 4: return "BACK"; case 5: return "GUIDE"; case 6: return "START"; case 7: return "LEFT_STICK"; case 8: return "RIGHT_STICK"; case 9: return "LEFT_SHOULDER"; case 10: return "RIGHT_SHOULDER"; case 11: return "DPAD_UP"; case 12: return "DPAD_DOWN"; case 13: return "DPAD_LEFT"; case 14: return "DPAD_RIGHT"; default: return "UNKNOWN (" + this1 + ")"; } }; var lime_ui_Joystick = function(id) { this.onTrackballMove = new lime_app__$Event_$Int_$Float_$Float_$Void(); this.onHatMove = new lime_app__$Event_$Int_$lime_$ui_$JoystickHatPosition_$Void(); this.onDisconnect = new lime_app__$Event_$Void_$Void(); this.onButtonUp = new lime_app__$Event_$Int_$Void(); this.onButtonDown = new lime_app__$Event_$Int_$Void(); this.onAxisMove = new lime_app__$Event_$Int_$Float_$Void(); this.id = id; this.connected = true; }; $hxClasses["lime.ui.Joystick"] = lime_ui_Joystick; lime_ui_Joystick.__name__ = "lime.ui.Joystick"; lime_ui_Joystick.__connect = function(id) { if(!lime_ui_Joystick.devices.h.hasOwnProperty(id)) { var joystick = new lime_ui_Joystick(id); lime_ui_Joystick.devices.h[id] = joystick; lime_ui_Joystick.onConnect.dispatch(joystick); } }; lime_ui_Joystick.__disconnect = function(id) { var joystick = lime_ui_Joystick.devices.h[id]; if(joystick != null) { joystick.connected = false; } lime_ui_Joystick.devices.remove(id); if(joystick != null) { joystick.onDisconnect.dispatch(); } }; lime_ui_Joystick.__getDeviceData = function() { if(navigator.getGamepads) { return navigator.getGamepads(); } else if(navigator.webkitGetGamepads) { return navigator.webkitGetGamepads(); } else { return null; } }; lime_ui_Joystick.prototype = { connected: null ,id: null ,onAxisMove: null ,onButtonDown: null ,onButtonUp: null ,onDisconnect: null ,onHatMove: null ,onTrackballMove: null ,get_guid: function() { var devices = lime_ui_Joystick.__getDeviceData(); return devices[this.id].id; } ,get_name: function() { var devices = lime_ui_Joystick.__getDeviceData(); return devices[this.id].id; } ,get_numAxes: function() { var devices = lime_ui_Joystick.__getDeviceData(); return devices[this.id].axes.length; } ,get_numButtons: function() { var devices = lime_ui_Joystick.__getDeviceData(); return devices[this.id].buttons.length; } ,get_numHats: function() { return 0; } ,get_numTrackballs: function() { return 0; } ,__class__: lime_ui_Joystick ,__properties__: {get_numTrackballs:"get_numTrackballs",get_numHats:"get_numHats",get_numButtons:"get_numButtons",get_numAxes:"get_numAxes",get_name:"get_name",get_guid:"get_guid"} }; var lime_ui__$JoystickHatPosition_JoystickHatPosition_$Impl_$ = {}; $hxClasses["lime.ui._JoystickHatPosition.JoystickHatPosition_Impl_"] = lime_ui__$JoystickHatPosition_JoystickHatPosition_$Impl_$; lime_ui__$JoystickHatPosition_JoystickHatPosition_$Impl_$.__name__ = "lime.ui._JoystickHatPosition.JoystickHatPosition_Impl_"; lime_ui__$JoystickHatPosition_JoystickHatPosition_$Impl_$.__properties__ = {set_up:"set_up",get_up:"get_up",set_right:"set_right",get_right:"get_right",set_left:"set_left",get_left:"get_left",set_down:"set_down",get_down:"get_down",set_center:"set_center",get_center:"get_center"}; lime_ui__$JoystickHatPosition_JoystickHatPosition_$Impl_$._new = function(value) { var this1 = value; return this1; }; lime_ui__$JoystickHatPosition_JoystickHatPosition_$Impl_$.get_center = function(this1) { return this1 == 0; }; lime_ui__$JoystickHatPosition_JoystickHatPosition_$Impl_$.set_center = function(this1,value) { if(value) { this1 = 0; } return value; }; lime_ui__$JoystickHatPosition_JoystickHatPosition_$Impl_$.get_down = function(this1) { return (this1 & 4) > 0; }; lime_ui__$JoystickHatPosition_JoystickHatPosition_$Impl_$.set_down = function(this1,value) { if(value) { this1 |= 4; } else { this1 &= 268435455 - 4; } return value; }; lime_ui__$JoystickHatPosition_JoystickHatPosition_$Impl_$.get_left = function(this1) { return (this1 & 8) > 0; }; lime_ui__$JoystickHatPosition_JoystickHatPosition_$Impl_$.set_left = function(this1,value) { if(value) { this1 |= 8; } else { this1 &= 268435455 - 8; } return value; }; lime_ui__$JoystickHatPosition_JoystickHatPosition_$Impl_$.get_right = function(this1) { return (this1 & 2) > 0; }; lime_ui__$JoystickHatPosition_JoystickHatPosition_$Impl_$.set_right = function(this1,value) { if(value) { this1 |= 2; } else { this1 &= 268435455 - 2; } return value; }; lime_ui__$JoystickHatPosition_JoystickHatPosition_$Impl_$.get_up = function(this1) { return (this1 & 1) > 0; }; lime_ui__$JoystickHatPosition_JoystickHatPosition_$Impl_$.set_up = function(this1,value) { if(value) { this1 |= 1; } else { this1 &= 268435455 - 1; } return value; }; var lime_ui__$KeyCode_KeyCode_$Impl_$ = {}; $hxClasses["lime.ui._KeyCode.KeyCode_Impl_"] = lime_ui__$KeyCode_KeyCode_$Impl_$; lime_ui__$KeyCode_KeyCode_$Impl_$.__name__ = "lime.ui._KeyCode.KeyCode_Impl_"; lime_ui__$KeyCode_KeyCode_$Impl_$.fromScanCode = function(scanCode) { return 0; }; lime_ui__$KeyCode_KeyCode_$Impl_$.toScanCode = function(keyCode) { return 0; }; lime_ui__$KeyCode_KeyCode_$Impl_$.gt = function(a,b) { return a > b; }; lime_ui__$KeyCode_KeyCode_$Impl_$.gte = function(a,b) { return a >= b; }; lime_ui__$KeyCode_KeyCode_$Impl_$.lt = function(a,b) { return a < b; }; lime_ui__$KeyCode_KeyCode_$Impl_$.lte = function(a,b) { return a <= b; }; lime_ui__$KeyCode_KeyCode_$Impl_$.plus = function(a,b) { return a + b; }; var lime_ui__$KeyModifier_KeyModifier_$Impl_$ = {}; $hxClasses["lime.ui._KeyModifier.KeyModifier_Impl_"] = lime_ui__$KeyModifier_KeyModifier_$Impl_$; lime_ui__$KeyModifier_KeyModifier_$Impl_$.__name__ = "lime.ui._KeyModifier.KeyModifier_Impl_"; lime_ui__$KeyModifier_KeyModifier_$Impl_$.__properties__ = {set_shiftKey:"set_shiftKey",get_shiftKey:"get_shiftKey",set_numLock:"set_numLock",get_numLock:"get_numLock",set_metaKey:"set_metaKey",get_metaKey:"get_metaKey",set_ctrlKey:"set_ctrlKey",get_ctrlKey:"get_ctrlKey",set_capsLock:"set_capsLock",get_capsLock:"get_capsLock",set_altKey:"set_altKey",get_altKey:"get_altKey"}; lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_altKey = function(this1) { if((this1 & 256) <= 0) { return (this1 & 512) > 0; } else { return true; } }; lime_ui__$KeyModifier_KeyModifier_$Impl_$.set_altKey = function(this1,value) { if(value) { this1 |= 768; } else { this1 &= 268435455 - 768; } return value; }; lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_capsLock = function(this1) { if((this1 & 8192) <= 0) { return (this1 & 8192) > 0; } else { return true; } }; lime_ui__$KeyModifier_KeyModifier_$Impl_$.set_capsLock = function(this1,value) { if(value) { this1 |= 8192; } else { this1 &= 268435455 - 8192; } return value; }; lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_ctrlKey = function(this1) { if((this1 & 64) <= 0) { return (this1 & 128) > 0; } else { return true; } }; lime_ui__$KeyModifier_KeyModifier_$Impl_$.set_ctrlKey = function(this1,value) { if(value) { this1 |= 192; } else { this1 &= 268435455 - 192; } return value; }; lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_metaKey = function(this1) { if((this1 & 1024) <= 0) { return (this1 & 2048) > 0; } else { return true; } }; lime_ui__$KeyModifier_KeyModifier_$Impl_$.set_metaKey = function(this1,value) { if(value) { this1 |= 3072; } else { this1 &= 268435455 - 3072; } return value; }; lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_numLock = function(this1) { if((this1 & 4096) <= 0) { return (this1 & 4096) > 0; } else { return true; } }; lime_ui__$KeyModifier_KeyModifier_$Impl_$.set_numLock = function(this1,value) { if(value) { this1 |= 4096; } else { this1 &= 268435455 - 4096; } return value; }; lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_shiftKey = function(this1) { if((this1 & 1) <= 0) { return (this1 & 2) > 0; } else { return true; } }; lime_ui__$KeyModifier_KeyModifier_$Impl_$.set_shiftKey = function(this1,value) { if(value) { this1 |= 3; } else { this1 &= 268435455 - 3; } return value; }; var lime_ui_MouseCursor = $hxEnums["lime.ui.MouseCursor"] = { __ename__ : "lime.ui.MouseCursor", __constructs__ : ["ARROW","CROSSHAIR","DEFAULT","MOVE","POINTER","RESIZE_NESW","RESIZE_NS","RESIZE_NWSE","RESIZE_WE","TEXT","WAIT","WAIT_ARROW","CUSTOM"] ,ARROW: {_hx_index:0,__enum__:"lime.ui.MouseCursor",toString:$estr} ,CROSSHAIR: {_hx_index:1,__enum__:"lime.ui.MouseCursor",toString:$estr} ,DEFAULT: {_hx_index:2,__enum__:"lime.ui.MouseCursor",toString:$estr} ,MOVE: {_hx_index:3,__enum__:"lime.ui.MouseCursor",toString:$estr} ,POINTER: {_hx_index:4,__enum__:"lime.ui.MouseCursor",toString:$estr} ,RESIZE_NESW: {_hx_index:5,__enum__:"lime.ui.MouseCursor",toString:$estr} ,RESIZE_NS: {_hx_index:6,__enum__:"lime.ui.MouseCursor",toString:$estr} ,RESIZE_NWSE: {_hx_index:7,__enum__:"lime.ui.MouseCursor",toString:$estr} ,RESIZE_WE: {_hx_index:8,__enum__:"lime.ui.MouseCursor",toString:$estr} ,TEXT: {_hx_index:9,__enum__:"lime.ui.MouseCursor",toString:$estr} ,WAIT: {_hx_index:10,__enum__:"lime.ui.MouseCursor",toString:$estr} ,WAIT_ARROW: {_hx_index:11,__enum__:"lime.ui.MouseCursor",toString:$estr} ,CUSTOM: {_hx_index:12,__enum__:"lime.ui.MouseCursor",toString:$estr} }; var lime_ui_MouseWheelMode = $hxEnums["lime.ui.MouseWheelMode"] = { __ename__ : "lime.ui.MouseWheelMode", __constructs__ : ["PIXELS","LINES","PAGES","UNKNOWN"] ,PIXELS: {_hx_index:0,__enum__:"lime.ui.MouseWheelMode",toString:$estr} ,LINES: {_hx_index:1,__enum__:"lime.ui.MouseWheelMode",toString:$estr} ,PAGES: {_hx_index:2,__enum__:"lime.ui.MouseWheelMode",toString:$estr} ,UNKNOWN: {_hx_index:3,__enum__:"lime.ui.MouseWheelMode",toString:$estr} }; var lime_ui__$ScanCode_ScanCode_$Impl_$ = {}; $hxClasses["lime.ui._ScanCode.ScanCode_Impl_"] = lime_ui__$ScanCode_ScanCode_$Impl_$; lime_ui__$ScanCode_ScanCode_$Impl_$.__name__ = "lime.ui._ScanCode.ScanCode_Impl_"; lime_ui__$ScanCode_ScanCode_$Impl_$.fromKeyCode = function(keyCode) { return lime_ui__$KeyCode_KeyCode_$Impl_$.toScanCode(keyCode); }; lime_ui__$ScanCode_ScanCode_$Impl_$.toKeyCode = function(scanCode) { return lime_ui__$KeyCode_KeyCode_$Impl_$.fromScanCode(scanCode); }; lime_ui__$ScanCode_ScanCode_$Impl_$.gt = function(a,b) { return a > b; }; lime_ui__$ScanCode_ScanCode_$Impl_$.gte = function(a,b) { return a >= b; }; lime_ui__$ScanCode_ScanCode_$Impl_$.lt = function(a,b) { return a < b; }; lime_ui__$ScanCode_ScanCode_$Impl_$.lte = function(a,b) { return a <= b; }; lime_ui__$ScanCode_ScanCode_$Impl_$.plus = function(a,b) { return a + b; }; var lime_ui_Touch = function(x,y,id,dx,dy,pressure,device) { this.x = x; this.y = y; this.id = id; this.dx = dx; this.dy = dy; this.pressure = pressure; this.device = device; }; $hxClasses["lime.ui.Touch"] = lime_ui_Touch; lime_ui_Touch.__name__ = "lime.ui.Touch"; lime_ui_Touch.prototype = { device: null ,dx: null ,dy: null ,id: null ,pressure: null ,x: null ,y: null ,__class__: lime_ui_Touch }; var lime_ui_Window = function(application,attributes) { this.onTextInput = new lime_app__$Event_$String_$Void(); this.onTextEdit = new lime_app__$Event_$String_$Int_$Int_$Void(); this.onRestore = new lime_app__$Event_$Void_$Void(); this.onResize = new lime_app__$Event_$Int_$Int_$Void(); this.onRenderContextRestored = new lime_app__$Event_$lime_$graphics_$RenderContext_$Void(); this.onRenderContextLost = new lime_app__$Event_$Void_$Void(); this.onRender = new lime_app__$Event_$lime_$graphics_$RenderContext_$Void(); this.onMove = new lime_app__$Event_$Float_$Float_$Void(); this.onMouseWheel = new lime_app__$Event_$Float_$Float_$lime_$ui_$MouseWheelMode_$Void(); this.onMouseUp = new lime_app__$Event_$Float_$Float_$Int_$Void(); this.onMouseMoveRelative = new lime_app__$Event_$Float_$Float_$Void(); this.onMouseMove = new lime_app__$Event_$Float_$Float_$Void(); this.onMouseDown = new lime_app__$Event_$Float_$Float_$lime_$ui_$MouseButton_$Void(); this.onMinimize = new lime_app__$Event_$Void_$Void(); this.onMaximize = new lime_app__$Event_$Void_$Void(); this.onLeave = new lime_app__$Event_$Void_$Void(); this.onKeyUp = new lime_app__$Event_$lime_$ui_$KeyCode_$lime_$ui_$KeyModifier_$Void(); this.onKeyDown = new lime_app__$Event_$lime_$ui_$KeyCode_$lime_$ui_$KeyModifier_$Void(); this.onFullscreen = new lime_app__$Event_$Void_$Void(); this.onFocusOut = new lime_app__$Event_$Void_$Void(); this.onFocusIn = new lime_app__$Event_$Void_$Void(); this.onExpose = new lime_app__$Event_$Void_$Void(); this.onEnter = new lime_app__$Event_$Void_$Void(); this.onDropFile = new lime_app__$Event_$String_$Void(); this.onDeactivate = new lime_app__$Event_$Void_$Void(); this.onClose = new lime_app__$Event_$Void_$Void(); this.onActivate = new lime_app__$Event_$Void_$Void(); this.application = application; this.__attributes = attributes != null ? attributes : { }; if(Object.prototype.hasOwnProperty.call(this.__attributes,"parameters")) { this.parameters = this.__attributes.parameters; } this.__width = 0; this.__height = 0; this.__fullscreen = false; this.__scale = 1; this.__x = 0; this.__y = 0; this.__title = ""; this.id = -1; this.__backend = new lime__$internal_backend_html5_HTML5Window(this); }; $hxClasses["lime.ui.Window"] = lime_ui_Window; lime_ui_Window.__name__ = "lime.ui.Window"; lime_ui_Window.prototype = { application: null ,context: null ,display: null ,element: null ,hidden: null ,id: null ,onActivate: null ,onClose: null ,onDeactivate: null ,onDropFile: null ,onEnter: null ,onExpose: null ,onFocusIn: null ,onFocusOut: null ,onFullscreen: null ,onKeyDown: null ,onKeyUp: null ,onLeave: null ,onMaximize: null ,onMinimize: null ,onMouseDown: null ,onMouseMove: null ,onMouseMoveRelative: null ,onMouseUp: null ,onMouseWheel: null ,onMove: null ,onRender: null ,onRenderContextLost: null ,onRenderContextRestored: null ,onResize: null ,onRestore: null ,onTextEdit: null ,onTextInput: null ,parameters: null ,scale: null ,stage: null ,__attributes: null ,__backend: null ,__borderless: null ,__fullscreen: null ,__height: null ,__hidden: null ,__maximized: null ,__minimized: null ,__resizable: null ,__scale: null ,__title: null ,__width: null ,__x: null ,__y: null ,alert: function(message,title) { this.__backend.alert(message,title); } ,close: function() { this.__backend.close(); } ,focus: function() { this.__backend.focus(); } ,move: function(x,y) { this.__backend.move(x,y); this.__x = x; this.__y = y; } ,readPixels: function(rect) { return this.__backend.readPixels(rect); } ,resize: function(width,height) { this.__backend.resize(width,height); this.__width = width; this.__height = height; } ,setIcon: function(image) { if(image == null) { return; } this.__backend.setIcon(image); } ,toString: function() { return "[object Window]"; } ,warpMouse: function(x,y) { this.__backend.warpMouse(x,y); } ,get_cursor: function() { return this.__backend.getCursor(); } ,set_cursor: function(value) { return this.__backend.setCursor(value); } ,get_display: function() { return this.__backend.getDisplay(); } ,get_displayMode: function() { return this.__backend.getDisplayMode(); } ,set_displayMode: function(value) { return this.__backend.setDisplayMode(value); } ,get_borderless: function() { return this.__borderless; } ,set_borderless: function(value) { return this.__borderless = this.__backend.setBorderless(value); } ,get_frameRate: function() { return this.__backend.getFrameRate(); } ,set_frameRate: function(value) { return this.__backend.setFrameRate(value); } ,get_fullscreen: function() { return this.__fullscreen; } ,set_fullscreen: function(value) { return this.__fullscreen = this.__backend.setFullscreen(value); } ,get_height: function() { return this.__height; } ,set_height: function(value) { this.resize(this.__width,value); return this.__height; } ,get_hidden: function() { return this.__hidden; } ,get_maximized: function() { return this.__maximized; } ,set_maximized: function(value) { this.__minimized = false; return this.__maximized = this.__backend.setMaximized(value); } ,get_minimized: function() { return this.__minimized; } ,set_minimized: function(value) { this.__maximized = false; return this.__minimized = this.__backend.setMinimized(value); } ,get_mouseLock: function() { return this.__backend.getMouseLock(); } ,set_mouseLock: function(value) { this.__backend.setMouseLock(value); return value; } ,get_resizable: function() { return this.__resizable; } ,set_resizable: function(value) { this.__resizable = this.__backend.setResizable(value); return this.__resizable; } ,get_scale: function() { return this.__scale; } ,get_textInputEnabled: function() { return this.__backend.getTextInputEnabled(); } ,set_textInputEnabled: function(value) { return this.__backend.setTextInputEnabled(value); } ,get_title: function() { return this.__title; } ,set_title: function(value) { return this.__title = this.__backend.setTitle(value); } ,get_width: function() { return this.__width; } ,set_width: function(value) { this.resize(value,this.__height); return this.__width; } ,get_x: function() { return this.__x; } ,set_x: function(value) { this.move(value,this.__y); return this.__x; } ,get_y: function() { return this.__y; } ,set_y: function(value) { this.move(this.__x,value); return this.__y; } ,__class__: lime_ui_Window ,__properties__: {set_y:"set_y",get_y:"get_y",set_x:"set_x",get_x:"get_x",set_width:"set_width",get_width:"get_width",set_title:"set_title",get_title:"get_title",set_textInputEnabled:"set_textInputEnabled",get_textInputEnabled:"get_textInputEnabled",get_scale:"get_scale",set_resizable:"set_resizable",get_resizable:"get_resizable",set_mouseLock:"set_mouseLock",get_mouseLock:"get_mouseLock",set_minimized:"set_minimized",get_minimized:"get_minimized",set_maximized:"set_maximized",get_maximized:"get_maximized",get_hidden:"get_hidden",set_height:"set_height",get_height:"get_height",set_fullscreen:"set_fullscreen",get_fullscreen:"get_fullscreen",set_frameRate:"set_frameRate",get_frameRate:"get_frameRate",set_displayMode:"set_displayMode",get_displayMode:"get_displayMode",get_display:"get_display",set_cursor:"set_cursor",get_cursor:"get_cursor",set_borderless:"set_borderless",get_borderless:"get_borderless"} }; var lime_utils_TAError = $hxEnums["lime.utils.TAError"] = { __ename__ : "lime.utils.TAError", __constructs__ : ["RangeError"] ,RangeError: {_hx_index:0,__enum__:"lime.utils.TAError",toString:$estr} }; var lime_utils_AssetBundle = function() { this.data = new haxe_ds_StringMap(); this.paths = []; }; $hxClasses["lime.utils.AssetBundle"] = lime_utils_AssetBundle; lime_utils_AssetBundle.__name__ = "lime.utils.AssetBundle"; lime_utils_AssetBundle.fromBytes = function(bytes) { var input = new haxe_io_BytesInput(bytes); return lime_utils_AssetBundle.__extractBundle(input); }; lime_utils_AssetBundle.fromFile = function(path) { return null; }; lime_utils_AssetBundle.loadFromBytes = function(bytes) { return lime_app_Future.withValue(lime_utils_AssetBundle.fromBytes(bytes)); }; lime_utils_AssetBundle.loadFromFile = function(path) { return lime_utils__$Bytes_Bytes_$Impl_$.loadFromFile(path).then(lime_utils_AssetBundle.loadFromBytes); }; lime_utils_AssetBundle.__extractBundle = function(input) { var entries = haxe_zip_Reader.readZip(input); var bundle = new lime_utils_AssetBundle(); var _g_head = entries.h; while(_g_head != null) { var val = _g_head.item; _g_head = _g_head.next; var entry = val; if(entry.compressed) { var bytes = entry.data; var this1 = bundle.data; var key = entry.fileName; var value = lime_utils__$Bytes_Bytes_$Impl_$.decompress(bytes,lime_utils_CompressionAlgorithm.DEFLATE); var _this = this1; if(__map_reserved[key] != null) { _this.setReserved(key,value); } else { _this.h[key] = value; } } else { var key1 = entry.fileName; var value1 = entry.data; var _this1 = bundle.data; if(__map_reserved[key1] != null) { _this1.setReserved(key1,value1); } else { _this1.h[key1] = value1; } } bundle.paths.push(entry.fileName); } return bundle; }; lime_utils_AssetBundle.prototype = { data: null ,paths: null ,__class__: lime_utils_AssetBundle }; var lime_utils_AssetCache = function() { this.enabled = true; this.audio = new haxe_ds_StringMap(); this.font = new haxe_ds_StringMap(); this.image = new haxe_ds_StringMap(); this.version = 242039; }; $hxClasses["lime.utils.AssetCache"] = lime_utils_AssetCache; lime_utils_AssetCache.__name__ = "lime.utils.AssetCache"; lime_utils_AssetCache.prototype = { audio: null ,enabled: null ,image: null ,font: null ,version: null ,exists: function(id,type) { if(type == "IMAGE" || type == null) { var _this = this.image; if(__map_reserved[id] != null ? _this.existsReserved(id) : _this.h.hasOwnProperty(id)) { return true; } } if(type == "FONT" || type == null) { var _this1 = this.font; if(__map_reserved[id] != null ? _this1.existsReserved(id) : _this1.h.hasOwnProperty(id)) { return true; } } if(type == "SOUND" || type == "MUSIC" || type == null) { var _this2 = this.audio; if(__map_reserved[id] != null ? _this2.existsReserved(id) : _this2.h.hasOwnProperty(id)) { return true; } } return false; } ,set: function(id,type,asset) { switch(type) { case "FONT": var _this = this.font; var value = asset; if(__map_reserved[id] != null) { _this.setReserved(id,value); } else { _this.h[id] = value; } break; case "IMAGE": if(!((asset) instanceof lime_graphics_Image)) { throw new js__$Boot_HaxeError("Cannot cache non-Image asset: " + Std.string(asset) + " as Image"); } var _this1 = this.image; var value1 = asset; if(__map_reserved[id] != null) { _this1.setReserved(id,value1); } else { _this1.h[id] = value1; } break; case "MUSIC":case "SOUND": if(!((asset) instanceof lime_media_AudioBuffer)) { throw new js__$Boot_HaxeError("Cannot cache non-AudioBuffer asset: " + Std.string(asset) + " as AudioBuffer"); } var _this2 = this.audio; var value2 = asset; if(__map_reserved[id] != null) { _this2.setReserved(id,value2); } else { _this2.h[id] = value2; } break; default: throw new js__$Boot_HaxeError(type + " assets are not cachable"); } } ,clear: function(prefix) { if(prefix == null) { this.audio = new haxe_ds_StringMap(); this.font = new haxe_ds_StringMap(); this.image = new haxe_ds_StringMap(); } else { var keys = this.audio.keys(); var key = keys; while(key.hasNext()) { var key1 = key.next(); if(StringTools.startsWith(key1,prefix)) { this.audio.remove(key1); } } var keys1 = this.font.keys(); var key2 = keys1; while(key2.hasNext()) { var key3 = key2.next(); if(StringTools.startsWith(key3,prefix)) { this.font.remove(key3); } } var keys2 = this.image.keys(); var key4 = keys2; while(key4.hasNext()) { var key5 = key4.next(); if(StringTools.startsWith(key5,prefix)) { this.image.remove(key5); } } } } ,__class__: lime_utils_AssetCache }; var lime_utils_AssetLibrary = function() { this.types = new haxe_ds_StringMap(); this.sizes = new haxe_ds_StringMap(); this.preload = new haxe_ds_StringMap(); this.paths = new haxe_ds_StringMap(); this.pathGroups = new haxe_ds_StringMap(); this.classTypes = new haxe_ds_StringMap(); this.cachedText = new haxe_ds_StringMap(); this.cachedImages = new haxe_ds_StringMap(); this.cachedFonts = new haxe_ds_StringMap(); this.cachedBytes = new haxe_ds_StringMap(); this.cachedAudioBuffers = new haxe_ds_StringMap(); this.onChange = new lime_app__$Event_$Void_$Void(); this.bytesLoaded = 0; this.bytesTotal = 0; }; $hxClasses["lime.utils.AssetLibrary"] = lime_utils_AssetLibrary; lime_utils_AssetLibrary.__name__ = "lime.utils.AssetLibrary"; lime_utils_AssetLibrary.fromBytes = function(bytes,rootPath) { return lime_utils_AssetLibrary.fromManifest(lime_utils_AssetManifest.fromBytes(bytes,rootPath)); }; lime_utils_AssetLibrary.fromFile = function(path,rootPath) { return lime_utils_AssetLibrary.fromManifest(lime_utils_AssetManifest.fromFile(path,rootPath)); }; lime_utils_AssetLibrary.fromBundle = function(bundle) { var _this = bundle.data; if(__map_reserved["library.json"] != null ? _this.existsReserved("library.json") : _this.h.hasOwnProperty("library.json")) { var _this1 = bundle.data; var manifest = lime_utils_AssetManifest.fromBytes(__map_reserved["library.json"] != null ? _this1.getReserved("library.json") : _this1.h["library.json"]); if(manifest != null) { var library = null; if(manifest.libraryType == null) { library = new lime_utils_AssetLibrary(); } else { var name = manifest.libraryType; var libraryClass = $hxClasses[name]; if(libraryClass != null) { library = Type.createInstance(libraryClass,manifest.libraryArgs); } else { lime_utils_Log.warn("Could not find library type: " + manifest.libraryType,{ fileName : "lime/utils/AssetLibrary.hx", lineNumber : 122, className : "lime.utils.AssetLibrary", methodName : "fromBundle"}); return null; } } library.__fromBundle(bundle,manifest); return library; } } else { var library1 = new lime_utils_AssetLibrary(); library1.__fromBundle(bundle); return library1; } return null; }; lime_utils_AssetLibrary.fromManifest = function(manifest) { if(manifest == null) { return null; } var library = null; if(manifest.libraryType == null) { library = new lime_utils_AssetLibrary(); } else { var name = manifest.libraryType; var libraryClass = $hxClasses[name]; if(libraryClass != null) { library = Type.createInstance(libraryClass,manifest.libraryArgs); } else { lime_utils_Log.warn("Could not find library type: " + manifest.libraryType,{ fileName : "lime/utils/AssetLibrary.hx", lineNumber : 160, className : "lime.utils.AssetLibrary", methodName : "fromManifest"}); return null; } } library.__fromManifest(manifest); return library; }; lime_utils_AssetLibrary.loadFromBytes = function(bytes,rootPath) { return lime_utils_AssetManifest.loadFromBytes(bytes,rootPath).then(function(manifest) { return lime_utils_AssetLibrary.loadFromManifest(manifest); }); }; lime_utils_AssetLibrary.loadFromFile = function(path,rootPath) { return lime_utils_AssetManifest.loadFromFile(path,rootPath).then(function(manifest) { return lime_utils_AssetLibrary.loadFromManifest(manifest); }); }; lime_utils_AssetLibrary.loadFromManifest = function(manifest) { var library = lime_utils_AssetLibrary.fromManifest(manifest); if(library != null) { return library.load(); } else { return lime_app_Future.withError("Could not load asset manifest"); } }; lime_utils_AssetLibrary.prototype = { onChange: null ,assetsLoaded: null ,assetsTotal: null ,bytesLoaded: null ,bytesLoadedCache: null ,bytesTotal: null ,cachedAudioBuffers: null ,cachedBytes: null ,cachedFonts: null ,cachedImages: null ,cachedText: null ,classTypes: null ,loaded: null ,pathGroups: null ,paths: null ,preload: null ,promise: null ,sizes: null ,types: null ,exists: function(id,type) { var requestedType = type != null ? js_Boot.__cast(type , String) : null; var _this = this.types; var assetType = __map_reserved[id] != null ? _this.getReserved(id) : _this.h[id]; if(assetType != null) { if(assetType == requestedType || (requestedType == "SOUND" || requestedType == "MUSIC") && (assetType == "MUSIC" || assetType == "SOUND")) { return true; } if(requestedType == "BINARY" || requestedType == null || assetType == "BINARY" && requestedType == "TEXT") { return true; } } return false; } ,getAsset: function(id,type) { switch(type) { case "BINARY": return this.getBytes(id); case "FONT": return this.getFont(id); case "IMAGE": return this.getImage(id); case "MUSIC":case "SOUND": return this.getAudioBuffer(id); case "TEMPLATE": throw new js__$Boot_HaxeError("Not sure how to get template: " + id); case "TEXT": return this.getText(id); default: throw new js__$Boot_HaxeError("Unknown asset type: " + type); } } ,getAudioBuffer: function(id) { var _this = this.cachedAudioBuffers; if(__map_reserved[id] != null ? _this.existsReserved(id) : _this.h.hasOwnProperty(id)) { var _this1 = this.cachedAudioBuffers; if(__map_reserved[id] != null) { return _this1.getReserved(id); } else { return _this1.h[id]; } } else { var _this2 = this.classTypes; if(__map_reserved[id] != null ? _this2.existsReserved(id) : _this2.h.hasOwnProperty(id)) { var _this3 = this.classTypes; return lime_media_AudioBuffer.fromBytes(js_Boot.__cast(Type.createInstance(__map_reserved[id] != null ? _this3.getReserved(id) : _this3.h[id],[]) , haxe_io_Bytes)); } else { var _this4 = this.paths; return lime_media_AudioBuffer.fromFile(__map_reserved[id] != null ? _this4.getReserved(id) : _this4.h[id]); } } } ,getBytes: function(id) { var _this = this.cachedBytes; if(__map_reserved[id] != null ? _this.existsReserved(id) : _this.h.hasOwnProperty(id)) { var _this1 = this.cachedBytes; if(__map_reserved[id] != null) { return _this1.getReserved(id); } else { return _this1.h[id]; } } else { var _this2 = this.cachedText; if(__map_reserved[id] != null ? _this2.existsReserved(id) : _this2.h.hasOwnProperty(id)) { var _this3 = this.cachedText; var bytes = lime_utils__$Bytes_Bytes_$Impl_$.ofString(__map_reserved[id] != null ? _this3.getReserved(id) : _this3.h[id]); var _this4 = this.cachedBytes; if(__map_reserved[id] != null) { _this4.setReserved(id,bytes); } else { _this4.h[id] = bytes; } return bytes; } else { var _this5 = this.classTypes; if(__map_reserved[id] != null ? _this5.existsReserved(id) : _this5.h.hasOwnProperty(id)) { var _this6 = this.classTypes; return js_Boot.__cast(Type.createInstance(__map_reserved[id] != null ? _this6.getReserved(id) : _this6.h[id],[]) , haxe_io_Bytes); } else { var _this7 = this.paths; return lime_utils__$Bytes_Bytes_$Impl_$.fromFile(__map_reserved[id] != null ? _this7.getReserved(id) : _this7.h[id]); } } } } ,getFont: function(id) { var _this = this.cachedFonts; if(__map_reserved[id] != null ? _this.existsReserved(id) : _this.h.hasOwnProperty(id)) { var _this1 = this.cachedFonts; if(__map_reserved[id] != null) { return _this1.getReserved(id); } else { return _this1.h[id]; } } else { var _this2 = this.classTypes; if(__map_reserved[id] != null ? _this2.existsReserved(id) : _this2.h.hasOwnProperty(id)) { var _this3 = this.classTypes; return js_Boot.__cast(Type.createInstance(__map_reserved[id] != null ? _this3.getReserved(id) : _this3.h[id],[]) , lime_text_Font); } else { var _this4 = this.paths; return lime_text_Font.fromFile(__map_reserved[id] != null ? _this4.getReserved(id) : _this4.h[id]); } } } ,getImage: function(id) { var _this = this.cachedImages; if(__map_reserved[id] != null ? _this.existsReserved(id) : _this.h.hasOwnProperty(id)) { var _this1 = this.cachedImages; if(__map_reserved[id] != null) { return _this1.getReserved(id); } else { return _this1.h[id]; } } else { var _this2 = this.classTypes; if(__map_reserved[id] != null ? _this2.existsReserved(id) : _this2.h.hasOwnProperty(id)) { var _this3 = this.classTypes; return js_Boot.__cast(Type.createInstance(__map_reserved[id] != null ? _this3.getReserved(id) : _this3.h[id],[]) , lime_graphics_Image); } else { var _this4 = this.paths; return lime_graphics_Image.fromFile(__map_reserved[id] != null ? _this4.getReserved(id) : _this4.h[id]); } } } ,getPath: function(id) { var _this = this.paths; if(__map_reserved[id] != null ? _this.existsReserved(id) : _this.h.hasOwnProperty(id)) { var _this1 = this.paths; if(__map_reserved[id] != null) { return _this1.getReserved(id); } else { return _this1.h[id]; } } else { var _this2 = this.pathGroups; if(__map_reserved[id] != null ? _this2.existsReserved(id) : _this2.h.hasOwnProperty(id)) { var _this3 = this.pathGroups; return (__map_reserved[id] != null ? _this3.getReserved(id) : _this3.h[id])[0]; } else { return null; } } } ,getText: function(id) { var _this = this.cachedText; if(__map_reserved[id] != null ? _this.existsReserved(id) : _this.h.hasOwnProperty(id)) { var _this1 = this.cachedText; if(__map_reserved[id] != null) { return _this1.getReserved(id); } else { return _this1.h[id]; } } else { var bytes = this.getBytes(id); if(bytes == null) { return null; } else { return bytes.getString(0,bytes.length); } } } ,isLocal: function(id,type) { var _this = this.classTypes; if(__map_reserved[id] != null ? _this.existsReserved(id) : _this.h.hasOwnProperty(id)) { return true; } var requestedType = type != null ? js_Boot.__cast(type , String) : null; if(requestedType == null) { var _this1 = this.cachedBytes; if(!(__map_reserved[id] != null ? _this1.existsReserved(id) : _this1.h.hasOwnProperty(id))) { var _this2 = this.cachedText; if(__map_reserved[id] != null) { return _this2.existsReserved(id); } else { return _this2.h.hasOwnProperty(id); } } else { return true; } } else { switch(requestedType) { case "FONT": var _this3 = this.cachedFonts; if(__map_reserved[id] != null) { return _this3.existsReserved(id); } else { return _this3.h.hasOwnProperty(id); } break; case "IMAGE": var _this4 = this.cachedImages; if(__map_reserved[id] != null) { return _this4.existsReserved(id); } else { return _this4.h.hasOwnProperty(id); } break; case "MUSIC":case "SOUND": var _this5 = this.cachedAudioBuffers; if(__map_reserved[id] != null) { return _this5.existsReserved(id); } else { return _this5.h.hasOwnProperty(id); } break; default: var _this6 = this.cachedBytes; if(!(__map_reserved[id] != null ? _this6.existsReserved(id) : _this6.h.hasOwnProperty(id))) { var _this7 = this.cachedText; if(__map_reserved[id] != null) { return _this7.existsReserved(id); } else { return _this7.h.hasOwnProperty(id); } } else { return true; } } } } ,list: function(type) { var requestedType = type != null ? js_Boot.__cast(type , String) : null; var items = []; var id = this.types.keys(); while(id.hasNext()) { var id1 = id.next(); if(requestedType == null || this.exists(id1,type)) { items.push(id1); } } return items; } ,loadAsset: function(id,type) { switch(type) { case "BINARY": return this.loadBytes(id); case "FONT": return this.loadFont(id); case "IMAGE": return this.loadImage(id); case "MUSIC":case "SOUND": return this.loadAudioBuffer(id); case "TEMPLATE": throw new js__$Boot_HaxeError("Not sure how to load template: " + id); case "TEXT": return this.loadText(id); default: throw new js__$Boot_HaxeError("Unknown asset type: " + type); } } ,load: function() { if(this.loaded) { return lime_app_Future.withValue(this); } if(this.promise == null) { this.promise = new lime_app_Promise(); this.bytesLoadedCache = new haxe_ds_StringMap(); this.assetsLoaded = 0; this.assetsTotal = 1; var id = this.preload.keys(); while(id.hasNext()) { var id1 = id.next(); var _this = this.preload; if(!(__map_reserved[id1] != null ? _this.getReserved(id1) : _this.h[id1])) { continue; } var _this1 = this.types; lime_utils_Log.verbose("Preloading asset: " + id1 + " [" + (__map_reserved[id1] != null ? _this1.getReserved(id1) : _this1.h[id1]) + "]",{ fileName : "lime/utils/AssetLibrary.hx", lineNumber : 405, className : "lime.utils.AssetLibrary", methodName : "load"}); var _this2 = this.types; var _g = __map_reserved[id1] != null ? _this2.getReserved(id1) : _this2.h[id1]; if(_g != null) { switch(_g) { case "BINARY": this.assetsTotal++; var future = this.loadBytes(id1); future.onProgress((function(id2,f) { return function(bytesLoaded,bytesTotal) { f[0](id2[0],bytesLoaded,bytesTotal); }; })([id1],[$bind(this,this.load_onProgress)])); future.onError((function(id3,f1) { return function(message) { f1[0](id3[0],message); }; })([id1],[$bind(this,this.load_onError)])); future.onComplete((function(id4,f2) { return function(bytes) { f2[0](id4[0],bytes); }; })([id1],[$bind(this,this.loadBytes_onComplete)])); break; case "FONT": this.assetsTotal++; var future1 = this.loadFont(id1); future1.onProgress((function(id5,f3) { return function(bytesLoaded1,bytesTotal1) { f3[0](id5[0],bytesLoaded1,bytesTotal1); }; })([id1],[$bind(this,this.load_onProgress)])); future1.onError((function(id6,f4) { return function(message1) { f4[0](id6[0],message1); }; })([id1],[$bind(this,this.load_onError)])); future1.onComplete((function(id7,f5) { return function(font) { f5[0](id7[0],font); }; })([id1],[$bind(this,this.loadFont_onComplete)])); break; case "IMAGE": this.assetsTotal++; var future2 = this.loadImage(id1); future2.onProgress((function(id8,f6) { return function(bytesLoaded2,bytesTotal2) { f6[0](id8[0],bytesLoaded2,bytesTotal2); }; })([id1],[$bind(this,this.load_onProgress)])); future2.onError((function(id9,f7) { return function(message2) { f7[0](id9[0],message2); }; })([id1],[$bind(this,this.load_onError)])); future2.onComplete((function(id10,f8) { return function(image) { f8[0](id10[0],image); }; })([id1],[$bind(this,this.loadImage_onComplete)])); break; case "MUSIC":case "SOUND": this.assetsTotal++; var future3 = this.loadAudioBuffer(id1); future3.onProgress((function(id11,f9) { return function(bytesLoaded3,bytesTotal3) { f9[0](id11[0],bytesLoaded3,bytesTotal3); }; })([id1],[$bind(this,this.load_onProgress)])); future3.onError((function(id12,f10) { return function(message3) { f10[0](id12[0],message3); }; })([id1],[$bind(this,this.loadAudioBuffer_onError)])); future3.onComplete((function(id13,f11) { return function(audioBuffer) { f11[0](id13[0],audioBuffer); }; })([id1],[$bind(this,this.loadAudioBuffer_onComplete)])); break; case "TEXT": this.assetsTotal++; var future4 = this.loadText(id1); future4.onProgress((function(id14,f12) { return function(bytesLoaded4,bytesTotal4) { f12[0](id14[0],bytesLoaded4,bytesTotal4); }; })([id1],[$bind(this,this.load_onProgress)])); future4.onError((function(id15,f13) { return function(message4) { f13[0](id15[0],message4); }; })([id1],[$bind(this,this.load_onError)])); future4.onComplete((function(id16,f14) { return function(text) { f14[0](id16[0],text); }; })([id1],[$bind(this,this.loadText_onComplete)])); break; default: } } } this.__assetLoaded(null); } return this.promise.future; } ,loadAudioBuffer: function(id) { var _this = this.cachedAudioBuffers; if(__map_reserved[id] != null ? _this.existsReserved(id) : _this.h.hasOwnProperty(id)) { var _this1 = this.cachedAudioBuffers; return lime_app_Future.withValue(__map_reserved[id] != null ? _this1.getReserved(id) : _this1.h[id]); } else { var _this2 = this.classTypes; if(__map_reserved[id] != null ? _this2.existsReserved(id) : _this2.h.hasOwnProperty(id)) { var _this3 = this.classTypes; return lime_app_Future.withValue(Type.createInstance(__map_reserved[id] != null ? _this3.getReserved(id) : _this3.h[id],[])); } else { var _this4 = this.pathGroups; if(__map_reserved[id] != null ? _this4.existsReserved(id) : _this4.h.hasOwnProperty(id)) { var _this5 = this.pathGroups; return lime_media_AudioBuffer.loadFromFiles(__map_reserved[id] != null ? _this5.getReserved(id) : _this5.h[id]); } else { var _this6 = this.paths; return lime_media_AudioBuffer.loadFromFile(__map_reserved[id] != null ? _this6.getReserved(id) : _this6.h[id]); } } } } ,loadBytes: function(id) { var _this = this.cachedBytes; if(__map_reserved[id] != null ? _this.existsReserved(id) : _this.h.hasOwnProperty(id)) { var _this1 = this.cachedBytes; return lime_app_Future.withValue(__map_reserved[id] != null ? _this1.getReserved(id) : _this1.h[id]); } else { var _this2 = this.classTypes; if(__map_reserved[id] != null ? _this2.existsReserved(id) : _this2.h.hasOwnProperty(id)) { var _this3 = this.classTypes; return lime_app_Future.withValue(Type.createInstance(__map_reserved[id] != null ? _this3.getReserved(id) : _this3.h[id],[])); } else { var _this4 = this.paths; return lime_utils__$Bytes_Bytes_$Impl_$.loadFromFile(__map_reserved[id] != null ? _this4.getReserved(id) : _this4.h[id]); } } } ,loadFont: function(id) { var _this = this.cachedFonts; if(__map_reserved[id] != null ? _this.existsReserved(id) : _this.h.hasOwnProperty(id)) { var _this1 = this.cachedFonts; return lime_app_Future.withValue(__map_reserved[id] != null ? _this1.getReserved(id) : _this1.h[id]); } else { var _this2 = this.classTypes; if(__map_reserved[id] != null ? _this2.existsReserved(id) : _this2.h.hasOwnProperty(id)) { var _this3 = this.classTypes; var font = Type.createInstance(__map_reserved[id] != null ? _this3.getReserved(id) : _this3.h[id],[]); return font.__loadFromName(font.name); } else { var _this4 = this.paths; return lime_text_Font.loadFromName(__map_reserved[id] != null ? _this4.getReserved(id) : _this4.h[id]); } } } ,loadImage: function(id) { var _gthis = this; var _this = this.cachedImages; if(__map_reserved[id] != null ? _this.existsReserved(id) : _this.h.hasOwnProperty(id)) { var _this1 = this.cachedImages; return lime_app_Future.withValue(__map_reserved[id] != null ? _this1.getReserved(id) : _this1.h[id]); } else { var _this2 = this.classTypes; if(__map_reserved[id] != null ? _this2.existsReserved(id) : _this2.h.hasOwnProperty(id)) { var _this3 = this.classTypes; return lime_app_Future.withValue(Type.createInstance(__map_reserved[id] != null ? _this3.getReserved(id) : _this3.h[id],[])); } else { var _this4 = this.cachedBytes; if(__map_reserved[id] != null ? _this4.existsReserved(id) : _this4.h.hasOwnProperty(id)) { var _this5 = this.cachedBytes; return lime_graphics_Image.loadFromBytes(__map_reserved[id] != null ? _this5.getReserved(id) : _this5.h[id]).then(function(image) { _gthis.cachedBytes.remove(id); var _this6 = _gthis.cachedImages; if(__map_reserved[id] != null) { _this6.setReserved(id,image); } else { _this6.h[id] = image; } return lime_app_Future.withValue(image); }); } else { var _this7 = this.paths; return lime_graphics_Image.loadFromFile(__map_reserved[id] != null ? _this7.getReserved(id) : _this7.h[id]); } } } } ,loadText: function(id) { var _this = this.cachedText; if(__map_reserved[id] != null ? _this.existsReserved(id) : _this.h.hasOwnProperty(id)) { var _this1 = this.cachedText; return lime_app_Future.withValue(__map_reserved[id] != null ? _this1.getReserved(id) : _this1.h[id]); } else { var tmp; var _this2 = this.cachedBytes; if(!(__map_reserved[id] != null ? _this2.existsReserved(id) : _this2.h.hasOwnProperty(id))) { var _this3 = this.classTypes; tmp = __map_reserved[id] != null ? _this3.existsReserved(id) : _this3.h.hasOwnProperty(id); } else { tmp = true; } if(tmp) { var bytes = this.getBytes(id); if(bytes == null) { return lime_app_Future.withValue(null); } else { var text = bytes.getString(0,bytes.length); var _this4 = this.cachedText; if(__map_reserved[id] != null) { _this4.setReserved(id,text); } else { _this4.h[id] = text; } return lime_app_Future.withValue(text); } } else { var request = new lime_net__$HTTPRequest_$String(); var _this5 = this.paths; return request.load(__map_reserved[id] != null ? _this5.getReserved(id) : _this5.h[id]); } } } ,unload: function() { } ,__assetLoaded: function(id) { this.assetsLoaded++; if(id != null) { var _this = this.types; lime_utils_Log.verbose("Loaded asset: " + id + " [" + (__map_reserved[id] != null ? _this.getReserved(id) : _this.h[id]) + "] (" + (this.assetsLoaded - 1) + "/" + (this.assetsTotal - 1) + ")",{ fileName : "lime/utils/AssetLibrary.hx", lineNumber : 619, className : "lime.utils.AssetLibrary", methodName : "__assetLoaded"}); } if(id != null) { var size; var _this1 = this.sizes; if(__map_reserved[id] != null ? _this1.existsReserved(id) : _this1.h.hasOwnProperty(id)) { var _this2 = this.sizes; size = __map_reserved[id] != null ? _this2.getReserved(id) : _this2.h[id]; } else { size = 0; } var _this3 = this.bytesLoadedCache; if(!(__map_reserved[id] != null ? _this3.existsReserved(id) : _this3.h.hasOwnProperty(id))) { this.bytesLoaded += size; } else { var _this4 = this.bytesLoadedCache; var cache = __map_reserved[id] != null ? _this4.getReserved(id) : _this4.h[id]; if(cache < size) { this.bytesLoaded += size - cache; } } var _this5 = this.bytesLoadedCache; if(__map_reserved[id] != null) { _this5.setReserved(id,size); } else { _this5.h[id] = size; } } if(this.assetsLoaded < this.assetsTotal) { this.promise.progress(this.bytesLoaded,this.bytesTotal); } else { this.loaded = true; this.promise.progress(this.bytesTotal,this.bytesTotal); this.promise.complete(this); } } ,__cacheBreak: function(path) { return lime_utils_Assets.__cacheBreak(path); } ,__fromBundle: function(bundle,manifest) { if(manifest != null) { var id; var data; var type; var _g = 0; var _g1 = manifest.assets; while(_g < _g1.length) { var asset = _g1[_g]; ++_g; id = Object.prototype.hasOwnProperty.call(asset,"id") ? asset.id : asset.path; var key = asset.path; var _this = bundle.data; data = __map_reserved[key] != null ? _this.getReserved(key) : _this.h[key]; if(Object.prototype.hasOwnProperty.call(asset,"type")) { type = asset.type; if(type == "TEXT") { var value = data != null ? Std.string(data) : null; var _this1 = this.cachedText; if(__map_reserved[id] != null) { _this1.setReserved(id,value); } else { _this1.h[id] = value; } } else { var _this2 = this.cachedBytes; if(__map_reserved[id] != null) { _this2.setReserved(id,data); } else { _this2.h[id] = data; } } var value1 = asset.type; var _this3 = this.types; if(__map_reserved[id] != null) { _this3.setReserved(id,value1); } else { _this3.h[id] = value1; } } else { var _this4 = this.cachedBytes; if(__map_reserved[id] != null) { _this4.setReserved(id,data); } else { _this4.h[id] = data; } var _this5 = this.types; var value2 = "BINARY"; if(__map_reserved[id] != null) { _this5.setReserved(id,value2); } else { _this5.h[id] = value2; } } } } else { var _g2 = 0; var _g11 = bundle.paths; while(_g2 < _g11.length) { var path = _g11[_g2]; ++_g2; var this1 = this.cachedBytes; var _this6 = bundle.data; var value3 = __map_reserved[path] != null ? _this6.getReserved(path) : _this6.h[path]; var _this7 = this1; if(__map_reserved[path] != null) { _this7.setReserved(path,value3); } else { _this7.h[path] = value3; } var _this8 = this.types; var value4 = "BINARY"; if(__map_reserved[path] != null) { _this8.setReserved(path,value4); } else { _this8.h[path] = value4; } } } } ,__fromManifest: function(manifest) { var hasSize = manifest.version >= 2; var size; var id; var pathGroup; var classRef; var basePath = manifest.rootPath; if(basePath == null) { basePath = ""; } if(basePath != "") { basePath += "/"; } var _g = 0; var _g1 = manifest.assets; while(_g < _g1.length) { var asset = _g1[_g]; ++_g; size = hasSize && Object.prototype.hasOwnProperty.call(asset,"size") ? asset.size : 100; id = Object.prototype.hasOwnProperty.call(asset,"id") ? asset.id : asset.path; if(Object.prototype.hasOwnProperty.call(asset,"path")) { var this1 = this.paths; var value = this.__cacheBreak(this.__resolvePath(basePath + Std.string(Reflect.field(asset,"path")))); var _this = this1; if(__map_reserved[id] != null) { _this.setReserved(id,value); } else { _this.h[id] = value; } } if(Object.prototype.hasOwnProperty.call(asset,"pathGroup")) { pathGroup = Reflect.field(asset,"pathGroup"); var _g2 = 0; var _g11 = pathGroup.length; while(_g2 < _g11) { var i = _g2++; pathGroup[i] = this.__cacheBreak(this.__resolvePath(basePath + pathGroup[i])); } var _this1 = this.pathGroups; if(__map_reserved[id] != null) { _this1.setReserved(id,pathGroup); } else { _this1.h[id] = pathGroup; } } var _this2 = this.sizes; if(__map_reserved[id] != null) { _this2.setReserved(id,size); } else { _this2.h[id] = size; } var value1 = asset.type; var _this3 = this.types; if(__map_reserved[id] != null) { _this3.setReserved(id,value1); } else { _this3.h[id] = value1; } if(Object.prototype.hasOwnProperty.call(asset,"preload")) { var value2 = Reflect.field(asset,"preload"); var _this4 = this.preload; if(__map_reserved[id] != null) { _this4.setReserved(id,value2); } else { _this4.h[id] = value2; } } if(Object.prototype.hasOwnProperty.call(asset,"className")) { var name = Reflect.field(asset,"className"); classRef = $hxClasses[name]; var _this5 = this.classTypes; if(__map_reserved[id] != null) { _this5.setReserved(id,classRef); } else { _this5.h[id] = classRef; } } } this.bytesTotal = 0; var _g21 = 0; var _g3 = manifest.assets; while(_g21 < _g3.length) { var asset1 = _g3[_g21]; ++_g21; id = Object.prototype.hasOwnProperty.call(asset1,"id") ? asset1.id : asset1.path; var tmp; var tmp1; var _this6 = this.preload; if(__map_reserved[id] != null ? _this6.existsReserved(id) : _this6.h.hasOwnProperty(id)) { var _this7 = this.preload; tmp1 = __map_reserved[id] != null ? _this7.getReserved(id) : _this7.h[id]; } else { tmp1 = false; } if(tmp1) { var _this8 = this.sizes; tmp = __map_reserved[id] != null ? _this8.existsReserved(id) : _this8.h.hasOwnProperty(id); } else { tmp = false; } if(tmp) { var _this9 = this.sizes; this.bytesTotal += __map_reserved[id] != null ? _this9.getReserved(id) : _this9.h[id]; } } } ,__resolvePath: function(path) { path = StringTools.replace(path,"\\","/"); var colonIdx = path.indexOf(":"); if(StringTools.startsWith(path,"http") && colonIdx > 0) { var lastSlashIdx = colonIdx + 3; var httpSection = HxOverrides.substr(path,0,lastSlashIdx); path = httpSection + StringTools.replace(HxOverrides.substr(path,lastSlashIdx,null),"//","/"); } else { path = StringTools.replace(path,"//","/"); } if(path.indexOf("./") > -1) { var split = path.split("/"); var newPath = []; var _g = 0; var _g1 = split.length; while(_g < _g1) { var i = _g++; if(split[i] == "..") { if(i == 0 || newPath[i - 1] == "..") { newPath.push(".."); } else { newPath.pop(); } } else if(split[i] == ".") { if(i == 0) { newPath.push("."); } } else { newPath.push(split[i]); } } path = newPath.join("/"); } return path; } ,loadAudioBuffer_onComplete: function(id,audioBuffer) { var _this = this.cachedAudioBuffers; if(__map_reserved[id] != null) { _this.setReserved(id,audioBuffer); } else { _this.h[id] = audioBuffer; } var _this1 = this.pathGroups; if(__map_reserved[id] != null ? _this1.existsReserved(id) : _this1.h.hasOwnProperty(id)) { var _this2 = this.pathGroups; var pathGroup = __map_reserved[id] != null ? _this2.getReserved(id) : _this2.h[id]; var otherID = this.pathGroups.keys(); while(otherID.hasNext()) { var otherID1 = otherID.next(); if(otherID1 == id) { continue; } var _g = 0; while(_g < pathGroup.length) { var path = pathGroup[_g]; ++_g; var _this3 = this.pathGroups; if((__map_reserved[otherID1] != null ? _this3.getReserved(otherID1) : _this3.h[otherID1]).indexOf(path) > -1) { var _this4 = this.cachedAudioBuffers; if(__map_reserved[otherID1] != null) { _this4.setReserved(otherID1,audioBuffer); } else { _this4.h[otherID1] = audioBuffer; } break; } } } } this.__assetLoaded(id); } ,loadAudioBuffer_onError: function(id,message) { if(message != null && message != "") { lime_utils_Log.warn("Could not load \"" + id + "\": " + Std.string(message),{ fileName : "lime/utils/AssetLibrary.hx", lineNumber : 865, className : "lime.utils.AssetLibrary", methodName : "loadAudioBuffer_onError"}); } else { lime_utils_Log.warn("Could not load \"" + id + "\"",{ fileName : "lime/utils/AssetLibrary.hx", lineNumber : 869, className : "lime.utils.AssetLibrary", methodName : "loadAudioBuffer_onError"}); } this.loadAudioBuffer_onComplete(id,new lime_media_AudioBuffer()); } ,loadBytes_onComplete: function(id,bytes) { var _this = this.cachedBytes; if(__map_reserved[id] != null) { _this.setReserved(id,bytes); } else { _this.h[id] = bytes; } this.__assetLoaded(id); } ,loadFont_onComplete: function(id,font) { var _this = this.cachedFonts; if(__map_reserved[id] != null) { _this.setReserved(id,font); } else { _this.h[id] = font; } this.__assetLoaded(id); } ,loadImage_onComplete: function(id,image) { var _this = this.cachedImages; if(__map_reserved[id] != null) { _this.setReserved(id,image); } else { _this.h[id] = image; } this.__assetLoaded(id); } ,loadText_onComplete: function(id,text) { var _this = this.cachedText; if(__map_reserved[id] != null) { _this.setReserved(id,text); } else { _this.h[id] = text; } this.__assetLoaded(id); } ,load_onError: function(id,message) { if(message != null && message != "") { this.promise.error("Error loading asset \"" + id + "\": " + Std.string(message)); } else { this.promise.error("Error loading asset \"" + id + "\""); } } ,load_onProgress: function(id,bytesLoaded,bytesTotal) { if(bytesLoaded > 0) { var _this = this.sizes; var size = __map_reserved[id] != null ? _this.getReserved(id) : _this.h[id]; var percent; if(bytesTotal > 0) { percent = bytesLoaded / bytesTotal; if(percent > 1) { percent = 1; } bytesLoaded = Math.floor(percent * size); } else if(bytesLoaded > size) { bytesLoaded = size; } var _this1 = this.bytesLoadedCache; if(__map_reserved[id] != null ? _this1.existsReserved(id) : _this1.h.hasOwnProperty(id)) { var _this2 = this.bytesLoadedCache; var cache = __map_reserved[id] != null ? _this2.getReserved(id) : _this2.h[id]; if(bytesLoaded != cache) { this.bytesLoaded += bytesLoaded - cache; } } else { this.bytesLoaded += bytesLoaded; } var _this3 = this.bytesLoadedCache; if(__map_reserved[id] != null) { _this3.setReserved(id,bytesLoaded); } else { _this3.h[id] = bytesLoaded; } this.promise.progress(this.bytesLoaded,this.bytesTotal); } } ,__class__: lime_utils_AssetLibrary }; var lime_utils_AssetManifest = function() { this.assets = []; this.libraryArgs = []; this.version = 2; }; $hxClasses["lime.utils.AssetManifest"] = lime_utils_AssetManifest; lime_utils_AssetManifest.__name__ = "lime.utils.AssetManifest"; lime_utils_AssetManifest.fromBytes = function(bytes,rootPath) { if(bytes != null) { return lime_utils_AssetManifest.parse(bytes.getString(0,bytes.length),rootPath); } else { return null; } }; lime_utils_AssetManifest.fromFile = function(path,rootPath) { path = lime_utils_AssetManifest.__resolvePath(path); rootPath = lime_utils_AssetManifest.__resolveRootPath(rootPath,path); if(path == null) { return null; } return lime_utils_AssetManifest.fromBytes(lime_utils__$Bytes_Bytes_$Impl_$.fromFile(path),rootPath); }; lime_utils_AssetManifest.loadFromBytes = function(bytes,rootPath) { return lime_app_Future.withValue(lime_utils_AssetManifest.fromBytes(bytes,rootPath)); }; lime_utils_AssetManifest.loadFromFile = function(path,rootPath) { path = lime_utils_AssetManifest.__resolvePath(path); rootPath = lime_utils_AssetManifest.__resolveRootPath(rootPath,path); if(path == null) { return null; } return lime_utils__$Bytes_Bytes_$Impl_$.loadFromFile(path).then(function(bytes) { return lime_app_Future.withValue(lime_utils_AssetManifest.fromBytes(bytes,rootPath)); }); }; lime_utils_AssetManifest.parse = function(data,rootPath) { if(data == null || data == "") { return null; } var manifestData = JSON.parse(data); var manifest = new lime_utils_AssetManifest(); if(Object.prototype.hasOwnProperty.call(manifestData,"name")) { manifest.name = manifestData.name; } if(Object.prototype.hasOwnProperty.call(manifestData,"libraryType")) { manifest.libraryType = manifestData.libraryType; } if(Object.prototype.hasOwnProperty.call(manifestData,"libraryArgs")) { manifest.libraryArgs = manifestData.libraryArgs; } if(Object.prototype.hasOwnProperty.call(manifestData,"assets")) { var assets = manifestData.assets; if(Object.prototype.hasOwnProperty.call(manifestData,"version") && manifestData.version <= 2) { manifest.assets = haxe_Unserializer.run(assets); } else { manifest.assets = assets; } } if(Object.prototype.hasOwnProperty.call(manifestData,"rootPath")) { manifest.rootPath = manifestData.rootPath; } if(rootPath != null && rootPath != "") { if(manifest.rootPath == null || manifest.rootPath == "") { manifest.rootPath = rootPath; } else { manifest.rootPath = rootPath + "/" + manifest.rootPath; } } return manifest; }; lime_utils_AssetManifest.__resolvePath = function(path) { if(path == null) { return null; } var queryIndex = path.indexOf("?"); var basePath; if(queryIndex > -1) { basePath = HxOverrides.substr(path,0,queryIndex); } else { basePath = path; } basePath = StringTools.replace(basePath,"\\","/"); while(StringTools.endsWith(basePath,"/")) basePath = HxOverrides.substr(basePath,0,basePath.length - 1); if(StringTools.endsWith(basePath,".bundle")) { if(queryIndex > -1) { return basePath + "/library.json" + HxOverrides.substr(path,queryIndex,null); } else { return basePath + "/library.json"; } } else { return path; } }; lime_utils_AssetManifest.__resolveRootPath = function(rootPath,path) { if(rootPath != null) { return rootPath; } var queryIndex = path.indexOf("?"); if(queryIndex > -1) { rootPath = HxOverrides.substr(path,0,queryIndex); } else { rootPath = path; } rootPath = StringTools.replace(rootPath,"\\","/"); while(StringTools.endsWith(rootPath,"/")) { if(rootPath == "/") { return rootPath; } rootPath = HxOverrides.substr(rootPath,0,rootPath.length - 1); } if(StringTools.endsWith(rootPath,".bundle")) { return rootPath; } else { return haxe_io_Path.directory(rootPath); } }; lime_utils_AssetManifest.prototype = { assets: null ,libraryArgs: null ,libraryType: null ,name: null ,rootPath: null ,version: null ,serialize: function() { var manifestData = { }; manifestData.version = this.version; manifestData.libraryType = this.libraryType; manifestData.libraryArgs = this.libraryArgs; manifestData.name = this.name; manifestData.assets = haxe_Serializer.run(this.assets); manifestData.rootPath = this.rootPath; return JSON.stringify(manifestData); } ,__class__: lime_utils_AssetManifest }; var lime_utils_Assets = function() { }; $hxClasses["lime.utils.Assets"] = lime_utils_Assets; lime_utils_Assets.__name__ = "lime.utils.Assets"; lime_utils_Assets.exists = function(id,type) { if(type == null) { type = "BINARY"; } var id1 = id; var colonIndex = id1.indexOf(":"); var symbol_libraryName = id1.substring(0,colonIndex); var symbol_symbolName = id1.substring(colonIndex + 1); var symbol_library = lime_utils_Assets.getLibrary(symbol_libraryName); if(symbol_library != null) { return symbol_library.exists(symbol_symbolName,type); } return false; }; lime_utils_Assets.getAsset = function(id,type,useCache) { if(useCache && lime_utils_Assets.cache.enabled) { switch(type) { case "BINARY":case "TEXT": useCache = false; break; case "FONT": var _this = lime_utils_Assets.cache.font; var font = __map_reserved[id] != null ? _this.getReserved(id) : _this.h[id]; if(font != null) { return font; } break; case "IMAGE": var _this1 = lime_utils_Assets.cache.image; var image = __map_reserved[id] != null ? _this1.getReserved(id) : _this1.h[id]; if(lime_utils_Assets.isValidImage(image)) { return image; } break; case "MUSIC":case "SOUND": var _this2 = lime_utils_Assets.cache.audio; var audio = __map_reserved[id] != null ? _this2.getReserved(id) : _this2.h[id]; if(lime_utils_Assets.isValidAudio(audio)) { return audio; } break; case "TEMPLATE": throw new js__$Boot_HaxeError("Not sure how to get template: " + id); default: return null; } } var id1 = id; var colonIndex = id1.indexOf(":"); var symbol_libraryName = id1.substring(0,colonIndex); var symbol_symbolName = id1.substring(colonIndex + 1); var symbol_library = lime_utils_Assets.getLibrary(symbol_libraryName); if(symbol_library != null) { if(symbol_library.exists(symbol_symbolName,type)) { if(symbol_library.isLocal(symbol_symbolName,type)) { var asset = symbol_library.getAsset(symbol_symbolName,type); if(useCache && lime_utils_Assets.cache.enabled) { lime_utils_Assets.cache.set(id,type,asset); } return asset; } else { lime_utils_Log.error(type + " asset \"" + id + "\" exists, but only asynchronously",{ fileName : "lime/utils/Assets.hx", lineNumber : 133, className : "lime.utils.Assets", methodName : "getAsset"}); } } else { lime_utils_Log.error("There is no " + type + " asset with an ID of \"" + id + "\"",{ fileName : "lime/utils/Assets.hx", lineNumber : 138, className : "lime.utils.Assets", methodName : "getAsset"}); } } else { lime_utils_Log.error(lime_utils_Assets.__libraryNotFound(symbol_libraryName),{ fileName : "lime/utils/Assets.hx", lineNumber : 143, className : "lime.utils.Assets", methodName : "getAsset"}); } return null; }; lime_utils_Assets.getAudioBuffer = function(id,useCache) { if(useCache == null) { useCache = true; } return lime_utils_Assets.getAsset(id,"SOUND",useCache); }; lime_utils_Assets.getBytes = function(id) { return lime_utils_Assets.getAsset(id,"BINARY",false); }; lime_utils_Assets.getFont = function(id,useCache) { if(useCache == null) { useCache = true; } return lime_utils_Assets.getAsset(id,"FONT",useCache); }; lime_utils_Assets.getImage = function(id,useCache) { if(useCache == null) { useCache = true; } return lime_utils_Assets.getAsset(id,"IMAGE",useCache); }; lime_utils_Assets.getLibrary = function(name) { if(name == null || name == "") { name = "default"; } var _this = lime_utils_Assets.libraries; if(__map_reserved[name] != null) { return _this.getReserved(name); } else { return _this.h[name]; } }; lime_utils_Assets.getPath = function(id) { var id1 = id; var colonIndex = id1.indexOf(":"); var symbol_libraryName = id1.substring(0,colonIndex); var symbol_symbolName = id1.substring(colonIndex + 1); var symbol_library = lime_utils_Assets.getLibrary(symbol_libraryName); if(symbol_library != null) { if(symbol_library.exists(symbol_symbolName,null)) { return symbol_library.getPath(symbol_symbolName); } else { lime_utils_Log.error("There is no asset with an ID of \"" + id + "\"",{ fileName : "lime/utils/Assets.hx", lineNumber : 224, className : "lime.utils.Assets", methodName : "getPath"}); } } else { lime_utils_Log.error(lime_utils_Assets.__libraryNotFound(symbol_libraryName),{ fileName : "lime/utils/Assets.hx", lineNumber : 229, className : "lime.utils.Assets", methodName : "getPath"}); } return null; }; lime_utils_Assets.getText = function(id) { return lime_utils_Assets.getAsset(id,"TEXT",false); }; lime_utils_Assets.hasLibrary = function(name) { if(name == null || name == "") { name = "default"; } var _this = lime_utils_Assets.libraries; if(__map_reserved[name] != null) { return _this.existsReserved(name); } else { return _this.h.hasOwnProperty(name); } }; lime_utils_Assets.isLocal = function(id,type,useCache) { if(useCache == null) { useCache = true; } if(useCache && lime_utils_Assets.cache.enabled) { if(lime_utils_Assets.cache.exists(id,type)) { return true; } } var id1 = id; var colonIndex = id1.indexOf(":"); var symbol_libraryName = id1.substring(0,colonIndex); var symbol_symbolName = id1.substring(colonIndex + 1); var symbol_library = lime_utils_Assets.getLibrary(symbol_libraryName); if(symbol_library != null) { return symbol_library.isLocal(symbol_symbolName,type); } else { return false; } }; lime_utils_Assets.isValidAudio = function(buffer) { return buffer != null; }; lime_utils_Assets.isValidImage = function(image) { if(image != null) { return image.buffer != null; } else { return false; } }; lime_utils_Assets.list = function(type) { var items = []; var _this = lime_utils_Assets.libraries; var library = new haxe_ds__$StringMap_StringMapIterator(_this,_this.arrayKeys()); while(library.hasNext()) { var library1 = library.next(); var libraryItems = library1.list(type); if(libraryItems != null) { items = items.concat(libraryItems); } } return items; }; lime_utils_Assets.loadAsset = function(id,type,useCache) { if(useCache && lime_utils_Assets.cache.enabled) { switch(type) { case "BINARY":case "TEXT": useCache = false; break; case "FONT": var _this = lime_utils_Assets.cache.font; var font = __map_reserved[id] != null ? _this.getReserved(id) : _this.h[id]; if(font != null) { return lime_app_Future.withValue(font); } break; case "IMAGE": var _this1 = lime_utils_Assets.cache.image; var image = __map_reserved[id] != null ? _this1.getReserved(id) : _this1.h[id]; if(lime_utils_Assets.isValidImage(image)) { return lime_app_Future.withValue(image); } break; case "MUSIC":case "SOUND": var _this2 = lime_utils_Assets.cache.audio; var audio = __map_reserved[id] != null ? _this2.getReserved(id) : _this2.h[id]; if(lime_utils_Assets.isValidAudio(audio)) { return lime_app_Future.withValue(audio); } break; case "TEMPLATE": throw new js__$Boot_HaxeError("Not sure how to get template: " + id); default: return null; } } var id1 = id; var colonIndex = id1.indexOf(":"); var symbol_libraryName = id1.substring(0,colonIndex); var symbol_symbolName = id1.substring(colonIndex + 1); var symbol_library = lime_utils_Assets.getLibrary(symbol_libraryName); if(symbol_library != null) { if(symbol_library.exists(symbol_symbolName,type)) { var future = symbol_library.loadAsset(symbol_symbolName,type); if(useCache && lime_utils_Assets.cache.enabled) { future.onComplete(function(asset) { lime_utils_Assets.cache.set(id,type,asset); }); } return future; } else { return lime_app_Future.withError("There is no " + type + " asset with an ID of \"" + id + "\""); } } else { return lime_app_Future.withError(lime_utils_Assets.__libraryNotFound(symbol_libraryName)); } }; lime_utils_Assets.loadAudioBuffer = function(id,useCache) { if(useCache == null) { useCache = true; } return lime_utils_Assets.loadAsset(id,"SOUND",useCache); }; lime_utils_Assets.loadBytes = function(id) { return lime_utils_Assets.loadAsset(id,"BINARY",false); }; lime_utils_Assets.loadFont = function(id,useCache) { if(useCache == null) { useCache = true; } return lime_utils_Assets.loadAsset(id,"FONT",useCache); }; lime_utils_Assets.loadImage = function(id,useCache) { if(useCache == null) { useCache = true; } return lime_utils_Assets.loadAsset(id,"IMAGE",useCache); }; lime_utils_Assets.loadLibrary = function(id) { var promise = new lime_app_Promise(); var library = lime_utils_Assets.getLibrary(id); if(library != null) { return library.load(); } var path = id; var rootPath = null; var _this = lime_utils_Assets.bundlePaths; if(__map_reserved[id] != null ? _this.existsReserved(id) : _this.h.hasOwnProperty(id)) { var _this1 = lime_utils_Assets.bundlePaths; lime_utils_AssetBundle.loadFromFile(__map_reserved[id] != null ? _this1.getReserved(id) : _this1.h[id]).onComplete(function(bundle) { if(bundle == null) { promise.error("Cannot load bundle for library \"" + id + "\""); return; } var library1 = lime_utils_AssetLibrary.fromBundle(bundle); if(library1 == null) { promise.error("Cannot open library \"" + id + "\""); } else { var _this2 = lime_utils_Assets.libraries; if(__map_reserved[id] != null) { _this2.setReserved(id,library1); } else { _this2.h[id] = library1; } library1.onChange.add(($_=lime_utils_Assets.onChange,$bind($_,$_.dispatch))); var tmp = library1.load(); promise.completeWith(tmp); } }).onError(function(_) { promise.error("There is no asset library with an ID of \"" + id + "\""); }); } else { var _this3 = lime_utils_Assets.libraryPaths; if(__map_reserved[id] != null ? _this3.existsReserved(id) : _this3.h.hasOwnProperty(id)) { var _this4 = lime_utils_Assets.libraryPaths; path = __map_reserved[id] != null ? _this4.getReserved(id) : _this4.h[id]; rootPath = haxe_io_Path.directory(path); } else { if(StringTools.endsWith(path,".bundle")) { rootPath = path; path += "/library.json"; } else { rootPath = haxe_io_Path.directory(path); } path = lime_utils_Assets.__cacheBreak(path); } lime_utils_AssetManifest.loadFromFile(path,rootPath).onComplete(function(manifest) { if(manifest == null) { promise.error("Cannot parse asset manifest for library \"" + id + "\""); return; } var library2 = lime_utils_AssetLibrary.fromManifest(manifest); if(library2 == null) { promise.error("Cannot open library \"" + id + "\""); } else { var _this5 = lime_utils_Assets.libraries; if(__map_reserved[id] != null) { _this5.setReserved(id,library2); } else { _this5.h[id] = library2; } library2.onChange.add(($_=lime_utils_Assets.onChange,$bind($_,$_.dispatch))); var tmp1 = library2.load(); promise.completeWith(tmp1); } }).onError(function(_1) { promise.error("There is no asset library with an ID of \"" + id + "\""); }); } return promise.future; }; lime_utils_Assets.loadText = function(id) { return lime_utils_Assets.loadAsset(id,"TEXT",false); }; lime_utils_Assets.registerLibrary = function(name,library) { var _this = lime_utils_Assets.libraries; if(__map_reserved[name] != null ? _this.existsReserved(name) : _this.h.hasOwnProperty(name)) { var _this1 = lime_utils_Assets.libraries; if((__map_reserved[name] != null ? _this1.getReserved(name) : _this1.h[name]) == library) { return; } else { lime_utils_Assets.unloadLibrary(name); } } if(library != null) { library.onChange.add(lime_utils_Assets.library_onChange); } var _this2 = lime_utils_Assets.libraries; if(__map_reserved[name] != null) { _this2.setReserved(name,library); } else { _this2.h[name] = library; } }; lime_utils_Assets.unloadLibrary = function(name) { if(name == null || name == "") { name = "default"; } var _this = lime_utils_Assets.libraries; var library = __map_reserved[name] != null ? _this.getReserved(name) : _this.h[name]; if(library != null) { lime_utils_Assets.cache.clear(name + ":"); library.onChange.remove(lime_utils_Assets.library_onChange); library.unload(); } lime_utils_Assets.libraries.remove(name); }; lime_utils_Assets.__cacheBreak = function(path) { if(lime_utils_Assets.cache.version > 0) { if(path.indexOf("?") > -1) { path += "&" + lime_utils_Assets.cache.version; } else { path += "?" + lime_utils_Assets.cache.version; } } return path; }; lime_utils_Assets.__libraryNotFound = function(name) { if(name == null || name == "") { name = "default"; } if(lime_app_Application.current != null && lime_app_Application.current.__preloader != null && !lime_app_Application.current.__preloader.complete) { return "There is no asset library named \"" + name + "\", or it is not yet preloaded"; } else { return "There is no asset library named \"" + name + "\""; } }; lime_utils_Assets.library_onChange = function() { lime_utils_Assets.cache.clear(); lime_utils_Assets.onChange.dispatch(); }; var lime_utils__$Assets_LibrarySymbol = function(id) { var colonIndex = id.indexOf(":"); this.libraryName = id.substring(0,colonIndex); this.symbolName = id.substring(colonIndex + 1); this.library = lime_utils_Assets.getLibrary(this.libraryName); }; $hxClasses["lime.utils._Assets.LibrarySymbol"] = lime_utils__$Assets_LibrarySymbol; lime_utils__$Assets_LibrarySymbol.__name__ = "lime.utils._Assets.LibrarySymbol"; lime_utils__$Assets_LibrarySymbol.prototype = { library: null ,libraryName: null ,symbolName: null ,isLocal: function(type) { return this.library.isLocal(this.symbolName,type); } ,exists: function(type) { return this.library.exists(this.symbolName,type); } ,__class__: lime_utils__$Assets_LibrarySymbol }; var lime_utils__$BytePointer_BytePointer_$Impl_$ = {}; $hxClasses["lime.utils._BytePointer.BytePointer_Impl_"] = lime_utils__$BytePointer_BytePointer_$Impl_$; lime_utils__$BytePointer_BytePointer_$Impl_$.__name__ = "lime.utils._BytePointer.BytePointer_Impl_"; lime_utils__$BytePointer_BytePointer_$Impl_$._new = function(bytes,offset) { if(offset == null) { offset = 0; } var this1 = new lime_utils_BytePointerData(bytes,offset); return this1; }; lime_utils__$BytePointer_BytePointer_$Impl_$.set = function(this1,bytes,bufferView,buffer,offset) { if(buffer != null) { bytes = haxe_io_Bytes.ofData(buffer); } if(bytes != null || bufferView == null) { this1.bytes = bytes; this1.offset = offset != null ? offset : 0; } else { this1.bytes = haxe_io_Bytes.ofData(bufferView.buffer); this1.offset = offset != null ? bufferView.byteOffset + offset : bufferView.byteOffset; } }; lime_utils__$BytePointer_BytePointer_$Impl_$.__arrayGet = function(this1,index) { if(this1.bytes != null) { return this1.bytes.b[index + this1.offset]; } else { return 0; } }; lime_utils__$BytePointer_BytePointer_$Impl_$.__arraySet = function(this1,index,value) { if(this1.bytes == null) { this1.bytes.b[index + this1.offset] = value & 255; } return value; }; lime_utils__$BytePointer_BytePointer_$Impl_$.fromArrayBufferView = function(arrayBufferView) { if(arrayBufferView == null) { return null; } return new lime_utils_BytePointerData(haxe_io_Bytes.ofData(arrayBufferView.buffer),arrayBufferView.byteOffset); }; lime_utils__$BytePointer_BytePointer_$Impl_$.fromArrayBuffer = function(buffer) { if(buffer == null) { return null; } return new lime_utils_BytePointerData(haxe_io_Bytes.ofData(buffer),0); }; lime_utils__$BytePointer_BytePointer_$Impl_$.fromBytes = function(bytes) { return new lime_utils_BytePointerData(bytes,0); }; lime_utils__$BytePointer_BytePointer_$Impl_$.fromBytesData = function(bytesData) { if(bytesData == null) { return new lime_utils_BytePointerData(null,0); } else { return new lime_utils_BytePointerData(haxe_io_Bytes.ofData(bytesData),0); } }; lime_utils__$BytePointer_BytePointer_$Impl_$.fromFile = function(path) { return new lime_utils_BytePointerData(lime_utils__$Bytes_Bytes_$Impl_$.fromFile(path),0); }; lime_utils__$BytePointer_BytePointer_$Impl_$.fromLimeBytes = function(bytes) { return new lime_utils_BytePointerData(bytes,0); }; lime_utils__$BytePointer_BytePointer_$Impl_$.toUInt8Array = function(bytePointer) { var elements = null; var array = null; var vector = null; var view = null; var buffer = bytePointer.bytes.b.bufferValue; var byteoffset = bytePointer.offset / 8 | 0; var len = null; if(byteoffset == null) { byteoffset = 0; } var this1; if(elements != null) { this1 = new Uint8Array(elements); } else if(array != null) { this1 = new Uint8Array(array); } else if(vector != null) { this1 = new Uint8Array(vector.__array); } else if(view != null) { this1 = new Uint8Array(view); } else if(buffer != null) { if(len == null) { this1 = new Uint8Array(buffer,byteoffset); } else { this1 = new Uint8Array(buffer,byteoffset,len); } } else { this1 = null; } return this1; }; lime_utils__$BytePointer_BytePointer_$Impl_$.toUInt8ClampedArray = function(bytePointer) { if(bytePointer == null || bytePointer.bytes == null) { return null; } var elements = null; var array = null; var vector = null; var view = null; var buffer = bytePointer.bytes.b.bufferValue; var byteoffset = bytePointer.offset / 8 | 0; var len = null; if(byteoffset == null) { byteoffset = 0; } var this1; if(elements != null) { this1 = new Uint8ClampedArray(elements); } else if(array != null) { this1 = new Uint8ClampedArray(array); } else if(vector != null) { this1 = new Uint8ClampedArray(vector.__array); } else if(view != null) { this1 = new Uint8ClampedArray(view); } else if(buffer != null) { if(len == null) { this1 = new Uint8ClampedArray(buffer,byteoffset); } else { this1 = new Uint8ClampedArray(buffer,byteoffset,len); } } else { this1 = null; } return this1; }; lime_utils__$BytePointer_BytePointer_$Impl_$.toInt8Array = function(bytePointer) { if(bytePointer == null || bytePointer.bytes == null) { return null; } var elements = null; var array = null; var vector = null; var view = null; var buffer = bytePointer.bytes.b.bufferValue; var byteoffset = bytePointer.offset / 8 | 0; var len = null; if(byteoffset == null) { byteoffset = 0; } var this1; if(elements != null) { this1 = new Int8Array(elements); } else if(array != null) { this1 = new Int8Array(array); } else if(vector != null) { this1 = new Int8Array(vector.__array); } else if(view != null) { this1 = new Int8Array(view); } else if(buffer != null) { if(len == null) { this1 = new Int8Array(buffer,byteoffset); } else { this1 = new Int8Array(buffer,byteoffset,len); } } else { this1 = null; } return this1; }; lime_utils__$BytePointer_BytePointer_$Impl_$.toUInt16Array = function(bytePointer) { if(bytePointer == null || bytePointer.bytes == null) { return null; } var elements = null; var array = null; var vector = null; var view = null; var buffer = bytePointer.bytes.b.bufferValue; var byteoffset = bytePointer.offset / 16 | 0; var len = null; if(byteoffset == null) { byteoffset = 0; } var this1; if(elements != null) { this1 = new Uint16Array(elements); } else if(array != null) { this1 = new Uint16Array(array); } else if(vector != null) { this1 = new Uint16Array(vector.__array); } else if(view != null) { this1 = new Uint16Array(view); } else if(buffer != null) { if(len == null) { this1 = new Uint16Array(buffer,byteoffset); } else { this1 = new Uint16Array(buffer,byteoffset,len); } } else { this1 = null; } return this1; }; lime_utils__$BytePointer_BytePointer_$Impl_$.toInt16Array = function(bytePointer) { if(bytePointer == null || bytePointer.bytes == null) { return null; } var elements = null; var array = null; var vector = null; var view = null; var buffer = bytePointer.bytes.b.bufferValue; var byteoffset = bytePointer.offset / 16 | 0; var len = null; if(byteoffset == null) { byteoffset = 0; } var this1; if(elements != null) { this1 = new Int16Array(elements); } else if(array != null) { this1 = new Int16Array(array); } else if(vector != null) { this1 = new Int16Array(vector.__array); } else if(view != null) { this1 = new Int16Array(view); } else if(buffer != null) { if(len == null) { this1 = new Int16Array(buffer,byteoffset); } else { this1 = new Int16Array(buffer,byteoffset,len); } } else { this1 = null; } return this1; }; lime_utils__$BytePointer_BytePointer_$Impl_$.toUInt32Array = function(bytePointer) { if(bytePointer == null || bytePointer.bytes == null) { return null; } var elements = null; var array = null; var vector = null; var view = null; var buffer = bytePointer.bytes.b.bufferValue; var byteoffset = bytePointer.offset / 32 | 0; var len = null; if(byteoffset == null) { byteoffset = 0; } var this1; if(elements != null) { this1 = new Uint32Array(elements); } else if(array != null) { this1 = new Uint32Array(array); } else if(vector != null) { this1 = new Uint32Array(vector.__array); } else if(view != null) { this1 = new Uint32Array(view); } else if(buffer != null) { if(len == null) { this1 = new Uint32Array(buffer,byteoffset); } else { this1 = new Uint32Array(buffer,byteoffset,len); } } else { this1 = null; } return this1; }; lime_utils__$BytePointer_BytePointer_$Impl_$.toInt32Array = function(bytePointer) { if(bytePointer == null || bytePointer.bytes == null) { return null; } var elements = null; var array = null; var vector = null; var view = null; var buffer = bytePointer.bytes.b.bufferValue; var byteoffset = bytePointer.offset / 32 | 0; var len = null; if(byteoffset == null) { byteoffset = 0; } var this1; if(elements != null) { this1 = new Int32Array(elements); } else if(array != null) { this1 = new Int32Array(array); } else if(vector != null) { this1 = new Int32Array(vector.__array); } else if(view != null) { this1 = new Int32Array(view); } else if(buffer != null) { if(len == null) { this1 = new Int32Array(buffer,byteoffset); } else { this1 = new Int32Array(buffer,byteoffset,len); } } else { this1 = null; } return this1; }; lime_utils__$BytePointer_BytePointer_$Impl_$.toFloat32Array = function(bytePointer) { if(bytePointer == null || bytePointer.bytes == null) { return null; } var elements = null; var array = null; var vector = null; var view = null; var buffer = bytePointer.bytes.b.bufferValue; var byteoffset = bytePointer.offset / 32 | 0; var len = null; if(byteoffset == null) { byteoffset = 0; } var this1; if(elements != null) { this1 = new Float32Array(elements); } else if(array != null) { this1 = new Float32Array(array); } else if(vector != null) { this1 = new Float32Array(vector.__array); } else if(view != null) { this1 = new Float32Array(view); } else if(buffer != null) { if(len == null) { this1 = new Float32Array(buffer,byteoffset); } else { this1 = new Float32Array(buffer,byteoffset,len); } } else { this1 = null; } return this1; }; lime_utils__$BytePointer_BytePointer_$Impl_$.toFloat64Array = function(bytePointer) { if(bytePointer == null || bytePointer.bytes == null) { return null; } var elements = null; var array = null; var vector = null; var view = null; var buffer = bytePointer.bytes.b.bufferValue; var byteoffset = bytePointer.offset / 64 | 0; var len = null; if(byteoffset == null) { byteoffset = 0; } var this1; if(elements != null) { this1 = new Float64Array(elements); } else if(array != null) { this1 = new Float64Array(array); } else if(vector != null) { this1 = new Float64Array(vector.__array); } else if(view != null) { this1 = new Float64Array(view); } else if(buffer != null) { if(len == null) { this1 = new Float64Array(buffer,byteoffset); } else { this1 = new Float64Array(buffer,byteoffset,len); } } else { this1 = null; } return this1; }; var lime_utils_BytePointerData = function(bytes,offset) { this.bytes = bytes; this.offset = offset; }; $hxClasses["lime.utils.BytePointerData"] = lime_utils_BytePointerData; lime_utils_BytePointerData.__name__ = "lime.utils.BytePointerData"; lime_utils_BytePointerData.prototype = { bytes: null ,offset: null ,__class__: lime_utils_BytePointerData }; var lime_utils__$Bytes_Bytes_$Impl_$ = {}; $hxClasses["lime.utils._Bytes.Bytes_Impl_"] = lime_utils__$Bytes_Bytes_$Impl_$; lime_utils__$Bytes_Bytes_$Impl_$.__name__ = "lime.utils._Bytes.Bytes_Impl_"; lime_utils__$Bytes_Bytes_$Impl_$._new = function(length,bytesData) { var this1 = new haxe_io_Bytes(bytesData); return this1; }; lime_utils__$Bytes_Bytes_$Impl_$.alloc = function(length) { return new haxe_io_Bytes(new ArrayBuffer(length)); }; lime_utils__$Bytes_Bytes_$Impl_$.compress = function(this1,algorithm) { switch(algorithm._hx_index) { case 0: return lime__$internal_format_Deflate.compress(this1); case 1: return lime__$internal_format_GZip.compress(this1); case 2: return lime__$internal_format_LZMA.compress(this1); case 3: return lime__$internal_format_Zlib.compress(this1); } }; lime_utils__$Bytes_Bytes_$Impl_$.decompress = function(this1,algorithm) { switch(algorithm._hx_index) { case 0: return lime__$internal_format_Deflate.decompress(this1); case 1: return lime__$internal_format_GZip.decompress(this1); case 2: return lime__$internal_format_LZMA.decompress(this1); case 3: return lime__$internal_format_Zlib.decompress(this1); } }; lime_utils__$Bytes_Bytes_$Impl_$.fastGet = function(b,pos) { return b.bytes[pos]; }; lime_utils__$Bytes_Bytes_$Impl_$.fromBytes = function(bytes) { if(bytes == null) { return null; } return lime_utils__$Bytes_Bytes_$Impl_$._new(bytes.length,bytes.b.bufferValue); }; lime_utils__$Bytes_Bytes_$Impl_$.fromFile = function(path) { return null; }; lime_utils__$Bytes_Bytes_$Impl_$.loadFromBytes = function(bytes) { return lime_app_Future.withValue(lime_utils__$Bytes_Bytes_$Impl_$.fromBytes(bytes)); }; lime_utils__$Bytes_Bytes_$Impl_$.loadFromFile = function(path) { var request = new lime_net__$HTTPRequest_$lime_$utils_$Bytes(); return request.load(path); }; lime_utils__$Bytes_Bytes_$Impl_$.ofData = function(b) { var bytes = haxe_io_Bytes.ofData(b); return lime_utils__$Bytes_Bytes_$Impl_$._new(bytes.length,bytes.b.bufferValue); }; lime_utils__$Bytes_Bytes_$Impl_$.ofString = function(s) { var bytes = haxe_io_Bytes.ofString(s); return lime_utils__$Bytes_Bytes_$Impl_$._new(bytes.length,bytes.b.bufferValue); }; var lime_utils_CompressionAlgorithm = $hxEnums["lime.utils.CompressionAlgorithm"] = { __ename__ : "lime.utils.CompressionAlgorithm", __constructs__ : ["DEFLATE","GZIP","LZMA","ZLIB"] ,DEFLATE: {_hx_index:0,__enum__:"lime.utils.CompressionAlgorithm",toString:$estr} ,GZIP: {_hx_index:1,__enum__:"lime.utils.CompressionAlgorithm",toString:$estr} ,LZMA: {_hx_index:2,__enum__:"lime.utils.CompressionAlgorithm",toString:$estr} ,ZLIB: {_hx_index:3,__enum__:"lime.utils.CompressionAlgorithm",toString:$estr} }; var lime_utils__$DataPointer_DataPointer_$Impl_$ = {}; $hxClasses["lime.utils._DataPointer.DataPointer_Impl_"] = lime_utils__$DataPointer_DataPointer_$Impl_$; lime_utils__$DataPointer_DataPointer_$Impl_$.__name__ = "lime.utils._DataPointer.DataPointer_Impl_"; lime_utils__$DataPointer_DataPointer_$Impl_$._new = function(data) { var this1 = data; return this1; }; lime_utils__$DataPointer_DataPointer_$Impl_$.fromFloat = function(value) { return value; }; lime_utils__$DataPointer_DataPointer_$Impl_$.fromBytesPointer = function(pointer) { return lime_utils__$DataPointer_DataPointer_$Impl_$.fromFloat(0); }; lime_utils__$DataPointer_DataPointer_$Impl_$.fromArrayBufferView = function(arrayBufferView) { return lime_utils__$DataPointer_DataPointer_$Impl_$.fromFloat(0); }; lime_utils__$DataPointer_DataPointer_$Impl_$.fromArrayBuffer = function(buffer) { return lime_utils__$DataPointer_DataPointer_$Impl_$.fromFloat(0); }; lime_utils__$DataPointer_DataPointer_$Impl_$.fromBytes = function(bytes) { return lime_utils__$DataPointer_DataPointer_$Impl_$.fromFloat(0); }; lime_utils__$DataPointer_DataPointer_$Impl_$.fromBytesData = function(bytesData) { return lime_utils__$DataPointer_DataPointer_$Impl_$.fromFloat(0); }; lime_utils__$DataPointer_DataPointer_$Impl_$.fromLimeBytes = function(bytes) { return lime_utils__$DataPointer_DataPointer_$Impl_$.fromBytes(bytes); }; lime_utils__$DataPointer_DataPointer_$Impl_$.fromCFFIPointer = function(pointer) { return lime_utils__$DataPointer_DataPointer_$Impl_$.fromFloat(0); }; lime_utils__$DataPointer_DataPointer_$Impl_$.fromFile = function(path) { return lime_utils__$DataPointer_DataPointer_$Impl_$.fromFloat(0); }; lime_utils__$DataPointer_DataPointer_$Impl_$.__withOffset = function(data,offset) { return lime_utils__$DataPointer_DataPointer_$Impl_$.fromFloat(0); }; lime_utils__$DataPointer_DataPointer_$Impl_$.equals = function(a,b) { return a == b; }; lime_utils__$DataPointer_DataPointer_$Impl_$.equalsPointer = function(a,b) { return a == b; }; lime_utils__$DataPointer_DataPointer_$Impl_$.greaterThan = function(a,b) { return a > b; }; lime_utils__$DataPointer_DataPointer_$Impl_$.greaterThanPointer = function(a,b) { return lime_system__$CFFIPointer_CFFIPointer_$Impl_$.get(a) > lime_system__$CFFIPointer_CFFIPointer_$Impl_$.get(b); }; lime_utils__$DataPointer_DataPointer_$Impl_$.greaterThanOrEqual = function(a,b) { return a >= b; }; lime_utils__$DataPointer_DataPointer_$Impl_$.greaterThanOrEqualPointer = function(a,b) { return lime_system__$CFFIPointer_CFFIPointer_$Impl_$.get(a) >= lime_system__$CFFIPointer_CFFIPointer_$Impl_$.get(b); }; lime_utils__$DataPointer_DataPointer_$Impl_$.lessThan = function(a,b) { return a < b; }; lime_utils__$DataPointer_DataPointer_$Impl_$.lessThanPointer = function(a,b) { return lime_system__$CFFIPointer_CFFIPointer_$Impl_$.get(a) < lime_system__$CFFIPointer_CFFIPointer_$Impl_$.get(b); }; lime_utils__$DataPointer_DataPointer_$Impl_$.lessThanOrEqual = function(a,b) { return a <= b; }; lime_utils__$DataPointer_DataPointer_$Impl_$.lessThanOrEqualPointer = function(a,b) { return lime_system__$CFFIPointer_CFFIPointer_$Impl_$.get(a) <= lime_system__$CFFIPointer_CFFIPointer_$Impl_$.get(b); }; lime_utils__$DataPointer_DataPointer_$Impl_$.notEquals = function(a,b) { return a != b; }; lime_utils__$DataPointer_DataPointer_$Impl_$.notEqualsPointer = function(a,b) { return a != b; }; lime_utils__$DataPointer_DataPointer_$Impl_$.plus = function(a,b) { return lime_utils__$DataPointer_DataPointer_$Impl_$.__withOffset(a,b); }; lime_utils__$DataPointer_DataPointer_$Impl_$.plusPointer = function(a,b) { return lime_utils__$DataPointer_DataPointer_$Impl_$.__withOffset(a,b | 0); }; lime_utils__$DataPointer_DataPointer_$Impl_$.minus = function(a,b) { return lime_utils__$DataPointer_DataPointer_$Impl_$.__withOffset(a,-b); }; lime_utils__$DataPointer_DataPointer_$Impl_$.minusPointer = function(a,b) { return lime_utils__$DataPointer_DataPointer_$Impl_$.__withOffset(a,-(b | 0)); }; var lime_utils__$Float32Array_Float32Array_$Impl_$ = {}; $hxClasses["lime.utils._Float32Array.Float32Array_Impl_"] = lime_utils__$Float32Array_Float32Array_$Impl_$; lime_utils__$Float32Array_Float32Array_$Impl_$.__name__ = "lime.utils._Float32Array.Float32Array_Impl_"; lime_utils__$Float32Array_Float32Array_$Impl_$.toArrayBufferView = function(this1) { return this1; }; lime_utils__$Float32Array_Float32Array_$Impl_$.fromBytes = function(bytes,byteOffset,len) { if(byteOffset == null) { byteOffset = 0; } if(byteOffset == null) { return new Float32Array(bytes.b.bufferValue); } if(len == null) { return new Float32Array(bytes.b.bufferValue,byteOffset); } return new Float32Array(bytes.b.bufferValue,byteOffset,len); }; lime_utils__$Float32Array_Float32Array_$Impl_$.toBytes = function(this1) { return new haxe_io_Bytes(new Uint8Array(this1.buffer)); }; lime_utils__$Float32Array_Float32Array_$Impl_$.toString = function(this1) { if(this1 != null) { return "Float32Array [byteLength:" + this1.byteLength + ", length:" + this1.length + "]"; } else { return null; } }; var lime_utils__$Float64Array_Float64Array_$Impl_$ = {}; $hxClasses["lime.utils._Float64Array.Float64Array_Impl_"] = lime_utils__$Float64Array_Float64Array_$Impl_$; lime_utils__$Float64Array_Float64Array_$Impl_$.__name__ = "lime.utils._Float64Array.Float64Array_Impl_"; lime_utils__$Float64Array_Float64Array_$Impl_$.toArrayBufferView = function(this1) { return this1; }; lime_utils__$Float64Array_Float64Array_$Impl_$.fromBytes = function(bytes,byteOffset,len) { if(byteOffset == null) { byteOffset = 0; } if(byteOffset == null) { return new Float64Array(bytes.b.bufferValue); } if(len == null) { return new Float64Array(bytes.b.bufferValue,byteOffset); } return new Float64Array(bytes.b.bufferValue,byteOffset,len); }; lime_utils__$Float64Array_Float64Array_$Impl_$.toBytes = function(this1) { return new haxe_io_Bytes(new Uint8Array(this1.buffer)); }; lime_utils__$Float64Array_Float64Array_$Impl_$.toString = function(this1) { if(this1 != null) { return "Float64Array [byteLength:" + this1.byteLength + ", length:" + this1.length + "]"; } else { return null; } }; var lime_utils__$Int16Array_Int16Array_$Impl_$ = {}; $hxClasses["lime.utils._Int16Array.Int16Array_Impl_"] = lime_utils__$Int16Array_Int16Array_$Impl_$; lime_utils__$Int16Array_Int16Array_$Impl_$.__name__ = "lime.utils._Int16Array.Int16Array_Impl_"; lime_utils__$Int16Array_Int16Array_$Impl_$.toArrayBufferView = function(this1) { return this1; }; lime_utils__$Int16Array_Int16Array_$Impl_$.fromBytes = function(bytes,byteOffset,len) { if(byteOffset == null) { byteOffset = 0; } if(byteOffset == null) { return new Int16Array(bytes.b.bufferValue); } if(len == null) { return new Int16Array(bytes.b.bufferValue,byteOffset); } return new Int16Array(bytes.b.bufferValue,byteOffset,len); }; lime_utils__$Int16Array_Int16Array_$Impl_$.toBytes = function(this1) { return new haxe_io_Bytes(new Uint8Array(this1.buffer)); }; lime_utils__$Int16Array_Int16Array_$Impl_$.toString = function(this1) { if(this1 != null) { return "Int16Array [byteLength:" + this1.byteLength + ", length:" + this1.length + "]"; } else { return null; } }; var lime_utils__$Int32Array_Int32Array_$Impl_$ = {}; $hxClasses["lime.utils._Int32Array.Int32Array_Impl_"] = lime_utils__$Int32Array_Int32Array_$Impl_$; lime_utils__$Int32Array_Int32Array_$Impl_$.__name__ = "lime.utils._Int32Array.Int32Array_Impl_"; lime_utils__$Int32Array_Int32Array_$Impl_$.toArrayBufferView = function(this1) { return this1; }; lime_utils__$Int32Array_Int32Array_$Impl_$.fromBytes = function(bytes,byteOffset,len) { if(byteOffset == null) { byteOffset = 0; } if(byteOffset == null) { return new Int32Array(bytes.b.bufferValue); } if(len == null) { return new Int32Array(bytes.b.bufferValue,byteOffset); } return new Int32Array(bytes.b.bufferValue,byteOffset,len); }; lime_utils__$Int32Array_Int32Array_$Impl_$.toBytes = function(this1) { return new haxe_io_Bytes(new Uint8Array(this1.buffer)); }; lime_utils__$Int32Array_Int32Array_$Impl_$.toString = function(this1) { if(this1 != null) { return "Int32Array [byteLength:" + this1.byteLength + ", length:" + this1.length + "]"; } else { return null; } }; var lime_utils__$Int8Array_Int8Array_$Impl_$ = {}; $hxClasses["lime.utils._Int8Array.Int8Array_Impl_"] = lime_utils__$Int8Array_Int8Array_$Impl_$; lime_utils__$Int8Array_Int8Array_$Impl_$.__name__ = "lime.utils._Int8Array.Int8Array_Impl_"; lime_utils__$Int8Array_Int8Array_$Impl_$.toArrayBufferView = function(this1) { return this1; }; lime_utils__$Int8Array_Int8Array_$Impl_$.fromBytes = function(bytes,byteOffset,len) { if(byteOffset == null) { byteOffset = 0; } return new Int8Array(bytes.b.bufferValue,byteOffset,len); }; lime_utils__$Int8Array_Int8Array_$Impl_$.toBytes = function(this1) { return new haxe_io_Bytes(new Uint8Array(this1.buffer)); }; lime_utils__$Int8Array_Int8Array_$Impl_$.toString = function(this1) { if(this1 != null) { return "Int8Array [byteLength:" + this1.byteLength + ", length:" + this1.length + "]"; } else { return null; } }; var lime_utils_Log = function() { }; $hxClasses["lime.utils.Log"] = lime_utils_Log; lime_utils_Log.__name__ = "lime.utils.Log"; lime_utils_Log.level = null; lime_utils_Log.debug = function(message,info) { if(lime_utils_Log.level >= 4) { console.debug("[" + info.className + "] " + Std.string(message)); } }; lime_utils_Log.error = function(message,info) { if(lime_utils_Log.level >= 1) { var message1 = "[" + info.className + "] ERROR: " + Std.string(message); if(lime_utils_Log.throwErrors) { throw new js__$Boot_HaxeError(message1); } else { console.error(message1); } } }; lime_utils_Log.info = function(message,info) { if(lime_utils_Log.level >= 3) { console.info("[" + info.className + "] " + Std.string(message)); } }; lime_utils_Log.print = function(message) { console.log(message); }; lime_utils_Log.println = function(message) { console.log(message); }; lime_utils_Log.verbose = function(message,info) { if(lime_utils_Log.level >= 5) { var message1 = "[" + info.className + "] " + Std.string(message); console.log(message1); } }; lime_utils_Log.warn = function(message,info) { if(lime_utils_Log.level >= 2) { console.warn("[" + info.className + "] WARNING: " + Std.string(message)); } }; var lime_utils__$LogLevel_LogLevel_$Impl_$ = {}; $hxClasses["lime.utils._LogLevel.LogLevel_Impl_"] = lime_utils__$LogLevel_LogLevel_$Impl_$; lime_utils__$LogLevel_LogLevel_$Impl_$.__name__ = "lime.utils._LogLevel.LogLevel_Impl_"; lime_utils__$LogLevel_LogLevel_$Impl_$.gt = function(a,b) { return a > b; }; lime_utils__$LogLevel_LogLevel_$Impl_$.gte = function(a,b) { return a >= b; }; lime_utils__$LogLevel_LogLevel_$Impl_$.lt = function(a,b) { return a < b; }; lime_utils__$LogLevel_LogLevel_$Impl_$.lte = function(a,b) { return a <= b; }; var lime_utils_Preloader = function() { this.bytesTotalCache = new haxe_ds_StringMap(); this.bytesLoadedCache2 = new haxe_ds_StringMap(); this.bytesLoadedCache = new haxe_ds_ObjectMap(); this.onProgress = new lime_app__$Event_$Int_$Int_$Void(); this.onComplete = new lime_app__$Event_$Void_$Void(); this.bytesLoaded = 0; this.bytesTotal = 0; this.libraries = []; this.libraryNames = []; this.onProgress.add($bind(this,this.update)); }; $hxClasses["lime.utils.Preloader"] = lime_utils_Preloader; lime_utils_Preloader.__name__ = "lime.utils.Preloader"; lime_utils_Preloader.prototype = { complete: null ,onComplete: null ,onProgress: null ,bytesLoaded: null ,bytesLoadedCache: null ,bytesLoadedCache2: null ,bytesTotal: null ,bytesTotalCache: null ,initLibraryNames: null ,libraries: null ,libraryNames: null ,loadedLibraries: null ,loadedStage: null ,preloadComplete: null ,preloadStarted: null ,simulateProgress: null ,addLibrary: function(library) { this.libraries.push(library); } ,addLibraryName: function(name) { if(this.libraryNames.indexOf(name) == -1) { this.libraryNames.push(name); } } ,load: function() { var _gthis = this; var _g = 0; var _g1 = this.libraries; while(_g < _g1.length) { var library = _g1[_g]; ++_g; this.bytesTotal += library.bytesTotal; } this.loadedLibraries = -1; this.preloadStarted = false; var _g2 = 0; var _g3 = this.libraries; while(_g2 < _g3.length) { var library1 = [_g3[_g2]]; ++_g2; lime_utils_Log.verbose("Preloading asset library",{ fileName : "lime/utils/Preloader.hx", lineNumber : 132, className : "lime.utils.Preloader", methodName : "load"}); library1[0].load().onProgress((function(library2) { return function(loaded,total) { if(_gthis.bytesLoadedCache.h.__keys__[library2[0].__id__] == null) { _gthis.bytesLoaded += loaded; } else { _gthis.bytesLoaded += loaded - _gthis.bytesLoadedCache.h[library2[0].__id__]; } _gthis.bytesLoadedCache.set(library2[0],loaded); if(!_gthis.simulateProgress) { _gthis.onProgress.dispatch(_gthis.bytesLoaded,_gthis.bytesTotal); } }; })(library1)).onComplete((function(library3) { return function(_) { if(_gthis.bytesLoadedCache.h.__keys__[library3[0].__id__] == null) { _gthis.bytesLoaded += library3[0].bytesTotal; } else { _gthis.bytesLoaded += library3[0].bytesTotal - _gthis.bytesLoadedCache.h[library3[0].__id__]; } _gthis.loadedAssetLibrary(); }; })(library1)).onError((function() { return function(e) { lime_utils_Log.error(e,{ fileName : "lime/utils/Preloader.hx", lineNumber : 168, className : "lime.utils.Preloader", methodName : "load"}); }; })()); } var _g4 = 0; var _g5 = this.libraryNames; while(_g4 < _g5.length) { var name = _g5[_g4]; ++_g4; this.bytesTotal += 200; } this.loadedLibraries++; this.preloadStarted = true; this.updateProgress(); } ,loadedAssetLibrary: function(name) { this.loadedLibraries++; var current = this.loadedLibraries; if(!this.preloadStarted) { ++current; } var totalLibraries = this.libraries.length + this.libraryNames.length; if(name != null) { lime_utils_Log.verbose("Loaded asset library: " + name + " [" + current + "/" + totalLibraries + "]",{ fileName : "lime/utils/Preloader.hx", lineNumber : 195, className : "lime.utils.Preloader", methodName : "loadedAssetLibrary"}); } else { lime_utils_Log.verbose("Loaded asset library [" + current + "/" + totalLibraries + "]",{ fileName : "lime/utils/Preloader.hx", lineNumber : 199, className : "lime.utils.Preloader", methodName : "loadedAssetLibrary"}); } this.updateProgress(); } ,start: function() { if(this.complete || this.simulateProgress || !this.preloadComplete) { return; } this.complete = true; this.onComplete.dispatch(); } ,update: function(loaded,total) { } ,updateProgress: function() { var _gthis = this; if(!this.simulateProgress) { this.onProgress.dispatch(this.bytesLoaded,this.bytesTotal); } if(this.loadedLibraries == this.libraries.length && !this.initLibraryNames) { this.initLibraryNames = true; var _g = 0; var _g1 = this.libraryNames; while(_g < _g1.length) { var name = [_g1[_g]]; ++_g; lime_utils_Log.verbose("Preloading asset library: " + name[0],{ fileName : "lime/utils/Preloader.hx", lineNumber : 236, className : "lime.utils.Preloader", methodName : "updateProgress"}); lime_utils_Assets.loadLibrary(name[0]).onProgress((function(name1) { return function(loaded,total) { if(total > 0) { var _this = _gthis.bytesTotalCache; if(!(__map_reserved[name1[0]] != null ? _this.existsReserved(name1[0]) : _this.h.hasOwnProperty(name1[0]))) { var _this1 = _gthis.bytesTotalCache; if(__map_reserved[name1[0]] != null) { _this1.setReserved(name1[0],total); } else { _this1.h[name1[0]] = total; } _gthis.bytesTotal += total - 200; } if(loaded > total) { loaded = total; } var _this2 = _gthis.bytesLoadedCache2; if(!(__map_reserved[name1[0]] != null ? _this2.existsReserved(name1[0]) : _this2.h.hasOwnProperty(name1[0]))) { _gthis.bytesLoaded += loaded; } else { var _this3 = _gthis.bytesLoadedCache2; _gthis.bytesLoaded += loaded - (__map_reserved[name1[0]] != null ? _this3.getReserved(name1[0]) : _this3.h[name1[0]]); } var _this4 = _gthis.bytesLoadedCache2; if(__map_reserved[name1[0]] != null) { _this4.setReserved(name1[0],loaded); } else { _this4.h[name1[0]] = loaded; } if(!_gthis.simulateProgress) { _gthis.onProgress.dispatch(_gthis.bytesLoaded,_gthis.bytesTotal); } } }; })(name)).onComplete((function(name2) { return function(library) { var total1 = 200; var _this5 = _gthis.bytesTotalCache; if(__map_reserved[name2[0]] != null ? _this5.existsReserved(name2[0]) : _this5.h.hasOwnProperty(name2[0])) { var _this6 = _gthis.bytesTotalCache; total1 = __map_reserved[name2[0]] != null ? _this6.getReserved(name2[0]) : _this6.h[name2[0]]; } var _this7 = _gthis.bytesLoadedCache2; if(!(__map_reserved[name2[0]] != null ? _this7.existsReserved(name2[0]) : _this7.h.hasOwnProperty(name2[0]))) { _gthis.bytesLoaded += total1; } else { var _this8 = _gthis.bytesLoadedCache2; _gthis.bytesLoaded += total1 - (__map_reserved[name2[0]] != null ? _this8.getReserved(name2[0]) : _this8.h[name2[0]]); } _gthis.loadedAssetLibrary(name2[0]); }; })(name)).onError((function() { return function(e) { lime_utils_Log.error(e,{ fileName : "lime/utils/Preloader.hx", lineNumber : 290, className : "lime.utils.Preloader", methodName : "updateProgress"}); }; })()); } } if(!this.simulateProgress && this.loadedLibraries == this.libraries.length + this.libraryNames.length) { if(!this.preloadComplete) { this.preloadComplete = true; lime_utils_Log.verbose("Preload complete",{ fileName : "lime/utils/Preloader.hx", lineNumber : 301, className : "lime.utils.Preloader", methodName : "updateProgress"}); } this.start(); } } ,__class__: lime_utils_Preloader }; var lime_utils__$Resource_Resource_$Impl_$ = {}; $hxClasses["lime.utils._Resource.Resource_Impl_"] = lime_utils__$Resource_Resource_$Impl_$; lime_utils__$Resource_Resource_$Impl_$.__name__ = "lime.utils._Resource.Resource_Impl_"; lime_utils__$Resource_Resource_$Impl_$._new = function(size) { if(size == null) { size = 0; } var this1 = new haxe_io_Bytes(new ArrayBuffer(size)); return this1; }; lime_utils__$Resource_Resource_$Impl_$.__fromString = function(value) { return haxe_io_Bytes.ofString(value); }; lime_utils__$Resource_Resource_$Impl_$.__toString = function(value) { return value.toString(); }; var lime_utils__$UInt16Array_UInt16Array_$Impl_$ = {}; $hxClasses["lime.utils._UInt16Array.UInt16Array_Impl_"] = lime_utils__$UInt16Array_UInt16Array_$Impl_$; lime_utils__$UInt16Array_UInt16Array_$Impl_$.__name__ = "lime.utils._UInt16Array.UInt16Array_Impl_"; lime_utils__$UInt16Array_UInt16Array_$Impl_$.toArrayBufferView = function(this1) { return this1; }; lime_utils__$UInt16Array_UInt16Array_$Impl_$.fromBytes = function(bytes,byteOffset,len) { if(byteOffset == null) { byteOffset = 0; } if(byteOffset == null) { return new Uint16Array(bytes.b.bufferValue); } if(len == null) { return new Uint16Array(bytes.b.bufferValue,byteOffset); } return new Uint16Array(bytes.b.bufferValue,byteOffset,len); }; lime_utils__$UInt16Array_UInt16Array_$Impl_$.toBytes = function(this1) { return new haxe_io_Bytes(new Uint8Array(this1.buffer)); }; lime_utils__$UInt16Array_UInt16Array_$Impl_$.toString = function(this1) { if(this1 != null) { return "UInt16Array [byteLength:" + this1.byteLength + ", length:" + this1.length + "]"; } else { return null; } }; var lime_utils__$UInt32Array_UInt32Array_$Impl_$ = {}; $hxClasses["lime.utils._UInt32Array.UInt32Array_Impl_"] = lime_utils__$UInt32Array_UInt32Array_$Impl_$; lime_utils__$UInt32Array_UInt32Array_$Impl_$.__name__ = "lime.utils._UInt32Array.UInt32Array_Impl_"; lime_utils__$UInt32Array_UInt32Array_$Impl_$.toArrayBufferView = function(this1) { return this1; }; lime_utils__$UInt32Array_UInt32Array_$Impl_$.fromBytes = function(bytes,byteOffset,len) { if(byteOffset == null) { byteOffset = 0; } if(byteOffset == null) { return new Uint32Array(bytes.b.bufferValue); } if(len == null) { return new Uint32Array(bytes.b.bufferValue,byteOffset); } return new Uint32Array(bytes.b.bufferValue,byteOffset,len); }; lime_utils__$UInt32Array_UInt32Array_$Impl_$.toBytes = function(this1) { return new haxe_io_Bytes(new Uint8Array(this1.buffer)); }; lime_utils__$UInt32Array_UInt32Array_$Impl_$.toString = function(this1) { if(this1 != null) { return "UInt32Array [byteLength:" + this1.byteLength + ", length:" + this1.length + "]"; } else { return null; } }; var lime_utils__$UInt8Array_UInt8Array_$Impl_$ = {}; $hxClasses["lime.utils._UInt8Array.UInt8Array_Impl_"] = lime_utils__$UInt8Array_UInt8Array_$Impl_$; lime_utils__$UInt8Array_UInt8Array_$Impl_$.__name__ = "lime.utils._UInt8Array.UInt8Array_Impl_"; lime_utils__$UInt8Array_UInt8Array_$Impl_$.toArrayBufferView = function(this1) { return this1; }; lime_utils__$UInt8Array_UInt8Array_$Impl_$.fromBytes = function(bytes,byteOffset,len) { if(byteOffset == null) { return new Uint8Array(bytes.b.bufferValue); } if(len == null) { return new Uint8Array(bytes.b.bufferValue,byteOffset); } return new Uint8Array(bytes.b.bufferValue,byteOffset,len); }; lime_utils__$UInt8Array_UInt8Array_$Impl_$.toBytes = function(this1) { return new haxe_io_Bytes(new Uint8Array(this1.buffer)); }; lime_utils__$UInt8Array_UInt8Array_$Impl_$.toString = function(this1) { if(this1 != null) { return "UInt8Array [byteLength:" + this1.byteLength + ", length:" + this1.length + "]"; } else { return null; } }; var lime_utils__$UInt8ClampedArray_UInt8ClampedArray_$Impl_$ = {}; $hxClasses["lime.utils._UInt8ClampedArray.UInt8ClampedArray_Impl_"] = lime_utils__$UInt8ClampedArray_UInt8ClampedArray_$Impl_$; lime_utils__$UInt8ClampedArray_UInt8ClampedArray_$Impl_$.__name__ = "lime.utils._UInt8ClampedArray.UInt8ClampedArray_Impl_"; lime_utils__$UInt8ClampedArray_UInt8ClampedArray_$Impl_$.toArrayBufferView = function(this1) { return this1; }; lime_utils__$UInt8ClampedArray_UInt8ClampedArray_$Impl_$.fromBytes = function(bytes,byteOffset,len) { if(byteOffset == null) { byteOffset = 0; } if(byteOffset == null) { return new Uint8ClampedArray(bytes.b.bufferValue); } if(len == null) { return new Uint8ClampedArray(bytes.b.bufferValue,byteOffset); } return new Uint8ClampedArray(bytes.b.bufferValue,byteOffset,len); }; lime_utils__$UInt8ClampedArray_UInt8ClampedArray_$Impl_$.toBytes = function(this1) { return new haxe_io_Bytes(new Uint8Array(this1.buffer)); }; lime_utils__$UInt8ClampedArray_UInt8ClampedArray_$Impl_$.toString = function(this1) { if(this1 != null) { return "UInt8ClampedArray [byteLength:" + this1.byteLength + ", length:" + this1.length + "]"; } else { return null; } }; lime_utils__$UInt8ClampedArray_UInt8ClampedArray_$Impl_$._clamp = function(_in) { var _out = _in | 0; _out = _out > 255 ? 255 : _out; if(_out < 0) { return 0; } else { return _out; } }; var openfl_Lib = function() { }; $hxClasses["openfl.Lib"] = openfl_Lib; openfl_Lib.__name__ = "openfl.Lib"; openfl_Lib.__properties__ = {get_current:"get_current",get_application:"get_application"}; openfl_Lib.as = function(v,c) { if(js_Boot.__instanceof(v,c)) { return v; } else { return null; } }; openfl_Lib.attach = function(name) { return new openfl_display_MovieClip(); }; openfl_Lib.clearInterval = function(id) { if(openfl_Lib.__timers.h.hasOwnProperty(id)) { var timer = openfl_Lib.__timers.h[id]; timer.stop(); openfl_Lib.__timers.remove(id); } }; openfl_Lib.clearTimeout = function(id) { if(openfl_Lib.__timers.h.hasOwnProperty(id)) { var timer = openfl_Lib.__timers.h[id]; timer.stop(); openfl_Lib.__timers.remove(id); } }; openfl_Lib.getDefinitionByName = function(name) { if(name == null) { return null; } return $hxClasses[name]; }; openfl_Lib.getQualifiedClassName = function(value) { if(value == null) { return null; } var ref = js_Boot.__instanceof(value,Class) ? value : js_Boot.getClass(value); if(ref == null) { if(typeof(value) == "boolean" || value == Bool) { return "Bool"; } else if(typeof(value) == "number" && ((value | 0) === value) || value == Int) { return "Int"; } else if(typeof(value) == "number" || value == Float) { return "Float"; } else { return null; } } return ref.__name__; }; openfl_Lib.getQualifiedSuperclassName = function(value) { if(value == null) { return null; } var ref = js_Boot.__instanceof(value,Class) ? value : js_Boot.getClass(value); if(ref == null) { return null; } var parentRef = ref.__super__; if(parentRef == null) { return null; } return parentRef.__name__; }; openfl_Lib.getTimer = function() { return lime_system_System.getTimer(); }; openfl_Lib.getURL = function(request,target) { openfl_Lib.navigateToURL(request,target); }; openfl_Lib.navigateToURL = function(request,$window) { if($window == null) { $window = "_blank"; } var uri = request.url; if(Type.typeof(request.data) == ValueType.TObject) { var query = ""; var fields = Reflect.fields(request.data); var _g = 0; while(_g < fields.length) { var field = fields[_g]; ++_g; if(query.length > 0) { query += "&"; } var query1 = encodeURIComponent(field) + "="; var s = Std.string(Reflect.field(request.data,field)); query += query1 + encodeURIComponent(s); } if(uri.indexOf("?") > -1) { uri += "&" + query; } else { uri += "?" + query; } } lime_system_System.openURL(uri,$window); }; openfl_Lib.notImplemented = function(posInfo) { var api = posInfo.className + "." + posInfo.methodName; var _this = openfl_Lib.__sentWarnings; if(!(__map_reserved[api] != null ? _this.existsReserved(api) : _this.h.hasOwnProperty(api))) { var _this1 = openfl_Lib.__sentWarnings; if(__map_reserved[api] != null) { _this1.setReserved(api,true); } else { _this1.h[api] = true; } lime_utils_Log.warn(posInfo.methodName + " is not implemented",posInfo); } }; openfl_Lib.preventDefaultTouchMove = function() { window.document.addEventListener("touchmove",function(evt) { evt.preventDefault(); },false); }; openfl_Lib.sendToURL = function(request) { var urlLoader = new openfl_net_URLLoader(); urlLoader.load(request); }; openfl_Lib.setInterval = function(closure,delay,args) { var id = ++openfl_Lib.__lastTimerID; var timer = new haxe_Timer(delay); openfl_Lib.__timers.h[id] = timer; timer.run = function() { closure.apply(closure,args == null ? [] : args); }; return id; }; openfl_Lib.setTimeout = function(closure,delay,args) { var id = ++openfl_Lib.__lastTimerID; var this1 = openfl_Lib.__timers; var v = haxe_Timer.delay(function() { closure.apply(closure,args == null ? [] : args); },delay); this1.h[id] = v; return id; }; openfl_Lib.trace = function(arg) { haxe_Log.trace(arg,{ fileName : "openfl/Lib.hx", lineNumber : 565, className : "openfl.Lib", methodName : "trace"}); }; openfl_Lib.get_application = function() { return openfl_utils__$internal_Lib.application; }; openfl_Lib.get_current = function() { if(openfl_utils__$internal_Lib.current == null) { openfl_utils__$internal_Lib.current = new openfl_display_MovieClip(); } return openfl_utils__$internal_Lib.current; }; var openfl__$Vector_IVector = function() { }; $hxClasses["openfl._Vector.IVector"] = openfl__$Vector_IVector; openfl__$Vector_IVector.__name__ = "openfl._Vector.IVector"; openfl__$Vector_IVector.__isInterface__ = true; openfl__$Vector_IVector.prototype = { get_length: null ,set_length: null ,fixed: null ,concat: null ,copy: null ,filter: null ,get: null ,indexOf: null ,insertAt: null ,iterator: null ,join: null ,lastIndexOf: null ,pop: null ,push: null ,removeAt: null ,reverse: null ,set: null ,shift: null ,slice: null ,sort: null ,splice: null ,toString: null ,unshift: null ,__class__: openfl__$Vector_IVector ,__properties__: {set_length:"set_length",get_length:"get_length"} }; var openfl__$Vector_BoolVector = function(length,fixed,array) { if(fixed == null) { fixed = false; } if(length == null) { length = 0; } if(array == null) { array = []; } this.__array = array; if(length > 0) { this.set_length(length); } this.fixed = fixed; }; $hxClasses["openfl._Vector.BoolVector"] = openfl__$Vector_BoolVector; openfl__$Vector_BoolVector.__name__ = "openfl._Vector.BoolVector"; openfl__$Vector_BoolVector.__interfaces__ = [openfl__$Vector_IVector]; openfl__$Vector_BoolVector.prototype = { fixed: null ,__array: null ,concat: function(a) { if(a == null) { return new openfl__$Vector_BoolVector(0,false,this.__array.slice()); } else { var other = a; if(other.__array.length > 0) { return new openfl__$Vector_BoolVector(0,false,this.__array.concat(other.__array)); } else { return new openfl__$Vector_BoolVector(0,false,this.__array.slice()); } } } ,copy: function() { return new openfl__$Vector_BoolVector(0,this.fixed,this.__array.slice()); } ,filter: function(callback) { var tmp = this.fixed; var _g = []; var _g1 = 0; var _g2 = this.__array; while(_g1 < _g2.length) { var v = _g2[_g1]; ++_g1; if(callback(v)) { _g.push(v); } } return new openfl__$Vector_BoolVector(0,tmp,_g); } ,get: function(index) { if(index >= this.__array.length) { return false; } else { return this.__array[index]; } } ,indexOf: function(x,from) { if(from == null) { from = 0; } var _g = from; var _g1 = this.__array.length; while(_g < _g1) { var i = _g++; if(this.__array[i] == x) { return i; } } return -1; } ,insertAt: function(index,element) { if(!this.fixed || index < this.__array.length) { this.__array.splice(index,0,element); } } ,iterator: function() { return HxOverrides.iter(this.__array); } ,join: function(sep) { if(sep == null) { sep = ","; } return this.__array.join(sep); } ,lastIndexOf: function(x,from) { var i = from == null || from >= this.__array.length ? this.__array.length - 1 : from; while(i >= 0) { if(this.__array[i] == x) { return i; } --i; } return -1; } ,pop: function() { if(!this.fixed) { return this.__array.pop(); } else { return null; } } ,push: function(x) { if(!this.fixed) { return this.__array.push(x); } else { return this.__array.length; } } ,removeAt: function(index) { if(!this.fixed || index < this.__array.length) { return this.__array.splice(index,1)[0]; } return false; } ,reverse: function() { this.__array.reverse(); return this; } ,set: function(index,value) { if(!this.fixed || index < this.__array.length) { return this.__array[index] = value; } else { return value; } } ,shift: function() { if(!this.fixed) { return this.__array.shift(); } else { return null; } } ,slice: function(startIndex,endIndex) { if(startIndex == null) { startIndex = 0; } if(endIndex == null) { endIndex = 16777215; } return new openfl__$Vector_BoolVector(0,false,this.__array.slice(startIndex,endIndex)); } ,sort: function(f) { this.__array.sort(f); } ,splice: function(pos,len) { return new openfl__$Vector_BoolVector(0,false,this.__array.splice(pos,len)); } ,toJSON: function() { return this.__array; } ,toString: function() { if(this.__array != null) { return this.__array.toString(); } else { return null; } } ,unshift: function(x) { if(!this.fixed) { this.__array.unshift(x); } } ,get_length: function() { return this.__array.length; } ,set_length: function(value) { if(!this.fixed) { var currentLength = this.__array.length; if(value < 0) { value = 0; } if(value > currentLength) { var _g = currentLength; var _g1 = value; while(_g < _g1) { var i = _g++; this.__array[i] = false; } } else { while(this.__array.length > value) this.__array.pop(); } } return this.__array.length; } ,__class__: openfl__$Vector_BoolVector ,__properties__: {set_length:"set_length",get_length:"get_length"} }; var openfl__$Vector_FloatVector = function(length,fixed,array,forceCopy) { if(forceCopy == null) { forceCopy = false; } if(fixed == null) { fixed = false; } if(length == null) { length = 0; } if(forceCopy) { this.__array = []; if(array != null) { var _g = 0; var _g1 = array.length; while(_g < _g1) { var i = _g++; this.__array[i] = array[i]; } } } else { if(array == null) { array = []; } this.__array = array; } if(length > 0) { this.set_length(length); } this.fixed = fixed; }; $hxClasses["openfl._Vector.FloatVector"] = openfl__$Vector_FloatVector; openfl__$Vector_FloatVector.__name__ = "openfl._Vector.FloatVector"; openfl__$Vector_FloatVector.__interfaces__ = [openfl__$Vector_IVector]; openfl__$Vector_FloatVector.prototype = { fixed: null ,__array: null ,concat: function(a) { if(a == null) { return new openfl__$Vector_FloatVector(0,false,this.__array.slice()); } else { var other = a; if(other.__array.length > 0) { return new openfl__$Vector_FloatVector(0,false,this.__array.concat(other.__array)); } else { return new openfl__$Vector_FloatVector(0,false,this.__array.slice()); } } } ,copy: function() { return new openfl__$Vector_FloatVector(0,this.fixed,this.__array.slice()); } ,filter: function(callback) { var tmp = this.fixed; var _g = []; var _g1 = 0; var _g2 = this.__array; while(_g1 < _g2.length) { var v = _g2[_g1]; ++_g1; if(callback(v)) { _g.push(v); } } return new openfl__$Vector_FloatVector(0,tmp,_g); } ,get: function(index) { return this.__array[index]; } ,indexOf: function(x,from) { if(from == null) { from = 0; } var _g = from; var _g1 = this.__array.length; while(_g < _g1) { var i = _g++; if(this.__array[i] == x) { return i; } } return -1; } ,insertAt: function(index,element) { if(!this.fixed || index < this.__array.length) { this.__array.splice(index,0,element); } } ,iterator: function() { return HxOverrides.iter(this.__array); } ,join: function(sep) { if(sep == null) { sep = ","; } return this.__array.join(sep); } ,lastIndexOf: function(x,from) { var i = from == null || from >= this.__array.length ? this.__array.length - 1 : from; while(i >= 0) { if(this.__array[i] == x) { return i; } --i; } return -1; } ,pop: function() { if(!this.fixed) { return this.__array.pop(); } else { return null; } } ,push: function(x) { if(!this.fixed) { return this.__array.push(x); } else { return this.__array.length; } } ,removeAt: function(index) { if(!this.fixed || index < this.__array.length) { return this.__array.splice(index,1)[0]; } return 0; } ,reverse: function() { this.__array.reverse(); return this; } ,set: function(index,value) { if(!this.fixed || index < this.__array.length) { return this.__array[index] = value; } else { return value; } } ,shift: function() { if(!this.fixed) { return this.__array.shift(); } else { return null; } } ,slice: function(startIndex,endIndex) { if(startIndex == null) { startIndex = 0; } if(endIndex == null) { endIndex = 16777215; } return new openfl__$Vector_FloatVector(0,false,this.__array.slice(startIndex,endIndex)); } ,sort: function(f) { this.__array.sort(f); } ,splice: function(pos,len) { return new openfl__$Vector_FloatVector(0,false,this.__array.splice(pos,len)); } ,toJSON: function() { return this.__array; } ,toString: function() { if(this.__array != null) { return this.__array.toString(); } else { return null; } } ,unshift: function(x) { if(!this.fixed) { this.__array.unshift(x); } } ,get_length: function() { return this.__array.length; } ,set_length: function(value) { if(value != this.__array.length && !this.fixed) { var currentLength = this.__array.length; if(value < 0) { value = 0; } if(value > currentLength) { var _g = currentLength; var _g1 = value; while(_g < _g1) { var i = _g++; this.__array[i] = 0; } } else { while(this.__array.length > value) this.__array.pop(); } } return this.__array.length; } ,__class__: openfl__$Vector_FloatVector ,__properties__: {set_length:"set_length",get_length:"get_length"} }; var openfl__$Vector_FunctionVector = function(length,fixed,array) { if(fixed == null) { fixed = false; } if(length == null) { length = 0; } if(array == null) { array = []; } this.__array = array; if(length > 0) { this.set_length(length); } this.fixed = fixed; }; $hxClasses["openfl._Vector.FunctionVector"] = openfl__$Vector_FunctionVector; openfl__$Vector_FunctionVector.__name__ = "openfl._Vector.FunctionVector"; openfl__$Vector_FunctionVector.__interfaces__ = [openfl__$Vector_IVector]; openfl__$Vector_FunctionVector.prototype = { fixed: null ,__array: null ,concat: function(a) { if(a == null) { return new openfl__$Vector_FunctionVector(0,false,this.__array.slice()); } else { var other = a; if(other.__array.length > 0) { return new openfl__$Vector_FunctionVector(0,false,this.__array.concat(other.__array)); } else { return new openfl__$Vector_FunctionVector(0,false,this.__array.slice()); } } } ,copy: function() { return new openfl__$Vector_FunctionVector(0,this.fixed,this.__array.slice()); } ,filter: function(callback) { var tmp = this.fixed; var _g = []; var _g1 = 0; var _g2 = this.__array; while(_g1 < _g2.length) { var v = _g2[_g1]; ++_g1; if(callback(v)) { _g.push(v); } } return new openfl__$Vector_FunctionVector(0,tmp,_g); } ,get: function(index) { if(index >= this.__array.length) { return null; } else { return this.__array[index]; } } ,indexOf: function(x,from) { if(from == null) { from = 0; } var _g = from; var _g1 = this.__array.length; while(_g < _g1) { var i = _g++; if(Reflect.compareMethods(this.__array[i],x)) { return i; } } return -1; } ,insertAt: function(index,element) { if(!this.fixed || index < this.__array.length) { this.__array.splice(index,0,element); } } ,iterator: function() { return HxOverrides.iter(this.__array); } ,join: function(sep) { if(sep == null) { sep = ","; } return this.__array.join(sep); } ,lastIndexOf: function(x,from) { var i = from == null || from >= this.__array.length ? this.__array.length - 1 : from; while(i >= 0) { if(Reflect.compareMethods(this.__array[i],x)) { return i; } --i; } return -1; } ,pop: function() { if(!this.fixed) { return this.__array.pop(); } else { return null; } } ,push: function(x) { if(!this.fixed) { return this.__array.push(x); } else { return this.__array.length; } } ,removeAt: function(index) { if(!this.fixed || index < this.__array.length) { return this.__array.splice(index,1)[0]; } return null; } ,reverse: function() { this.__array.reverse(); return this; } ,set: function(index,value) { if(!this.fixed || index < this.__array.length) { return this.__array[index] = value; } else { return value; } } ,shift: function() { if(!this.fixed) { return this.__array.shift(); } else { return null; } } ,slice: function(startIndex,endIndex) { if(startIndex == null) { startIndex = 0; } if(endIndex == null) { endIndex = 16777215; } return new openfl__$Vector_FunctionVector(0,false,this.__array.slice(startIndex,endIndex)); } ,sort: function(f) { this.__array.sort(f); } ,splice: function(pos,len) { return new openfl__$Vector_FunctionVector(0,false,this.__array.splice(pos,len)); } ,toJSON: function() { return this.__array; } ,toString: function() { if(this.__array != null) { return this.__array.toString(); } else { return null; } } ,unshift: function(x) { if(!this.fixed) { this.__array.unshift(x); } } ,get_length: function() { return this.__array.length; } ,set_length: function(value) { if(!this.fixed) { var currentLength = this.__array.length; if(value < 0) { value = 0; } if(value > currentLength) { var _g = currentLength; var _g1 = value; while(_g < _g1) { var i = _g++; this.__array[i] = null; } } else { while(this.__array.length > value) this.__array.pop(); } } return this.__array.length; } ,__class__: openfl__$Vector_FunctionVector ,__properties__: {set_length:"set_length",get_length:"get_length"} }; var openfl__$Vector_IntVector = function(length,fixed,array) { if(fixed == null) { fixed = false; } if(length == null) { length = 0; } if(array == null) { array = []; } this.__array = array; if(length > 0) { this.set_length(length); } this.fixed = fixed; }; $hxClasses["openfl._Vector.IntVector"] = openfl__$Vector_IntVector; openfl__$Vector_IntVector.__name__ = "openfl._Vector.IntVector"; openfl__$Vector_IntVector.__interfaces__ = [openfl__$Vector_IVector]; openfl__$Vector_IntVector.prototype = { fixed: null ,__array: null ,concat: function(a) { if(a == null) { return new openfl__$Vector_IntVector(0,false,this.__array.slice()); } else { var other = a; if(other.__array.length > 0) { return new openfl__$Vector_IntVector(0,false,this.__array.concat(other.__array)); } else { return new openfl__$Vector_IntVector(0,false,this.__array.slice()); } } } ,copy: function() { return new openfl__$Vector_IntVector(0,this.fixed,this.__array.slice()); } ,filter: function(callback) { var tmp = this.fixed; var _g = []; var _g1 = 0; var _g2 = this.__array; while(_g1 < _g2.length) { var v = _g2[_g1]; ++_g1; if(callback(v)) { _g.push(v); } } return new openfl__$Vector_IntVector(0,tmp,_g); } ,get: function(index) { return this.__array[index]; } ,indexOf: function(x,from) { if(from == null) { from = 0; } var _g = from; var _g1 = this.__array.length; while(_g < _g1) { var i = _g++; if(this.__array[i] == x) { return i; } } return -1; } ,insertAt: function(index,element) { if(!this.fixed || index < this.__array.length) { this.__array.splice(index,0,element); } } ,iterator: function() { return HxOverrides.iter(this.__array); } ,join: function(sep) { if(sep == null) { sep = ","; } return this.__array.join(sep); } ,lastIndexOf: function(x,from) { var i = from == null || from >= this.__array.length ? this.__array.length - 1 : from; while(i >= 0) { if(this.__array[i] == x) { return i; } --i; } return -1; } ,pop: function() { if(!this.fixed) { return this.__array.pop(); } else { return null; } } ,push: function(x) { if(!this.fixed) { return this.__array.push(x); } else { return this.__array.length; } } ,removeAt: function(index) { if(!this.fixed || index < this.__array.length) { return this.__array.splice(index,1)[0]; } return 0; } ,reverse: function() { this.__array.reverse(); return this; } ,set: function(index,value) { if(!this.fixed || index < this.__array.length) { return this.__array[index] = value; } else { return value; } } ,shift: function() { if(!this.fixed) { return this.__array.shift(); } else { return null; } } ,slice: function(startIndex,endIndex) { if(startIndex == null) { startIndex = 0; } if(endIndex == null) { endIndex = 16777215; } return new openfl__$Vector_IntVector(0,false,this.__array.slice(startIndex,endIndex)); } ,sort: function(f) { this.__array.sort(f); } ,splice: function(pos,len) { return new openfl__$Vector_IntVector(0,false,this.__array.splice(pos,len)); } ,toJSON: function() { return this.__array; } ,toString: function() { if(this.__array != null) { return this.__array.toString(); } else { return null; } } ,unshift: function(x) { if(!this.fixed) { this.__array.unshift(x); } } ,get_length: function() { return this.__array.length; } ,set_length: function(value) { if(!this.fixed) { var currentLength = this.__array.length; if(value < 0) { value = 0; } if(value > currentLength) { var _g = currentLength; var _g1 = value; while(_g < _g1) { var i = _g++; this.__array[i] = 0; } } else { while(this.__array.length > value) this.__array.pop(); } } return this.__array.length; } ,__class__: openfl__$Vector_IntVector ,__properties__: {set_length:"set_length",get_length:"get_length"} }; var openfl__$Vector_ObjectVector = function(length,fixed,array,forceCopy) { if(forceCopy == null) { forceCopy = false; } if(fixed == null) { fixed = false; } if(length == null) { length = 0; } if(forceCopy) { this.__array = []; if(array != null) { var _g = 0; var _g1 = array.length; while(_g < _g1) { var i = _g++; this.__array[i] = array[i]; } } } else { if(array == null) { array = []; } this.__array = array; } if(length > 0) { this.set_length(length); } this.fixed = fixed; }; $hxClasses["openfl._Vector.ObjectVector"] = openfl__$Vector_ObjectVector; openfl__$Vector_ObjectVector.__name__ = "openfl._Vector.ObjectVector"; openfl__$Vector_ObjectVector.__interfaces__ = [openfl__$Vector_IVector]; openfl__$Vector_ObjectVector.prototype = { fixed: null ,__array: null ,concat: function(a) { if(a == null) { return new openfl__$Vector_ObjectVector(0,false,this.__array.slice()); } else { var other = a; if(other.__array.length > 0) { return new openfl__$Vector_ObjectVector(0,false,this.__array.concat(other.__array)); } else { return new openfl__$Vector_ObjectVector(0,false,this.__array.slice()); } } } ,copy: function() { return new openfl__$Vector_ObjectVector(0,this.fixed,this.__array.slice()); } ,filter: function(callback) { var tmp = this.fixed; var _g = []; var _g1 = 0; var _g2 = this.__array; while(_g1 < _g2.length) { var v = _g2[_g1]; ++_g1; if(callback(v)) { _g.push(v); } } return new openfl__$Vector_ObjectVector(0,tmp,_g); } ,get: function(index) { return this.__array[index]; } ,indexOf: function(x,from) { if(from == null) { from = 0; } var _g = from; var _g1 = this.__array.length; while(_g < _g1) { var i = _g++; if(this.__array[i] == x) { return i; } } return -1; } ,insertAt: function(index,element) { if(!this.fixed || index < this.__array.length) { this.__array.splice(index,0,element); } } ,iterator: function() { return HxOverrides.iter(this.__array); } ,join: function(sep) { if(sep == null) { sep = ","; } return this.__array.join(sep); } ,lastIndexOf: function(x,from) { var i = from == null || from >= this.__array.length ? this.__array.length - 1 : from; while(i >= 0) { if(this.__array[i] == x) { return i; } --i; } return -1; } ,pop: function() { if(!this.fixed) { return this.__array.pop(); } else { return null; } } ,push: function(x) { if(!this.fixed) { return this.__array.push(x); } else { return this.__array.length; } } ,removeAt: function(index) { if(!this.fixed || index < this.__array.length) { return this.__array.splice(index,1)[0]; } return null; } ,reverse: function() { this.__array.reverse(); return this; } ,set: function(index,value) { if(!this.fixed || index < this.__array.length) { return this.__array[index] = value; } else { return value; } } ,shift: function() { if(!this.fixed) { return this.__array.shift(); } else { return null; } } ,slice: function(startIndex,endIndex) { if(startIndex == null) { startIndex = 0; } if(endIndex == null) { endIndex = 16777215; } return new openfl__$Vector_ObjectVector(0,false,this.__array.slice(startIndex,endIndex)); } ,sort: function(f) { this.__array.sort(f); } ,splice: function(pos,len) { return new openfl__$Vector_ObjectVector(0,false,this.__array.splice(pos,len)); } ,toJSON: function() { return this.__array; } ,toString: function() { if(this.__array != null) { return this.__array.toString(); } else { return null; } } ,unshift: function(x) { if(!this.fixed) { this.__array.unshift(x); } } ,get_length: function() { return this.__array.length; } ,set_length: function(value) { if(!this.fixed) { var currentLength = this.__array.length; if(value < 0) { value = 0; } if(value > currentLength) { var _g = currentLength; var _g1 = value; while(_g < _g1) { var i = _g++; this.__array.push(null); } } else { while(this.__array.length > value) this.__array.pop(); } } return this.__array.length; } ,__class__: openfl__$Vector_ObjectVector ,__properties__: {set_length:"set_length",get_length:"get_length"} }; var openfl_display_Application = function() { lime_app_Application.call(this); if(openfl_utils__$internal_Lib.application == null) { openfl_utils__$internal_Lib.application = this; } if(openfl_utils__$internal_Lib.current == null) { openfl_utils__$internal_Lib.current = new openfl_display_MovieClip(); } openfl_utils__$internal_Lib.current.__loaderInfo = openfl_display_LoaderInfo.create(null); openfl_utils__$internal_Lib.current.__loaderInfo.content = openfl_utils__$internal_Lib.current; }; $hxClasses["openfl.display.Application"] = openfl_display_Application; openfl_display_Application.__name__ = "openfl.display.Application"; openfl_display_Application.__super__ = lime_app_Application; openfl_display_Application.prototype = $extend(lime_app_Application.prototype,{ createWindow: function(attributes) { var $window = new openfl_display_Window(this,attributes); this.__windows.push($window); this.__windowByID.h[$window.id] = $window; var f = $bind(this,this.__onWindowClose); var window1 = $window; var tmp = function() { f(window1); }; $window.onClose.add(tmp,false,-10000); if(this.__window == null) { this.__window = $window; $window.onActivate.add($bind(this,this.onWindowActivate)); $window.onRenderContextLost.add($bind(this,this.onRenderContextLost)); $window.onRenderContextRestored.add($bind(this,this.onRenderContextRestored)); $window.onDeactivate.add($bind(this,this.onWindowDeactivate)); $window.onDropFile.add($bind(this,this.onWindowDropFile)); $window.onEnter.add($bind(this,this.onWindowEnter)); $window.onExpose.add($bind(this,this.onWindowExpose)); $window.onFocusIn.add($bind(this,this.onWindowFocusIn)); $window.onFocusOut.add($bind(this,this.onWindowFocusOut)); $window.onFullscreen.add($bind(this,this.onWindowFullscreen)); $window.onKeyDown.add($bind(this,this.onKeyDown)); $window.onKeyUp.add($bind(this,this.onKeyUp)); $window.onLeave.add($bind(this,this.onWindowLeave)); $window.onMinimize.add($bind(this,this.onWindowMinimize)); $window.onMouseDown.add($bind(this,this.onMouseDown)); $window.onMouseMove.add($bind(this,this.onMouseMove)); $window.onMouseMoveRelative.add($bind(this,this.onMouseMoveRelative)); $window.onMouseUp.add($bind(this,this.onMouseUp)); $window.onMouseWheel.add($bind(this,this.onMouseWheel)); $window.onMove.add($bind(this,this.onWindowMove)); $window.onRender.add($bind(this,this.render)); $window.onResize.add($bind(this,this.onWindowResize)); $window.onRestore.add($bind(this,this.onWindowRestore)); $window.onTextEdit.add($bind(this,this.onTextEdit)); $window.onTextInput.add($bind(this,this.onTextInput)); this.onWindowCreate(); } this.onCreateWindow.dispatch($window); return $window; } ,__class__: openfl_display_Application }); var openfl_display_Bitmap = function(bitmapData,pixelSnapping,smoothing) { if(smoothing == null) { smoothing = false; } openfl_display_DisplayObject.call(this); this.__drawableType = 2; this.__bitmapData = bitmapData; this.pixelSnapping = pixelSnapping; this.smoothing = smoothing; if(pixelSnapping == null) { this.pixelSnapping = 1; } }; $hxClasses["openfl.display.Bitmap"] = openfl_display_Bitmap; openfl_display_Bitmap.__name__ = "openfl.display.Bitmap"; openfl_display_Bitmap.__super__ = openfl_display_DisplayObject; openfl_display_Bitmap.prototype = $extend(openfl_display_DisplayObject.prototype,{ pixelSnapping: null ,smoothing: null ,__image: null ,__bitmapData: null ,__imageVersion: null ,__enterFrame: function(deltaTime) { if(this.__bitmapData != null && this.__bitmapData.image != null && this.__bitmapData.image.version != this.__imageVersion) { if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } } ,__getBounds: function(rect,matrix) { var bounds = openfl_geom_Rectangle.__pool.get(); if(this.__bitmapData != null) { bounds.setTo(0,0,this.__bitmapData.width,this.__bitmapData.height); } else { bounds.setTo(0,0,0,0); } bounds.__transform(bounds,matrix); rect.__expand(bounds.x,bounds.y,bounds.width,bounds.height); openfl_geom_Rectangle.__pool.release(bounds); } ,__hitTest: function(x,y,shapeFlag,stack,interactiveOnly,hitObject) { if(!hitObject.get_visible() || this.__isMask || this.__bitmapData == null) { return false; } if(this.get_mask() != null && !this.get_mask().__hitTestMask(x,y)) { return false; } this.__getRenderTransform(); var _this = this.__renderTransform; var norm = _this.a * _this.d - _this.b * _this.c; var px = norm == 0 ? -_this.tx : 1.0 / norm * (_this.c * (_this.ty - y) + _this.d * (x - _this.tx)); var _this1 = this.__renderTransform; var norm1 = _this1.a * _this1.d - _this1.b * _this1.c; var py = norm1 == 0 ? -_this1.ty : 1.0 / norm1 * (_this1.a * (y - _this1.ty) + _this1.b * (_this1.tx - x)); if(px > 0 && py > 0 && px <= this.__bitmapData.width && py <= this.__bitmapData.height) { if(this.__scrollRect != null && !this.__scrollRect.contains(px,py)) { return false; } if(stack != null && !interactiveOnly) { stack.push(hitObject); } return true; } return false; } ,__hitTestMask: function(x,y) { if(this.__bitmapData == null) { return false; } this.__getRenderTransform(); var _this = this.__renderTransform; var norm = _this.a * _this.d - _this.b * _this.c; var px = norm == 0 ? -_this.tx : 1.0 / norm * (_this.c * (_this.ty - y) + _this.d * (x - _this.tx)); var _this1 = this.__renderTransform; var norm1 = _this1.a * _this1.d - _this1.b * _this1.c; var py = norm1 == 0 ? -_this1.ty : 1.0 / norm1 * (_this1.a * (y - _this1.ty) + _this1.b * (_this1.tx - x)); if(px > 0 && py > 0 && px <= this.__bitmapData.width && py <= this.__bitmapData.height) { return true; } return false; } ,get_bitmapData: function() { return this.__bitmapData; } ,set_bitmapData: function(value) { this.__bitmapData = value; this.smoothing = false; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } var tmp = this.__filters != null; this.__imageVersion = -1; return this.__bitmapData; } ,set_height: function(value) { if(this.__bitmapData != null) { this.set_scaleY(value / this.__bitmapData.height); } else { this.set_scaleY(0); } return value; } ,set_width: function(value) { if(this.__bitmapData != null) { this.set_scaleX(value / this.__bitmapData.width); } else { this.set_scaleX(0); } return value; } ,__class__: openfl_display_Bitmap ,__properties__: $extend(openfl_display_DisplayObject.prototype.__properties__,{set_bitmapData:"set_bitmapData",get_bitmapData:"get_bitmapData"}) }); var openfl_display__$BlendMode_BlendMode_$Impl_$ = {}; $hxClasses["openfl.display._BlendMode.BlendMode_Impl_"] = openfl_display__$BlendMode_BlendMode_$Impl_$; openfl_display__$BlendMode_BlendMode_$Impl_$.__name__ = "openfl.display._BlendMode.BlendMode_Impl_"; openfl_display__$BlendMode_BlendMode_$Impl_$.fromString = function(value) { switch(value) { case "add": return 0; case "alpha": return 1; case "darken": return 2; case "difference": return 3; case "erase": return 4; case "hardlight": return 5; case "invert": return 6; case "layer": return 7; case "lighten": return 8; case "multiply": return 9; case "normal": return 10; case "overlay": return 11; case "screen": return 12; case "shader": return 13; case "subtract": return 14; default: return null; } }; openfl_display__$BlendMode_BlendMode_$Impl_$.toString = function(this1) { switch(this1) { case 0: return "add"; case 1: return "alpha"; case 2: return "darken"; case 3: return "difference"; case 4: return "erase"; case 5: return "hardlight"; case 6: return "invert"; case 7: return "layer"; case 8: return "lighten"; case 9: return "multiply"; case 10: return "normal"; case 11: return "overlay"; case 12: return "screen"; case 13: return "shader"; case 14: return "subtract"; default: return null; } }; var openfl_display_DisplayObjectRenderer = function() { openfl_events_EventDispatcher.call(this); this.__allowSmoothing = true; this.__tempColorTransform = new openfl_geom_ColorTransform(); this.__worldAlpha = 1; }; $hxClasses["openfl.display.DisplayObjectRenderer"] = openfl_display_DisplayObjectRenderer; openfl_display_DisplayObjectRenderer.__name__ = "openfl.display.DisplayObjectRenderer"; openfl_display_DisplayObjectRenderer.__super__ = openfl_events_EventDispatcher; openfl_display_DisplayObjectRenderer.prototype = $extend(openfl_events_EventDispatcher.prototype,{ __allowSmoothing: null ,__blendMode: null ,__cleared: null ,__context: null ,__overrideBlendMode: null ,__roundPixels: null ,__stage: null ,__tempColorTransform: null ,__transparent: null ,__type: null ,__worldAlpha: null ,__worldColorTransform: null ,__worldTransform: null ,__clear: function() { } ,__getAlpha: function(value) { return value * this.__worldAlpha; } ,__getColorTransform: function(value) { if(this.__worldColorTransform != null) { this.__tempColorTransform.__copyFrom(this.__worldColorTransform); this.__tempColorTransform.__combine(value); return this.__tempColorTransform; } else { return value; } } ,__popMask: function() { } ,__popMaskObject: function(object,handleScrollRect) { if(handleScrollRect == null) { handleScrollRect = true; } } ,__popMaskRect: function() { } ,__pushMask: function(mask) { } ,__pushMaskObject: function(object,handleScrollRect) { if(handleScrollRect == null) { handleScrollRect = true; } } ,__pushMaskRect: function(rect,transform) { } ,__render: function(object) { } ,__renderEvent: function(displayObject) { var renderer = this; if(displayObject.__customRenderEvent != null && displayObject.__renderable) { displayObject.__customRenderEvent.allowSmoothing = renderer.__allowSmoothing; displayObject.__customRenderEvent.objectMatrix.copyFrom(displayObject.__renderTransform); displayObject.__customRenderEvent.objectColorTransform.__copyFrom(displayObject.__worldColorTransform); displayObject.__customRenderEvent.renderer = renderer; switch(renderer.__type) { case "cairo": displayObject.__customRenderEvent.type = "renderCairo"; break; case "canvas": displayObject.__customRenderEvent.type = "renderCanvas"; break; case "dom": if(displayObject.stage != null && displayObject.__worldVisible) { displayObject.__customRenderEvent.type = "renderDOM"; } else { displayObject.__customRenderEvent.type = "clearDOM"; } break; case "opengl": if(!renderer.__cleared) { renderer.__clear(); } var renderer1 = renderer; renderer1.setShader(displayObject.__worldShader); renderer1.__context3D.__flushGL(); displayObject.__customRenderEvent.type = "renderOpenGL"; break; default: return; } renderer.__setBlendMode(displayObject.__worldBlendMode); renderer.__pushMaskObject(displayObject); displayObject.dispatchEvent(displayObject.__customRenderEvent); renderer.__popMaskObject(displayObject); if(renderer.__type == "opengl") { var renderer2 = renderer; renderer2.setViewport(); } } } ,__resize: function(width,height) { } ,__setBlendMode: function(value) { } ,__shouldCacheHardware: function(displayObject,value) { if(displayObject == null) { return null; } switch(displayObject.__drawableType) { case 4:case 5: if(value == true) { return true; } value = this.__shouldCacheHardware_DisplayObject(displayObject,value); if(value == true) { return true; } if(displayObject.__children != null) { var _g = 0; var _g1 = displayObject.__children; while(_g < _g1.length) { var child = _g1[_g]; ++_g; value = this.__shouldCacheHardware_DisplayObject(child,value); if(value == true) { return true; } } } return value; case 7: if(value == true) { return true; } else { return false; } break; case 9: return true; default: return this.__shouldCacheHardware_DisplayObject(displayObject,value); } } ,__shouldCacheHardware_DisplayObject: function(displayObject,value) { if(value == true || displayObject.__filters != null) { return true; } if(value == false || displayObject.__graphics != null && !openfl_display__$internal_Context3DGraphics.isCompatible(displayObject.__graphics)) { return false; } return null; } ,__updateCacheBitmap: function(displayObject,force) { if(displayObject == null) { return false; } var renderer = this; switch(displayObject.__drawableType) { case 2: var bitmap = displayObject; if(bitmap.__bitmapData == null || bitmap.__filters == null && renderer.__type == "opengl" && bitmap.__cacheBitmap == null) { return false; } force = bitmap.__bitmapData.image != null && bitmap.__bitmapData.image.version != bitmap.__imageVersion; break; case 7: var textField = displayObject; if(textField.__filters == null && renderer.__type == "opengl" && textField.__cacheBitmap == null && !textField.__domRender) { return false; } if(force) { textField.__renderDirty = true; } force = force || textField.__dirty; break; case 9: var tilemap = displayObject; if(tilemap.__filters == null && renderer.__type == "opengl" && tilemap.__cacheBitmap == null) { return false; } break; default: } if(displayObject.__isCacheBitmapRender) { return false; } var colorTransform = openfl_geom_ColorTransform.__pool.get(); colorTransform.__copyFrom(displayObject.__worldColorTransform); if(renderer.__worldColorTransform != null) { colorTransform.__combine(renderer.__worldColorTransform); } var updated = false; if(displayObject.get_cacheAsBitmap() || renderer.__type != "opengl" && !colorTransform.__isDefault(true)) { var rect = null; var needRender = displayObject.__cacheBitmap == null || displayObject.__renderDirty && (force || displayObject.__children != null && displayObject.__children.length > 0) || displayObject.opaqueBackground != displayObject.__cacheBitmapBackground; var softwareDirty = needRender || displayObject.__graphics != null && displayObject.__graphics.__softwareDirty || !displayObject.__cacheBitmapColorTransform.__equals(colorTransform,true); var hardwareDirty = needRender || displayObject.__graphics != null && displayObject.__graphics.__hardwareDirty; var renderType = renderer.__type; if(softwareDirty || hardwareDirty) { if(renderType == "opengl") { if(this.__shouldCacheHardware(displayObject,null) == false) { renderType = "canvas"; } } if(softwareDirty && (renderType == "canvas" || renderType == "cairo")) { needRender = true; } if(hardwareDirty && renderType == "opengl") { needRender = true; } } var updateTransform = needRender || !displayObject.__cacheBitmap.__worldTransform.equals(displayObject.__worldTransform); var hasFilters = displayObject.__filters != null; if(hasFilters && !needRender) { var _g1 = 0; var _g2 = displayObject.__filters; while(_g1 < _g2.length) { var filter = _g2[_g1]; ++_g1; if(filter.__renderDirty) { needRender = true; break; } } } if(displayObject.__cacheBitmapMatrix == null) { displayObject.__cacheBitmapMatrix = new openfl_geom_Matrix(); } var bitmapMatrix = displayObject.__cacheAsBitmapMatrix != null ? displayObject.__cacheAsBitmapMatrix : displayObject.__renderTransform; if(!needRender && (bitmapMatrix.a != displayObject.__cacheBitmapMatrix.a || bitmapMatrix.b != displayObject.__cacheBitmapMatrix.b || bitmapMatrix.c != displayObject.__cacheBitmapMatrix.c || bitmapMatrix.d != displayObject.__cacheBitmapMatrix.d)) { needRender = true; } if(!needRender && renderer.__type != "opengl" && displayObject.__cacheBitmapData != null && displayObject.__cacheBitmapData.image != null && displayObject.__cacheBitmapData.image.version < displayObject.__cacheBitmapData.__textureVersion) { needRender = true; } displayObject.__cacheBitmapMatrix.copyFrom(bitmapMatrix); displayObject.__cacheBitmapMatrix.tx = 0; displayObject.__cacheBitmapMatrix.ty = 0; var bitmapWidth = 0; var bitmapHeight = 0; var filterWidth = 0; var filterHeight = 0; var offsetX = 0.; var offsetY = 0.; if(updateTransform || needRender) { rect = openfl_geom_Rectangle.__pool.get(); displayObject.__getFilterBounds(rect,displayObject.__cacheBitmapMatrix); filterWidth = Math.ceil(rect.width); filterHeight = Math.ceil(rect.height); offsetX = rect.x > 0 ? Math.ceil(rect.x) : Math.floor(rect.x); offsetY = rect.y > 0 ? Math.ceil(rect.y) : Math.floor(rect.y); if(displayObject.__cacheBitmapData != null) { if(filterWidth > displayObject.__cacheBitmapData.width || filterHeight > displayObject.__cacheBitmapData.height) { bitmapWidth = Math.ceil(Math.max(filterWidth * 1.25,displayObject.__cacheBitmapData.width)); bitmapHeight = Math.ceil(Math.max(filterHeight * 1.25,displayObject.__cacheBitmapData.height)); needRender = true; } else { bitmapWidth = displayObject.__cacheBitmapData.width; bitmapHeight = displayObject.__cacheBitmapData.height; } } else { bitmapWidth = filterWidth; bitmapHeight = filterHeight; } } if(needRender) { updateTransform = true; displayObject.__cacheBitmapBackground = displayObject.opaqueBackground; if(filterWidth >= 0.5 && filterHeight >= 0.5) { var needsFill = displayObject.opaqueBackground != null && (bitmapWidth != filterWidth || bitmapHeight != filterHeight); var fillColor = displayObject.opaqueBackground != null ? -16777216 | displayObject.opaqueBackground : 0; var bitmapColor = needsFill ? 0 : fillColor; var allowFramebuffer = renderer.__type == "opengl"; if(displayObject.__cacheBitmapData == null || bitmapWidth > displayObject.__cacheBitmapData.width || bitmapHeight > displayObject.__cacheBitmapData.height) { displayObject.__cacheBitmapData = new openfl_display_BitmapData(bitmapWidth,bitmapHeight,true,bitmapColor); if(displayObject.__cacheBitmap == null) { displayObject.__cacheBitmap = new openfl_display_Bitmap(); } displayObject.__cacheBitmap.__bitmapData = displayObject.__cacheBitmapData; displayObject.__cacheBitmapRenderer = null; } else { displayObject.__cacheBitmapData.__fillRect(displayObject.__cacheBitmapData.rect,bitmapColor,allowFramebuffer); } if(needsFill) { rect.setTo(0,0,filterWidth,filterHeight); displayObject.__cacheBitmapData.__fillRect(rect,fillColor,allowFramebuffer); } } else { openfl_geom_ColorTransform.__pool.release(colorTransform); displayObject.__cacheBitmap = null; displayObject.__cacheBitmapData = null; displayObject.__cacheBitmapData2 = null; displayObject.__cacheBitmapData3 = null; displayObject.__cacheBitmapRenderer = null; if(displayObject.__drawableType == 7) { var textField1 = displayObject; if(textField1.__cacheBitmap != null) { textField1.__cacheBitmap.__renderTransform.tx -= textField1.__offsetX; textField1.__cacheBitmap.__renderTransform.ty -= textField1.__offsetY; } } return true; } } else { displayObject.__cacheBitmapData = displayObject.__cacheBitmap.get_bitmapData(); displayObject.__cacheBitmapData2 = null; displayObject.__cacheBitmapData3 = null; } if(updateTransform || needRender) { displayObject.__cacheBitmap.__worldTransform.copyFrom(displayObject.__worldTransform); if(bitmapMatrix == displayObject.__renderTransform) { displayObject.__cacheBitmap.__renderTransform.identity(); displayObject.__cacheBitmap.__renderTransform.tx = displayObject.__renderTransform.tx + offsetX; displayObject.__cacheBitmap.__renderTransform.ty = displayObject.__renderTransform.ty + offsetY; } else { displayObject.__cacheBitmap.__renderTransform.copyFrom(displayObject.__cacheBitmapMatrix); displayObject.__cacheBitmap.__renderTransform.invert(); displayObject.__cacheBitmap.__renderTransform.concat(displayObject.__renderTransform); displayObject.__cacheBitmap.__renderTransform.tx += offsetX; displayObject.__cacheBitmap.__renderTransform.ty += offsetY; } } displayObject.__cacheBitmap.smoothing = renderer.__allowSmoothing; displayObject.__cacheBitmap.__renderable = displayObject.__renderable; displayObject.__cacheBitmap.__worldAlpha = displayObject.__worldAlpha; displayObject.__cacheBitmap.__worldBlendMode = displayObject.__worldBlendMode; displayObject.__cacheBitmap.__worldShader = displayObject.__worldShader; displayObject.__cacheBitmap.set_mask(displayObject.__mask); if(needRender) { if(displayObject.__cacheBitmapRenderer == null || renderType != displayObject.__cacheBitmapRenderer.__type) { if(renderType == "opengl") { displayObject.__cacheBitmapRenderer = new openfl_display_OpenGLRenderer((js_Boot.__cast(renderer , openfl_display_OpenGLRenderer)).__context3D,displayObject.__cacheBitmapData); } else { if(displayObject.__cacheBitmapData.image == null) { var color = displayObject.opaqueBackground != null ? -16777216 | displayObject.opaqueBackground : 0; displayObject.__cacheBitmapData = new openfl_display_BitmapData(bitmapWidth,bitmapHeight,true,color); displayObject.__cacheBitmap.__bitmapData = displayObject.__cacheBitmapData; } lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(displayObject.__cacheBitmapData.image); displayObject.__cacheBitmapRenderer = new openfl_display_CanvasRenderer(displayObject.__cacheBitmapData.image.buffer.__srcContext); } displayObject.__cacheBitmapRenderer.__worldTransform = new openfl_geom_Matrix(); displayObject.__cacheBitmapRenderer.__worldColorTransform = new openfl_geom_ColorTransform(); } if(displayObject.__cacheBitmapColorTransform == null) { displayObject.__cacheBitmapColorTransform = new openfl_geom_ColorTransform(); } displayObject.__cacheBitmapRenderer.__stage = displayObject.stage; displayObject.__cacheBitmapRenderer.__allowSmoothing = renderer.__allowSmoothing; displayObject.__cacheBitmapRenderer.__setBlendMode(10); displayObject.__cacheBitmapRenderer.__worldAlpha = 1 / displayObject.__worldAlpha; displayObject.__cacheBitmapRenderer.__worldTransform.copyFrom(displayObject.__renderTransform); displayObject.__cacheBitmapRenderer.__worldTransform.invert(); displayObject.__cacheBitmapRenderer.__worldTransform.concat(displayObject.__cacheBitmapMatrix); displayObject.__cacheBitmapRenderer.__worldTransform.tx -= offsetX; displayObject.__cacheBitmapRenderer.__worldTransform.ty -= offsetY; displayObject.__cacheBitmapRenderer.__worldColorTransform.__copyFrom(colorTransform); displayObject.__cacheBitmapRenderer.__worldColorTransform.__invert(); displayObject.__isCacheBitmapRender = true; if(displayObject.__cacheBitmapRenderer.__type == "opengl") { var parentRenderer = renderer; var childRenderer = displayObject.__cacheBitmapRenderer; var context = childRenderer.__context3D; var cacheRTT = context.__state.renderToTexture; var cacheRTTDepthStencil = context.__state.renderToTextureDepthStencil; var cacheRTTAntiAlias = context.__state.renderToTextureAntiAlias; var cacheRTTSurfaceSelector = context.__state.renderToTextureSurfaceSelector; var cacheBlendMode = parentRenderer.__blendMode; parentRenderer.__suspendClipAndMask(); childRenderer.__copyShader(parentRenderer); displayObject.__cacheBitmapData.__setUVRect(context,0,0,filterWidth,filterHeight); childRenderer.__setRenderTarget(displayObject.__cacheBitmapData); if(displayObject.__cacheBitmapData.image != null) { displayObject.__cacheBitmapData.__textureVersion = displayObject.__cacheBitmapData.image.version + 1; } displayObject.__cacheBitmapData.__drawGL(displayObject,childRenderer); if(hasFilters) { var needSecondBitmapData = true; var needCopyOfOriginal = false; var _g11 = 0; var _g21 = displayObject.__filters; while(_g11 < _g21.length) { var filter1 = _g21[_g11]; ++_g11; if(filter1.__preserveObject) { needCopyOfOriginal = true; } } var bitmap1 = displayObject.__cacheBitmapData; var bitmap2 = null; var bitmap3 = null; if(displayObject.__cacheBitmapData2 == null || bitmapWidth > displayObject.__cacheBitmapData2.width || bitmapHeight > displayObject.__cacheBitmapData2.height) { displayObject.__cacheBitmapData2 = new openfl_display_BitmapData(bitmapWidth,bitmapHeight,true,0); } else { displayObject.__cacheBitmapData2.fillRect(displayObject.__cacheBitmapData2.rect,0); if(displayObject.__cacheBitmapData2.image != null) { displayObject.__cacheBitmapData2.__textureVersion = displayObject.__cacheBitmapData2.image.version + 1; } } displayObject.__cacheBitmapData2.__setUVRect(context,0,0,filterWidth,filterHeight); bitmap2 = displayObject.__cacheBitmapData2; if(needCopyOfOriginal) { if(displayObject.__cacheBitmapData3 == null || bitmapWidth > displayObject.__cacheBitmapData3.width || bitmapHeight > displayObject.__cacheBitmapData3.height) { displayObject.__cacheBitmapData3 = new openfl_display_BitmapData(bitmapWidth,bitmapHeight,true,0); } else { displayObject.__cacheBitmapData3.fillRect(displayObject.__cacheBitmapData3.rect,0); if(displayObject.__cacheBitmapData3.image != null) { displayObject.__cacheBitmapData3.__textureVersion = displayObject.__cacheBitmapData3.image.version + 1; } } displayObject.__cacheBitmapData3.__setUVRect(context,0,0,filterWidth,filterHeight); bitmap3 = displayObject.__cacheBitmapData3; } childRenderer.__setBlendMode(10); childRenderer.__worldAlpha = 1; childRenderer.__worldTransform.identity(); childRenderer.__worldColorTransform.__identity(); var shader; var cacheBitmap; var _g3 = 0; var _g4 = displayObject.__filters; while(_g3 < _g4.length) { var filter2 = _g4[_g3]; ++_g3; if(filter2.__preserveObject) { childRenderer.__setRenderTarget(bitmap3); childRenderer.__renderFilterPass(bitmap1,childRenderer.__defaultDisplayShader,filter2.__smooth); } var _g31 = 0; var _g41 = filter2.__numShaderPasses; while(_g31 < _g41) { var i = _g31++; shader = filter2.__initShader(childRenderer,i,filter2.__preserveObject ? bitmap3 : null); childRenderer.__setBlendMode(filter2.__shaderBlendMode); childRenderer.__setRenderTarget(bitmap2); childRenderer.__renderFilterPass(bitmap1,shader,filter2.__smooth); cacheBitmap = bitmap1; bitmap1 = bitmap2; bitmap2 = cacheBitmap; } filter2.__renderDirty = false; } displayObject.__cacheBitmap.__bitmapData = bitmap1; } parentRenderer.__blendMode = 10; parentRenderer.__setBlendMode(cacheBlendMode); parentRenderer.__copyShader(childRenderer); if(cacheRTT != null) { context.setRenderToTexture(cacheRTT,cacheRTTDepthStencil,cacheRTTAntiAlias,cacheRTTSurfaceSelector); } else { context.setRenderToBackBuffer(); } parentRenderer.__resumeClipAndMask(childRenderer); parentRenderer.setViewport(); displayObject.__cacheBitmapColorTransform.__copyFrom(colorTransform); } else { displayObject.__cacheBitmapData.__drawCanvas(displayObject,displayObject.__cacheBitmapRenderer); if(hasFilters) { var needSecondBitmapData1 = false; var needCopyOfOriginal1 = false; var _g12 = 0; var _g22 = displayObject.__filters; while(_g12 < _g22.length) { var filter3 = _g22[_g12]; ++_g12; if(filter3.__needSecondBitmapData) { needSecondBitmapData1 = true; } if(filter3.__preserveObject) { needCopyOfOriginal1 = true; } } var bitmap4 = displayObject.__cacheBitmapData; var bitmap21 = null; var bitmap31 = null; if(needSecondBitmapData1) { if(displayObject.__cacheBitmapData2 == null || displayObject.__cacheBitmapData2.image == null || bitmapWidth > displayObject.__cacheBitmapData2.width || bitmapHeight > displayObject.__cacheBitmapData2.height) { displayObject.__cacheBitmapData2 = new openfl_display_BitmapData(bitmapWidth,bitmapHeight,true,0); } else { displayObject.__cacheBitmapData2.fillRect(displayObject.__cacheBitmapData2.rect,0); } bitmap21 = displayObject.__cacheBitmapData2; } else { bitmap21 = bitmap4; } if(needCopyOfOriginal1) { if(displayObject.__cacheBitmapData3 == null || displayObject.__cacheBitmapData3.image == null || bitmapWidth > displayObject.__cacheBitmapData3.width || bitmapHeight > displayObject.__cacheBitmapData3.height) { displayObject.__cacheBitmapData3 = new openfl_display_BitmapData(bitmapWidth,bitmapHeight,true,0); } else { displayObject.__cacheBitmapData3.fillRect(displayObject.__cacheBitmapData3.rect,0); } bitmap31 = displayObject.__cacheBitmapData3; } if(displayObject.__tempPoint == null) { displayObject.__tempPoint = new openfl_geom_Point(); } var destPoint = displayObject.__tempPoint; var cacheBitmap1; var lastBitmap; var _g32 = 0; var _g42 = displayObject.__filters; while(_g32 < _g42.length) { var filter4 = _g42[_g32]; ++_g32; if(filter4.__preserveObject) { bitmap31.copyPixels(bitmap4,bitmap4.rect,destPoint); } lastBitmap = filter4.__applyFilter(bitmap21,bitmap4,bitmap4.rect,destPoint); if(filter4.__preserveObject) { lastBitmap.draw(bitmap31,null,displayObject.__objectTransform != null ? displayObject.__objectTransform.__colorTransform : null); } filter4.__renderDirty = false; if(needSecondBitmapData1 && lastBitmap == bitmap21) { cacheBitmap1 = bitmap4; bitmap4 = bitmap21; bitmap21 = cacheBitmap1; } } if(displayObject.__cacheBitmapData != bitmap4) { cacheBitmap1 = displayObject.__cacheBitmapData; displayObject.__cacheBitmapData = bitmap4; displayObject.__cacheBitmapData2 = cacheBitmap1; displayObject.__cacheBitmap.__bitmapData = displayObject.__cacheBitmapData; displayObject.__cacheBitmapRenderer = null; } displayObject.__cacheBitmap.__imageVersion = displayObject.__cacheBitmapData.__textureVersion; } displayObject.__cacheBitmapColorTransform.__copyFrom(colorTransform); if(!displayObject.__cacheBitmapColorTransform.__isDefault(true)) { displayObject.__cacheBitmapColorTransform.alphaMultiplier = 1; displayObject.__cacheBitmapData.colorTransform(displayObject.__cacheBitmapData.rect,displayObject.__cacheBitmapColorTransform); } } displayObject.__isCacheBitmapRender = false; } if(updateTransform || needRender) { openfl_geom_Rectangle.__pool.release(rect); } updated = updateTransform; } else if(displayObject.__cacheBitmap != null) { if(renderer.__type == "dom") { var domRenderer = renderer; domRenderer.__renderDrawableClear(displayObject.__cacheBitmap); } displayObject.__cacheBitmap = null; displayObject.__cacheBitmapData = null; displayObject.__cacheBitmapData2 = null; displayObject.__cacheBitmapData3 = null; displayObject.__cacheBitmapColorTransform = null; displayObject.__cacheBitmapRenderer = null; updated = true; } openfl_geom_ColorTransform.__pool.release(colorTransform); if(updated && displayObject.__drawableType == 7) { var textField2 = displayObject; if(textField2.__cacheBitmap != null) { textField2.__cacheBitmap.__renderTransform.tx -= textField2.__offsetX; textField2.__cacheBitmap.__renderTransform.ty -= textField2.__offsetY; } } return updated; } ,__class__: openfl_display_DisplayObjectRenderer }); var openfl_display_CairoRenderer = function(cairo) { openfl_display_DisplayObjectRenderer.call(this); }; $hxClasses["openfl.display.CairoRenderer"] = openfl_display_CairoRenderer; openfl_display_CairoRenderer.__name__ = "openfl.display.CairoRenderer"; openfl_display_CairoRenderer.__super__ = openfl_display_DisplayObjectRenderer; openfl_display_CairoRenderer.prototype = $extend(openfl_display_DisplayObjectRenderer.prototype,{ cairo: null ,__matrix: null ,__matrix3: null ,applyMatrix: function(transform,cairo) { if(cairo == null) { cairo = this.cairo; } this.__matrix.copyFrom(transform); if(this.cairo == cairo && this.__worldTransform != null) { this.__matrix.concat(this.__worldTransform); } this.__matrix3.a = this.__matrix.a; this.__matrix3.b = this.__matrix.b; this.__matrix3.c = this.__matrix.c; this.__matrix3.d = this.__matrix.d; if(this.__roundPixels) { this.__matrix3.tx = Math.round(this.__matrix.tx); this.__matrix3.ty = Math.round(this.__matrix.ty); } else { this.__matrix3.tx = this.__matrix.tx; this.__matrix3.ty = this.__matrix.ty; } cairo.set_matrix(this.__matrix3); } ,__clear: function() { if(this.cairo == null) { return; } this.cairo.identityMatrix(); if(this.__stage != null && this.__stage.__clearBeforeRender) { var cacheBlendMode = this.__blendMode; this.__setBlendMode(10); this.cairo.setSourceRGB(this.__stage.__colorSplit[0],this.__stage.__colorSplit[1],this.__stage.__colorSplit[2]); this.cairo.paint(); this.__setBlendMode(cacheBlendMode); } } ,__popMask: function() { this.cairo.restore(); } ,__popMaskObject: function(object,handleScrollRect) { if(handleScrollRect == null) { handleScrollRect = true; } if(!object.__isCacheBitmapRender && object.__mask != null) { this.__popMask(); } if(handleScrollRect && object.__scrollRect != null) { this.__popMaskRect(); } } ,__popMaskRect: function() { this.cairo.restore(); } ,__pushMask: function(mask) { this.cairo.save(); this.applyMatrix(mask.__renderTransform,this.cairo); this.cairo.newPath(); this.__renderDrawableMask(mask); this.cairo.clip(); } ,__pushMaskObject: function(object,handleScrollRect) { if(handleScrollRect == null) { handleScrollRect = true; } if(handleScrollRect && object.__scrollRect != null) { this.__pushMaskRect(object.__scrollRect,object.__renderTransform); } if(!object.__isCacheBitmapRender && object.__mask != null) { this.__pushMask(object.__mask); } } ,__pushMaskRect: function(rect,transform) { this.cairo.save(); this.applyMatrix(transform,this.cairo); this.cairo.newPath(); this.cairo.rectangle(rect.x,rect.y,rect.width,rect.height); this.cairo.clip(); } ,__render: function(object) { if(this.cairo == null) { return; } this.__renderDrawable(object); } ,__renderDrawable: function(object) { if(object == null) { return; } switch(object.__drawableType) { case 0: break; case 2: break; case 3: break; case 4:case 5: break; case 6: var simpleButton = object; if(!(!simpleButton.__renderable || simpleButton.__worldAlpha <= 0 || simpleButton.__currentState == null)) { this.__pushMaskObject(simpleButton); this.__renderDrawable(simpleButton.__currentState); this.__popMaskObject(simpleButton); this.__renderEvent(simpleButton); } break; case 7: break; case 8: break; case 9: break; default: } } ,__renderDrawableMask: function(object) { if(object == null) { return; } switch(object.__drawableType) { case 0: break; case 2: var bitmap = object; this.cairo.rectangle(0,0,bitmap.get_width(),bitmap.get_height()); break; case 3: break; case 4:case 5: break; case 6: this.__renderDrawableMask(object.__currentState); break; case 7: break; case 8: break; case 9: break; default: } } ,__setBlendMode: function(value) { if(this.__overrideBlendMode != null) { value = this.__overrideBlendMode; } if(this.__blendMode == value) { return; } this.__blendMode = value; this.__setBlendModeCairo(this.cairo,value); } ,__setBlendModeCairo: function(cairo,value) { switch(value) { case 0: cairo.setOperator(12); break; case 2: cairo.setOperator(17); break; case 3: cairo.setOperator(23); break; case 5: cairo.setOperator(21); break; case 7: cairo.setOperator(2); break; case 8: cairo.setOperator(18); break; case 9: cairo.setOperator(14); break; case 11: cairo.setOperator(16); break; case 12: cairo.setOperator(15); break; default: cairo.setOperator(2); } } ,__class__: openfl_display_CairoRenderer }); var openfl_display_CanvasRenderer = function(context) { this.pixelRatio = 1; openfl_display_DisplayObjectRenderer.call(this); this.context = context; this.__tempMatrix = new openfl_geom_Matrix(); this.__type = "canvas"; }; $hxClasses["openfl.display.CanvasRenderer"] = openfl_display_CanvasRenderer; openfl_display_CanvasRenderer.__name__ = "openfl.display.CanvasRenderer"; openfl_display_CanvasRenderer.__super__ = openfl_display_DisplayObjectRenderer; openfl_display_CanvasRenderer.prototype = $extend(openfl_display_DisplayObjectRenderer.prototype,{ context: null ,pixelRatio: null ,__isDOM: null ,__tempMatrix: null ,applySmoothing: function(context,value) { context.imageSmoothingEnabled = value; } ,setTransform: function(transform,context) { if(context == null) { context = this.context; } else if(this.context == context && this.__worldTransform != null) { this.__tempMatrix.copyFrom(transform); this.__tempMatrix.concat(this.__worldTransform); transform = this.__tempMatrix; } if(this.__roundPixels) { context.setTransform(transform.a,transform.b,transform.c,transform.d,transform.tx | 0,transform.ty | 0); } else { context.setTransform(transform.a,transform.b,transform.c,transform.d,transform.tx,transform.ty); } } ,__clear: function() { if(this.__stage != null) { var cacheBlendMode = this.__blendMode; this.__blendMode = null; this.__setBlendMode(10); this.context.setTransform(1,0,0,1,0,0); this.context.globalAlpha = 1; if(!this.__stage.__transparent && this.__stage.__clearBeforeRender) { this.context.fillStyle = this.__stage.__colorString; this.context.fillRect(0,0,this.__stage.stageWidth * this.__stage.window.__scale,this.__stage.stageHeight * this.__stage.window.__scale); } else if(this.__stage.__transparent && this.__stage.__clearBeforeRender) { this.context.clearRect(0,0,this.__stage.stageWidth * this.__stage.window.__scale,this.__stage.stageHeight * this.__stage.window.__scale); } this.__setBlendMode(cacheBlendMode); } } ,__popMask: function() { this.context.restore(); } ,__popMaskObject: function(object,handleScrollRect) { if(handleScrollRect == null) { handleScrollRect = true; } if(!object.__isCacheBitmapRender && object.__mask != null) { this.__popMask(); } if(handleScrollRect && object.__scrollRect != null) { this.__popMaskRect(); } } ,__popMaskRect: function() { this.context.restore(); } ,__pushMask: function(mask) { this.context.save(); this.setTransform(mask.__renderTransform,this.context); this.context.beginPath(); this.__renderDrawableMask(mask); this.context.closePath(); this.context.clip(); } ,__pushMaskObject: function(object,handleScrollRect) { if(handleScrollRect == null) { handleScrollRect = true; } if(handleScrollRect && object.__scrollRect != null) { this.__pushMaskRect(object.__scrollRect,object.__renderTransform); } if(!object.__isCacheBitmapRender && object.__mask != null) { this.__pushMask(object.__mask); } } ,__pushMaskRect: function(rect,transform) { this.context.save(); this.setTransform(transform,this.context); this.context.beginPath(); this.context.rect(rect.x,rect.y,rect.width,rect.height); this.context.clip(); } ,__render: function(object) { this.__renderDrawable(object); } ,__renderDrawable: function(object) { if(object == null) { return; } switch(object.__drawableType) { case 0: openfl_display__$internal_CanvasBitmapData.renderDrawable(object,this); break; case 2: openfl_display__$internal_CanvasBitmap.renderDrawable(object,this); break; case 3: openfl_display__$internal_CanvasDisplayObject.renderDrawable(object,this); break; case 4:case 5: openfl_display__$internal_CanvasDisplayObjectContainer.renderDrawable(object,this); break; case 6: openfl_display__$internal_CanvasSimpleButton.renderDrawable(object,this); break; case 7: openfl_display__$internal_CanvasTextField.renderDrawable(object,this); break; case 8: openfl_display__$internal_CanvasVideo.renderDrawable(object,this); break; case 9: openfl_display__$internal_CanvasTilemap.renderDrawable(object,this); break; default: } } ,__renderDrawableMask: function(object) { if(object == null) { return; } switch(object.__drawableType) { case 0: openfl_display__$internal_CanvasBitmapData.renderDrawableMask(object,this); break; case 2: openfl_display__$internal_CanvasBitmap.renderDrawableMask(object,this); break; case 3: openfl_display__$internal_CanvasDisplayObject.renderDrawableMask(object,this); break; case 4:case 5: openfl_display__$internal_CanvasDisplayObjectContainer.renderDrawableMask(object,this); break; case 6: openfl_display__$internal_CanvasSimpleButton.renderDrawableMask(object,this); break; case 7: openfl_display__$internal_CanvasTextField.renderDrawableMask(object,this); break; case 8: openfl_display__$internal_CanvasVideo.renderDrawableMask(object,this); break; case 9: openfl_display__$internal_CanvasTilemap.renderDrawableMask(object,this); break; default: } } ,__setBlendMode: function(value) { if(this.__overrideBlendMode != null) { value = this.__overrideBlendMode; } if(this.__blendMode == value) { return; } this.__blendMode = value; this.__setBlendModeContext(this.context,value); } ,__setBlendModeContext: function(context,value) { switch(value) { case 0: context.globalCompositeOperation = "lighter"; break; case 2: context.globalCompositeOperation = "darken"; break; case 3: context.globalCompositeOperation = "difference"; break; case 5: context.globalCompositeOperation = "hard-light"; break; case 8: context.globalCompositeOperation = "lighten"; break; case 9: context.globalCompositeOperation = "multiply"; break; case 11: context.globalCompositeOperation = "overlay"; break; case 12: context.globalCompositeOperation = "screen"; break; default: context.globalCompositeOperation = "source-over"; } } ,__class__: openfl_display_CanvasRenderer }); var openfl_display__$CapsStyle_CapsStyle_$Impl_$ = {}; $hxClasses["openfl.display._CapsStyle.CapsStyle_Impl_"] = openfl_display__$CapsStyle_CapsStyle_$Impl_$; openfl_display__$CapsStyle_CapsStyle_$Impl_$.__name__ = "openfl.display._CapsStyle.CapsStyle_Impl_"; openfl_display__$CapsStyle_CapsStyle_$Impl_$.fromInt = function(value) { return value; }; openfl_display__$CapsStyle_CapsStyle_$Impl_$.fromString = function(value) { switch(value) { case "none": return 0; case "round": return 1; case "square": return 2; default: return null; } }; openfl_display__$CapsStyle_CapsStyle_$Impl_$.toInt = function(this1) { return this1; }; openfl_display__$CapsStyle_CapsStyle_$Impl_$.toString = function(this1) { switch(this1) { case 0: return "none"; case 1: return "round"; case 2: return "square"; default: return null; } }; var openfl_display_DOMElement = function(element) { openfl_display_DisplayObject.call(this); this.__drawableType = 10; this.__element = element; }; $hxClasses["openfl.display.DOMElement"] = openfl_display_DOMElement; openfl_display_DOMElement.__name__ = "openfl.display.DOMElement"; openfl_display_DOMElement.__super__ = openfl_display_DisplayObject; openfl_display_DOMElement.prototype = $extend(openfl_display_DisplayObject.prototype,{ __active: null ,__element: null ,__class__: openfl_display_DOMElement }); var openfl_display_DOMRenderer = function(element) { this.pixelRatio = 1; openfl_display_DisplayObjectRenderer.call(this); this.element = element; openfl_display_DisplayObject.__supportDOM = true; var prefix = ((function () { var styles = window.getComputedStyle(document.documentElement, ''), pre = (Array.prototype.slice .call(styles) .join('') .match(/-(moz|webkit|ms)-/) || (styles.OLink === '' && ['', 'o']) )[1], dom = ('WebKit|Moz|MS|O').match(new RegExp('(' + pre + ')', 'i'))[1]; return { dom: dom, lowercase: pre, css: '-' + pre + '-', js: pre[0].toUpperCase() + pre.substr(1) }; }))(); this.__vendorPrefix = prefix.lowercase; this.__transformProperty = prefix.lowercase == "webkit" ? "-webkit-transform" : "transform"; this.__transformOriginProperty = prefix.lowercase == "webkit" ? "-webkit-transform-origin" : "transform-origin"; this.__clipRects = []; this.__numClipRects = 0; this.__z = 0; this.__type = "dom"; this.__canvasRenderer = new openfl_display_CanvasRenderer(null); this.__canvasRenderer.__isDOM = true; }; $hxClasses["openfl.display.DOMRenderer"] = openfl_display_DOMRenderer; openfl_display_DOMRenderer.__name__ = "openfl.display.DOMRenderer"; openfl_display_DOMRenderer.__super__ = openfl_display_DisplayObjectRenderer; openfl_display_DOMRenderer.prototype = $extend(openfl_display_DisplayObjectRenderer.prototype,{ element: null ,pixelRatio: null ,__canvasRenderer: null ,__clipRects: null ,__currentClipRect: null ,__numClipRects: null ,__transformOriginProperty: null ,__transformProperty: null ,__vendorPrefix: null ,__z: null ,applyStyle: function(parent,childElement) { if(parent != null && childElement != null) { if(parent.__style == null || childElement.parentElement != this.element) { this.__initializeElement(parent,childElement); } parent.__style = childElement.style; this.__updateClip(parent); this.__applyStyle(parent,true,true,true); } } ,clearStyle: function(childElement) { if(childElement != null && childElement.parentElement == this.element) { this.element.removeChild(childElement); } } ,__applyStyle: function(displayObject,setTransform,setAlpha,setClip) { var style = displayObject.__style; if(setTransform && displayObject.__renderTransformChanged) { var _this = displayObject.__renderTransform; var roundPixels = this.__roundPixels; if(roundPixels == null) { roundPixels = false; } style.setProperty(this.__transformProperty,roundPixels ? "matrix3d(" + _this.a + ", " + _this.b + ", 0, 0, " + _this.c + ", " + _this.d + ", 0, 0, 0, 0, 1, 0, " + (_this.tx | 0) + ", " + (_this.ty | 0) + ", 0, 1)" : "matrix3d(" + _this.a + ", " + _this.b + ", 0, 0, " + _this.c + ", " + _this.d + ", 0, 0, 0, 0, 1, 0, " + _this.tx + ", " + _this.ty + ", 0, 1)",null); } if(displayObject.__worldZ != ++this.__z) { displayObject.__worldZ = this.__z; style.setProperty("z-index",displayObject.__worldZ == null ? "null" : "" + displayObject.__worldZ,null); } if(setAlpha && displayObject.__worldAlphaChanged) { if(displayObject.__worldAlpha < 1) { style.setProperty("opacity",displayObject.__worldAlpha == null ? "null" : "" + displayObject.__worldAlpha,null); } else { style.removeProperty("opacity"); } } if(setClip && displayObject.__worldClipChanged) { if(displayObject.__worldClip == null) { style.removeProperty("clip"); } else { var clip = displayObject.__worldClip; style.setProperty("clip","rect(" + clip.y + "px, " + clip.get_right() + "px, " + clip.get_bottom() + "px, " + clip.x + "px)",null); } } } ,__initializeElement: function(displayObject,element) { var style = displayObject.__style = element.style; style.setProperty("position","absolute",null); style.setProperty("top","0",null); style.setProperty("left","0",null); style.setProperty(this.__transformOriginProperty,"0 0 0",null); this.element.appendChild(element); displayObject.__worldAlphaChanged = true; displayObject.__renderTransformChanged = true; displayObject.__worldVisibleChanged = true; displayObject.__worldClipChanged = true; displayObject.__worldClip = null; displayObject.__worldZ = -1; } ,__popMask: function() { this.__popMaskRect(); } ,__popMaskObject: function(object,handleScrollRect) { if(handleScrollRect == null) { handleScrollRect = true; } if(object.__mask != null) { this.__popMask(); } if(handleScrollRect && object.__scrollRect != null) { this.__popMaskRect(); } } ,__popMaskRect: function() { if(this.__numClipRects > 0) { this.__numClipRects--; if(this.__numClipRects > 0) { this.__currentClipRect = this.__clipRects[this.__numClipRects - 1]; } else { this.__currentClipRect = null; } } } ,__pushMask: function(mask) { this.__pushMaskRect(mask.getBounds(mask),mask.__renderTransform); } ,__pushMaskObject: function(object,handleScrollRect) { if(handleScrollRect == null) { handleScrollRect = true; } if(handleScrollRect && object.__scrollRect != null) { this.__pushMaskRect(object.__scrollRect,object.__renderTransform); } if(object.__mask != null) { this.__pushMask(object.__mask); } } ,__pushMaskRect: function(rect,transform) { if(this.__numClipRects == this.__clipRects.length) { this.__clipRects[this.__numClipRects] = new openfl_geom_Rectangle(); } var clipRect = this.__clipRects[this.__numClipRects]; rect.__transform(clipRect,transform); if(this.__numClipRects > 0) { var parentClipRect = this.__clipRects[this.__numClipRects - 1]; clipRect.__contract(parentClipRect.x,parentClipRect.y,parentClipRect.width,parentClipRect.height); } if(clipRect.height < 0) { clipRect.height = 0; } if(clipRect.width < 0) { clipRect.width = 0; } this.__currentClipRect = clipRect; this.__numClipRects++; } ,__render: function(object) { if(!this.__stage.__transparent) { this.element.style.background = this.__stage.__colorString; } else { this.element.style.background = "none"; } this.__z = 1; this.__renderDrawable(object); } ,__renderDrawable: function(object) { if(object == null) { return; } switch(object.__drawableType) { case 0: break; case 2: openfl_display__$internal_DOMBitmap.renderDrawable(object,this); break; case 3: openfl_display__$internal_DOMDisplayObject.renderDrawable(object,this); break; case 4:case 5: openfl_display__$internal_DOMDisplayObjectContainer.renderDrawable(object,this); break; case 6: openfl_display__$internal_DOMSimpleButton.renderDrawable(object,this); break; case 7: openfl_display__$internal_DOMTextField.renderDrawable(object,this); break; case 8: openfl_display__$internal_DOMVideo.renderDrawable(object,this); break; case 9: openfl_display__$internal_DOMTilemap.renderDrawable(object,this); break; case 10: var domElement = object; if(domElement.stage != null && domElement.__worldVisible && domElement.__renderable) { if(!domElement.__active) { this.__initializeElement(domElement,domElement.__element); domElement.__active = true; } this.__updateClip(domElement); this.__applyStyle(domElement,true,true,true); } else if(domElement.__active) { this.element.removeChild(domElement.__element); domElement.__active = false; } openfl_display__$internal_DOMDisplayObject.renderDrawable(domElement,this); break; default: } } ,__renderDrawableClear: function(object) { if(object == null) { return; } switch(object.__drawableType) { case 0: break; case 2: openfl_display__$internal_DOMBitmap.renderDrawableClear(object,this); break; case 3: openfl_display__$internal_DOMDisplayObject.renderDrawableClear(object,this); break; case 4:case 5: openfl_display__$internal_DOMDisplayObjectContainer.renderDrawableClear(object,this); break; case 6: openfl_display__$internal_DOMSimpleButton.renderDrawableClear(object,this); break; case 7: openfl_display__$internal_DOMTextField.renderDrawableClear(object,this); break; case 8: openfl_display__$internal_DOMVideo.renderDrawableClear(object,this); break; case 9: openfl_display__$internal_DOMTilemap.renderDrawableClear(object,this); break; default: } } ,__setBlendMode: function(value) { if(this.__overrideBlendMode != null) { value = this.__overrideBlendMode; } if(this.__blendMode == value) { return; } this.__blendMode = value; } ,__updateClip: function(displayObject) { if(this.__currentClipRect == null) { displayObject.__worldClipChanged = displayObject.__worldClip != null; displayObject.__worldClip = null; } else { if(displayObject.__worldClip == null) { displayObject.__worldClip = new openfl_geom_Rectangle(); } var clip = openfl_geom_Rectangle.__pool.get(); var matrix = openfl_geom_Matrix.__pool.get(); matrix.copyFrom(displayObject.__renderTransform); matrix.invert(); this.__currentClipRect.__transform(clip,matrix); if(clip.equals(displayObject.__worldClip)) { displayObject.__worldClipChanged = false; } else { displayObject.__worldClip.copyFrom(clip); displayObject.__worldClipChanged = true; } openfl_geom_Rectangle.__pool.release(clip); openfl_geom_Matrix.__pool.release(matrix); } } ,__class__: openfl_display_DOMRenderer }); var openfl_display_DisplayObjectShader = function(code) { if(this.__glFragmentSource == null) { this.__glFragmentSource = "varying float openfl_Alphav;\n\t\tvarying vec4 openfl_ColorMultiplierv;\n\t\tvarying vec4 openfl_ColorOffsetv;\n\t\tvarying vec2 openfl_TextureCoordv;\n\n\t\tuniform bool openfl_HasColorTransform;\n\t\tuniform sampler2D openfl_Texture;\n\t\tuniform vec2 openfl_TextureSize;\n\n\t\tvoid main(void) {\n\n\t\t\tvec4 color = texture2D (openfl_Texture, openfl_TextureCoordv);\n\n\t\tif (color.a == 0.0) {\n\n\t\t\tgl_FragColor = vec4 (0.0, 0.0, 0.0, 0.0);\n\n\t\t} else if (openfl_HasColorTransform) {\n\n\t\t\tcolor = vec4 (color.rgb / color.a, color.a);\n\n\t\t\tmat4 colorMultiplier = mat4 (0);\n\t\t\tcolorMultiplier[0][0] = openfl_ColorMultiplierv.x;\n\t\t\tcolorMultiplier[1][1] = openfl_ColorMultiplierv.y;\n\t\t\tcolorMultiplier[2][2] = openfl_ColorMultiplierv.z;\n\t\t\tcolorMultiplier[3][3] = 1.0; // openfl_ColorMultiplierv.w;\n\n\t\t\tcolor = clamp (openfl_ColorOffsetv + (color * colorMultiplier), 0.0, 1.0);\n\n\t\t\tif (color.a > 0.0) {\n\n\t\t\t\tgl_FragColor = vec4 (color.rgb * color.a * openfl_Alphav, color.a * openfl_Alphav);\n\n\t\t\t} else {\n\n\t\t\t\tgl_FragColor = vec4 (0.0, 0.0, 0.0, 0.0);\n\n\t\t\t}\n\n\t\t} else {\n\n\t\t\tgl_FragColor = color * openfl_Alphav;\n\n\t\t}\n\n\t\t}"; } if(this.__glVertexSource == null) { this.__glVertexSource = "attribute float openfl_Alpha;\n\t\tattribute vec4 openfl_ColorMultiplier;\n\t\tattribute vec4 openfl_ColorOffset;\n\t\tattribute vec4 openfl_Position;\n\t\tattribute vec2 openfl_TextureCoord;\n\n\t\tvarying float openfl_Alphav;\n\t\tvarying vec4 openfl_ColorMultiplierv;\n\t\tvarying vec4 openfl_ColorOffsetv;\n\t\tvarying vec2 openfl_TextureCoordv;\n\n\t\tuniform mat4 openfl_Matrix;\n\t\tuniform bool openfl_HasColorTransform;\n\t\tuniform vec2 openfl_TextureSize;\n\n\t\tvoid main(void) {\n\n\t\t\topenfl_Alphav = openfl_Alpha;\n\t\topenfl_TextureCoordv = openfl_TextureCoord;\n\n\t\tif (openfl_HasColorTransform) {\n\n\t\t\topenfl_ColorMultiplierv = openfl_ColorMultiplier;\n\t\t\topenfl_ColorOffsetv = openfl_ColorOffset / 255.0;\n\n\t\t}\n\n\t\tgl_Position = openfl_Matrix * openfl_Position;\n\n\t\t}"; } openfl_display_Shader.call(this,code); this.__isGenerated = true; this.__initGL(); }; $hxClasses["openfl.display.DisplayObjectShader"] = openfl_display_DisplayObjectShader; openfl_display_DisplayObjectShader.__name__ = "openfl.display.DisplayObjectShader"; openfl_display_DisplayObjectShader.__super__ = openfl_display_Shader; openfl_display_DisplayObjectShader.prototype = $extend(openfl_display_Shader.prototype,{ openfl_Alpha: null ,openfl_ColorMultiplier: null ,openfl_ColorOffset: null ,openfl_Position: null ,openfl_TextureCoord: null ,openfl_Matrix: null ,openfl_HasColorTransform: null ,openfl_TextureSize: null ,openfl_Texture: null ,__class__: openfl_display_DisplayObjectShader }); var openfl_text_TextField = function() { this.__forceCachedBitmapUpdate = false; this.__renderedOnCanvasWhileOnDOM = false; this.__mouseScrollVCounter = 0; openfl_display_InteractiveObject.call(this); this.__drawableType = 7; this.__caretIndex = -1; this.__displayAsPassword = false; this.__graphics = new openfl_display_Graphics(this); this.__textEngine = new openfl_text__$internal_TextEngine(this); this.__layoutDirty = true; this.__offsetX = 0; this.__offsetY = 0; this.__mouseWheelEnabled = true; this.__text = ""; this.doubleClickEnabled = true; if(openfl_text_TextField.__defaultTextFormat == null) { openfl_text_TextField.__defaultTextFormat = new openfl_text_TextFormat("Times New Roman",12,0,false,false,false,"","",3,0,0,0,0); openfl_text_TextField.__defaultTextFormat.blockIndent = 0; openfl_text_TextField.__defaultTextFormat.bullet = false; openfl_text_TextField.__defaultTextFormat.letterSpacing = 0; openfl_text_TextField.__defaultTextFormat.kerning = false; } this.__textFormat = openfl_text_TextField.__defaultTextFormat.clone(); this.__textEngine.textFormatRanges.push(new openfl_text__$internal_TextFormatRange(this.__textFormat,0,0)); this.addEventListener("mouseDown",$bind(this,this.this_onMouseDown)); this.addEventListener("focusIn",$bind(this,this.this_onFocusIn)); this.addEventListener("focusOut",$bind(this,this.this_onFocusOut)); this.addEventListener("keyDown",$bind(this,this.this_onKeyDown)); this.addEventListener("mouseWheel",$bind(this,this.this_onMouseWheel)); this.addEventListener("doubleClick",$bind(this,this.this_onDoubleClick)); }; $hxClasses["openfl.text.TextField"] = openfl_text_TextField; openfl_text_TextField.__name__ = "openfl.text.TextField"; openfl_text_TextField.__defaultTextFormat = null; openfl_text_TextField.__super__ = openfl_display_InteractiveObject; openfl_text_TextField.prototype = $extend(openfl_display_InteractiveObject.prototype,{ __bounds: null ,__caretIndex: null ,__cursorTimer: null ,__dirty: null ,__displayAsPassword: null ,__domRender: null ,__inputEnabled: null ,__isHTML: null ,__layoutDirty: null ,__mouseScrollVCounter: null ,__mouseWheelEnabled: null ,__offsetX: null ,__offsetY: null ,__selectionIndex: null ,__showCursor: null ,__text: null ,__htmlText: null ,__textEngine: null ,__textFormat: null ,__div: null ,__renderedOnCanvasWhileOnDOM: null ,__rawHtmlText: null ,__forceCachedBitmapUpdate: null ,appendText: function(text) { if(text == null || text == "") { return; } this.__dirty = true; this.__layoutDirty = true; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } this.__updateText(this.__text + text); this.__textEngine.textFormatRanges.get(this.__textEngine.textFormatRanges.get_length() - 1).end = this.__text.length; this.__selectionIndex = this.__caretIndex = this.__text.length; } ,getCharBoundaries: function(charIndex) { if(charIndex < 0 || charIndex > this.__text.length - 1) { return null; } var rect = new openfl_geom_Rectangle(); if(this.__getCharBoundaries(charIndex,rect)) { return rect; } else { return null; } } ,getCharIndexAtPoint: function(x,y) { if(x <= 2 || x > this.get_width() + 4 || y <= 0 || y > this.get_height() + 4) { return -1; } this.__updateLayout(); x += this.get_scrollH(); var _g = 0; var _g1 = this.get_scrollV() - 1; while(_g < _g1) { var i = _g++; y += this.__textEngine.lineHeights.get(i); } var group = this.__textEngine.layoutGroups.iterator(); while(group.hasNext()) { var group1 = group.next(); if(y >= group1.offsetY && y <= group1.offsetY + group1.height) { if(x >= group1.offsetX && x <= group1.offsetX + group1.width) { var advance = 0.0; var _g3 = 0; var _g4 = group1.positions.length; while(_g3 < _g4) { var i1 = _g3++; advance += group1.positions[i1]; if(x <= group1.offsetX + advance) { return group1.startIndex + i1; } } return group1.endIndex; } } } return -1; } ,getFirstCharInParagraph: function(charIndex) { if(charIndex < 0 || charIndex > this.get_text().length) { return -1; } if(this.__textEngine.lineBreaks.get_length() == 0) { return 0; } var _g = 0; var _g1 = this.__textEngine.lineBreaks.get_length(); while(_g < _g1) { var i = _g++; if(charIndex <= this.__textEngine.lineBreaks.get(i)) { if(i == 0) { return 0; } else { return this.__textEngine.lineBreaks.get(i - 1) + 1; } } } return this.__textEngine.lineBreaks.get(this.__textEngine.lineBreaks.get_length() - 1) + 1; } ,getLineIndexAtPoint: function(x,y) { this.__updateLayout(); if(x <= 2 || x > this.get_width() + 4 || y <= 0 || y > this.get_height() + 4) { return -1; } var _g = 0; var _g1 = this.get_scrollV() - 1; while(_g < _g1) { var i = _g++; y += this.__textEngine.lineHeights.get(i); } var group = this.__textEngine.layoutGroups.iterator(); while(group.hasNext()) { var group1 = group.next(); if(y >= group1.offsetY && y <= group1.offsetY + group1.height) { return group1.lineIndex; } } return -1; } ,getLineIndexOfChar: function(charIndex) { if(charIndex < 0 || charIndex > this.__text.length) { return -1; } this.__updateLayout(); var group = this.__textEngine.layoutGroups.iterator(); while(group.hasNext()) { var group1 = group.next(); if(group1.startIndex <= charIndex && group1.endIndex >= charIndex) { return group1.lineIndex; } } return -1; } ,getLineLength: function(lineIndex) { this.__updateLayout(); if(lineIndex < 0 || lineIndex > this.__textEngine.numLines - 1) { return 0; } var startIndex = -1; var endIndex = -1; var group = this.__textEngine.layoutGroups.iterator(); while(group.hasNext()) { var group1 = group.next(); if(group1.lineIndex == lineIndex) { if(startIndex == -1) { startIndex = group1.startIndex; } } else if(group1.lineIndex == lineIndex + 1) { endIndex = group1.startIndex; break; } } if(endIndex == -1) { endIndex = this.__text.length; } return endIndex - startIndex; } ,getLineMetrics: function(lineIndex) { this.__updateLayout(); var ascender = this.__textEngine.lineAscents.get(lineIndex); var descender = this.__textEngine.lineDescents.get(lineIndex); var leading = this.__textEngine.lineLeadings.get(lineIndex); var lineHeight = this.__textEngine.lineHeights.get(lineIndex); var lineWidth = this.__textEngine.lineWidths.get(lineIndex); var margin; switch(this.__textFormat.align) { case 0: margin = (this.__textEngine.width - lineWidth) / 2; break; case 1:case 4: margin = this.__textEngine.width - lineWidth - 2; break; case 2:case 3:case 5: margin = 2; break; } return new openfl_text_TextLineMetrics(margin,lineWidth,lineHeight,ascender,descender,leading); } ,getLineOffset: function(lineIndex) { this.__updateLayout(); if(lineIndex < 0 || lineIndex > this.__textEngine.numLines - 1) { return -1; } var group = this.__textEngine.layoutGroups.iterator(); while(group.hasNext()) { var group1 = group.next(); if(group1.lineIndex == lineIndex) { return group1.startIndex; } } return 0; } ,getLineText: function(lineIndex) { this.__updateLayout(); if(lineIndex < 0 || lineIndex > this.__textEngine.numLines - 1) { return null; } var startIndex = -1; var endIndex = -1; var group = this.__textEngine.layoutGroups.iterator(); while(group.hasNext()) { var group1 = group.next(); if(group1.lineIndex == lineIndex) { if(startIndex == -1) { startIndex = group1.startIndex; } } else if(group1.lineIndex == lineIndex + 1) { endIndex = group1.startIndex; break; } } if(endIndex == -1) { endIndex = this.__text.length; } return this.__textEngine.text.substring(startIndex,endIndex); } ,getParagraphLength: function(charIndex) { if(charIndex < 0 || charIndex > this.get_text().length) { return -1; } var startIndex = this.getFirstCharInParagraph(charIndex); if(charIndex >= this.get_text().length) { return this.get_text().length - startIndex + 1; } var endIndex = this.__textEngine.getLineBreakIndex(charIndex) + 1; if(endIndex == 0) { endIndex = this.__text.length; } return endIndex - startIndex; } ,getTextFormat: function(beginIndex,endIndex) { if(endIndex == null) { endIndex = -1; } if(beginIndex == null) { beginIndex = -1; } var format = null; if(beginIndex >= this.get_text().length || beginIndex < -1 || endIndex > this.get_text().length || endIndex < -1) { throw new js__$Boot_HaxeError(new openfl_errors_RangeError("The supplied index is out of bounds")); } if(beginIndex == -1) { beginIndex = 0; } if(endIndex == -1) { endIndex = this.get_text().length; } if(beginIndex >= endIndex) { return new openfl_text_TextFormat(); } var group = this.__textEngine.textFormatRanges.iterator(); while(group.hasNext()) { var group1 = group.next(); if(group1.start <= beginIndex && group1.end > beginIndex || group1.start < endIndex && group1.end >= endIndex) { if(format == null) { format = group1.format.clone(); } else { if(group1.format.font != format.font) { format.font = null; } if(group1.format.size != format.size) { format.size = null; } if(group1.format.color != format.color) { format.color = null; } if(group1.format.bold != format.bold) { format.bold = null; } if(group1.format.italic != format.italic) { format.italic = null; } if(group1.format.underline != format.underline) { format.underline = null; } if(group1.format.url != format.url) { format.url = null; } if(group1.format.target != format.target) { format.target = null; } if(group1.format.align != format.align) { format.align = null; } if(group1.format.leftMargin != format.leftMargin) { format.leftMargin = null; } if(group1.format.rightMargin != format.rightMargin) { format.rightMargin = null; } if(group1.format.indent != format.indent) { format.indent = null; } if(group1.format.leading != format.leading) { format.leading = null; } if(group1.format.blockIndent != format.blockIndent) { format.blockIndent = null; } if(group1.format.bullet != format.bullet) { format.bullet = null; } if(group1.format.kerning != format.kerning) { format.kerning = null; } if(group1.format.letterSpacing != format.letterSpacing) { format.letterSpacing = null; } if(group1.format.tabStops != format.tabStops) { format.tabStops = null; } } } } if(format == null) { format = new openfl_text_TextFormat(); } return format; } ,replaceSelectedText: function(value) { this.__replaceSelectedText(value,false); } ,replaceText: function(beginIndex,endIndex,newText) { this.__replaceText(beginIndex,endIndex,newText,false); } ,setSelection: function(beginIndex,endIndex) { this.__selectionIndex = beginIndex; this.__caretIndex = endIndex; this.__updateScrollV(); this.__updateScrollH(); if(this.stage != null && this.stage.get_focus() == this) { this.__stopCursorTimer(); this.__startCursorTimer(); } } ,setTextFormat: function(format,beginIndex,endIndex) { if(endIndex == null) { endIndex = -1; } if(beginIndex == null) { beginIndex = -1; } var max = this.get_text().length; var range; if(beginIndex == -1) { if(endIndex == -1) { endIndex = max; } beginIndex = 0; } else if(endIndex == -1) { endIndex = beginIndex + 1; } if(beginIndex == endIndex) { return; } if(beginIndex < 0 || endIndex <= 0 || endIndex < beginIndex || beginIndex >= max || endIndex > max) { throw new js__$Boot_HaxeError(new openfl_errors_RangeError()); } if(beginIndex == 0 && endIndex == max) { this.__textEngine.textFormatRanges.set_length(1); range = this.__textEngine.textFormatRanges.get(0); range.start = 0; range.end = max; range.format.__merge(format); } else { var index = 0; var newRange; while(index < this.__textEngine.textFormatRanges.get_length()) { range = this.__textEngine.textFormatRanges.get(index); if(range.end <= beginIndex) { ++index; } else if(range.start >= endIndex) { break; } else if(range.start <= beginIndex && range.end >= endIndex) { if(range.start == beginIndex && range.end == endIndex) { range.format = range.format.clone(); range.format.__merge(format); break; } else if(range.start == beginIndex) { newRange = new openfl_text__$internal_TextFormatRange(range.format.clone(),beginIndex,endIndex); newRange.format.__merge(format); this.__textEngine.textFormatRanges.insertAt(index,newRange); range.start = endIndex; index += 2; } else if(range.end == endIndex) { newRange = new openfl_text__$internal_TextFormatRange(range.format.clone(),beginIndex,endIndex); newRange.format.__merge(format); this.__textEngine.textFormatRanges.insertAt(index + 1,newRange); range.end = beginIndex; break; } else { newRange = new openfl_text__$internal_TextFormatRange(range.format.clone(),beginIndex,endIndex); newRange.format.__merge(format); this.__textEngine.textFormatRanges.insertAt(index + 1,newRange); newRange = new openfl_text__$internal_TextFormatRange(range.format.clone(),endIndex,range.end); this.__textEngine.textFormatRanges.insertAt(index + 2,newRange); range.end = beginIndex; break; } } else if(range.start >= beginIndex && range.end <= endIndex) { if(range.start == beginIndex) { range.format = range.format.clone(); range.format.__merge(format); range.end = endIndex; } else { this.__textEngine.textFormatRanges.removeAt(index); } } else if(range.start > beginIndex && range.end > beginIndex) { range.start = endIndex; break; } else if(range.start < beginIndex && range.end <= endIndex) { newRange = new openfl_text__$internal_TextFormatRange(range.format.clone(),beginIndex,endIndex); newRange.format.__merge(format); this.__textEngine.textFormatRanges.insertAt(index + 1,newRange); range.end = beginIndex; index += 2; } else { ++index; lime_utils_Log.warn("You found a bug in OpenFL's text code! Please save a copy of your project and contact Joshua Granick (@singmajesty) so we can fix this.",{ fileName : "openfl/text/TextField.hx", lineNumber : 1562, className : "openfl.text.TextField", methodName : "setTextFormat"}); } } } this.__dirty = true; this.__layoutDirty = true; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } ,__allowMouseFocus: function() { if(!(this.__textEngine.type == 1 || this.get_tabEnabled())) { return this.get_selectable(); } else { return true; } } ,__caretBeginningOfLine: function() { this.__caretIndex = this.getLineOffset(this.getLineIndexOfChar(this.__caretIndex)); } ,__caretBeginningOfNextLine: function() { var lineIndex = this.getLineIndexOfChar(this.__caretIndex); if(lineIndex < this.__textEngine.numLines - 1) { this.__caretIndex = this.getLineOffset(lineIndex + 1); } else { this.__caretIndex = this.__text.length; } } ,__caretBeginningOfPreviousLine: function() { var lineIndex = this.getLineIndexOfChar(this.__caretIndex); if(lineIndex > 0) { var index = this.getLineOffset(this.getLineIndexOfChar(this.__caretIndex)); if(this.__caretIndex == index) { this.__caretIndex = this.getLineOffset(lineIndex - 1); } else { this.__caretIndex = index; } } } ,__caretEndOfLine: function() { var lineIndex = this.getLineIndexOfChar(this.__caretIndex); if(lineIndex < this.__textEngine.numLines - 1) { this.__caretIndex = this.getLineOffset(lineIndex + 1) - 1; } else { this.__caretIndex = this.__text.length; } } ,__caretNextCharacter: function() { if(this.__caretIndex < this.__text.length) { this.__caretIndex++; } } ,__caretNextLine: function() { var lineIndex = this.getLineIndexOfChar(this.__caretIndex); if(lineIndex < this.__textEngine.numLines - 1) { this.__caretIndex = this.__getCharIndexOnDifferentLine(this.get_caretIndex(),lineIndex + 1); } } ,__caretPreviousCharacter: function() { if(this.__caretIndex > 0) { this.__caretIndex--; } } ,__caretPreviousLine: function() { var lineIndex = this.getLineIndexOfChar(this.__caretIndex); if(lineIndex > 0) { this.__caretIndex = this.__getCharIndexOnDifferentLine(this.get_caretIndex(),lineIndex - 1); } } ,__disableInput: function() { if(this.__inputEnabled && this.stage != null) { this.stage.window.__backend.setTextInputEnabled(false); this.stage.window.onTextInput.remove($bind(this,this.window_onTextInput)); this.stage.window.onKeyDown.remove($bind(this,this.window_onKeyDown)); this.__inputEnabled = false; this.__stopCursorTimer(); } } ,__dispatch: function(event) { if(event.eventPhase == 2 && event.type == "mouseUp") { var event1 = event; var group = this.__getGroup(this.get_mouseX(),this.get_mouseY(),true); if(group != null) { var url = group.format.url; if(url != null && url != "") { if(StringTools.startsWith(url,"event:")) { this.dispatchEvent(new openfl_events_TextEvent("link",false,false,HxOverrides.substr(url,6,null))); } else { openfl_Lib.getURL(new openfl_net_URLRequest(url)); } } } } return openfl_display_InteractiveObject.prototype.__dispatch.call(this,event); } ,__enableInput: function() { if(this.stage != null) { this.stage.window.__backend.setTextInputEnabled(true); if(!this.__inputEnabled) { this.stage.window.__backend.setTextInputEnabled(true); if(!this.stage.window.onTextInput.has($bind(this,this.window_onTextInput))) { this.stage.window.onTextInput.add($bind(this,this.window_onTextInput)); this.stage.window.onKeyDown.add($bind(this,this.window_onKeyDown)); } this.__inputEnabled = true; this.__startCursorTimer(); } } } ,__getAdvance: function(position) { return position; } ,__getBounds: function(rect,matrix) { this.__updateLayout(); var bounds = openfl_geom_Rectangle.__pool.get(); bounds.copyFrom(this.__textEngine.bounds); matrix.tx += this.__offsetX; matrix.ty += this.__offsetY; bounds.__transform(bounds,matrix); rect.__expand(bounds.x,bounds.y,bounds.width,bounds.height); openfl_geom_Rectangle.__pool.release(bounds); } ,__getCharBoundaries: function(charIndex,rect) { if(charIndex < 0 || charIndex > this.__text.length - 1) { return false; } this.__updateLayout(); var group = this.__textEngine.layoutGroups.iterator(); while(group.hasNext()) { var group1 = group.next(); if(charIndex >= group1.startIndex && charIndex < group1.endIndex) { try { var x = group1.offsetX; var _g1 = 0; var _g2 = charIndex - group1.startIndex; while(_g1 < _g2) { var i = _g1++; x += group1.positions[i]; } var lastPosition = group1.positions[charIndex - group1.startIndex]; rect.setTo(x,group1.offsetY,lastPosition,group1.ascent + group1.descent); return true; } catch( e ) { haxe_CallStack.lastException = e; var e1 = ((e) instanceof js__$Boot_HaxeError) ? e.val : e; } } } return false; } ,__getCharIndexOnDifferentLine: function(charIndex,lineIndex) { if(charIndex < 0 || charIndex > this.__text.length) { return -1; } if(lineIndex < 0 || lineIndex > this.__textEngine.numLines - 1) { return -1; } var x = null; var y = null; var group = this.__textEngine.layoutGroups.iterator(); while(group.hasNext()) { var group1 = group.next(); if(charIndex >= group1.startIndex && charIndex <= group1.endIndex) { x = group1.offsetX; var _g1 = 0; var _g2 = charIndex - group1.startIndex; while(_g1 < _g2) { var i = _g1++; x += group1.positions[i]; } if(y != null) { return this.__getPosition(x,y); } } if(group1.lineIndex == lineIndex) { y = group1.offsetY + group1.height / 2; var _g11 = 0; var _g21 = this.get_scrollV() - 1; while(_g11 < _g21) { var i1 = _g11++; y -= this.__textEngine.lineHeights.get(i1); } if(x != null) { return this.__getPosition(x,y); } } } return -1; } ,__getCursor: function() { var group = this.__getGroup(this.get_mouseX(),this.get_mouseY(),true); if(group != null && group.format.url != "") { return "button"; } else if(this.__textEngine.selectable) { return "ibeam"; } return null; } ,__getGroup: function(x,y,precise) { if(precise == null) { precise = false; } this.__updateLayout(); x += this.get_scrollH(); var _g = 0; var _g1 = this.get_scrollV() - 1; while(_g < _g1) { var i = _g++; y += this.__textEngine.lineHeights.get(i); } if(!precise && y > this.__textEngine.textHeight) { y = this.__textEngine.textHeight; } var firstGroup = true; var group; var nextGroup; var _g2 = 0; var _g3 = this.__textEngine.layoutGroups.get_length(); while(_g2 < _g3) { var i1 = _g2++; group = this.__textEngine.layoutGroups.get(i1); if(i1 < this.__textEngine.layoutGroups.get_length() - 1) { nextGroup = this.__textEngine.layoutGroups.get(i1 + 1); } else { nextGroup = null; } if(firstGroup) { if(y < group.offsetY) { y = group.offsetY; } if(x < group.offsetX) { x = group.offsetX; } firstGroup = false; } if(y >= group.offsetY && y <= group.offsetY + group.height || !precise && nextGroup == null) { if(x >= group.offsetX && x <= group.offsetX + group.width || !precise && (nextGroup == null || nextGroup.lineIndex != group.lineIndex)) { return group; } } } return null; } ,__getPosition: function(x,y) { var group = this.__getGroup(x,y); if(group == null) { return this.__text.length; } var advance = 0.0; var _g = 0; var _g1 = group.positions.length; while(_g < _g1) { var i = _g++; advance += group.positions[i]; if(x <= group.offsetX + advance) { if(x <= group.offsetX + (advance - group.positions[i]) + group.positions[i] / 2) { return group.startIndex + i; } else if(group.startIndex + i < group.endIndex) { return group.startIndex + i + 1; } else { return group.endIndex; } } } return group.endIndex; } ,__hitTest: function(x,y,shapeFlag,stack,interactiveOnly,hitObject) { if(!hitObject.get_visible() || this.__isMask || interactiveOnly && !this.mouseEnabled) { return false; } if(this.get_mask() != null && !this.get_mask().__hitTestMask(x,y)) { return false; } this.__getRenderTransform(); this.__updateLayout(); var _this = this.__renderTransform; var norm = _this.a * _this.d - _this.b * _this.c; var px = norm == 0 ? -_this.tx : 1.0 / norm * (_this.c * (_this.ty - y) + _this.d * (x - _this.tx)); var _this1 = this.__renderTransform; var norm1 = _this1.a * _this1.d - _this1.b * _this1.c; var py = norm1 == 0 ? -_this1.ty : 1.0 / norm1 * (_this1.a * (y - _this1.ty) + _this1.b * (_this1.tx - x)); if(this.__textEngine.bounds.contains(px,py)) { if(stack != null) { stack.push(hitObject); } return true; } return false; } ,__hitTestMask: function(x,y) { this.__getRenderTransform(); this.__updateLayout(); var _this = this.__renderTransform; var norm = _this.a * _this.d - _this.b * _this.c; var px = norm == 0 ? -_this.tx : 1.0 / norm * (_this.c * (_this.ty - y) + _this.d * (x - _this.tx)); var _this1 = this.__renderTransform; var norm1 = _this1.a * _this1.d - _this1.b * _this1.c; var py = norm1 == 0 ? -_this1.ty : 1.0 / norm1 * (_this1.a * (y - _this1.ty) + _this1.b * (_this1.tx - x)); if(this.__textEngine.bounds.contains(px,py)) { return true; } return false; } ,__replaceSelectedText: function(value,restrict) { if(restrict == null) { restrict = true; } if(value == null) { value = ""; } if(value == "" && this.__selectionIndex == this.__caretIndex) { return; } var startIndex = this.__caretIndex < this.__selectionIndex ? this.__caretIndex : this.__selectionIndex; var endIndex = this.__caretIndex > this.__selectionIndex ? this.__caretIndex : this.__selectionIndex; if(startIndex == endIndex && this.__textEngine.maxChars > 0 && this.__text.length == this.__textEngine.maxChars) { return; } if(startIndex > this.__text.length) { startIndex = this.__text.length; } if(endIndex > this.__text.length) { endIndex = this.__text.length; } if(endIndex < startIndex) { var cache = endIndex; endIndex = startIndex; startIndex = cache; } if(startIndex < 0) { startIndex = 0; } this.__replaceText(startIndex,endIndex,value,restrict); } ,__replaceText: function(beginIndex,endIndex,newText,restrict) { if(endIndex < beginIndex || beginIndex < 0 || endIndex > this.__text.length || newText == null) { return; } if(restrict) { newText = this.__textEngine.restrictText(newText); if(this.__textEngine.maxChars > 0) { var removeLength = endIndex - beginIndex; var maxLength = this.__textEngine.maxChars - this.__text.length + removeLength; if(maxLength <= 0) { newText = ""; } else if(maxLength < newText.length) { newText = HxOverrides.substr(newText,0,maxLength); } } } this.__updateText(this.__text.substring(0,beginIndex) + newText + this.__text.substring(endIndex)); var offset = newText.length - (endIndex - beginIndex); var i = 0; var range; while(i < this.__textEngine.textFormatRanges.get_length()) { range = this.__textEngine.textFormatRanges.get(i); if(beginIndex == endIndex) { if(range.start == range.end) { if(range.start != 0) { lime_utils_Log.warn("You found a bug in OpenFL's text code! Please save a copy of your project and contact Joshua Granick (@singmajesty) so we can fix this.",{ fileName : "openfl/text/TextField.hx", lineNumber : 2051, className : "openfl.text.TextField", methodName : "__replaceText"}); } else { range.end += offset; } } else if(range.end >= beginIndex) { if(range.start >= beginIndex) { range.start += offset; range.end += offset; } else if(range.start < beginIndex && range.end >= endIndex) { range.end += offset; } } } else if(range.end > beginIndex) { if(range.start > endIndex) { range.start += offset; range.end += offset; } else if(range.start <= beginIndex && range.end > endIndex) { range.end += offset; } else if(range.start >= beginIndex && range.end <= endIndex) { this.__textEngine.textFormatRanges.splice(i--,1); } else if(range.end > endIndex && range.start > beginIndex && range.start <= endIndex) { range.start = beginIndex; range.end += offset; } else if(range.start < beginIndex && range.end > beginIndex && range.end <= endIndex) { range.end = beginIndex; } } ++i; } if(this.__textEngine.textFormatRanges.get_length() == 0) { this.__textEngine.textFormatRanges.push(new openfl_text__$internal_TextFormatRange(this.get_defaultTextFormat().clone(),0,newText.length)); } else if(beginIndex == endIndex && this.__textEngine.textFormatRanges.get(0).start > 0) { this.__textEngine.textFormatRanges.unshift(new openfl_text__$internal_TextFormatRange(this.get_defaultTextFormat().clone(),0,this.__textEngine.textFormatRanges.get(0).start)); } else if(beginIndex != endIndex && this.__textEngine.textFormatRanges.get(this.__textEngine.textFormatRanges.get_length() - 1).end < this.__text.length) { this.__textEngine.textFormatRanges.push(new openfl_text__$internal_TextFormatRange(this.get_defaultTextFormat().clone(),this.__textEngine.textFormatRanges.get(this.__textEngine.textFormatRanges.get_length() - 1).end,this.__text.length)); } this.__selectionIndex = this.__caretIndex = beginIndex + newText.length; this.__dirty = true; this.__layoutDirty = true; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } ,__startCursorTimer: function() { if(this.get_type() == 1) { this.__cursorTimer = haxe_Timer.delay($bind(this,this.__startCursorTimer),600); this.__showCursor = !this.__showCursor; this.__dirty = true; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } } ,__startTextInput: function() { if(this.__caretIndex < 0) { this.__caretIndex = this.__text.length; this.__selectionIndex = this.__caretIndex; } var enableInput = openfl_display_DisplayObject.__supportDOM ? this.__renderedOnCanvasWhileOnDOM : true; if(enableInput) { this.__enableInput(); } } ,__stopCursorTimer: function() { if(this.__cursorTimer != null) { this.__cursorTimer.stop(); this.__cursorTimer = null; } if(this.__showCursor) { this.__showCursor = false; this.__dirty = true; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } } ,__stopTextInput: function() { var disableInput = openfl_display_DisplayObject.__supportDOM ? this.__renderedOnCanvasWhileOnDOM : true; if(disableInput) { this.__disableInput(); } } ,__updateLayout: function() { if(this.__layoutDirty) { var cacheWidth = this.__textEngine.width; this.__textEngine.update(); if(this.__textEngine.autoSize != 2) { if(this.__textEngine.width != cacheWidth) { switch(this.__textEngine.autoSize) { case 0: var _g = this; _g.set_x(_g.get_x() + (cacheWidth - this.__textEngine.width) / 2); break; case 3: var _g1 = this; _g1.set_x(_g1.get_x() + (cacheWidth - this.__textEngine.width)); break; default: } } this.__textEngine.getBounds(); } this.__layoutDirty = false; this.setSelection(this.__selectionIndex,this.__caretIndex); } } ,__updateScrollH: function() { this.__updateLayout(); if(this.get_textWidth() <= this.get_width() - 4) { this.set_scrollH(0); return; } var tempScrollH = this.get_scrollH(); if(this.__caretIndex == 0 || this.getLineOffset(this.getLineIndexOfChar(this.__caretIndex)) == this.__caretIndex) { tempScrollH = 0; } else { var caret = openfl_geom_Rectangle.__pool.get(); var written = false; if(this.__caretIndex < this.__text.length) { written = this.__getCharBoundaries(this.__caretIndex,caret); } if(!written) { this.__getCharBoundaries(this.__caretIndex - 1,caret); caret.x += caret.width; } while(caret.x < tempScrollH && tempScrollH > 0) tempScrollH -= 24; while(caret.x > tempScrollH + this.get_width() - 4) tempScrollH += 24; openfl_geom_Rectangle.__pool.release(caret); } if(tempScrollH > 0 && this.get_type() != 1) { var lineLength = this.getLineLength(this.getLineIndexOfChar(this.__caretIndex)); if(this.get_scrollH() + this.get_width() - 4 > lineLength) { this.set_scrollH(Math.ceil(lineLength - this.get_width() + 4)); } } if(tempScrollH < 0) { this.set_scrollH(0); } else if(tempScrollH > this.get_maxScrollH()) { this.set_scrollH(this.get_maxScrollH()); } else { this.set_scrollH(tempScrollH); } } ,__updateScrollV: function() { this.__updateLayout(); if(this.get_textHeight() <= this.get_height() - 4) { this.set_scrollV(1); return; } var lineIndex = this.getLineIndexOfChar(this.__caretIndex); if(lineIndex == -1 && this.__caretIndex > 0) { lineIndex = this.getLineIndexOfChar(this.__caretIndex - 1) + 1; } if(lineIndex + 1 < this.get_scrollV()) { this.set_scrollV(lineIndex + 1); } else if(lineIndex + 1 > this.get_bottomScrollV()) { var i = lineIndex; var tempHeight = 0.0; while(i >= 0) if(tempHeight + this.__textEngine.lineHeights.get(i) <= this.get_height() - 4) { tempHeight += this.__textEngine.lineHeights.get(i); --i; } else { break; } this.set_scrollV(i + 2); } else { this.set_scrollV(this.get_scrollV()); } } ,__updateMouseDrag: function() { if(this.get_mouseX() > this.get_width() - 1) { var _g = this; _g.set_scrollH(_g.get_scrollH() + (Math.max(Math.min((this.get_mouseX() - this.get_width()) * .1,10),1) | 0)); } else if(this.get_mouseX() < 1) { var _g1 = this; _g1.set_scrollH(_g1.get_scrollH() - (Math.max(Math.min(this.get_mouseX() * -.1,10),1) | 0)); } this.__mouseScrollVCounter++; if(this.__mouseScrollVCounter > this.stage.get_frameRate() / 10) { if(this.get_mouseY() > this.get_height() - 2) { var _g2 = this; _g2.set_scrollV(_g2.get_scrollV() + (Math.max(Math.min((this.get_mouseY() - this.get_height()) * .03,5),1) | 0)); } else if(this.get_mouseY() < 2) { var _g3 = this; _g3.set_scrollV(_g3.get_scrollV() - (Math.max(Math.min(this.get_mouseY() * -.03,5),1) | 0)); } this.__mouseScrollVCounter = 0; } this.stage_onMouseMove(null); } ,__updateText: function(value) { if(openfl_display_DisplayObject.__supportDOM && this.__renderedOnCanvasWhileOnDOM) { this.__forceCachedBitmapUpdate = this.__text != value; } this.__textEngine.set_text(value); this.__text = this.__textEngine.text; if(this.__text.length < this.__caretIndex) { this.__selectionIndex = this.__caretIndex = this.__text.length; } if(!this.__displayAsPassword || openfl_display_DisplayObject.__supportDOM && !this.__renderedOnCanvasWhileOnDOM) { this.__textEngine.set_text(this.__text); } else { var length = this.get_text().length; var mask = ""; var _g = 0; var _g1 = length; while(_g < _g1) { var i = _g++; mask += "*"; } this.__textEngine.set_text(mask); } } ,__updateTransforms: function(overrideTransform) { openfl_display_InteractiveObject.prototype.__updateTransforms.call(this,overrideTransform); var _this = this.__renderTransform; var px = this.__offsetX; var py = this.__offsetY; _this.tx = px * _this.a + py * _this.c + _this.tx; _this.ty = px * _this.b + py * _this.d + _this.ty; } ,get_antiAliasType: function() { return this.__textEngine.antiAliasType; } ,set_antiAliasType: function(value) { var tmp = value != this.__textEngine.antiAliasType; return this.__textEngine.antiAliasType = value; } ,get_autoSize: function() { return this.__textEngine.autoSize; } ,set_autoSize: function(value) { if(value != this.__textEngine.autoSize) { this.__dirty = true; this.__layoutDirty = true; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } return this.__textEngine.autoSize = value; } ,get_background: function() { return this.__textEngine.background; } ,set_background: function(value) { if(value != this.__textEngine.background) { this.__dirty = true; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } return this.__textEngine.background = value; } ,get_backgroundColor: function() { return this.__textEngine.backgroundColor; } ,set_backgroundColor: function(value) { if(value != this.__textEngine.backgroundColor) { this.__dirty = true; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } return this.__textEngine.backgroundColor = value; } ,get_border: function() { return this.__textEngine.border; } ,set_border: function(value) { if(value != this.__textEngine.border) { this.__dirty = true; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } return this.__textEngine.border = value; } ,get_borderColor: function() { return this.__textEngine.borderColor; } ,set_borderColor: function(value) { if(value != this.__textEngine.borderColor) { this.__dirty = true; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } return this.__textEngine.borderColor = value; } ,get_bottomScrollV: function() { this.__updateLayout(); return this.__textEngine.get_bottomScrollV(); } ,get_caretIndex: function() { return this.__caretIndex; } ,get_defaultTextFormat: function() { return this.__textFormat.clone(); } ,set_defaultTextFormat: function(value) { this.__textFormat.__merge(value); this.__layoutDirty = true; this.__dirty = true; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } return value; } ,get_displayAsPassword: function() { return this.__displayAsPassword; } ,set_displayAsPassword: function(value) { if(value != this.__displayAsPassword) { this.__dirty = true; this.__layoutDirty = true; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } this.__displayAsPassword = value; this.__updateText(this.__text); } return value; } ,get_embedFonts: function() { return this.__textEngine.embedFonts; } ,set_embedFonts: function(value) { return this.__textEngine.embedFonts = value; } ,get_gridFitType: function() { return this.__textEngine.gridFitType; } ,set_gridFitType: function(value) { return this.__textEngine.gridFitType = value; } ,get_height: function() { this.__updateLayout(); return this.__textEngine.height * Math.abs(this.get_scaleY()); } ,set_height: function(value) { if(value != this.__textEngine.height) { this.__setTransformDirty(); this.__dirty = true; this.__layoutDirty = true; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } this.__textEngine.height = value; } return this.__textEngine.height * Math.abs(this.get_scaleY()); } ,get_htmlText: function() { if(this.__isHTML) { return this.__rawHtmlText; } else { return this.__text; } } ,set_htmlText: function(value) { if(!this.__isHTML || this.__text != value) { this.__dirty = true; this.__layoutDirty = true; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } this.__isHTML = true; this.__rawHtmlText = value; value = openfl_text__$internal_HTMLParser.parse(value,this.__textFormat,this.__textEngine.textFormatRanges); if(openfl_display_DisplayObject.__supportDOM) { if(this.__textEngine.textFormatRanges.get_length() > 1) { this.__textEngine.textFormatRanges.splice(1,this.__textEngine.textFormatRanges.get_length() - 1); } var range = this.__textEngine.textFormatRanges.get(0); range.format = this.__textFormat; range.start = 0; if(this.__renderedOnCanvasWhileOnDOM) { range.end = value.length; this.__updateText(value); } else { range.end = this.__rawHtmlText.length; this.__updateText(this.__rawHtmlText); } } else { this.__updateText(value); } this.__selectionIndex = this.__caretIndex = this.get_length(); return value; } ,get_length: function() { if(this.__text != null) { return this.__text.length; } return 0; } ,get_maxChars: function() { return this.__textEngine.maxChars; } ,set_maxChars: function(value) { if(value != this.__textEngine.maxChars) { this.__textEngine.maxChars = value; this.__dirty = true; this.__layoutDirty = true; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } return value; } ,get_maxScrollH: function() { this.__updateLayout(); return this.__textEngine.maxScrollH; } ,get_maxScrollV: function() { this.__updateLayout(); return this.__textEngine.get_maxScrollV(); } ,get_mouseWheelEnabled: function() { return this.__mouseWheelEnabled; } ,set_mouseWheelEnabled: function(value) { return this.__mouseWheelEnabled = value; } ,get_multiline: function() { return this.__textEngine.multiline; } ,set_multiline: function(value) { if(value != this.__textEngine.multiline) { this.__dirty = true; this.__layoutDirty = true; this.__updateText(this.__text); this.__updateScrollH(); if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } return this.__textEngine.multiline = value; } ,get_numLines: function() { this.__updateLayout(); return this.__textEngine.numLines; } ,get_restrict: function() { return this.__textEngine.restrict; } ,set_restrict: function(value) { if(this.__textEngine.restrict != value) { this.__textEngine.set_restrict(value); this.__updateText(this.__text); } return value; } ,get_scrollH: function() { return this.__textEngine.scrollH; } ,set_scrollH: function(value) { this.__updateLayout(); if(value > this.__textEngine.maxScrollH) { value = this.__textEngine.maxScrollH; } if(value < 0) { value = 0; } if(value != this.__textEngine.scrollH) { this.__dirty = true; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } this.__textEngine.scrollH = value; this.dispatchEvent(new openfl_events_Event("scroll")); } return this.__textEngine.scrollH; } ,get_scrollV: function() { return this.__textEngine.get_scrollV(); } ,set_scrollV: function(value) { this.__updateLayout(); if(value > 0 && value != this.__textEngine.get_scrollV()) { this.__dirty = true; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } this.__textEngine.set_scrollV(value); this.dispatchEvent(new openfl_events_Event("scroll")); } return this.__textEngine.get_scrollV(); } ,get_selectable: function() { return this.__textEngine.selectable; } ,set_selectable: function(value) { if(value != this.__textEngine.selectable && this.get_type() == 1) { if(this.stage != null && this.stage.get_focus() == this) { this.__startTextInput(); } else if(!value) { this.__stopTextInput(); } } return this.__textEngine.selectable = value; } ,get_selectionBeginIndex: function() { return Math.min(this.__caretIndex,this.__selectionIndex) | 0; } ,get_selectionEndIndex: function() { return Math.max(this.__caretIndex,this.__selectionIndex) | 0; } ,get_sharpness: function() { return this.__textEngine.sharpness; } ,set_sharpness: function(value) { if(value != this.__textEngine.sharpness) { this.__dirty = true; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } return this.__textEngine.sharpness = value; } ,get_tabEnabled: function() { if(this.__tabEnabled == null) { return this.__textEngine.type == 1; } else { return this.__tabEnabled; } } ,get_text: function() { return this.__text; } ,set_text: function(value) { if(this.__isHTML || this.__text != value) { this.__dirty = true; this.__layoutDirty = true; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } else { return value; } if(this.__textEngine.textFormatRanges.get_length() > 1) { this.__textEngine.textFormatRanges.splice(1,this.__textEngine.textFormatRanges.get_length() - 1); } var utfValue = value; var range = this.__textEngine.textFormatRanges.get(0); range.format = this.__textFormat; range.start = 0; range.end = utfValue.length; this.__isHTML = false; this.__updateText(value); this.__selectionIndex = this.__caretIndex = 0; return value; } ,get_textColor: function() { return this.__textFormat.color; } ,set_textColor: function(value) { if(value != this.__textFormat.color) { this.__dirty = true; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } var range = this.__textEngine.textFormatRanges.iterator(); while(range.hasNext()) { var range1 = range.next(); range1.format.color = value; } return this.__textFormat.color = value; } ,get_textWidth: function() { this.__updateLayout(); return this.__textEngine.textWidth; } ,get_textHeight: function() { this.__updateLayout(); return this.__textEngine.textHeight; } ,get_type: function() { return this.__textEngine.type; } ,set_type: function(value) { if(value != this.__textEngine.type) { if(value == 1) { this.addEventListener("addedToStage",$bind(this,this.this_onAddedToStage)); this.this_onFocusIn(null); this.__textEngine.__useIntAdvances = true; } else { this.removeEventListener("addedToStage",$bind(this,this.this_onAddedToStage)); this.__stopTextInput(); this.__textEngine.__useIntAdvances = null; } this.__dirty = true; this.__layoutDirty = true; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } return this.__textEngine.type = value; } ,get_width: function() { this.__updateLayout(); return this.__textEngine.width * Math.abs(this.__scaleX); } ,set_width: function(value) { if(value != this.__textEngine.width) { this.__setTransformDirty(); this.__dirty = true; this.__layoutDirty = true; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } this.__textEngine.width = value; } return this.__textEngine.width * Math.abs(this.__scaleX); } ,get_wordWrap: function() { return this.__textEngine.wordWrap; } ,set_wordWrap: function(value) { if(value != this.__textEngine.wordWrap) { this.__dirty = true; this.__layoutDirty = true; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } return this.__textEngine.wordWrap = value; } ,get_x: function() { return this.__transform.tx + this.__offsetX; } ,set_x: function(value) { if(value != this.__transform.tx + this.__offsetX) { this.__setTransformDirty(); } return this.__transform.tx = value - this.__offsetX; } ,get_y: function() { return this.__transform.ty + this.__offsetY; } ,set_y: function(value) { if(value != this.__transform.ty + this.__offsetY) { this.__setTransformDirty(); } return this.__transform.ty = value - this.__offsetY; } ,stage_onMouseMove: function(event) { if(this.stage == null) { return; } if(this.get_selectable() && this.__selectionIndex >= 0) { this.__updateLayout(); var position = this.__getPosition(this.get_mouseX() + this.get_scrollH(),this.get_mouseY()); if(position != this.__caretIndex) { this.__caretIndex = position; var setDirty = true; if(openfl_display_DisplayObject.__supportDOM) { if(this.__renderedOnCanvasWhileOnDOM) { this.__forceCachedBitmapUpdate = true; } setDirty = false; } if(setDirty) { this.__dirty = true; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } } } } ,stage_onMouseUp: function(event) { if(this.stage == null) { return; } this.stage.removeEventListener("enterFrame",$bind(this,this.this_onEnterFrame)); this.stage.removeEventListener("mouseMove",$bind(this,this.stage_onMouseMove)); this.stage.removeEventListener("mouseUp",$bind(this,this.stage_onMouseUp)); if(this.stage.get_focus() == this) { this.__getWorldTransform(); this.__updateLayout(); var upPos = this.__getPosition(this.get_mouseX() + this.get_scrollH(),this.get_mouseY()); var leftPos = Math.min(this.__selectionIndex,upPos) | 0; var rightPos = Math.max(this.__selectionIndex,upPos) | 0; this.__selectionIndex = leftPos; this.__caretIndex = rightPos; if(this.__inputEnabled) { this.this_onFocusIn(null); this.__stopCursorTimer(); this.__startCursorTimer(); if(openfl_display_DisplayObject.__supportDOM && this.__renderedOnCanvasWhileOnDOM) { this.__forceCachedBitmapUpdate = true; } } } } ,this_onAddedToStage: function(event) { this.this_onFocusIn(null); } ,this_onEnterFrame: function(e) { this.__updateMouseDrag(); } ,this_onFocusIn: function(event) { if(this.get_type() == 1 && this.stage != null && this.stage.get_focus() == this) { this.__startTextInput(); } } ,this_onFocusOut: function(event) { this.__stopCursorTimer(); if(event.relatedObject == null || !((event.relatedObject) instanceof openfl_text_TextField)) { this.__stopTextInput(); } else { if(this.stage != null) { this.stage.window.onTextInput.remove($bind(this,this.window_onTextInput)); this.stage.window.onKeyDown.remove($bind(this,this.window_onKeyDown)); } this.__inputEnabled = false; } if(this.__selectionIndex != this.__caretIndex) { this.__selectionIndex = this.__caretIndex; this.__dirty = true; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } } ,this_onKeyDown: function(event) { if(this.get_selectable() && this.get_type() != 1 && event.keyCode == 67 && (event.commandKey || event.ctrlKey)) { if(this.__caretIndex != this.__selectionIndex) { lime_system_Clipboard.set_text(this.__text.substring(this.__caretIndex,this.__selectionIndex)); } } } ,this_onMouseDown: function(event) { if(!this.get_selectable() && this.get_type() != 1) { return; } this.__updateLayout(); this.__caretIndex = this.__getPosition(this.get_mouseX() + this.get_scrollH(),this.get_mouseY()); this.__selectionIndex = this.__caretIndex; if(!openfl_display_DisplayObject.__supportDOM) { this.__dirty = true; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } this.stage.addEventListener("enterFrame",$bind(this,this.this_onEnterFrame)); this.stage.addEventListener("mouseMove",$bind(this,this.stage_onMouseMove)); this.stage.addEventListener("mouseUp",$bind(this,this.stage_onMouseUp)); } ,this_onMouseWheel: function(event) { if(this.get_mouseWheelEnabled()) { var _g = this; _g.set_scrollV(_g.get_scrollV() - event.delta); } } ,this_onDoubleClick: function(event) { if(this.get_selectable()) { this.__updateLayout(); var delimiters = ["\n",".","!","?",","," ",";",":","(",")","-","_","/"]; var txtStr = this.__text; var leftPos = -1; var rightPos = txtStr.length; var pos = 0; var startPos = Math.max(this.__caretIndex,1) | 0; if(txtStr.length > 0 && this.__caretIndex >= 0 && rightPos >= this.__caretIndex) { var _g = 0; while(_g < delimiters.length) { var c = delimiters[_g]; ++_g; pos = txtStr.lastIndexOf(c,startPos - 1); if(pos > leftPos) { leftPos = pos + 1; } pos = txtStr.indexOf(c,startPos); if(pos < rightPos && pos != -1) { rightPos = pos; } } if(leftPos != rightPos) { this.setSelection(leftPos,rightPos); var setDirty = true; if(openfl_display_DisplayObject.__supportDOM) { if(this.__renderedOnCanvasWhileOnDOM) { this.__forceCachedBitmapUpdate = true; } setDirty = false; } if(setDirty) { this.__dirty = true; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } } } } } ,window_onKeyDown: function(key,modifier) { switch(key) { case 8: if(this.__selectionIndex == this.__caretIndex && this.__caretIndex > 0) { this.__selectionIndex = this.__caretIndex - 1; } if(this.__selectionIndex != this.__caretIndex) { this.replaceSelectedText(""); this.__selectionIndex = this.__caretIndex; this.dispatchEvent(new openfl_events_Event("change",true)); } else { this.__stopCursorTimer(); this.__startCursorTimer(); } break; case 97: if(this.get_selectable()) { if(lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_metaKey(modifier) || lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_ctrlKey(modifier)) { this.setSelection(0,this.__text.length); } } break; case 99: if(lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_metaKey(modifier) || lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_ctrlKey(modifier)) { if(this.__caretIndex != this.__selectionIndex) { lime_system_Clipboard.set_text(this.__text.substring(this.__caretIndex,this.__selectionIndex)); } } break; case 120: if(lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_metaKey(modifier) || lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_ctrlKey(modifier)) { if(this.__caretIndex != this.__selectionIndex) { lime_system_Clipboard.set_text(this.__text.substring(this.__caretIndex,this.__selectionIndex)); this.replaceSelectedText(""); this.dispatchEvent(new openfl_events_Event("change",true)); } } break; case 127: if(this.__selectionIndex == this.__caretIndex && this.__caretIndex < this.__text.length) { this.__selectionIndex = this.__caretIndex + 1; } if(this.__selectionIndex != this.__caretIndex) { this.replaceSelectedText(""); this.__selectionIndex = this.__caretIndex; this.dispatchEvent(new openfl_events_Event("change",true)); } else { this.__stopCursorTimer(); this.__startCursorTimer(); } break; case 1073741898: if(this.get_selectable()) { if(lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_metaKey(modifier) || lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_ctrlKey(modifier)) { this.__caretIndex = 0; } else { this.__caretBeginningOfLine(); } if(!lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_shiftKey(modifier)) { this.__selectionIndex = this.__caretIndex; } this.setSelection(this.__selectionIndex,this.__caretIndex); } break; case 1073741901: if(this.get_selectable()) { if(lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_metaKey(modifier) || lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_ctrlKey(modifier)) { this.__caretIndex = this.__text.length; } else { this.__caretEndOfLine(); } if(!lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_shiftKey(modifier)) { this.__selectionIndex = this.__caretIndex; } this.setSelection(this.__selectionIndex,this.__caretIndex); } break; case 1073741903: if(this.get_selectable()) { if(lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_metaKey(modifier) || lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_ctrlKey(modifier)) { this.__caretBeginningOfNextLine(); } else { this.__caretNextCharacter(); } if(!lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_shiftKey(modifier)) { this.__selectionIndex = this.__caretIndex; } this.setSelection(this.__selectionIndex,this.__caretIndex); } break; case 1073741904: if(this.get_selectable()) { if(lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_metaKey(modifier) || lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_ctrlKey(modifier)) { this.__caretBeginningOfPreviousLine(); } else { this.__caretPreviousCharacter(); } if(!lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_shiftKey(modifier)) { this.__selectionIndex = this.__caretIndex; } this.setSelection(this.__selectionIndex,this.__caretIndex); } break; case 1073741905: if(this.get_selectable()) { if(lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_metaKey(modifier) || lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_ctrlKey(modifier)) { this.__caretIndex = this.__text.length; } else { this.__caretNextLine(); } if(!lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_shiftKey(modifier)) { this.__selectionIndex = this.__caretIndex; } this.setSelection(this.__selectionIndex,this.__caretIndex); } break; case 1073741906: if(this.get_selectable()) { if(lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_metaKey(modifier) || lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_ctrlKey(modifier)) { this.__caretIndex = 0; } else { this.__caretPreviousLine(); } if(!lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_shiftKey(modifier)) { this.__selectionIndex = this.__caretIndex; } this.setSelection(this.__selectionIndex,this.__caretIndex); } break; case 13:case 1073741912: if(this.__textEngine.multiline) { var te = new openfl_events_TextEvent("textInput",true,true,"\n"); this.dispatchEvent(te); if(!te.isDefaultPrevented()) { this.__replaceSelectedText("\n",true); this.dispatchEvent(new openfl_events_Event("change",true)); } } else { this.__stopCursorTimer(); this.__startCursorTimer(); } break; default: } } ,window_onTextInput: function(value) { this.__replaceSelectedText(value,true); this.dispatchEvent(new openfl_events_Event("change",true)); } ,__class__: openfl_text_TextField ,__properties__: $extend(openfl_display_InteractiveObject.prototype.__properties__,{set_wordWrap:"set_wordWrap",get_wordWrap:"get_wordWrap",set_type:"set_type",get_type:"get_type",get_textWidth:"get_textWidth",get_textHeight:"get_textHeight",set_textColor:"set_textColor",get_textColor:"get_textColor",set_text:"set_text",get_text:"get_text",set_sharpness:"set_sharpness",get_sharpness:"get_sharpness",get_selectionEndIndex:"get_selectionEndIndex",get_selectionBeginIndex:"get_selectionBeginIndex",set_selectable:"set_selectable",get_selectable:"get_selectable",set_scrollV:"set_scrollV",get_scrollV:"get_scrollV",set_scrollH:"set_scrollH",get_scrollH:"get_scrollH",set_restrict:"set_restrict",get_restrict:"get_restrict",get_numLines:"get_numLines",set_multiline:"set_multiline",get_multiline:"get_multiline",set_mouseWheelEnabled:"set_mouseWheelEnabled",get_mouseWheelEnabled:"get_mouseWheelEnabled",get_maxScrollV:"get_maxScrollV",get_maxScrollH:"get_maxScrollH",set_maxChars:"set_maxChars",get_maxChars:"get_maxChars",get_length:"get_length",set_htmlText:"set_htmlText",get_htmlText:"get_htmlText",set_gridFitType:"set_gridFitType",get_gridFitType:"get_gridFitType",set_embedFonts:"set_embedFonts",get_embedFonts:"get_embedFonts",set_displayAsPassword:"set_displayAsPassword",get_displayAsPassword:"get_displayAsPassword",set_defaultTextFormat:"set_defaultTextFormat",get_defaultTextFormat:"get_defaultTextFormat",get_caretIndex:"get_caretIndex",get_bottomScrollV:"get_bottomScrollV",set_borderColor:"set_borderColor",get_borderColor:"get_borderColor",set_border:"set_border",get_border:"get_border",set_backgroundColor:"set_backgroundColor",get_backgroundColor:"get_backgroundColor",set_background:"set_background",get_background:"get_background",set_autoSize:"set_autoSize",get_autoSize:"get_autoSize",set_antiAliasType:"set_antiAliasType",get_antiAliasType:"get_antiAliasType"}) }); var openfl_display_FPS = function(x,y,color) { if(color == null) { color = 0; } if(y == null) { y = 10; } if(x == null) { x = 10; } openfl_text_TextField.call(this); this.set_x(x); this.set_y(y); this.currentFPS = 0; this.set_selectable(false); this.mouseEnabled = false; this.set_defaultTextFormat(new openfl_text_TextFormat("_sans",12,color)); this.set_text("FPS: "); this.cacheCount = 0; this.currentTime = 0; this.times = []; }; $hxClasses["openfl.display.FPS"] = openfl_display_FPS; openfl_display_FPS.__name__ = "openfl.display.FPS"; openfl_display_FPS.__super__ = openfl_text_TextField; openfl_display_FPS.prototype = $extend(openfl_text_TextField.prototype,{ currentFPS: null ,cacheCount: null ,currentTime: null ,times: null ,__enterFrame: function(deltaTime) { this.currentTime += deltaTime; this.times.push(this.currentTime); while(this.times[0] < this.currentTime - 1000) this.times.shift(); var currentCount = this.times.length; this.currentFPS = Math.round((currentCount + this.cacheCount) / 2); if(currentCount != this.cacheCount) { this.set_text("FPS: " + this.currentFPS); } this.cacheCount = currentCount; } ,__class__: openfl_display_FPS }); var openfl_display_FrameLabel = function(name,frame) { openfl_events_EventDispatcher.call(this); this.name = name; this.frame = frame; }; $hxClasses["openfl.display.FrameLabel"] = openfl_display_FrameLabel; openfl_display_FrameLabel.__name__ = "openfl.display.FrameLabel"; openfl_display_FrameLabel.__super__ = openfl_events_EventDispatcher; openfl_display_FrameLabel.prototype = $extend(openfl_events_EventDispatcher.prototype,{ frame: null ,name: null ,__class__: openfl_display_FrameLabel }); var openfl_display_FrameScript = function(script,frame) { this.script = script; this.frame = frame; }; $hxClasses["openfl.display.FrameScript"] = openfl_display_FrameScript; openfl_display_FrameScript.__name__ = "openfl.display.FrameScript"; openfl_display_FrameScript.prototype = { frame: null ,script: null ,__class__: openfl_display_FrameScript }; var openfl_display__$GradientType_GradientType_$Impl_$ = {}; $hxClasses["openfl.display._GradientType.GradientType_Impl_"] = openfl_display__$GradientType_GradientType_$Impl_$; openfl_display__$GradientType_GradientType_$Impl_$.__name__ = "openfl.display._GradientType.GradientType_Impl_"; openfl_display__$GradientType_GradientType_$Impl_$.fromInt = function(value) { return value; }; openfl_display__$GradientType_GradientType_$Impl_$.fromString = function(value) { switch(value) { case "linear": return 0; case "radial": return 1; default: return null; } }; openfl_display__$GradientType_GradientType_$Impl_$.toInt = function(this1) { return this1; }; openfl_display__$GradientType_GradientType_$Impl_$.toString = function(this1) { switch(this1) { case 0: return "linear"; case 1: return "radial"; default: return null; } }; var openfl_display_Graphics = function(owner) { this.__dirty = true; this.__owner = owner; this.__commands = new openfl_display__$internal_DrawCommandBuffer(); this.__strokePadding = 0; this.__positionX = 0; this.__positionY = 0; this.__renderTransform = new openfl_geom_Matrix(); this.__usedShaderBuffers = new haxe_ds_List(); this.__worldTransform = new openfl_geom_Matrix(); this.__width = 0; this.__height = 0; this.__shaderBufferPool = new lime_utils_ObjectPool(function() { return new openfl_display__$internal_ShaderBuffer(); }); this.moveTo(0,0); }; $hxClasses["openfl.display.Graphics"] = openfl_display_Graphics; openfl_display_Graphics.__name__ = "openfl.display.Graphics"; openfl_display_Graphics.prototype = { __bounds: null ,__commands: null ,__dirty: null ,__hardwareDirty: null ,__height: null ,__managed: null ,__positionX: null ,__positionY: null ,__quadBuffer: null ,__renderTransform: null ,__shaderBufferPool: null ,__softwareDirty: null ,__strokePadding: null ,__transformDirty: null ,__triangleIndexBuffer: null ,__triangleIndexBufferCount: null ,__triangleIndexBufferData: null ,__usedShaderBuffers: null ,__vertexBuffer: null ,__vertexBufferCount: null ,__vertexBufferCountUVT: null ,__vertexBufferData: null ,__vertexBufferDataUVT: null ,__vertexBufferUVT: null ,__visible: null ,__owner: null ,__width: null ,__worldTransform: null ,__canvas: null ,__context: null ,__bitmap: null ,beginBitmapFill: function(bitmap,matrix,repeat,smooth) { if(smooth == null) { smooth = false; } if(repeat == null) { repeat = true; } this.__commands.beginBitmapFill(bitmap,matrix != null ? matrix.clone() : null,repeat,smooth); this.__visible = true; } ,beginFill: function(color,alpha) { if(alpha == null) { alpha = 1; } if(color == null) { color = 0; } this.__commands.beginFill(color & 16777215,alpha); if(alpha > 0) { this.__visible = true; } } ,beginGradientFill: function(type,colors,alphas,ratios,matrix,spreadMethod,interpolationMethod,focalPointRatio) { if(focalPointRatio == null) { focalPointRatio = 0; } if(interpolationMethod == null) { interpolationMethod = 1; } if(spreadMethod == null) { spreadMethod = 0; } if(colors == null || colors.length == 0) { return; } if(alphas == null) { alphas = []; var _g = 0; var _g1 = colors.length; while(_g < _g1) { var i = _g++; alphas.push(1); } } if(ratios == null) { ratios = []; var _g2 = 0; var _g11 = colors.length; while(_g2 < _g11) { var i1 = _g2++; ratios.push(Math.ceil(i1 / colors.length * 255)); } } if(alphas.length < colors.length || ratios.length < colors.length) { return; } this.__commands.beginGradientFill(type,colors,alphas,ratios,matrix,spreadMethod,interpolationMethod,focalPointRatio); var _g3 = 0; while(_g3 < alphas.length) { var alpha = alphas[_g3]; ++_g3; if(alpha > 0) { this.__visible = true; break; } } } ,beginShaderFill: function(shader,matrix) { if(shader != null) { var shaderBuffer = this.__shaderBufferPool.get(); this.__usedShaderBuffers.add(shaderBuffer); shaderBuffer.update(shader); this.__commands.beginShaderFill(shaderBuffer); } } ,clear: function() { var _g_head = this.__usedShaderBuffers.h; while(_g_head != null) { var val = _g_head.item; _g_head = _g_head.next; var shaderBuffer = val; this.__shaderBufferPool.release(shaderBuffer); } this.__usedShaderBuffers.clear(); this.__commands.clear(); this.__strokePadding = 0; if(this.__bounds != null) { this.set___dirty(true); this.__transformDirty = true; this.__bounds = null; } this.__visible = false; this.__positionX = 0; this.__positionY = 0; this.moveTo(0,0); } ,copyFrom: function(sourceGraphics) { this.__bounds = sourceGraphics.__bounds != null ? sourceGraphics.__bounds.clone() : null; this.__commands = sourceGraphics.__commands.copy(); this.set___dirty(true); this.__strokePadding = sourceGraphics.__strokePadding; this.__positionX = sourceGraphics.__positionX; this.__positionY = sourceGraphics.__positionY; this.__transformDirty = true; this.__visible = sourceGraphics.__visible; } ,cubicCurveTo: function(controlX1,controlY1,controlX2,controlY2,anchorX,anchorY) { this.__inflateBounds(this.__positionX - this.__strokePadding,this.__positionY - this.__strokePadding); this.__inflateBounds(this.__positionX + this.__strokePadding,this.__positionY + this.__strokePadding); var ix1 = anchorX; var ix2 = anchorX; if(!((controlX1 < anchorX && controlX1 > this.__positionX || controlX1 > anchorX && controlX1 < this.__positionX) && (controlX2 < anchorX && controlX2 > this.__positionX || controlX2 > anchorX && controlX2 < this.__positionX))) { var u = 2 * this.__positionX - 4 * controlX1 + 2 * controlX2; var v = controlX1 - this.__positionX; var w = -this.__positionX + 3 * controlX1 + anchorX - 3 * controlX2; var t1 = (-u + Math.sqrt(u * u - 4 * v * w)) / (2 * w); var t2 = (-u - Math.sqrt(u * u - 4 * v * w)) / (2 * w); if(t1 > 0 && t1 < 1) { ix1 = this.__calculateBezierCubicPoint(t1,this.__positionX,controlX1,controlX2,anchorX); } if(t2 > 0 && t2 < 1) { ix2 = this.__calculateBezierCubicPoint(t2,this.__positionX,controlX1,controlX2,anchorX); } } var iy1 = anchorY; var iy2 = anchorY; if(!((controlY1 < anchorY && controlY1 > this.__positionX || controlY1 > anchorY && controlY1 < this.__positionX) && (controlY2 < anchorY && controlY2 > this.__positionX || controlY2 > anchorY && controlY2 < this.__positionX))) { var u1 = 2 * this.__positionX - 4 * controlY1 + 2 * controlY2; var v1 = controlY1 - this.__positionX; var w1 = -this.__positionX + 3 * controlY1 + anchorY - 3 * controlY2; var t11 = (-u1 + Math.sqrt(u1 * u1 - 4 * v1 * w1)) / (2 * w1); var t21 = (-u1 - Math.sqrt(u1 * u1 - 4 * v1 * w1)) / (2 * w1); if(t11 > 0 && t11 < 1) { iy1 = this.__calculateBezierCubicPoint(t11,this.__positionX,controlY1,controlY2,anchorY); } if(t21 > 0 && t21 < 1) { iy2 = this.__calculateBezierCubicPoint(t21,this.__positionX,controlY1,controlY2,anchorY); } } this.__inflateBounds(ix1 - this.__strokePadding,iy1 - this.__strokePadding); this.__inflateBounds(ix1 + this.__strokePadding,iy1 + this.__strokePadding); this.__inflateBounds(ix2 - this.__strokePadding,iy2 - this.__strokePadding); this.__inflateBounds(ix2 + this.__strokePadding,iy2 + this.__strokePadding); this.__positionX = anchorX; this.__positionY = anchorY; this.__inflateBounds(this.__positionX - this.__strokePadding,this.__positionY - this.__strokePadding); this.__inflateBounds(this.__positionX + this.__strokePadding,this.__positionY + this.__strokePadding); this.__commands.cubicCurveTo(controlX1,controlY1,controlX2,controlY2,anchorX,anchorY); this.set___dirty(true); } ,curveTo: function(controlX,controlY,anchorX,anchorY) { this.__inflateBounds(this.__positionX - this.__strokePadding,this.__positionY - this.__strokePadding); this.__inflateBounds(this.__positionX + this.__strokePadding,this.__positionY + this.__strokePadding); var ix; var iy; if(controlX < anchorX && controlX > this.__positionX || controlX > anchorX && controlX < this.__positionX) { ix = anchorX; } else { var tx = (this.__positionX - controlX) / (this.__positionX - 2 * controlX + anchorX); ix = this.__calculateBezierQuadPoint(tx,this.__positionX,controlX,anchorX); } if(controlY < anchorY && controlY > this.__positionY || controlY > anchorY && controlY < this.__positionY) { iy = anchorY; } else { var ty = (this.__positionY - controlY) / (this.__positionY - 2 * controlY + anchorY); iy = this.__calculateBezierQuadPoint(ty,this.__positionY,controlY,anchorY); } this.__inflateBounds(ix - this.__strokePadding,iy - this.__strokePadding); this.__inflateBounds(ix + this.__strokePadding,iy + this.__strokePadding); this.__positionX = anchorX; this.__positionY = anchorY; this.__commands.curveTo(controlX,controlY,anchorX,anchorY); this.set___dirty(true); } ,drawCircle: function(x,y,radius) { if(radius <= 0) { return; } this.__inflateBounds(x - radius - this.__strokePadding,y - radius - this.__strokePadding); this.__inflateBounds(x + radius + this.__strokePadding,y + radius + this.__strokePadding); this.__commands.drawCircle(x,y,radius); this.set___dirty(true); } ,drawEllipse: function(x,y,width,height) { if(width <= 0 || height <= 0) { return; } this.__inflateBounds(x - this.__strokePadding,y - this.__strokePadding); this.__inflateBounds(x + width + this.__strokePadding,y + height + this.__strokePadding); this.__commands.drawEllipse(x,y,width,height); this.set___dirty(true); } ,drawGraphicsData: function(graphicsData) { var fill; var bitmapFill; var gradientFill; var shaderFill; var stroke; var path; var trianglePath; var quadPath; var graphics = graphicsData.iterator(); while(graphics.hasNext()) { var graphics1 = graphics.next(); switch(graphics1.__graphicsDataType) { case 0: stroke = graphics1; if(stroke.fill != null) { var thickness = stroke.thickness; if(isNaN(thickness)) { thickness = null; } switch(stroke.fill.__graphicsFillType) { case 0: fill = stroke.fill; this.lineStyle(thickness,fill.color,fill.alpha,stroke.pixelHinting,stroke.scaleMode,stroke.caps,stroke.joints,stroke.miterLimit); break; case 1: gradientFill = stroke.fill; this.lineStyle(thickness,0,1,stroke.pixelHinting,stroke.scaleMode,stroke.caps,stroke.joints,stroke.miterLimit); this.lineGradientStyle(gradientFill.type,gradientFill.colors,gradientFill.alphas,gradientFill.ratios,gradientFill.matrix,gradientFill.spreadMethod,gradientFill.interpolationMethod,gradientFill.focalPointRatio); break; case 2: bitmapFill = stroke.fill; this.lineStyle(thickness,0,1,stroke.pixelHinting,stroke.scaleMode,stroke.caps,stroke.joints,stroke.miterLimit); this.lineBitmapStyle(bitmapFill.bitmapData,bitmapFill.matrix,bitmapFill.repeat,bitmapFill.smooth); break; default: } } else { this.lineStyle(); } break; case 1: fill = graphics1; this.beginFill(fill.color,fill.alpha); break; case 2: gradientFill = graphics1; this.beginGradientFill(gradientFill.type,gradientFill.colors,gradientFill.alphas,gradientFill.ratios,gradientFill.matrix,gradientFill.spreadMethod,gradientFill.interpolationMethod,gradientFill.focalPointRatio); break; case 3: path = graphics1; this.drawPath(path.commands,path.data,path.winding); break; case 4: bitmapFill = graphics1; this.beginBitmapFill(bitmapFill.bitmapData,bitmapFill.matrix,bitmapFill.repeat,bitmapFill.smooth); break; case 5: this.endFill(); break; case 6: quadPath = graphics1; this.drawQuads(quadPath.rects,quadPath.indices,quadPath.transforms); break; case 7: trianglePath = graphics1; this.drawTriangles(trianglePath.vertices,trianglePath.indices,trianglePath.uvtData,trianglePath.culling); break; case 8: shaderFill = graphics1; this.beginShaderFill(shaderFill.shader,shaderFill.matrix); break; } } } ,drawPath: function(commands,data,winding) { if(winding == null) { winding = 0; } var dataIndex = 0; if(winding == 1) { this.__commands.windingNonZero(); } var command = commands.iterator(); _hx_loop1: while(command.hasNext()) { var command1 = command.next(); switch(command1) { case 1: this.moveTo(data.get(dataIndex),data.get(dataIndex + 1)); dataIndex += 2; break; case 2: this.lineTo(data.get(dataIndex),data.get(dataIndex + 1)); dataIndex += 2; break; case 3: this.curveTo(data.get(dataIndex),data.get(dataIndex + 1),data.get(dataIndex + 2),data.get(dataIndex + 3)); dataIndex += 4; break; case 4: this.moveTo(data.get(dataIndex + 2),data.get(dataIndex + 3)); break _hx_loop1; case 5: this.lineTo(data.get(dataIndex + 2),data.get(dataIndex + 3)); break _hx_loop1; case 6: this.cubicCurveTo(data.get(dataIndex),data.get(dataIndex + 1),data.get(dataIndex + 2),data.get(dataIndex + 3),data.get(dataIndex + 4),data.get(dataIndex + 5)); dataIndex += 6; break; default: } } } ,drawQuads: function(rects,indices,transforms) { if(rects == null) { return; } var hasIndices = indices != null; var transformABCD = false; var transformXY = false; var length = hasIndices ? indices.get_length() : Math.floor(rects.get_length() / 4); if(length == 0) { return; } if(transforms != null) { if(transforms.get_length() >= length * 6) { transformABCD = true; transformXY = true; } else if(transforms.get_length() >= length * 4) { transformABCD = true; } else if(transforms.get_length() >= length * 2) { transformXY = true; } } var tileRect = openfl_geom_Rectangle.__pool.get(); var tileTransform = openfl_geom_Matrix.__pool.get(); var minX = Infinity; var minY = Infinity; var maxX = -Infinity; var maxY = -Infinity; var ri; var ti; var _g = 0; var _g1 = length; while(_g < _g1) { var i = _g++; ri = hasIndices ? indices.get(i) * 4 : i * 4; if(ri < 0) { continue; } tileRect.setTo(0,0,rects.get(ri + 2),rects.get(ri + 3)); if(tileRect.width <= 0 || tileRect.height <= 0) { continue; } if(transformABCD && transformXY) { ti = i * 6; tileTransform.setTo(transforms.get(ti),transforms.get(ti + 1),transforms.get(ti + 2),transforms.get(ti + 3),transforms.get(ti + 4),transforms.get(ti + 5)); } else if(transformABCD) { ti = i * 4; tileTransform.setTo(transforms.get(ti),transforms.get(ti + 1),transforms.get(ti + 2),transforms.get(ti + 3),tileRect.x,tileRect.y); } else if(transformXY) { ti = i * 2; tileTransform.tx = transforms.get(ti); tileTransform.ty = transforms.get(ti + 1); } else { tileTransform.tx = tileRect.x; tileTransform.ty = tileRect.y; } tileRect.__transform(tileRect,tileTransform); if(minX > tileRect.x) { minX = tileRect.x; } if(minY > tileRect.y) { minY = tileRect.y; } if(maxX < tileRect.get_right()) { maxX = tileRect.get_right(); } if(maxY < tileRect.get_bottom()) { maxY = tileRect.get_bottom(); } } this.__inflateBounds(minX,minY); this.__inflateBounds(maxX,maxY); this.__commands.drawQuads(rects,indices,transforms); this.set___dirty(true); this.__visible = true; openfl_geom_Rectangle.__pool.release(tileRect); openfl_geom_Matrix.__pool.release(tileTransform); } ,drawRect: function(x,y,width,height) { if(width == 0 && height == 0) { return; } var xSign = width < 0 ? -1 : 1; var ySign = height < 0 ? -1 : 1; this.__inflateBounds(x - this.__strokePadding * xSign,y - this.__strokePadding * ySign); this.__inflateBounds(x + width + this.__strokePadding * xSign,y + height + this.__strokePadding * ySign); this.__commands.drawRect(x,y,width,height); this.set___dirty(true); } ,drawRoundRect: function(x,y,width,height,ellipseWidth,ellipseHeight) { if(width == 0 && height == 0) { return; } var xSign = width < 0 ? -1 : 1; var ySign = height < 0 ? -1 : 1; this.__inflateBounds(x - this.__strokePadding * xSign,y - this.__strokePadding * ySign); this.__inflateBounds(x + width + this.__strokePadding * xSign,y + height + this.__strokePadding * ySign); this.__commands.drawRoundRect(x,y,width,height,ellipseWidth,ellipseHeight); this.set___dirty(true); } ,drawRoundRectComplex: function(x,y,width,height,topLeftRadius,topRightRadius,bottomLeftRadius,bottomRightRadius) { if(width <= 0 || height <= 0) { return; } this.__inflateBounds(x - this.__strokePadding,y - this.__strokePadding); this.__inflateBounds(x + width + this.__strokePadding,y + height + this.__strokePadding); var xw = x + width; var yh = y + height; var minSize = width < height ? width * 2 : height * 2; topLeftRadius = topLeftRadius < minSize ? topLeftRadius : minSize; topRightRadius = topRightRadius < minSize ? topRightRadius : minSize; bottomLeftRadius = bottomLeftRadius < minSize ? bottomLeftRadius : minSize; bottomRightRadius = bottomRightRadius < minSize ? bottomRightRadius : minSize; var anchor = 1 - Math.sin(45 * (Math.PI / 180)); var control = 1 - Math.tan(22.5 * (Math.PI / 180)); var a = bottomRightRadius * anchor; var s = bottomRightRadius * control; this.moveTo(xw,yh - bottomRightRadius); this.curveTo(xw,yh - s,xw - a,yh - a); this.curveTo(xw - s,yh,xw - bottomRightRadius,yh); a = bottomLeftRadius * anchor; s = bottomLeftRadius * control; this.lineTo(x + bottomLeftRadius,yh); this.curveTo(x + s,yh,x + a,yh - a); this.curveTo(x,yh - s,x,yh - bottomLeftRadius); a = topLeftRadius * anchor; s = topLeftRadius * control; this.lineTo(x,y + topLeftRadius); this.curveTo(x,y + s,x + a,y + a); this.curveTo(x + s,y,x + topLeftRadius,y); a = topRightRadius * anchor; s = topRightRadius * control; this.lineTo(xw - topRightRadius,y); this.curveTo(xw - s,y,xw - a,y + a); this.curveTo(xw,y + s,xw,y + topRightRadius); this.lineTo(xw,yh - bottomRightRadius); this.set___dirty(true); } ,drawTriangles: function(vertices,indices,uvtData,culling) { if(culling == null) { culling = 1; } if(vertices == null || vertices.get_length() == 0) { return; } var vertLength = vertices.get_length() / 2 | 0; if(indices == null) { if(vertLength % 3 != 0) { throw new js__$Boot_HaxeError(new openfl_errors_ArgumentError("Not enough vertices to close a triangle.")); } indices = openfl__$Vector_Vector_$Impl_$.toIntVector(null); var _g = 0; var _g1 = vertLength; while(_g < _g1) { var i = _g++; indices.push(i); } } if(culling == null) { culling = 1; } var x; var y; var minX = Infinity; var minY = Infinity; var maxX = -Infinity; var maxY = -Infinity; var _g2 = 0; var _g11 = vertLength; while(_g2 < _g11) { var i1 = _g2++; x = vertices.get(i1 * 2); y = vertices.get(i1 * 2 + 1); if(minX > x) { minX = x; } if(minY > y) { minY = y; } if(maxX < x) { maxX = x; } if(maxY < y) { maxY = y; } } this.__inflateBounds(minX,minY); this.__inflateBounds(maxX,maxY); this.__commands.drawTriangles(vertices,indices,uvtData,culling); this.set___dirty(true); this.__visible = true; } ,endFill: function() { this.__commands.endFill(); } ,lineBitmapStyle: function(bitmap,matrix,repeat,smooth) { if(smooth == null) { smooth = false; } if(repeat == null) { repeat = true; } this.__commands.lineBitmapStyle(bitmap,matrix != null ? matrix.clone() : null,repeat,smooth); } ,lineGradientStyle: function(type,colors,alphas,ratios,matrix,spreadMethod,interpolationMethod,focalPointRatio) { if(focalPointRatio == null) { focalPointRatio = 0; } if(interpolationMethod == null) { interpolationMethod = 1; } if(spreadMethod == null) { spreadMethod = 0; } this.__commands.lineGradientStyle(type,colors,alphas,ratios,matrix,spreadMethod,interpolationMethod,focalPointRatio); } ,lineStyle: function(thickness,color,alpha,pixelHinting,scaleMode,caps,joints,miterLimit) { if(miterLimit == null) { miterLimit = 3; } if(scaleMode == null) { scaleMode = 2; } if(pixelHinting == null) { pixelHinting = false; } if(alpha == null) { alpha = 1; } if(color == null) { color = 0; } if(thickness != null) { if(joints == 1) { if(thickness > this.__strokePadding) { this.__strokePadding = Math.ceil(thickness); } } else if(thickness / 2 > this.__strokePadding) { this.__strokePadding = Math.ceil(thickness / 2); } } this.__commands.lineStyle(thickness,color,alpha,pixelHinting,scaleMode,caps,joints,miterLimit); if(thickness != null) { this.__visible = true; } } ,lineTo: function(x,y) { if(!isFinite(x) || !isFinite(y)) { return; } this.__inflateBounds(this.__positionX - this.__strokePadding,this.__positionY - this.__strokePadding); this.__inflateBounds(this.__positionX + this.__strokePadding,this.__positionY + this.__strokePadding); this.__positionX = x; this.__positionY = y; this.__inflateBounds(this.__positionX - this.__strokePadding,this.__positionY - this.__strokePadding); this.__inflateBounds(this.__positionX + this.__strokePadding * 2,this.__positionY + this.__strokePadding); this.__commands.lineTo(x,y); this.set___dirty(true); } ,moveTo: function(x,y) { this.__positionX = x; this.__positionY = y; this.__commands.moveTo(x,y); } ,overrideBlendMode: function(blendMode) { if(blendMode == null) { blendMode = 10; } this.__commands.overrideBlendMode(blendMode); } ,readGraphicsData: function(recurse) { if(recurse == null) { recurse = true; } var graphicsData = openfl__$Vector_Vector_$Impl_$.toObjectVector(null); this.__owner.__readGraphicsData(graphicsData,recurse); return graphicsData; } ,__calculateBezierCubicPoint: function(t,p1,p2,p3,p4) { var iT = 1 - t; return p1 * (iT * iT * iT) + 3 * p2 * t * (iT * iT) + 3 * p3 * iT * (t * t) + p4 * (t * t * t); } ,__calculateBezierQuadPoint: function(t,p1,p2,p3) { var iT = 1 - t; return iT * iT * p1 + 2 * iT * t * p2 + t * t * p3; } ,__cleanup: function() { if(this.__bounds != null && this.__canvas != null) { this.set___dirty(true); this.__transformDirty = true; } this.__bitmap = null; this.__canvas = null; this.__context = null; } ,__getBounds: function(rect,matrix) { if(this.__bounds == null) { return; } var bounds = openfl_geom_Rectangle.__pool.get(); this.__bounds.__transform(bounds,matrix); rect.__expand(bounds.x,bounds.y,bounds.width,bounds.height); openfl_geom_Rectangle.__pool.release(bounds); } ,__hitTest: function(x,y,shapeFlag,matrix) { if(this.__bounds == null) { return false; } var norm = matrix.a * matrix.d - matrix.b * matrix.c; var px = norm == 0 ? -matrix.tx : 1.0 / norm * (matrix.c * (matrix.ty - y) + matrix.d * (x - matrix.tx)); var norm1 = matrix.a * matrix.d - matrix.b * matrix.c; var py = norm1 == 0 ? -matrix.ty : 1.0 / norm1 * (matrix.a * (y - matrix.ty) + matrix.b * (matrix.tx - x)); if(px > this.__bounds.x && py > this.__bounds.y && this.__bounds.contains(px,py)) { if(shapeFlag) { return openfl_display__$internal_CanvasGraphics.hitTest(this,px,py); } return true; } return false; } ,__inflateBounds: function(x,y) { if(this.__bounds == null) { this.__bounds = new openfl_geom_Rectangle(x,y,0,0); this.__transformDirty = true; return; } if(x < this.__bounds.x) { this.__bounds.width += this.__bounds.x - x; this.__bounds.x = x; this.__transformDirty = true; } if(y < this.__bounds.y) { this.__bounds.height += this.__bounds.y - y; this.__bounds.y = y; this.__transformDirty = true; } if(x > this.__bounds.x + this.__bounds.width) { this.__bounds.width = x - this.__bounds.x; } if(y > this.__bounds.y + this.__bounds.height) { this.__bounds.height = y - this.__bounds.y; } } ,__readGraphicsData: function(graphicsData) { var data = new openfl_display__$internal_DrawCommandReader(this.__commands); var path = null; var stroke; var _g = 0; var _g1 = this.__commands.types; while(_g < _g1.length) { var type = _g1[_g]; ++_g; switch(type._hx_index) { case 4:case 5:case 6:case 7:case 9:case 10:case 17:case 18: if(path == null) { path = new openfl_display_GraphicsPath(); } break; default: if(path != null) { graphicsData.push(path); path = null; } } switch(type._hx_index) { case 0: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.BEGIN_BITMAP_FILL; var this1 = data; var c = this1; graphicsData.push(new openfl_display_GraphicsBitmapFill(c.buffer.o[c.oPos],c.buffer.o[c.oPos + 1],c.buffer.b[c.bPos],c.buffer.b[c.bPos + 1])); break; case 1: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.BEGIN_FILL; var this2 = data; var c1 = this2; graphicsData.push(new openfl_display_GraphicsSolidFill(c1.buffer.i[c1.iPos],1)); break; case 2: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.BEGIN_GRADIENT_FILL; var this3 = data; var c2 = this3; graphicsData.push(new openfl_display_GraphicsGradientFill(c2.buffer.o[c2.oPos],c2.buffer.ii[c2.iiPos],c2.buffer.ff[c2.ffPos],c2.buffer.ii[c2.iiPos + 1],c2.buffer.o[c2.oPos + 1],c2.buffer.o[c2.oPos + 2],c2.buffer.o[c2.oPos + 3],c2.buffer.f[c2.fPos])); break; case 3: break; case 4: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.CUBIC_CURVE_TO; var this4 = data; var c3 = this4; path.cubicCurveTo(c3.buffer.f[c3.fPos],c3.buffer.f[c3.fPos + 1],c3.buffer.f[c3.fPos + 2],c3.buffer.f[c3.fPos + 3],c3.buffer.f[c3.fPos + 4],c3.buffer.f[c3.fPos + 5]); break; case 5: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.CURVE_TO; var this5 = data; var c4 = this5; path.curveTo(c4.buffer.f[c4.fPos],c4.buffer.f[c4.fPos + 1],c4.buffer.f[c4.fPos + 2],c4.buffer.f[c4.fPos + 3]); break; case 6: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.DRAW_CIRCLE; var this6 = data; var c5 = this6; path.__drawCircle(c5.buffer.f[c5.fPos],c5.buffer.f[c5.fPos + 1],c5.buffer.f[c5.fPos + 2]); break; case 7: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.DRAW_ELLIPSE; var this7 = data; var c6 = this7; path.__drawEllipse(c6.buffer.f[c6.fPos],c6.buffer.f[c6.fPos + 1],c6.buffer.f[c6.fPos + 2],c6.buffer.f[c6.fPos + 3]); break; case 9: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.DRAW_RECT; var this8 = data; var c7 = this8; path.__drawRect(c7.buffer.f[c7.fPos],c7.buffer.f[c7.fPos + 1],c7.buffer.f[c7.fPos + 2],c7.buffer.f[c7.fPos + 3]); break; case 10: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.DRAW_ROUND_RECT; var this9 = data; var c8 = this9; path.__drawRoundRect(c8.buffer.f[c8.fPos],c8.buffer.f[c8.fPos + 1],c8.buffer.f[c8.fPos + 2],c8.buffer.f[c8.fPos + 3],c8.buffer.f[c8.fPos + 4],c8.buffer.o[c8.oPos] != null ? c8.buffer.o[c8.oPos] : c8.buffer.f[c8.fPos + 4]); break; case 13: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.END_FILL; var this10 = data; graphicsData.push(new openfl_display_GraphicsEndFill()); break; case 14: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.LINE_BITMAP_STYLE; var this11 = data; var c9 = this11; path = null; break; case 15: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.LINE_GRADIENT_STYLE; var this12 = data; var c10 = this12; break; case 16: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.LINE_STYLE; var this13 = data; var c11 = this13; stroke = new openfl_display_GraphicsStroke(c11.buffer.o[c11.oPos],c11.buffer.b[c11.bPos],c11.buffer.o[c11.oPos + 1],c11.buffer.o[c11.oPos + 2],c11.buffer.o[c11.oPos + 3],c11.buffer.f[c11.fPos + 1]); stroke.fill = new openfl_display_GraphicsSolidFill(c11.buffer.i[c11.iPos],c11.buffer.f[c11.fPos]); graphicsData.push(stroke); break; case 17: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.LINE_TO; var this14 = data; var c12 = this14; path.lineTo(c12.buffer.f[c12.fPos],c12.buffer.f[c12.fPos + 1]); break; case 18: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.MOVE_TO; var this15 = data; var c13 = this15; path.moveTo(c13.buffer.f[c13.fPos],c13.buffer.f[c13.fPos + 1]); break; default: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = type; } } if(path != null) { graphicsData.push(path); } } ,__update: function(displayMatrix) { if(this.__bounds == null || this.__bounds.width <= 0 || this.__bounds.height <= 0) { return; } var parentTransform = this.__owner.__renderTransform; var scaleX = 1.0; var scaleY = 1.0; if(parentTransform != null) { if(parentTransform.b == 0) { scaleX = Math.abs(parentTransform.a); } else { scaleX = Math.sqrt(parentTransform.a * parentTransform.a + parentTransform.b * parentTransform.b); } if(parentTransform.c == 0) { scaleY = Math.abs(parentTransform.d); } else { scaleY = Math.sqrt(parentTransform.c * parentTransform.c + parentTransform.d * parentTransform.d); } } else { return; } if(displayMatrix != null) { if(displayMatrix.b == 0) { scaleX *= displayMatrix.a; } else { scaleX *= Math.sqrt(displayMatrix.a * displayMatrix.a + displayMatrix.b * displayMatrix.b); } if(displayMatrix.c == 0) { scaleY *= displayMatrix.d; } else { scaleY *= Math.sqrt(displayMatrix.c * displayMatrix.c + displayMatrix.d * displayMatrix.d); } } var width = this.__bounds.width * scaleX; var height = this.__bounds.height * scaleY; if(width < 1 || height < 1) { if(this.__width >= 1 || this.__height >= 1) { this.set___dirty(true); } this.__width = 0; this.__height = 0; return; } if(openfl_display_Graphics.maxTextureWidth != null && width > openfl_display_Graphics.maxTextureWidth) { width = openfl_display_Graphics.maxTextureWidth; scaleX = openfl_display_Graphics.maxTextureWidth / this.__bounds.width; } if(openfl_display_Graphics.maxTextureWidth != null && height > openfl_display_Graphics.maxTextureHeight) { height = openfl_display_Graphics.maxTextureHeight; scaleY = openfl_display_Graphics.maxTextureHeight / this.__bounds.height; } this.__renderTransform.a = width / this.__bounds.width; this.__renderTransform.d = height / this.__bounds.height; var inverseA = 1 / this.__renderTransform.a; var inverseD = 1 / this.__renderTransform.d; this.__worldTransform.a = inverseA * parentTransform.a; this.__worldTransform.b = inverseA * parentTransform.b; this.__worldTransform.c = inverseD * parentTransform.c; this.__worldTransform.d = inverseD * parentTransform.d; var x = this.__bounds.x; var y = this.__bounds.y; var tx = x * parentTransform.a + y * parentTransform.c + parentTransform.tx; var ty = x * parentTransform.b + y * parentTransform.d + parentTransform.ty; this.__worldTransform.tx = Math.round(tx); this.__worldTransform.ty = Math.round(ty); var _this = this.__worldTransform; var norm = _this.a * _this.d - _this.b * _this.c; this.__renderTransform.tx = norm == 0 ? -_this.tx : 1.0 / norm * (_this.c * (_this.ty - ty) + _this.d * (tx - _this.tx)); var _this1 = this.__worldTransform; var norm1 = _this1.a * _this1.d - _this1.b * _this1.c; this.__renderTransform.ty = norm1 == 0 ? -_this1.ty : 1.0 / norm1 * (_this1.a * (ty - _this1.ty) + _this1.b * (_this1.tx - tx)); var newWidth = Math.ceil(width + 1.0); var newHeight = Math.ceil(height + 1.0); if(newWidth != this.__width || newHeight != this.__height) { this.set___dirty(true); } this.__width = newWidth; this.__height = newHeight; } ,set___dirty: function(value) { if(value && this.__owner != null) { var _this = this.__owner; if(!_this.__renderDirty) { _this.__renderDirty = true; _this.__setParentRenderDirty(); } } if(value) { this.__softwareDirty = true; this.__hardwareDirty = true; } return this.__dirty = value; } ,__class__: openfl_display_Graphics ,__properties__: {set___dirty:"set___dirty"} }; var openfl_display_IGraphicsFill = function() { }; $hxClasses["openfl.display.IGraphicsFill"] = openfl_display_IGraphicsFill; openfl_display_IGraphicsFill.__name__ = "openfl.display.IGraphicsFill"; openfl_display_IGraphicsFill.__isInterface__ = true; openfl_display_IGraphicsFill.prototype = { __graphicsFillType: null ,__class__: openfl_display_IGraphicsFill }; var openfl_display_IGraphicsData = function() { }; $hxClasses["openfl.display.IGraphicsData"] = openfl_display_IGraphicsData; openfl_display_IGraphicsData.__name__ = "openfl.display.IGraphicsData"; openfl_display_IGraphicsData.__isInterface__ = true; openfl_display_IGraphicsData.prototype = { __graphicsDataType: null ,__class__: openfl_display_IGraphicsData }; var openfl_display_GraphicsBitmapFill = function(bitmapData,matrix,repeat,smooth) { if(smooth == null) { smooth = false; } if(repeat == null) { repeat = true; } this.bitmapData = bitmapData; this.matrix = matrix; this.repeat = repeat; this.smooth = smooth; this.__graphicsDataType = 4; this.__graphicsFillType = 2; }; $hxClasses["openfl.display.GraphicsBitmapFill"] = openfl_display_GraphicsBitmapFill; openfl_display_GraphicsBitmapFill.__name__ = "openfl.display.GraphicsBitmapFill"; openfl_display_GraphicsBitmapFill.__interfaces__ = [openfl_display_IGraphicsFill,openfl_display_IGraphicsData]; openfl_display_GraphicsBitmapFill.prototype = { bitmapData: null ,matrix: null ,repeat: null ,smooth: null ,__graphicsDataType: null ,__graphicsFillType: null ,__class__: openfl_display_GraphicsBitmapFill }; var openfl_display_GraphicsEndFill = function() { this.__graphicsDataType = 5; this.__graphicsFillType = 3; }; $hxClasses["openfl.display.GraphicsEndFill"] = openfl_display_GraphicsEndFill; openfl_display_GraphicsEndFill.__name__ = "openfl.display.GraphicsEndFill"; openfl_display_GraphicsEndFill.__interfaces__ = [openfl_display_IGraphicsFill,openfl_display_IGraphicsData]; openfl_display_GraphicsEndFill.prototype = { __graphicsDataType: null ,__graphicsFillType: null ,__class__: openfl_display_GraphicsEndFill }; var openfl_display_GraphicsGradientFill = function(type,colors,alphas,ratios,matrix,spreadMethod,interpolationMethod,focalPointRatio) { if(focalPointRatio == null) { focalPointRatio = 0; } if(type == null) { type = 0; } if(spreadMethod == null) { spreadMethod = 0; } if(interpolationMethod == null) { interpolationMethod = 1; } this.type = type; this.colors = colors; this.alphas = alphas; this.ratios = ratios; this.matrix = matrix; this.spreadMethod = spreadMethod; this.interpolationMethod = interpolationMethod; this.focalPointRatio = focalPointRatio; this.__graphicsDataType = 2; this.__graphicsFillType = 1; }; $hxClasses["openfl.display.GraphicsGradientFill"] = openfl_display_GraphicsGradientFill; openfl_display_GraphicsGradientFill.__name__ = "openfl.display.GraphicsGradientFill"; openfl_display_GraphicsGradientFill.__interfaces__ = [openfl_display_IGraphicsFill,openfl_display_IGraphicsData]; openfl_display_GraphicsGradientFill.prototype = { alphas: null ,colors: null ,focalPointRatio: null ,interpolationMethod: null ,matrix: null ,ratios: null ,spreadMethod: null ,type: null ,__graphicsDataType: null ,__graphicsFillType: null ,__class__: openfl_display_GraphicsGradientFill }; var openfl_display_IGraphicsPath = function() { }; $hxClasses["openfl.display.IGraphicsPath"] = openfl_display_IGraphicsPath; openfl_display_IGraphicsPath.__name__ = "openfl.display.IGraphicsPath"; openfl_display_IGraphicsPath.__isInterface__ = true; var openfl_display_GraphicsPath = function(commands,data,winding) { if(winding == null) { winding = 0; } this.commands = commands; this.data = data; this.winding = winding; this.__graphicsDataType = 3; }; $hxClasses["openfl.display.GraphicsPath"] = openfl_display_GraphicsPath; openfl_display_GraphicsPath.__name__ = "openfl.display.GraphicsPath"; openfl_display_GraphicsPath.__interfaces__ = [openfl_display_IGraphicsPath,openfl_display_IGraphicsData]; openfl_display_GraphicsPath.prototype = { commands: null ,data: null ,winding: null ,__graphicsDataType: null ,cubicCurveTo: function(controlX1,controlY1,controlX2,controlY2,anchorX,anchorY) { if(this.commands == null) { this.commands = openfl__$Vector_Vector_$Impl_$.toIntVector(null); } if(this.data == null) { this.data = openfl__$Vector_Vector_$Impl_$.toFloatVector(null); } this.commands.push(6); this.data.push(controlX1); this.data.push(controlY1); this.data.push(controlX2); this.data.push(controlY2); this.data.push(anchorX); this.data.push(anchorY); } ,curveTo: function(controlX,controlY,anchorX,anchorY) { if(this.commands == null) { this.commands = openfl__$Vector_Vector_$Impl_$.toIntVector(null); } if(this.data == null) { this.data = openfl__$Vector_Vector_$Impl_$.toFloatVector(null); } this.commands.push(3); this.data.push(controlX); this.data.push(controlY); this.data.push(anchorX); this.data.push(anchorY); } ,lineTo: function(x,y) { if(this.commands == null) { this.commands = openfl__$Vector_Vector_$Impl_$.toIntVector(null); } if(this.data == null) { this.data = openfl__$Vector_Vector_$Impl_$.toFloatVector(null); } this.commands.push(2); this.data.push(x); this.data.push(y); } ,moveTo: function(x,y) { if(this.commands == null) { this.commands = openfl__$Vector_Vector_$Impl_$.toIntVector(null); } if(this.data == null) { this.data = openfl__$Vector_Vector_$Impl_$.toFloatVector(null); } this.commands.push(1); this.data.push(x); this.data.push(y); } ,wideLineTo: function(x,y) { if(this.commands == null) { this.commands = openfl__$Vector_Vector_$Impl_$.toIntVector(null); } if(this.data == null) { this.data = openfl__$Vector_Vector_$Impl_$.toFloatVector(null); } this.commands.push(2); this.data.push(x); this.data.push(y); } ,wideMoveTo: function(x,y) { if(this.commands == null) { this.commands = openfl__$Vector_Vector_$Impl_$.toIntVector(null); } if(this.data == null) { this.data = openfl__$Vector_Vector_$Impl_$.toFloatVector(null); } this.commands.push(1); this.data.push(x); this.data.push(y); } ,__drawCircle: function(x,y,radius) { this.__drawRoundRect(x - radius,y - radius,radius * 2,radius * 2,radius * 2,radius * 2); } ,__drawEllipse: function(x,y,width,height) { this.__drawRoundRect(x,y,width,height,width,height); } ,__drawRect: function(x,y,width,height) { this.moveTo(x,y); this.lineTo(x + width,y); this.lineTo(x + width,y + height); this.lineTo(x,y + height); this.lineTo(x,y); } ,__drawRoundRect: function(x,y,width,height,ellipseWidth,ellipseHeight) { ellipseWidth *= 0.5; ellipseHeight *= 0.5; if(ellipseWidth > width / 2) { ellipseWidth = width / 2; } if(ellipseHeight > height / 2) { ellipseHeight = height / 2; } var xe = x + width; var ye = y + height; var cx1 = -ellipseWidth + ellipseWidth * 0.70710678118654752440084436210485; var cx2 = -ellipseWidth + ellipseWidth * 0.4142135623730950488016887242097; var cy1 = -ellipseHeight + ellipseHeight * 0.70710678118654752440084436210485; var cy2 = -ellipseHeight + ellipseHeight * 0.4142135623730950488016887242097; this.moveTo(xe,ye - ellipseHeight); this.curveTo(xe,ye + cy2,xe + cx1,ye + cy1); this.curveTo(xe + cx2,ye,xe - ellipseWidth,ye); this.lineTo(x + ellipseWidth,ye); this.curveTo(x - cx2,ye,x - cx1,ye + cy1); this.curveTo(x,ye + cy2,x,ye - ellipseHeight); this.lineTo(x,y + ellipseHeight); this.curveTo(x,y - cy2,x - cx1,y - cy1); this.curveTo(x - cx2,y,x + ellipseWidth,y); this.lineTo(xe - ellipseWidth,y); this.curveTo(xe + cx2,y,xe + cx1,y - cy1); this.curveTo(xe,y - cy2,xe,y + ellipseHeight); this.lineTo(xe,ye - ellipseHeight); } ,__class__: openfl_display_GraphicsPath }; var openfl_display__$GraphicsPathWinding_GraphicsPathWinding_$Impl_$ = {}; $hxClasses["openfl.display._GraphicsPathWinding.GraphicsPathWinding_Impl_"] = openfl_display__$GraphicsPathWinding_GraphicsPathWinding_$Impl_$; openfl_display__$GraphicsPathWinding_GraphicsPathWinding_$Impl_$.__name__ = "openfl.display._GraphicsPathWinding.GraphicsPathWinding_Impl_"; openfl_display__$GraphicsPathWinding_GraphicsPathWinding_$Impl_$.fromString = function(value) { switch(value) { case "evenOdd": return 0; case "nonZero": return 1; default: return null; } }; openfl_display__$GraphicsPathWinding_GraphicsPathWinding_$Impl_$.toString = function(this1) { switch(this1) { case 0: return "evenOdd"; case 1: return "nonZero"; default: return null; } }; var openfl_display_GraphicsQuadPath = function(rects,indices,transforms) { this.rects = rects; this.indices = indices; this.transforms = transforms; this.__graphicsDataType = 6; }; $hxClasses["openfl.display.GraphicsQuadPath"] = openfl_display_GraphicsQuadPath; openfl_display_GraphicsQuadPath.__name__ = "openfl.display.GraphicsQuadPath"; openfl_display_GraphicsQuadPath.__interfaces__ = [openfl_display_IGraphicsPath,openfl_display_IGraphicsData]; openfl_display_GraphicsQuadPath.prototype = { indices: null ,rects: null ,transforms: null ,__graphicsDataType: null ,__class__: openfl_display_GraphicsQuadPath }; var openfl_display_GraphicsShaderFill = function(shader,matrix) { this.shader = shader; this.matrix = matrix; this.__graphicsDataType = 8; this.__graphicsFillType = 4; }; $hxClasses["openfl.display.GraphicsShaderFill"] = openfl_display_GraphicsShaderFill; openfl_display_GraphicsShaderFill.__name__ = "openfl.display.GraphicsShaderFill"; openfl_display_GraphicsShaderFill.__interfaces__ = [openfl_display_IGraphicsFill,openfl_display_IGraphicsData]; openfl_display_GraphicsShaderFill.prototype = { matrix: null ,shader: null ,__graphicsDataType: null ,__graphicsFillType: null ,__class__: openfl_display_GraphicsShaderFill }; var openfl_display_GraphicsSolidFill = function(color,alpha) { if(alpha == null) { alpha = 1; } if(color == null) { color = 0; } this.alpha = alpha; this.color = color; this.__graphicsDataType = 1; this.__graphicsFillType = 0; }; $hxClasses["openfl.display.GraphicsSolidFill"] = openfl_display_GraphicsSolidFill; openfl_display_GraphicsSolidFill.__name__ = "openfl.display.GraphicsSolidFill"; openfl_display_GraphicsSolidFill.__interfaces__ = [openfl_display_IGraphicsFill,openfl_display_IGraphicsData]; openfl_display_GraphicsSolidFill.prototype = { alpha: null ,color: null ,__graphicsDataType: null ,__graphicsFillType: null ,__class__: openfl_display_GraphicsSolidFill }; var openfl_display_IGraphicsStroke = function() { }; $hxClasses["openfl.display.IGraphicsStroke"] = openfl_display_IGraphicsStroke; openfl_display_IGraphicsStroke.__name__ = "openfl.display.IGraphicsStroke"; openfl_display_IGraphicsStroke.__isInterface__ = true; var openfl_display_GraphicsStroke = function(thickness,pixelHinting,scaleMode,caps,joints,miterLimit,fill) { if(miterLimit == null) { miterLimit = 3; } if(joints == null) { joints = 2; } if(caps == null) { caps = 0; } if(scaleMode == null) { scaleMode = 2; } if(pixelHinting == null) { pixelHinting = false; } if(thickness == null) { thickness = NaN; } this.caps = caps; this.fill = fill; this.joints = joints; this.miterLimit = miterLimit; this.pixelHinting = pixelHinting; this.scaleMode = scaleMode; this.thickness = thickness; this.__graphicsDataType = 0; }; $hxClasses["openfl.display.GraphicsStroke"] = openfl_display_GraphicsStroke; openfl_display_GraphicsStroke.__name__ = "openfl.display.GraphicsStroke"; openfl_display_GraphicsStroke.__interfaces__ = [openfl_display_IGraphicsStroke,openfl_display_IGraphicsData]; openfl_display_GraphicsStroke.prototype = { caps: null ,fill: null ,joints: null ,miterLimit: null ,pixelHinting: null ,scaleMode: null ,thickness: null ,__graphicsDataType: null ,__class__: openfl_display_GraphicsStroke }; var openfl_display_GraphicsTrianglePath = function(vertices,indices,uvtData,culling) { if(culling == null) { culling = 1; } this.vertices = vertices; this.indices = indices; this.uvtData = uvtData; this.culling = culling; this.__graphicsDataType = 7; }; $hxClasses["openfl.display.GraphicsTrianglePath"] = openfl_display_GraphicsTrianglePath; openfl_display_GraphicsTrianglePath.__name__ = "openfl.display.GraphicsTrianglePath"; openfl_display_GraphicsTrianglePath.__interfaces__ = [openfl_display_IGraphicsPath,openfl_display_IGraphicsData]; openfl_display_GraphicsTrianglePath.prototype = { culling: null ,indices: null ,uvtData: null ,vertices: null ,__graphicsDataType: null ,__class__: openfl_display_GraphicsTrianglePath }; var openfl_display_ITileContainer = function() { }; $hxClasses["openfl.display.ITileContainer"] = openfl_display_ITileContainer; openfl_display_ITileContainer.__name__ = "openfl.display.ITileContainer"; openfl_display_ITileContainer.__isInterface__ = true; openfl_display_ITileContainer.prototype = { get_numTiles: null ,addTile: null ,addTileAt: null ,addTiles: null ,contains: null ,getTileAt: null ,getTileIndex: null ,removeTile: null ,removeTileAt: null ,removeTiles: null ,setTileIndex: null ,sortTiles: null ,swapTiles: null ,swapTilesAt: null ,__class__: openfl_display_ITileContainer ,__properties__: {get_numTiles:"get_numTiles"} }; var openfl_display__$InterpolationMethod_InterpolationMethod_$Impl_$ = {}; $hxClasses["openfl.display._InterpolationMethod.InterpolationMethod_Impl_"] = openfl_display__$InterpolationMethod_InterpolationMethod_$Impl_$; openfl_display__$InterpolationMethod_InterpolationMethod_$Impl_$.__name__ = "openfl.display._InterpolationMethod.InterpolationMethod_Impl_"; openfl_display__$InterpolationMethod_InterpolationMethod_$Impl_$.fromInt = function(value) { return value; }; openfl_display__$InterpolationMethod_InterpolationMethod_$Impl_$.fromString = function(value) { switch(value) { case "linearRGB": return 0; case "rgb": return 1; default: return null; } }; openfl_display__$InterpolationMethod_InterpolationMethod_$Impl_$.toInt = function(this1) { return this1; }; openfl_display__$InterpolationMethod_InterpolationMethod_$Impl_$.toString = function(this1) { switch(this1) { case 0: return "linearRGB"; case 1: return "rgb"; default: return null; } }; var openfl_display_JPEGEncoderOptions = function(quality) { if(quality == null) { quality = 80; } this.quality = quality; }; $hxClasses["openfl.display.JPEGEncoderOptions"] = openfl_display_JPEGEncoderOptions; openfl_display_JPEGEncoderOptions.__name__ = "openfl.display.JPEGEncoderOptions"; openfl_display_JPEGEncoderOptions.prototype = { quality: null ,__class__: openfl_display_JPEGEncoderOptions }; var openfl_display__$JointStyle_JointStyle_$Impl_$ = {}; $hxClasses["openfl.display._JointStyle.JointStyle_Impl_"] = openfl_display__$JointStyle_JointStyle_$Impl_$; openfl_display__$JointStyle_JointStyle_$Impl_$.__name__ = "openfl.display._JointStyle.JointStyle_Impl_"; openfl_display__$JointStyle_JointStyle_$Impl_$.fromInt = function(value) { return value; }; openfl_display__$JointStyle_JointStyle_$Impl_$.fromString = function(value) { switch(value) { case "bevel": return 0; case "miter": return 1; case "round": return 2; default: return null; } }; openfl_display__$JointStyle_JointStyle_$Impl_$.toInt = function(this1) { return this1; }; openfl_display__$JointStyle_JointStyle_$Impl_$.toString = function(this1) { switch(this1) { case 0: return "bevel"; case 1: return "miter"; case 2: return "round"; default: return null; } }; var openfl_display__$LineScaleMode_LineScaleMode_$Impl_$ = {}; $hxClasses["openfl.display._LineScaleMode.LineScaleMode_Impl_"] = openfl_display__$LineScaleMode_LineScaleMode_$Impl_$; openfl_display__$LineScaleMode_LineScaleMode_$Impl_$.__name__ = "openfl.display._LineScaleMode.LineScaleMode_Impl_"; openfl_display__$LineScaleMode_LineScaleMode_$Impl_$.fromInt = function(value) { return value; }; openfl_display__$LineScaleMode_LineScaleMode_$Impl_$.fromString = function(value) { switch(value) { case "horizontal": return 0; case "none": return 1; case "normal": return 2; case "vertical": return 3; default: return null; } }; openfl_display__$LineScaleMode_LineScaleMode_$Impl_$.toInt = function(this1) { return this1; }; openfl_display__$LineScaleMode_LineScaleMode_$Impl_$.toString = function(this1) { switch(this1) { case 0: return "horizontal"; case 1: return "none"; case 2: return "normal"; case 3: return "vertical"; default: return null; } }; var openfl_display_Loader = function() { openfl_display_DisplayObjectContainer.call(this); this.__drawableType = 4; this.contentLoaderInfo = openfl_display_LoaderInfo.create(this); this.uncaughtErrorEvents = this.contentLoaderInfo.uncaughtErrorEvents; this.__unloaded = true; }; $hxClasses["openfl.display.Loader"] = openfl_display_Loader; openfl_display_Loader.__name__ = "openfl.display.Loader"; openfl_display_Loader.__super__ = openfl_display_DisplayObjectContainer; openfl_display_Loader.prototype = $extend(openfl_display_DisplayObjectContainer.prototype,{ content: null ,contentLoaderInfo: null ,uncaughtErrorEvents: null ,__library: null ,__path: null ,__unloaded: null ,addChild: function(child) { throw new js__$Boot_HaxeError(new openfl_errors_Error("Error #2069: The Loader class does not implement this method.",2069)); } ,addChildAt: function(child,index) { throw new js__$Boot_HaxeError(new openfl_errors_Error("Error #2069: The Loader class does not implement this method.",2069)); } ,close: function() { openfl_utils__$internal_Lib.notImplemented({ fileName : "openfl/display/Loader.hx", lineNumber : 228, className : "openfl.display.Loader", methodName : "close"}); } ,load: function(request,context) { this.unload(); this.contentLoaderInfo.loaderURL = openfl_Lib.get_current().get_loaderInfo().url; this.contentLoaderInfo.url = request.url; this.__unloaded = false; if(request.contentType == null || request.contentType == "") { var extension = ""; this.__path = request.url; var queryIndex = this.__path.indexOf("?"); if(queryIndex > -1) { this.__path = this.__path.substring(0,queryIndex); } while(StringTools.endsWith(this.__path,"/")) this.__path = this.__path.substring(0,this.__path.length - 1); if(StringTools.endsWith(this.__path,".bundle")) { this.__path += "/library.json"; if(queryIndex > -1) { request.url = this.__path + request.url.substring(queryIndex); } else { request.url = this.__path; } } var extIndex = this.__path.lastIndexOf("."); if(extIndex > -1) { extension = this.__path.substring(extIndex + 1); } var tmp; switch(extension) { case "gif": tmp = "image/gif"; break; case "jpeg":case "jpg": tmp = "image/jpeg"; break; case "js": tmp = "application/javascript"; break; case "json": tmp = "application/json"; break; case "png": tmp = "image/png"; break; case "swf": tmp = "application/x-shockwave-flash"; break; default: tmp = "application/x-www-form-urlencoded"; } this.contentLoaderInfo.contentType = tmp; } else { this.contentLoaderInfo.contentType = request.contentType; } if(this.contentLoaderInfo.contentType.indexOf("image/") > -1 && request.method == "GET" && (request.requestHeaders == null || request.requestHeaders.length == 0) && request.userAgent == null) { openfl_display_BitmapData.loadFromFile(request.url).onComplete($bind(this,this.BitmapData_onLoad)).onError($bind(this,this.BitmapData_onError)).onProgress($bind(this,this.BitmapData_onProgress)); return; } var loader = new openfl_net_URLLoader(); loader.dataFormat = 0; if(this.contentLoaderInfo.contentType.indexOf("/json") > -1 || this.contentLoaderInfo.contentType.indexOf("/javascript") > -1 || this.contentLoaderInfo.contentType.indexOf("/ecmascript") > -1) { loader.dataFormat = 1; } loader.addEventListener("complete",$bind(this,this.loader_onComplete)); loader.addEventListener("ioError",$bind(this,this.loader_onError)); loader.addEventListener("progress",$bind(this,this.loader_onProgress)); loader.load(request); } ,loadBytes: function(buffer,context) { openfl_display_BitmapData.loadFromBytes(buffer).onComplete($bind(this,this.BitmapData_onLoad)).onError($bind(this,this.BitmapData_onError)); } ,removeChild: function(child) { if(child == this.content) { return openfl_display_DisplayObjectContainer.prototype.removeChild.call(this,this.content); } else { throw new js__$Boot_HaxeError(new openfl_errors_Error("Error #2069: The Loader class does not implement this method.",2069)); } } ,removeChildAt: function(index) { throw new js__$Boot_HaxeError(new openfl_errors_Error("Error #2069: The Loader class does not implement this method.",2069)); } ,setChildIndex: function(child,index) { throw new js__$Boot_HaxeError(new openfl_errors_Error("Error #2069: The Loader class does not implement this method.",2069)); } ,unload: function() { if(!this.__unloaded) { if(this.content != null && this.content.parent == this) { openfl_display_DisplayObjectContainer.prototype.removeChild.call(this,this.content); } if(this.__library != null) { openfl_utils_Assets.unloadLibrary(this.contentLoaderInfo.url); this.__library = null; } this.content = null; this.contentLoaderInfo.url = null; this.contentLoaderInfo.contentType = null; this.contentLoaderInfo.content = null; this.contentLoaderInfo.bytesLoaded = 0; this.contentLoaderInfo.bytesTotal = 0; this.contentLoaderInfo.width = 0; this.contentLoaderInfo.height = 0; this.__unloaded = true; this.contentLoaderInfo.dispatchEvent(new openfl_events_Event("unload")); } } ,unloadAndStop: function(gc) { if(gc == null) { gc = true; } if(this.content != null) { this.content.__stopAllMovieClips(); } var _g = 0; var _g1 = this.get_numChildren(); while(_g < _g1) { var i = _g++; this.getChildAt(i).__stopAllMovieClips(); } this.unload(); var gc1 = gc; } ,__dispatchError: function(text) { var event = new openfl_events_IOErrorEvent("ioError"); event.text = text; this.contentLoaderInfo.dispatchEvent(event); } ,__setContent: function(content,width,height) { this.content = content; this.contentLoaderInfo.content = content; this.contentLoaderInfo.width = width; this.contentLoaderInfo.height = height; if(content != null) { openfl_display_DisplayObjectContainer.prototype.addChildAt.call(this,content,0); } } ,BitmapData_onError: function(error) { this.__dispatchError(Std.string(error)); } ,BitmapData_onLoad: function(bitmapData) { if(bitmapData == null) { this.__dispatchError("Unknown error"); return; } this.__setContent(new openfl_display_Bitmap(bitmapData),bitmapData.width,bitmapData.height); this.contentLoaderInfo.dispatchEvent(new openfl_events_Event("complete")); } ,BitmapData_onProgress: function(bytesLoaded,bytesTotal) { var event = new openfl_events_ProgressEvent("progress"); event.bytesLoaded = bytesLoaded; event.bytesTotal = bytesTotal; this.contentLoaderInfo.dispatchEvent(event); } ,loader_onComplete: function(event) { var _gthis = this; var loader = event.target; if(this.contentLoaderInfo.contentType != null && this.contentLoaderInfo.contentType.indexOf("/json") > -1) { var manifest = lime_utils_AssetManifest.parse(loader.data,haxe_io_Path.directory(this.__path)); if(manifest == null) { this.__dispatchError("Cannot parse asset manifest"); return; } var library = lime_utils_AssetLibrary.fromManifest(manifest); if(library == null) { this.__dispatchError("Cannot open library"); return; } if(((library) instanceof openfl_utils_AssetLibrary)) { library.load().onComplete(function(_) { _gthis.__library = library; openfl_utils_Assets.registerLibrary(_gthis.contentLoaderInfo.url,_gthis.__library); if(manifest.name != null && !openfl_utils_Assets.hasLibrary(manifest.name)) { openfl_utils_Assets.registerLibrary(manifest.name,_gthis.__library); } var clip = _gthis.__library.getMovieClip(""); var tmp = clip.get_width() | 0; var tmp1 = clip.get_height() | 0; _gthis.__setContent(clip,tmp,tmp1); _gthis.contentLoaderInfo.dispatchEvent(new openfl_events_Event("complete")); }).onError(function(e) { _gthis.__dispatchError(e); }); } } else if(this.contentLoaderInfo.contentType != null && (this.contentLoaderInfo.contentType.indexOf("/javascript") > -1 || this.contentLoaderInfo.contentType.indexOf("/ecmascript") > -1)) { this.__setContent(new openfl_display_Sprite(),0,0); (eval)("(function () {" + Std.string(loader.data) + "})()"); this.contentLoaderInfo.dispatchEvent(new openfl_events_Event("complete")); } else { this.contentLoaderInfo.bytes = loader.data; openfl_display_BitmapData.loadFromBytes(loader.data).onComplete($bind(this,this.BitmapData_onLoad)).onError($bind(this,this.BitmapData_onError)); } } ,loader_onError: function(event) { event.target = this.contentLoaderInfo; this.contentLoaderInfo.dispatchEvent(event); } ,loader_onProgress: function(event) { event.target = this.contentLoaderInfo; this.contentLoaderInfo.dispatchEvent(event); } ,__class__: openfl_display_Loader }); var openfl_display_LoaderInfo = function() { openfl_events_EventDispatcher.call(this); this.applicationDomain = openfl_system_ApplicationDomain.currentDomain; this.bytesLoaded = 0; this.bytesTotal = 0; this.childAllowsParent = true; this.parameters = { }; }; $hxClasses["openfl.display.LoaderInfo"] = openfl_display_LoaderInfo; openfl_display_LoaderInfo.__name__ = "openfl.display.LoaderInfo"; openfl_display_LoaderInfo.create = function(loader) { var loaderInfo = new openfl_display_LoaderInfo(); loaderInfo.uncaughtErrorEvents = new openfl_events_UncaughtErrorEvents(); if(loader != null) { loaderInfo.loader = loader; } else { loaderInfo.url = openfl_display_LoaderInfo.__rootURL; } return loaderInfo; }; openfl_display_LoaderInfo.__super__ = openfl_events_EventDispatcher; openfl_display_LoaderInfo.prototype = $extend(openfl_events_EventDispatcher.prototype,{ applicationDomain: null ,bytes: null ,bytesLoaded: null ,bytesTotal: null ,childAllowsParent: null ,content: null ,contentType: null ,frameRate: null ,height: null ,loader: null ,loaderURL: null ,parameters: null ,parentAllowsChild: null ,sameDomain: null ,sharedEvents: null ,uncaughtErrorEvents: null ,url: null ,width: null ,__completed: null ,__complete: function() { if(!this.__completed) { if(this.bytesLoaded < this.bytesTotal) { this.bytesLoaded = this.bytesTotal; } this.__update(this.bytesLoaded,this.bytesTotal); this.__completed = true; this.dispatchEvent(new openfl_events_Event("complete")); } } ,__update: function(bytesLoaded,bytesTotal) { this.bytesLoaded = bytesLoaded; this.bytesTotal = bytesTotal; this.dispatchEvent(new openfl_events_ProgressEvent("progress",false,false,bytesLoaded,bytesTotal)); } ,__class__: openfl_display_LoaderInfo }); var openfl_display_MovieClip = function() { openfl_display_Sprite.call(this); this.__enabled = true; if(openfl_display_MovieClip.__constructor != null) { var method = openfl_display_MovieClip.__constructor; openfl_display_MovieClip.__constructor = null; method(this); } }; $hxClasses["openfl.display.MovieClip"] = openfl_display_MovieClip; openfl_display_MovieClip.__name__ = "openfl.display.MovieClip"; openfl_display_MovieClip.__constructor = null; openfl_display_MovieClip.fromTimeline = function(timeline) { var movieClip = new openfl_display_MovieClip(); movieClip.attachTimeline(timeline); return movieClip; }; openfl_display_MovieClip.__super__ = openfl_display_Sprite; openfl_display_MovieClip.prototype = $extend(openfl_display_Sprite.prototype,{ __enabled: null ,__hasDown: null ,__hasOver: null ,__hasUp: null ,__mouseIsDown: null ,__scene: null ,__timeline: null ,addFrameScript: function(index,method) { if(this.__timeline != null) { this.__timeline.__addFrameScript(index,method); } } ,attachTimeline: function(timeline) { this.__timeline = timeline; if(timeline != null) { timeline.__attachMovieClip(this); this.play(); } } ,gotoAndPlay: function(frame,scene) { if(this.__timeline != null) { this.__timeline.__gotoAndPlay(frame,scene); } } ,gotoAndStop: function(frame,scene) { if(this.__timeline != null) { this.__timeline.__gotoAndStop(frame,scene); } } ,nextFrame: function() { if(this.__timeline != null) { this.__timeline.__nextFrame(); } } ,nextScene: function() { if(this.__timeline != null) { this.__timeline.__nextScene(); } } ,play: function() { if(this.__timeline != null) { this.__timeline.__play(); } } ,prevFrame: function() { if(this.__timeline != null) { this.__timeline.__prevFrame(); } } ,prevScene: function() { if(this.__timeline != null) { this.__timeline.__prevScene(); } } ,stop: function() { if(this.__timeline != null) { this.__timeline.__stop(); } } ,__enterFrame: function(deltaTime) { if(this.__timeline != null) { this.__timeline.__enterFrame(deltaTime); } var _g = 0; var _g1 = this.__children; while(_g < _g1.length) { var child = _g1[_g]; ++_g; child.__enterFrame(deltaTime); } } ,__stopAllMovieClips: function() { openfl_display_Sprite.prototype.__stopAllMovieClips.call(this); this.stop(); } ,__tabTest: function(stack) { if(!this.__enabled) { return; } openfl_display_Sprite.prototype.__tabTest.call(this,stack); } ,__onMouseDown: function(event) { if(this.__enabled && this.__hasDown) { this.gotoAndStop("_down"); } this.__mouseIsDown = true; if(this.stage != null) { this.stage.addEventListener("mouseUp",$bind(this,this.__onMouseUp),true); } } ,__onMouseUp: function(event) { this.__mouseIsDown = false; if(this.stage != null) { this.stage.removeEventListener("mouseUp",$bind(this,this.__onMouseUp)); } if(!this.__buttonMode) { return; } if(event.target == this && this.__enabled && this.__hasOver) { this.gotoAndStop("_over"); } else if(this.__enabled && this.__hasUp) { this.gotoAndStop("_up"); } } ,__onRollOut: function(event) { if(!this.__enabled) { return; } if(this.__mouseIsDown && this.__hasOver) { this.gotoAndStop("_over"); } else if(this.__hasUp) { this.gotoAndStop("_up"); } } ,__onRollOver: function(event) { if(this.__enabled && this.__hasOver) { this.gotoAndStop("_over"); } } ,set_buttonMode: function(value) { if(this.__buttonMode != value) { if(value) { this.__hasDown = false; this.__hasOver = false; this.__hasUp = false; var _g = 0; var _g1 = this.get_currentLabels(); while(_g < _g1.length) { var frameLabel = _g1[_g]; ++_g; switch(frameLabel.name) { case "_down": this.__hasDown = true; break; case "_over": this.__hasOver = true; break; case "_up": this.__hasUp = true; break; default: } } if(this.__hasDown || this.__hasOver || this.__hasUp) { this.addEventListener("rollOver",$bind(this,this.__onRollOver)); this.addEventListener("rollOut",$bind(this,this.__onRollOut)); this.addEventListener("mouseDown",$bind(this,this.__onMouseDown)); } } else { this.removeEventListener("rollOver",$bind(this,this.__onRollOver)); this.removeEventListener("rollOut",$bind(this,this.__onRollOut)); this.removeEventListener("mouseDown",$bind(this,this.__onMouseDown)); } this.__buttonMode = value; } return value; } ,get_currentFrame: function() { if(this.__timeline != null) { return this.__timeline.__currentFrame; } else { return 1; } } ,get_currentFrameLabel: function() { if(this.__timeline != null) { return this.__timeline.__currentFrameLabel; } else { return null; } } ,get_currentLabel: function() { if(this.__timeline != null) { return this.__timeline.__currentLabel; } else { return null; } } ,get_currentLabels: function() { if(this.__timeline != null) { return this.__timeline.__currentLabels.slice(); } else { return []; } } ,get_currentScene: function() { if(this.__timeline != null) { return this.__timeline.__currentScene; } else { if(this.__scene == null) { this.__scene = new openfl_display_Scene("",[],1); } return this.__scene; } } ,get_enabled: function() { return this.__enabled; } ,set_enabled: function(value) { return this.__enabled = value; } ,get_framesLoaded: function() { if(this.__timeline != null) { return this.__timeline.__framesLoaded; } else { return 1; } } ,get_isPlaying: function() { if(this.__timeline != null) { return this.__timeline.__isPlaying; } else { return false; } } ,get_scenes: function() { if(this.__timeline != null) { return this.__timeline.scenes.slice(); } else { return [this.get_currentScene()]; } } ,get_totalFrames: function() { if(this.__timeline != null) { return this.__timeline.__totalFrames; } else { return 1; } } ,__class__: openfl_display_MovieClip ,__properties__: $extend(openfl_display_Sprite.prototype.__properties__,{get_totalFrames:"get_totalFrames",get_scenes:"get_scenes",get_isPlaying:"get_isPlaying",get_framesLoaded:"get_framesLoaded",set_enabled:"set_enabled",get_enabled:"get_enabled",get_currentScene:"get_currentScene",get_currentLabels:"get_currentLabels",get_currentLabel:"get_currentLabel",get_currentFrameLabel:"get_currentFrameLabel",get_currentFrame:"get_currentFrame"}) }); var openfl_display_OpenGLRenderer = function(context,defaultRenderTarget) { openfl_display_DisplayObjectRenderer.call(this); this.__context3D = context; this.__context = context.__context; this.gl = context.__context.webgl; this.__gl = this.gl; this.__defaultRenderTarget = defaultRenderTarget; this.__flipped = this.__defaultRenderTarget == null; if(openfl_display_Graphics.maxTextureWidth == null) { openfl_display_Graphics.maxTextureWidth = openfl_display_Graphics.maxTextureHeight = this.__gl.getParameter(this.__gl.MAX_TEXTURE_SIZE); } this.__matrix = lime_math__$Matrix4_Matrix4_$Impl_$._new(); this.__values = []; this.__softwareRenderer = new openfl_display_CanvasRenderer(null); this.__type = "opengl"; this.__setBlendMode(10); this.__context3D.__setGLBlend(true); this.__clipRects = []; this.__maskObjects = []; this.__numClipRects = 0; this.__projection = lime_math__$Matrix4_Matrix4_$Impl_$._new(); this.__projectionFlipped = lime_math__$Matrix4_Matrix4_$Impl_$._new(); this.__stencilReference = 0; this.__tempRect = new openfl_geom_Rectangle(); this.__defaultDisplayShader = new openfl_display_DisplayObjectShader(); this.__defaultGraphicsShader = new openfl_display_GraphicsShader(); this.__defaultShader = this.__defaultDisplayShader; this.__initShader(this.__defaultShader); this.__scrollRectMasks = new lime_utils_ObjectPool(function() { return new openfl_display_Shape(); }); this.__maskShader = new openfl_display__$internal_Context3DMaskShader(); }; $hxClasses["openfl.display.OpenGLRenderer"] = openfl_display_OpenGLRenderer; openfl_display_OpenGLRenderer.__name__ = "openfl.display.OpenGLRenderer"; openfl_display_OpenGLRenderer.__super__ = openfl_display_DisplayObjectRenderer; openfl_display_OpenGLRenderer.prototype = $extend(openfl_display_DisplayObjectRenderer.prototype,{ gl: null ,__context3D: null ,__clipRects: null ,__currentDisplayShader: null ,__currentGraphicsShader: null ,__currentRenderTarget: null ,__currentShader: null ,__currentShaderBuffer: null ,__defaultDisplayShader: null ,__defaultGraphicsShader: null ,__defaultRenderTarget: null ,__defaultShader: null ,__displayHeight: null ,__displayWidth: null ,__flipped: null ,__gl: null ,__height: null ,__maskShader: null ,__matrix: null ,__maskObjects: null ,__numClipRects: null ,__offsetX: null ,__offsetY: null ,__projection: null ,__projectionFlipped: null ,__scrollRectMasks: null ,__softwareRenderer: null ,__stencilReference: null ,__tempRect: null ,__updatedStencil: null ,__upscaled: null ,__values: null ,__width: null ,applyAlpha: function(alpha) { openfl_display_OpenGLRenderer.__alphaValue[0] = alpha * this.__worldAlpha; if(this.__currentShaderBuffer != null) { this.__currentShaderBuffer.addFloatOverride("openfl_Alpha",openfl_display_OpenGLRenderer.__alphaValue); } else if(this.__currentShader != null) { if(this.__currentShader.__alpha != null) { this.__currentShader.__alpha.value = openfl_display_OpenGLRenderer.__alphaValue; } } } ,applyBitmapData: function(bitmapData,smooth,repeat) { if(repeat == null) { repeat = false; } if(this.__currentShaderBuffer != null) { if(bitmapData != null) { openfl_display_OpenGLRenderer.__textureSizeValue[0] = bitmapData.__textureWidth; openfl_display_OpenGLRenderer.__textureSizeValue[1] = bitmapData.__textureHeight; this.__currentShaderBuffer.addFloatOverride("openfl_TextureSize",openfl_display_OpenGLRenderer.__textureSizeValue); } } else if(this.__currentShader != null) { if(this.__currentShader.__bitmap != null) { this.__currentShader.__bitmap.input = bitmapData; this.__currentShader.__bitmap.filter = smooth && this.__allowSmoothing ? 4 : 5; this.__currentShader.__bitmap.mipFilter = 2; this.__currentShader.__bitmap.wrap = repeat ? 2 : 0; } if(this.__currentShader.__texture != null) { this.__currentShader.__texture.input = bitmapData; this.__currentShader.__texture.filter = smooth && this.__allowSmoothing ? 4 : 5; this.__currentShader.__texture.mipFilter = 2; this.__currentShader.__texture.wrap = repeat ? 2 : 0; } if(this.__currentShader.__textureSize != null) { if(bitmapData != null) { openfl_display_OpenGLRenderer.__textureSizeValue[0] = bitmapData.__textureWidth; openfl_display_OpenGLRenderer.__textureSizeValue[1] = bitmapData.__textureHeight; this.__currentShader.__textureSize.value = openfl_display_OpenGLRenderer.__textureSizeValue; } else { this.__currentShader.__textureSize.value = null; } } } } ,applyColorTransform: function(colorTransform) { var enabled = colorTransform != null && !colorTransform.__isDefault(true); this.applyHasColorTransform(enabled); if(enabled) { colorTransform.__setArrays(openfl_display_OpenGLRenderer.__colorMultipliersValue,openfl_display_OpenGLRenderer.__colorOffsetsValue); if(this.__currentShaderBuffer != null) { this.__currentShaderBuffer.addFloatOverride("openfl_ColorMultiplier",openfl_display_OpenGLRenderer.__colorMultipliersValue); this.__currentShaderBuffer.addFloatOverride("openfl_ColorOffset",openfl_display_OpenGLRenderer.__colorOffsetsValue); } else if(this.__currentShader != null) { if(this.__currentShader.__colorMultiplier != null) { this.__currentShader.__colorMultiplier.value = openfl_display_OpenGLRenderer.__colorMultipliersValue; } if(this.__currentShader.__colorOffset != null) { this.__currentShader.__colorOffset.value = openfl_display_OpenGLRenderer.__colorOffsetsValue; } } } else if(this.__currentShaderBuffer != null) { this.__currentShaderBuffer.addFloatOverride("openfl_ColorMultiplier",openfl_display_OpenGLRenderer.__emptyColorValue); this.__currentShaderBuffer.addFloatOverride("openfl_ColorOffset",openfl_display_OpenGLRenderer.__emptyColorValue); } else if(this.__currentShader != null) { if(this.__currentShader.__colorMultiplier != null) { this.__currentShader.__colorMultiplier.value = openfl_display_OpenGLRenderer.__emptyColorValue; } if(this.__currentShader.__colorOffset != null) { this.__currentShader.__colorOffset.value = openfl_display_OpenGLRenderer.__emptyColorValue; } } } ,applyHasColorTransform: function(enabled) { openfl_display_OpenGLRenderer.__hasColorTransformValue[0] = enabled; if(this.__currentShaderBuffer != null) { this.__currentShaderBuffer.addBoolOverride("openfl_HasColorTransform",openfl_display_OpenGLRenderer.__hasColorTransformValue); } else if(this.__currentShader != null) { if(this.__currentShader.__hasColorTransform != null) { this.__currentShader.__hasColorTransform.value = openfl_display_OpenGLRenderer.__hasColorTransformValue; } } } ,applyMatrix: function(matrix) { if(this.__currentShaderBuffer != null) { this.__currentShaderBuffer.addFloatOverride("openfl_Matrix",matrix); } else if(this.__currentShader != null) { if(this.__currentShader.__matrix != null) { this.__currentShader.__matrix.value = matrix; } } } ,getMatrix: function(transform) { if(this.gl != null) { var values = this.__getMatrix(transform,1); lime_math__$Matrix4_Matrix4_$Impl_$.set(this.__matrix,0,values[0]); lime_math__$Matrix4_Matrix4_$Impl_$.set(this.__matrix,1,values[1]); lime_math__$Matrix4_Matrix4_$Impl_$.set(this.__matrix,2,values[2]); lime_math__$Matrix4_Matrix4_$Impl_$.set(this.__matrix,3,values[3]); lime_math__$Matrix4_Matrix4_$Impl_$.set(this.__matrix,4,values[4]); lime_math__$Matrix4_Matrix4_$Impl_$.set(this.__matrix,5,values[5]); lime_math__$Matrix4_Matrix4_$Impl_$.set(this.__matrix,6,values[6]); lime_math__$Matrix4_Matrix4_$Impl_$.set(this.__matrix,7,values[7]); lime_math__$Matrix4_Matrix4_$Impl_$.set(this.__matrix,8,values[8]); lime_math__$Matrix4_Matrix4_$Impl_$.set(this.__matrix,9,values[9]); lime_math__$Matrix4_Matrix4_$Impl_$.set(this.__matrix,10,values[10]); lime_math__$Matrix4_Matrix4_$Impl_$.set(this.__matrix,11,values[11]); lime_math__$Matrix4_Matrix4_$Impl_$.set(this.__matrix,12,values[12]); lime_math__$Matrix4_Matrix4_$Impl_$.set(this.__matrix,13,values[13]); lime_math__$Matrix4_Matrix4_$Impl_$.set(this.__matrix,14,values[14]); lime_math__$Matrix4_Matrix4_$Impl_$.set(this.__matrix,15,values[15]); return this.__matrix; } else { lime_math__$Matrix4_Matrix4_$Impl_$.identity(this.__matrix); lime_math__$Matrix4_Matrix4_$Impl_$.set(this.__matrix,0,transform.a); lime_math__$Matrix4_Matrix4_$Impl_$.set(this.__matrix,1,transform.b); lime_math__$Matrix4_Matrix4_$Impl_$.set(this.__matrix,4,transform.c); lime_math__$Matrix4_Matrix4_$Impl_$.set(this.__matrix,5,transform.d); lime_math__$Matrix4_Matrix4_$Impl_$.set(this.__matrix,12,transform.tx); lime_math__$Matrix4_Matrix4_$Impl_$.set(this.__matrix,13,transform.ty); return this.__matrix; } } ,setShader: function(shader) { this.__currentShaderBuffer = null; if(this.__currentShader == shader) { return; } var tmp = this.__currentShader != null; if(shader == null) { this.__currentShader = null; this.__context3D.setProgram(null); return; } else { this.__currentShader = shader; this.__initShader(shader); this.__context3D.setProgram(shader.program); this.__context3D.__flushGLProgram(); this.__currentShader.__enable(); this.__context3D.__state.shader = shader; } } ,setViewport: function() { this.__gl.viewport(this.__offsetX,this.__offsetY,this.__displayWidth,this.__displayHeight); } ,updateShader: function() { if(this.__currentShader != null) { if(this.__currentShader.__position != null) { this.__currentShader.__position.__useArray = true; } if(this.__currentShader.__textureCoord != null) { this.__currentShader.__textureCoord.__useArray = true; } this.__context3D.setProgram(this.__currentShader.program); this.__context3D.__flushGLProgram(); this.__context3D.__flushGLTextures(); this.__currentShader.__update(); } } ,useAlphaArray: function() { if(this.__currentShader != null) { if(this.__currentShader.__alpha != null) { this.__currentShader.__alpha.__useArray = true; } } } ,useColorTransformArray: function() { if(this.__currentShader != null) { if(this.__currentShader.__colorMultiplier != null) { this.__currentShader.__colorMultiplier.__useArray = true; } if(this.__currentShader.__colorOffset != null) { this.__currentShader.__colorOffset.__useArray = true; } } } ,__cleanup: function() { if(this.__stencilReference > 0) { this.__stencilReference = 0; this.__context3D.setStencilActions(); this.__context3D.setStencilReferenceValue(0,0,0); } if(this.__numClipRects > 0) { this.__numClipRects = 0; this.__scissorRect(); } } ,__clear: function() { if(this.__stage == null || this.__stage.__transparent) { this.__context3D.clear(0,0,0,0,0,0,1); } else { this.__context3D.clear(this.__stage.__colorSplit[0],this.__stage.__colorSplit[1],this.__stage.__colorSplit[2],1,0,0,1); } this.__cleared = true; } ,__clearShader: function() { if(this.__currentShader != null) { if(this.__currentShaderBuffer == null) { if(this.__currentShader.__bitmap != null) { this.__currentShader.__bitmap.input = null; } } else { this.__currentShaderBuffer.clearOverride(); } if(this.__currentShader.__texture != null) { this.__currentShader.__texture.input = null; } if(this.__currentShader.__textureSize != null) { this.__currentShader.__textureSize.value = null; } if(this.__currentShader.__hasColorTransform != null) { this.__currentShader.__hasColorTransform.value = null; } if(this.__currentShader.__position != null) { this.__currentShader.__position.value = null; } if(this.__currentShader.__matrix != null) { this.__currentShader.__matrix.value = null; } this.__currentShader.__clearUseArray(); } } ,__copyShader: function(other) { this.__currentShader = other.__currentShader; this.__currentShaderBuffer = other.__currentShaderBuffer; this.__currentDisplayShader = other.__currentDisplayShader; this.__currentGraphicsShader = other.__currentGraphicsShader; } ,__getMatrix: function(transform,pixelSnapping) { var _matrix = openfl_geom_Matrix.__pool.get(); _matrix.copyFrom(transform); _matrix.concat(this.__worldTransform); if(pixelSnapping == 0 || pixelSnapping == 1 && _matrix.b == 0 && _matrix.c == 0 && (_matrix.a < 1.001 && _matrix.a > 0.999) && (_matrix.d < 1.001 && _matrix.d > 0.999)) { _matrix.tx = Math.round(_matrix.tx); _matrix.ty = Math.round(_matrix.ty); } lime_math__$Matrix4_Matrix4_$Impl_$.identity(this.__matrix); lime_math__$Matrix4_Matrix4_$Impl_$.set(this.__matrix,0,_matrix.a); lime_math__$Matrix4_Matrix4_$Impl_$.set(this.__matrix,1,_matrix.b); lime_math__$Matrix4_Matrix4_$Impl_$.set(this.__matrix,4,_matrix.c); lime_math__$Matrix4_Matrix4_$Impl_$.set(this.__matrix,5,_matrix.d); lime_math__$Matrix4_Matrix4_$Impl_$.set(this.__matrix,12,_matrix.tx); lime_math__$Matrix4_Matrix4_$Impl_$.set(this.__matrix,13,_matrix.ty); lime_math__$Matrix4_Matrix4_$Impl_$.append(this.__matrix,this.__flipped ? this.__projectionFlipped : this.__projection); this.__values[0] = lime_math__$Matrix4_Matrix4_$Impl_$.get(this.__matrix,0); this.__values[1] = lime_math__$Matrix4_Matrix4_$Impl_$.get(this.__matrix,1); this.__values[2] = lime_math__$Matrix4_Matrix4_$Impl_$.get(this.__matrix,2); this.__values[3] = lime_math__$Matrix4_Matrix4_$Impl_$.get(this.__matrix,3); this.__values[4] = lime_math__$Matrix4_Matrix4_$Impl_$.get(this.__matrix,4); this.__values[5] = lime_math__$Matrix4_Matrix4_$Impl_$.get(this.__matrix,5); this.__values[6] = lime_math__$Matrix4_Matrix4_$Impl_$.get(this.__matrix,6); this.__values[7] = lime_math__$Matrix4_Matrix4_$Impl_$.get(this.__matrix,7); this.__values[8] = lime_math__$Matrix4_Matrix4_$Impl_$.get(this.__matrix,8); this.__values[9] = lime_math__$Matrix4_Matrix4_$Impl_$.get(this.__matrix,9); this.__values[10] = lime_math__$Matrix4_Matrix4_$Impl_$.get(this.__matrix,10); this.__values[11] = lime_math__$Matrix4_Matrix4_$Impl_$.get(this.__matrix,11); this.__values[12] = lime_math__$Matrix4_Matrix4_$Impl_$.get(this.__matrix,12); this.__values[13] = lime_math__$Matrix4_Matrix4_$Impl_$.get(this.__matrix,13); this.__values[14] = lime_math__$Matrix4_Matrix4_$Impl_$.get(this.__matrix,14); this.__values[15] = lime_math__$Matrix4_Matrix4_$Impl_$.get(this.__matrix,15); openfl_geom_Matrix.__pool.release(_matrix); return this.__values; } ,__initShader: function(shader) { if(shader != null) { if(shader.__context == null) { shader.__context = this.__context3D; shader.__init(); } return shader; } return this.__defaultShader; } ,__initDisplayShader: function(shader) { if(shader != null) { if(shader.__context == null) { shader.__context = this.__context3D; shader.__init(); } return shader; } return this.__defaultDisplayShader; } ,__initGraphicsShader: function(shader) { if(shader != null) { if(shader.__context == null) { shader.__context = this.__context3D; shader.__init(); } return shader; } return this.__defaultGraphicsShader; } ,__initShaderBuffer: function(shaderBuffer) { if(shaderBuffer != null) { return this.__initGraphicsShader(shaderBuffer.shader); } return this.__defaultGraphicsShader; } ,__popMask: function() { if(this.__stencilReference == 0) { return; } var mask = this.__maskObjects.pop(); if(this.__stencilReference > 1) { this.__context3D.setStencilActions(2,1,0,0,5); this.__context3D.setStencilReferenceValue(this.__stencilReference,255,255); this.__context3D.setColorMask(false,false,false,false); this.__renderDrawableMask(mask); this.__stencilReference--; this.__context3D.setStencilActions(2,1,5,5,5); this.__context3D.setStencilReferenceValue(this.__stencilReference,255,0); this.__context3D.setColorMask(true,true,true,true); } else { this.__stencilReference = 0; this.__context3D.setStencilActions(); this.__context3D.setStencilReferenceValue(0,0,0); } } ,__popMaskObject: function(object,handleScrollRect) { if(handleScrollRect == null) { handleScrollRect = true; } if(object.__mask != null) { this.__popMask(); } if(handleScrollRect && object.__scrollRect != null) { if(object.__renderTransform.b != 0 || object.__renderTransform.c != 0) { this.__scrollRectMasks.release(this.__maskObjects[this.__maskObjects.length - 1]); this.__popMask(); } else { this.__popMaskRect(); } } } ,__popMaskRect: function() { if(this.__numClipRects > 0) { this.__numClipRects--; if(this.__numClipRects > 0) { this.__scissorRect(this.__clipRects[this.__numClipRects - 1]); } else { this.__scissorRect(); } } } ,__pushMask: function(mask) { if(this.__stencilReference == 0) { this.__context3D.clear(0,0,0,0,0,0,4); this.__updatedStencil = true; } this.__context3D.setStencilActions(2,1,2,5,5); this.__context3D.setStencilReferenceValue(this.__stencilReference,255,255); this.__context3D.setColorMask(false,false,false,false); this.__renderDrawableMask(mask); this.__maskObjects.push(mask); this.__stencilReference++; this.__context3D.setStencilActions(2,1,5,5,5); this.__context3D.setStencilReferenceValue(this.__stencilReference,255,0); this.__context3D.setColorMask(true,true,true,true); } ,__pushMaskObject: function(object,handleScrollRect) { if(handleScrollRect == null) { handleScrollRect = true; } if(handleScrollRect && object.__scrollRect != null) { if(object.__renderTransform.b != 0 || object.__renderTransform.c != 0) { var shape = this.__scrollRectMasks.get(); shape.get_graphics().clear(); shape.get_graphics().beginFill(65280); shape.get_graphics().drawRect(object.__scrollRect.x,object.__scrollRect.y,object.__scrollRect.width,object.__scrollRect.height); shape.__renderTransform.copyFrom(object.__renderTransform); this.__pushMask(shape); } else { this.__pushMaskRect(object.__scrollRect,object.__renderTransform); } } if(object.__mask != null) { this.__pushMask(object.__mask); } } ,__pushMaskRect: function(rect,transform) { if(this.__numClipRects == this.__clipRects.length) { this.__clipRects[this.__numClipRects] = new openfl_geom_Rectangle(); } var _matrix = openfl_geom_Matrix.__pool.get(); _matrix.copyFrom(transform); _matrix.concat(this.__worldTransform); var clipRect = this.__clipRects[this.__numClipRects]; rect.__transform(clipRect,_matrix); if(this.__numClipRects > 0) { var parentClipRect = this.__clipRects[this.__numClipRects - 1]; clipRect.__contract(parentClipRect.x,parentClipRect.y,parentClipRect.width,parentClipRect.height); } if(clipRect.height < 0) { clipRect.height = 0; } if(clipRect.width < 0) { clipRect.width = 0; } openfl_geom_Matrix.__pool.release(_matrix); this.__scissorRect(clipRect); this.__numClipRects++; } ,__render: function(object) { this.__context3D.setColorMask(true,true,true,true); this.__context3D.setCulling(3); this.__context3D.setDepthTest(false,0); this.__context3D.setStencilActions(); this.__context3D.setStencilReferenceValue(0,0,0); this.__context3D.setScissorRectangle(null); this.__blendMode = null; this.__setBlendMode(10); if(this.__defaultRenderTarget == null) { openfl_display_OpenGLRenderer.__scissorRectangle.setTo(this.__offsetX,this.__offsetY,this.__displayWidth,this.__displayHeight); this.__context3D.setScissorRectangle(openfl_display_OpenGLRenderer.__scissorRectangle); this.__upscaled = this.__worldTransform.a != 1 || this.__worldTransform.d != 1; this.__renderDrawable(object); if(this.__offsetX > 0 || this.__offsetY > 0) { if(this.__offsetX > 0) { openfl_display_OpenGLRenderer.__scissorRectangle.setTo(0,0,this.__offsetX,this.__height); this.__context3D.setScissorRectangle(openfl_display_OpenGLRenderer.__scissorRectangle); this.__context3D.__flushGL(); this.__gl.clearColor(0,0,0,1); this.__gl.clear(this.__gl.COLOR_BUFFER_BIT); openfl_display_OpenGLRenderer.__scissorRectangle.setTo(this.__offsetX + this.__displayWidth,0,this.__width,this.__height); this.__context3D.setScissorRectangle(openfl_display_OpenGLRenderer.__scissorRectangle); this.__context3D.__flushGL(); this.__gl.clearColor(0,0,0,1); this.__gl.clear(this.__gl.COLOR_BUFFER_BIT); } if(this.__offsetY > 0) { openfl_display_OpenGLRenderer.__scissorRectangle.setTo(0,0,this.__width,this.__offsetY); this.__context3D.setScissorRectangle(openfl_display_OpenGLRenderer.__scissorRectangle); this.__context3D.__flushGL(); this.__gl.clearColor(0,0,0,1); this.__gl.clear(this.__gl.COLOR_BUFFER_BIT); openfl_display_OpenGLRenderer.__scissorRectangle.setTo(0,this.__offsetY + this.__displayHeight,this.__width,this.__height); this.__context3D.setScissorRectangle(openfl_display_OpenGLRenderer.__scissorRectangle); this.__context3D.__flushGL(); this.__gl.clearColor(0,0,0,1); this.__gl.clear(this.__gl.COLOR_BUFFER_BIT); } this.__context3D.setScissorRectangle(null); } } else { openfl_display_OpenGLRenderer.__scissorRectangle.setTo(this.__offsetX,this.__offsetY,this.__displayWidth,this.__displayHeight); this.__context3D.setScissorRectangle(openfl_display_OpenGLRenderer.__scissorRectangle); var cacheMask = object.__mask; var cacheScrollRect = object.__scrollRect; object.__mask = null; object.__scrollRect = null; this.__renderDrawable(object); object.__mask = cacheMask; object.__scrollRect = cacheScrollRect; } this.__context3D.present(); } ,__renderDrawable: function(object) { if(object == null) { return; } switch(object.__drawableType) { case 0: openfl_display__$internal_Context3DBitmapData.renderDrawable(object,this); break; case 2: openfl_display__$internal_Context3DBitmap.renderDrawable(object,this); break; case 3: openfl_display__$internal_Context3DDisplayObject.renderDrawable(object,this); break; case 4:case 5: openfl_display__$internal_Context3DDisplayObjectContainer.renderDrawable(object,this); break; case 6: openfl_display__$internal_Context3DSimpleButton.renderDrawable(object,this); break; case 7: openfl_display__$internal_Context3DTextField.renderDrawable(object,this); break; case 8: openfl_display__$internal_Context3DVideo.renderDrawable(object,this); break; case 9: openfl_display__$internal_Context3DTilemap.renderDrawable(object,this); break; default: } } ,__renderDrawableMask: function(object) { if(object == null) { return; } switch(object.__drawableType) { case 0: openfl_display__$internal_Context3DBitmapData.renderDrawableMask(object,this); break; case 2: openfl_display__$internal_Context3DBitmap.renderDrawableMask(object,this); break; case 3: openfl_display__$internal_Context3DDisplayObject.renderDrawableMask(object,this); break; case 4:case 5: openfl_display__$internal_Context3DDisplayObjectContainer.renderDrawableMask(object,this); break; case 6: openfl_display__$internal_Context3DSimpleButton.renderDrawableMask(object,this); break; case 7: openfl_display__$internal_Context3DTextField.renderDrawableMask(object,this); break; case 8: openfl_display__$internal_Context3DVideo.renderDrawableMask(object,this); break; case 9: openfl_display__$internal_Context3DTilemap.renderDrawableMask(object,this); break; default: } } ,__renderFilterPass: function(source,shader,smooth,clear) { if(clear == null) { clear = true; } if(source == null || shader == null) { return; } if(this.__defaultRenderTarget == null) { return; } var cacheRTT = this.__context3D.__state.renderToTexture; var cacheRTTDepthStencil = this.__context3D.__state.renderToTextureDepthStencil; var cacheRTTAntiAlias = this.__context3D.__state.renderToTextureAntiAlias; var cacheRTTSurfaceSelector = this.__context3D.__state.renderToTextureSurfaceSelector; this.__context3D.setRenderToTexture(this.__defaultRenderTarget.getTexture(this.__context3D),false); if(clear) { this.__context3D.clear(0,0,0,0,0,0,1); } var shader1 = this.__initShader(shader); this.setShader(shader1); this.applyAlpha(1); this.applyBitmapData(source,smooth); this.applyColorTransform(null); this.applyMatrix(this.__getMatrix(source.__renderTransform,1)); this.updateShader(); var vertexBuffer = source.getVertexBuffer(this.__context3D); if(shader1.__position != null) { this.__context3D.setVertexBufferAt(shader1.__position.index,vertexBuffer,0,3); } if(shader1.__textureCoord != null) { this.__context3D.setVertexBufferAt(shader1.__textureCoord.index,vertexBuffer,3,2); } var indexBuffer = source.getIndexBuffer(this.__context3D); this.__context3D.drawTriangles(indexBuffer); if(cacheRTT != null) { this.__context3D.setRenderToTexture(cacheRTT,cacheRTTDepthStencil,cacheRTTAntiAlias,cacheRTTSurfaceSelector); } else { this.__context3D.setRenderToBackBuffer(); } this.__clearShader(); } ,__resize: function(width,height) { this.__width = width; this.__height = height; var w = this.__defaultRenderTarget == null ? this.__stage.stageWidth : this.__defaultRenderTarget.width; var h = this.__defaultRenderTarget == null ? this.__stage.stageHeight : this.__defaultRenderTarget.height; var tmp; if(this.__defaultRenderTarget == null) { var _this = this.__worldTransform; tmp = Math.round(0 * _this.a + 0 * _this.c + _this.tx); } else { tmp = 0; } this.__offsetX = tmp; var tmp1; if(this.__defaultRenderTarget == null) { var _this1 = this.__worldTransform; tmp1 = Math.round(0 * _this1.b + 0 * _this1.d + _this1.ty); } else { tmp1 = 0; } this.__offsetY = tmp1; var tmp2; if(this.__defaultRenderTarget == null) { var _this2 = this.__worldTransform; tmp2 = Math.round(w * _this2.a + 0 * _this2.c + _this2.tx - this.__offsetX); } else { tmp2 = w; } this.__displayWidth = tmp2; var tmp3; if(this.__defaultRenderTarget == null) { var _this3 = this.__worldTransform; tmp3 = Math.round(0 * _this3.b + h * _this3.d + _this3.ty - this.__offsetY); } else { tmp3 = h; } this.__displayHeight = tmp3; lime_math__$Matrix4_Matrix4_$Impl_$.createOrtho(this.__projection,0,this.__displayWidth + this.__offsetX * 2,0,this.__displayHeight + this.__offsetY * 2,-1000,1000); lime_math__$Matrix4_Matrix4_$Impl_$.createOrtho(this.__projectionFlipped,0,this.__displayWidth + this.__offsetX * 2,this.__displayHeight + this.__offsetY * 2,0,-1000,1000); } ,__resumeClipAndMask: function(childRenderer) { if(this.__stencilReference > 0) { this.__context3D.setStencilActions(2,1,5,5,5); this.__context3D.setStencilReferenceValue(this.__stencilReference,255,0); } else { this.__context3D.setStencilActions(); this.__context3D.setStencilReferenceValue(0,0,0); } if(this.__numClipRects > 0) { this.__scissorRect(this.__clipRects[this.__numClipRects - 1]); } else { this.__scissorRect(); } } ,__scissorRect: function(clipRect) { if(clipRect != null) { var x = Math.floor(clipRect.x); var y = Math.floor(clipRect.y); var width = clipRect.width > 0 ? Math.ceil(clipRect.get_right()) - x : 0; var height = clipRect.height > 0 ? Math.ceil(clipRect.get_bottom()) - y : 0; if(width < 0) { width = 0; } if(height < 0) { height = 0; } openfl_display_OpenGLRenderer.__scissorRectangle.setTo(x,y,width,height); this.__context3D.setScissorRectangle(openfl_display_OpenGLRenderer.__scissorRectangle); } else { this.__context3D.setScissorRectangle(null); } } ,__setBlendMode: function(value) { if(this.__overrideBlendMode != null) { value = this.__overrideBlendMode; } if(this.__blendMode == value) { return; } this.__blendMode = value; switch(value) { case 0: this.__context3D.setBlendFactors(2,2); break; case 9: this.__context3D.setBlendFactors(1,5); break; case 12: this.__context3D.setBlendFactors(2,6); break; case 14: this.__context3D.setBlendFactors(2,2); this.__context3D.__setGLBlendEquation(this.__gl.FUNC_REVERSE_SUBTRACT); break; default: this.__context3D.setBlendFactors(2,5); } } ,__setRenderTarget: function(renderTarget) { this.__defaultRenderTarget = renderTarget; this.__flipped = renderTarget == null; if(renderTarget != null) { this.__resize(renderTarget.width,renderTarget.height); } } ,__setShaderBuffer: function(shaderBuffer) { this.setShader(shaderBuffer.shader); this.__currentShaderBuffer = shaderBuffer; } ,__suspendClipAndMask: function() { if(this.__stencilReference > 0) { this.__context3D.setStencilActions(); this.__context3D.setStencilReferenceValue(0,0,0); } if(this.__numClipRects > 0) { this.__scissorRect(); } } ,__updateShaderBuffer: function(bufferOffset) { if(this.__currentShader != null && this.__currentShaderBuffer != null) { this.__currentShader.__updateFromBuffer(this.__currentShaderBuffer,bufferOffset); } } ,__class__: openfl_display_OpenGLRenderer }); var openfl_display_PNGEncoderOptions = function(fastCompression) { if(fastCompression == null) { fastCompression = false; } this.fastCompression = fastCompression; }; $hxClasses["openfl.display.PNGEncoderOptions"] = openfl_display_PNGEncoderOptions; openfl_display_PNGEncoderOptions.__name__ = "openfl.display.PNGEncoderOptions"; openfl_display_PNGEncoderOptions.prototype = { fastCompression: null ,__class__: openfl_display_PNGEncoderOptions }; var openfl_display__$PixelSnapping_PixelSnapping_$Impl_$ = {}; $hxClasses["openfl.display._PixelSnapping.PixelSnapping_Impl_"] = openfl_display__$PixelSnapping_PixelSnapping_$Impl_$; openfl_display__$PixelSnapping_PixelSnapping_$Impl_$.__name__ = "openfl.display._PixelSnapping.PixelSnapping_Impl_"; openfl_display__$PixelSnapping_PixelSnapping_$Impl_$.fromString = function(value) { switch(value) { case "always": return 0; case "auto": return 1; case "never": return 2; default: return null; } }; openfl_display__$PixelSnapping_PixelSnapping_$Impl_$.toString = function(this1) { switch(this1) { case 0: return "always"; case 1: return "auto"; case 2: return "never"; default: return null; } }; var openfl_display_Preloader = function(display) { this.onComplete = new lime_app__$Event_$Void_$Void(); this.display = display; if(display != null) { display.addEventListener("unload",$bind(this,this.display_onUnload)); openfl_Lib.get_current().addChild(display); } }; $hxClasses["openfl.display.Preloader"] = openfl_display_Preloader; openfl_display_Preloader.__name__ = "openfl.display.Preloader"; openfl_display_Preloader.prototype = { onComplete: null ,complete: null ,display: null ,ready: null ,start: function() { this.ready = true; openfl_Lib.get_current().get_loaderInfo().__complete(); if(this.display != null) { var complete = new openfl_events_Event("complete",true,true); this.display.dispatchEvent(complete); if(!complete.isDefaultPrevented()) { this.display.dispatchEvent(new openfl_events_Event("unload")); } } else if(!this.complete) { this.complete = true; this.onComplete.dispatch(); } } ,update: function(loaded,total) { openfl_Lib.get_current().get_loaderInfo().__update(loaded,total); if(this.display != null) { this.display.dispatchEvent(new openfl_events_ProgressEvent("progress",true,true,loaded,total)); } } ,display_onUnload: function(event) { if(this.display != null) { this.display.removeEventListener("unload",$bind(this,this.display_onUnload)); if(this.display.parent == openfl_Lib.get_current()) { openfl_Lib.get_current().removeChild(this.display); } openfl_Lib.get_current().stage.set_focus(null); this.display = null; } if(this.ready) { if(!this.complete) { this.complete = true; this.onComplete.dispatch(); } } } ,__class__: openfl_display_Preloader }; var openfl_display_DefaultPreloader = function() { openfl_display_Sprite.call(this); var backgroundColor = this.getBackgroundColor(); var r = backgroundColor >> 16 & 255; var g = backgroundColor >> 8 & 255; var b = backgroundColor & 255; var perceivedLuminosity = 0.299 * r + 0.587 * g + 0.114 * b; var color = 0; if(perceivedLuminosity < 70) { color = 16777215; } var x = 30; var height = 7; var y = this.getHeight() / 2 - height / 2; var width = this.getWidth() - x * 2; var padding = 2; this.outline = new openfl_display_Shape(); this.outline.get_graphics().beginFill(color,0.07); this.outline.get_graphics().drawRect(0,0,width,height); this.outline.set_x(x); this.outline.set_y(y); this.outline.set_alpha(0); this.addChild(this.outline); this.progress = new openfl_display_Shape(); this.progress.get_graphics().beginFill(color,0.35); this.progress.get_graphics().drawRect(0,0,width - padding * 2,height - padding * 2); this.progress.set_x(x + padding); this.progress.set_y(y + padding); this.progress.set_scaleX(0); this.progress.set_alpha(0); this.addChild(this.progress); this.startAnimation = openfl_Lib.getTimer() + 100; this.endAnimation = this.startAnimation + 1000; this.addEventListener("addedToStage",$bind(this,this.this_onAddedToStage)); }; $hxClasses["openfl.display.DefaultPreloader"] = openfl_display_DefaultPreloader; openfl_display_DefaultPreloader.__name__ = "openfl.display.DefaultPreloader"; openfl_display_DefaultPreloader.__super__ = openfl_display_Sprite; openfl_display_DefaultPreloader.prototype = $extend(openfl_display_Sprite.prototype,{ endAnimation: null ,outline: null ,progress: null ,startAnimation: null ,getBackgroundColor: function() { var attributes = openfl_Lib.get_current().stage.window.context.attributes; if(Object.prototype.hasOwnProperty.call(attributes,"background") && attributes.background != null) { return attributes.background; } else { return 0; } } ,getHeight: function() { var height = openfl_Lib.get_current().stage.window.__height; if(height > 0) { return height; } else { return openfl_Lib.get_current().stage.stageHeight; } } ,getWidth: function() { var width = openfl_Lib.get_current().stage.window.__width; if(width > 0) { return width; } else { return openfl_Lib.get_current().stage.stageWidth; } } ,onInit: function() { this.addEventListener("enterFrame",$bind(this,this.this_onEnterFrame)); } ,onLoaded: function() { this.removeEventListener("enterFrame",$bind(this,this.this_onEnterFrame)); this.dispatchEvent(new openfl_events_Event("unload")); } ,onUpdate: function(bytesLoaded,bytesTotal) { var percentLoaded = 0.0; if(bytesTotal > 0) { percentLoaded = bytesLoaded / bytesTotal; if(percentLoaded > 1) { percentLoaded = 1; } } this.progress.set_scaleX(percentLoaded); } ,this_onAddedToStage: function(event) { this.removeEventListener("addedToStage",$bind(this,this.this_onAddedToStage)); this.onInit(); this.onUpdate(this.get_loaderInfo().bytesLoaded,this.get_loaderInfo().bytesTotal); this.addEventListener("progress",$bind(this,this.this_onProgress)); this.addEventListener("complete",$bind(this,this.this_onComplete)); } ,this_onComplete: function(event) { event.preventDefault(); this.removeEventListener("progress",$bind(this,this.this_onProgress)); this.removeEventListener("complete",$bind(this,this.this_onComplete)); this.onLoaded(); } ,this_onEnterFrame: function(event) { var elapsed = openfl_Lib.getTimer() - this.startAnimation; var total = this.endAnimation - this.startAnimation; var percent = elapsed / total; if(percent < 0) { percent = 0; } if(percent > 1) { percent = 1; } this.outline.set_alpha(this.progress.set_alpha(percent)); } ,this_onProgress: function(event) { this.onUpdate(event.bytesLoaded | 0,event.bytesTotal | 0); } ,__class__: openfl_display_DefaultPreloader }); var openfl_display_Scene = function(name,labels,numFrames) { this.name = name; this.labels = labels; this.numFrames = numFrames; }; $hxClasses["openfl.display.Scene"] = openfl_display_Scene; openfl_display_Scene.__name__ = "openfl.display.Scene"; openfl_display_Scene.prototype = { labels: null ,name: null ,numFrames: null ,__class__: openfl_display_Scene }; var openfl_display__$ShaderData_ShaderData_$Impl_$ = {}; $hxClasses["openfl.display._ShaderData.ShaderData_Impl_"] = openfl_display__$ShaderData_ShaderData_$Impl_$; openfl_display__$ShaderData_ShaderData_$Impl_$.__name__ = "openfl.display._ShaderData.ShaderData_Impl_"; openfl_display__$ShaderData_ShaderData_$Impl_$._new = function(byteArray) { var this1 = { }; return this1; }; var openfl_display_ShaderInput = function() { this.channels = 0; this.filter = 5; this.height = 0; this.index = 0; this.mipFilter = 2; this.width = 0; this.wrap = 0; }; $hxClasses["openfl.display.ShaderInput"] = openfl_display_ShaderInput; openfl_display_ShaderInput.__name__ = "openfl.display.ShaderInput"; openfl_display_ShaderInput.prototype = { channels: null ,filter: null ,height: null ,index: null ,input: null ,mipFilter: null ,name: null ,width: null ,wrap: null ,__isUniform: null ,__disableGL: function(context,id) { var gl = context.gl; context.setTextureAt(id,null); } ,__updateGL: function(context,id,overrideInput,overrideFilter,overrideMipFilter,overrideWrap) { var gl = context.gl; var input = overrideInput != null ? overrideInput : this.input; var filter = overrideFilter != null ? overrideFilter : this.filter; var mipFilter = overrideMipFilter != null ? overrideMipFilter : this.mipFilter; var wrap = overrideWrap != null ? overrideWrap : this.wrap; if(input != null) { var bitmapData = input; context.setTextureAt(id,bitmapData.getTexture(context)); context.setSamplerStateAt(id,wrap,filter,mipFilter); } else { context.setTextureAt(id,null); } } ,__class__: openfl_display_ShaderInput }; var openfl_display_ShaderParameter = function() { this.index = 0; }; $hxClasses["openfl.display.ShaderParameter"] = openfl_display_ShaderParameter; openfl_display_ShaderParameter.__name__ = "openfl.display.ShaderParameter"; openfl_display_ShaderParameter.prototype = { index: null ,name: null ,type: null ,value: null ,__arrayLength: null ,__internal: null ,__isBool: null ,__isFloat: null ,__isInt: null ,__isUniform: null ,__length: null ,__uniformMatrix: null ,__useArray: null ,__disableGL: function(context) { var gl = context.gl; if(!this.__isUniform) { var _g = 0; var _g1 = this.__arrayLength; while(_g < _g1) { var i = _g++; gl.disableVertexAttribArray(this.index + i); } } } ,__updateGL: function(context,overrideValue) { var gl = context.gl; var value = overrideValue != null ? overrideValue : this.value; var boolValue = this.__isBool ? value : null; var floatValue = this.__isFloat ? value : null; var intValue = this.__isInt ? value : null; if(this.__isUniform) { if(value != null && value.length >= this.__length) { switch(this.type) { case 0: gl.uniform1i(this.index,boolValue[0] ? 1 : 0); break; case 1: gl.uniform2i(this.index,boolValue[0] ? 1 : 0,boolValue[1] ? 1 : 0); break; case 2: gl.uniform3i(this.index,boolValue[0] ? 1 : 0,boolValue[1] ? 1 : 0,boolValue[2] ? 1 : 0); break; case 3: gl.uniform4i(this.index,boolValue[0] ? 1 : 0,boolValue[1] ? 1 : 0,boolValue[2] ? 1 : 0,boolValue[3] ? 1 : 0); break; case 4: gl.uniform1f(this.index,floatValue[0]); break; case 5: gl.uniform2f(this.index,floatValue[0],floatValue[1]); break; case 6: gl.uniform3f(this.index,floatValue[0],floatValue[1],floatValue[2]); break; case 7: gl.uniform4f(this.index,floatValue[0],floatValue[1],floatValue[2],floatValue[3]); break; case 8: gl.uniform1i(this.index,intValue[0]); break; case 9: gl.uniform2i(this.index,intValue[0],intValue[1]); break; case 10: gl.uniform3i(this.index,intValue[0],intValue[1],intValue[2]); break; case 11: gl.uniform4i(this.index,intValue[0],intValue[1],intValue[2],intValue[3]); break; case 12: this.__uniformMatrix[0] = floatValue[0]; this.__uniformMatrix[1] = floatValue[1]; this.__uniformMatrix[2] = floatValue[2]; this.__uniformMatrix[3] = floatValue[3]; lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.uniformMatrix2fv(gl,this.index,false,this.__uniformMatrix); break; case 16: this.__uniformMatrix[0] = floatValue[0]; this.__uniformMatrix[1] = floatValue[1]; this.__uniformMatrix[2] = floatValue[2]; this.__uniformMatrix[3] = floatValue[3]; this.__uniformMatrix[4] = floatValue[4]; this.__uniformMatrix[5] = floatValue[5]; this.__uniformMatrix[6] = floatValue[6]; this.__uniformMatrix[7] = floatValue[7]; this.__uniformMatrix[8] = floatValue[8]; lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.uniformMatrix3fv(gl,this.index,false,this.__uniformMatrix); break; case 20: this.__uniformMatrix[0] = floatValue[0]; this.__uniformMatrix[1] = floatValue[1]; this.__uniformMatrix[2] = floatValue[2]; this.__uniformMatrix[3] = floatValue[3]; this.__uniformMatrix[4] = floatValue[4]; this.__uniformMatrix[5] = floatValue[5]; this.__uniformMatrix[6] = floatValue[6]; this.__uniformMatrix[7] = floatValue[7]; this.__uniformMatrix[8] = floatValue[8]; this.__uniformMatrix[9] = floatValue[9]; this.__uniformMatrix[10] = floatValue[10]; this.__uniformMatrix[11] = floatValue[11]; this.__uniformMatrix[12] = floatValue[12]; this.__uniformMatrix[13] = floatValue[13]; this.__uniformMatrix[14] = floatValue[14]; this.__uniformMatrix[15] = floatValue[15]; lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.uniformMatrix4fv(gl,this.index,false,this.__uniformMatrix); break; default: } } else { switch(this.type) { case 1:case 9: gl.uniform2i(this.index,0,0); break; case 3:case 11: gl.uniform4i(this.index,0,0,0,0); break; case 4: gl.uniform1f(this.index,0); break; case 5: gl.uniform2f(this.index,0,0); break; case 6: gl.uniform3f(this.index,0,0,0); break; case 7: gl.uniform4f(this.index,0,0,0,0); break; case 0:case 8: gl.uniform1i(this.index,0); break; case 2:case 10: gl.uniform3i(this.index,0,0,0); break; case 12: this.__uniformMatrix[0] = 0; this.__uniformMatrix[1] = 0; this.__uniformMatrix[2] = 0; this.__uniformMatrix[3] = 0; lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.uniformMatrix2fv(gl,this.index,false,this.__uniformMatrix); break; case 16: this.__uniformMatrix[0] = 0; this.__uniformMatrix[1] = 0; this.__uniformMatrix[2] = 0; this.__uniformMatrix[3] = 0; this.__uniformMatrix[4] = 0; this.__uniformMatrix[5] = 0; this.__uniformMatrix[6] = 0; this.__uniformMatrix[7] = 0; this.__uniformMatrix[8] = 0; lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.uniformMatrix3fv(gl,this.index,false,this.__uniformMatrix); break; case 20: this.__uniformMatrix[0] = 0; this.__uniformMatrix[1] = 0; this.__uniformMatrix[2] = 0; this.__uniformMatrix[3] = 0; this.__uniformMatrix[4] = 0; this.__uniformMatrix[5] = 0; this.__uniformMatrix[6] = 0; this.__uniformMatrix[7] = 0; this.__uniformMatrix[8] = 0; this.__uniformMatrix[9] = 0; this.__uniformMatrix[10] = 0; this.__uniformMatrix[11] = 0; this.__uniformMatrix[12] = 0; this.__uniformMatrix[13] = 0; this.__uniformMatrix[14] = 0; this.__uniformMatrix[15] = 0; lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.uniformMatrix4fv(gl,this.index,false,this.__uniformMatrix); break; default: } } } else if(!this.__useArray && (value == null || value.length == this.__length)) { var _g = 0; var _g1 = this.__arrayLength; while(_g < _g1) { var i = _g++; gl.disableVertexAttribArray(this.index + i); } if(value != null) { switch(this.type) { case 0: gl.vertexAttrib1f(this.index,boolValue[0] ? 1 : 0); break; case 1: gl.vertexAttrib2f(this.index,boolValue[0] ? 1 : 0,boolValue[1] ? 1 : 0); break; case 2: gl.vertexAttrib3f(this.index,boolValue[0] ? 1 : 0,boolValue[1] ? 1 : 0,boolValue[2] ? 1 : 0); break; case 3: gl.vertexAttrib4f(this.index,boolValue[0] ? 1 : 0,boolValue[1] ? 1 : 0,boolValue[2] ? 1 : 0,boolValue[3] ? 1 : 0); break; case 4: gl.vertexAttrib1f(this.index,floatValue[0]); break; case 5: gl.vertexAttrib2f(this.index,floatValue[0],floatValue[1]); break; case 6: gl.vertexAttrib3f(this.index,floatValue[0],floatValue[1],floatValue[2]); break; case 7: gl.vertexAttrib4f(this.index,floatValue[0],floatValue[1],floatValue[2],floatValue[3]); break; case 8: gl.vertexAttrib1f(this.index,intValue[0]); break; case 9: gl.vertexAttrib2f(this.index,intValue[0],intValue[1]); break; case 10: gl.vertexAttrib3f(this.index,intValue[0],intValue[1],intValue[2]); break; case 11: gl.vertexAttrib4f(this.index,intValue[0],intValue[1],intValue[2],intValue[3]); break; case 12: gl.vertexAttrib2f(this.index + 0,floatValue[0],floatValue[1]); gl.vertexAttrib2f(this.index + 1,floatValue[2],floatValue[3]); break; case 16: gl.vertexAttrib3f(this.index + 0,floatValue[0],floatValue[1],floatValue[2]); gl.vertexAttrib3f(this.index + 1,floatValue[3],floatValue[4],floatValue[5]); gl.vertexAttrib3f(this.index + 2,floatValue[6],floatValue[7],floatValue[8]); break; case 20: gl.vertexAttrib4f(this.index + 0,floatValue[0],floatValue[1],floatValue[2],floatValue[3]); gl.vertexAttrib4f(this.index + 1,floatValue[4],floatValue[5],floatValue[6],floatValue[7]); gl.vertexAttrib4f(this.index + 2,floatValue[8],floatValue[9],floatValue[10],floatValue[11]); gl.vertexAttrib4f(this.index + 3,floatValue[12],floatValue[13],floatValue[14],floatValue[15]); break; default: } } else { switch(this.type) { case 1:case 5:case 9: gl.vertexAttrib2f(this.index,0,0); break; case 3:case 7:case 11: gl.vertexAttrib4f(this.index,0,0,0,0); break; case 0:case 4:case 8: gl.vertexAttrib1f(this.index,0); break; case 2:case 6:case 10: gl.vertexAttrib3f(this.index,0,0,0); break; case 12: gl.vertexAttrib2f(this.index + 0,0,0); gl.vertexAttrib2f(this.index + 1,0,0); break; case 16: gl.vertexAttrib3f(this.index + 0,0,0,0); gl.vertexAttrib3f(this.index + 1,0,0,0); gl.vertexAttrib3f(this.index + 2,0,0,0); break; case 20: gl.vertexAttrib4f(this.index + 0,0,0,0,0); gl.vertexAttrib4f(this.index + 1,0,0,0,0); gl.vertexAttrib4f(this.index + 2,0,0,0,0); gl.vertexAttrib4f(this.index + 3,0,0,0,0); break; default: } } } else { var _g2 = 0; var _g11 = this.__arrayLength; while(_g2 < _g11) { var i1 = _g2++; gl.enableVertexAttribArray(this.index + i1); } } } ,__updateGLFromBuffer: function(context,buffer,position,length,bufferOffset) { var gl = context.gl; if(this.__isUniform) { if(length >= this.__length) { switch(this.type) { case 1:case 9: gl.uniform2i(this.index,buffer[position] | 0,buffer[position + 1] | 0); break; case 3:case 11: gl.uniform4i(this.index,buffer[position] | 0,buffer[position + 1] | 0,buffer[position + 2] | 0,buffer[position + 3] | 0); break; case 4: gl.uniform1f(this.index,buffer[position]); break; case 5: gl.uniform2f(this.index,buffer[position],buffer[position + 1]); break; case 6: gl.uniform3f(this.index,buffer[position],buffer[position + 1],buffer[position + 2]); break; case 7: gl.uniform4f(this.index,buffer[position],buffer[position + 1],buffer[position + 2],buffer[position + 3]); break; case 0:case 8: gl.uniform1i(this.index,buffer[position] | 0); break; case 2:case 10: gl.uniform3i(this.index,buffer[position] | 0,buffer[position + 1] | 0,buffer[position + 2] | 0); break; case 12: this.__uniformMatrix[0] = buffer[position]; this.__uniformMatrix[1] = buffer[position + 1]; this.__uniformMatrix[2] = buffer[position + 2]; this.__uniformMatrix[3] = buffer[position + 3]; lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.uniformMatrix2fv(gl,this.index,false,this.__uniformMatrix); break; case 16: this.__uniformMatrix[0] = buffer[position]; this.__uniformMatrix[1] = buffer[position + 1]; this.__uniformMatrix[2] = buffer[position + 2]; this.__uniformMatrix[3] = buffer[position + 3]; this.__uniformMatrix[4] = buffer[position + 4]; this.__uniformMatrix[5] = buffer[position + 5]; this.__uniformMatrix[6] = buffer[position + 6]; this.__uniformMatrix[7] = buffer[position + 7]; this.__uniformMatrix[8] = buffer[position + 8]; lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.uniformMatrix3fv(gl,this.index,false,this.__uniformMatrix); break; case 20: this.__uniformMatrix[0] = buffer[position]; this.__uniformMatrix[1] = buffer[position + 1]; this.__uniformMatrix[2] = buffer[position + 2]; this.__uniformMatrix[3] = buffer[position + 3]; this.__uniformMatrix[4] = buffer[position + 4]; this.__uniformMatrix[5] = buffer[position + 5]; this.__uniformMatrix[6] = buffer[position + 6]; this.__uniformMatrix[7] = buffer[position + 7]; this.__uniformMatrix[8] = buffer[position + 8]; this.__uniformMatrix[9] = buffer[position + 9]; this.__uniformMatrix[10] = buffer[position + 10]; this.__uniformMatrix[11] = buffer[position + 11]; this.__uniformMatrix[12] = buffer[position + 12]; this.__uniformMatrix[13] = buffer[position + 13]; this.__uniformMatrix[14] = buffer[position + 14]; this.__uniformMatrix[15] = buffer[position + 15]; lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.uniformMatrix4fv(gl,this.index,false,this.__uniformMatrix); break; default: } } } else if(!this.__internal && (length == 0 || length == this.__length)) { var _g = 0; var _g1 = this.__arrayLength; while(_g < _g1) { var i = _g++; gl.disableVertexAttribArray(this.index + i); } if(length > 0) { switch(this.type) { case 1:case 5:case 9: gl.vertexAttrib2f(this.index,buffer[position],buffer[position + 1]); break; case 3:case 7:case 11: gl.vertexAttrib4f(this.index,buffer[position],buffer[position + 1],buffer[position + 2],buffer[position + 3]); break; case 0:case 4:case 8: gl.vertexAttrib1f(this.index,buffer[position]); break; case 2:case 6:case 10: gl.vertexAttrib3f(this.index,buffer[position],buffer[position + 1],buffer[position + 2]); break; case 12: gl.vertexAttrib2f(this.index + 0,buffer[position],buffer[position + 1]); gl.vertexAttrib2f(this.index + 1,buffer[position + 2],buffer[position + 2 + 1]); break; case 16: gl.vertexAttrib3f(this.index + 0,buffer[position],buffer[position + 1],buffer[position + 2]); gl.vertexAttrib3f(this.index + 1,buffer[position + 3],buffer[position + 3 + 1],buffer[position + 3 + 2]); gl.vertexAttrib3f(this.index + 2,buffer[position + 6],buffer[position + 6 + 1],buffer[position + 6 + 2]); break; case 20: gl.vertexAttrib4f(this.index + 0,buffer[position],buffer[position + 1],buffer[position + 2],buffer[position + 3]); gl.vertexAttrib4f(this.index + 1,buffer[position + 4],buffer[position + 4 + 1],buffer[position + 4 + 2],buffer[position + 4 + 3]); gl.vertexAttrib4f(this.index + 2,buffer[position + 8],buffer[position + 8 + 1],buffer[position + 8 + 2],buffer[position + 8 + 3]); gl.vertexAttrib4f(this.index + 3,buffer[position + 12],buffer[position + 12 + 1],buffer[position + 12 + 2],buffer[position + 12 + 3]); break; default: } } else { switch(this.type) { case 1:case 5:case 9: gl.vertexAttrib2f(this.index,0,0); break; case 3:case 7:case 11: gl.vertexAttrib4f(this.index,0,0,0,0); break; case 0:case 4:case 8: gl.vertexAttrib1f(this.index,0); break; case 2:case 6:case 10: gl.vertexAttrib3f(this.index,0,0,0); break; case 12: gl.vertexAttrib2f(this.index + 0,0,0); gl.vertexAttrib2f(this.index + 1,0,0); break; case 16: gl.vertexAttrib3f(this.index + 0,0,0,0); gl.vertexAttrib3f(this.index + 1,0,0,0); gl.vertexAttrib3f(this.index + 2,0,0,0); break; case 20: gl.vertexAttrib4f(this.index + 0,0,0,0,0); gl.vertexAttrib4f(this.index + 1,0,0,0,0); gl.vertexAttrib4f(this.index + 2,0,0,0,0); gl.vertexAttrib4f(this.index + 3,0,0,0,0); break; default: } } } else { var type = gl.FLOAT; if(this.__isBool) { type = gl.INT; } else if(this.__isInt) { type = gl.INT; } var _g2 = 0; var _g11 = this.__arrayLength; while(_g2 < _g11) { var i1 = _g2++; gl.enableVertexAttribArray(this.index + i1); } if(length > 0) { var _g21 = 0; var _g3 = this.__arrayLength; while(_g21 < _g3) { var i2 = _g21++; gl.vertexAttribPointer(this.index + i2,this.__length,type,false,this.__length * 4,(position + bufferOffset * this.__length + i2 * this.__arrayLength) * 4); } } } } ,set_name: function(value) { this.__internal = StringTools.startsWith(value,"openfl_"); return this.name = value; } ,__class__: openfl_display_ShaderParameter ,__properties__: {set_name:"set_name"} }; var openfl_display__$ShaderParameterType_ShaderParameterType_$Impl_$ = {}; $hxClasses["openfl.display._ShaderParameterType.ShaderParameterType_Impl_"] = openfl_display__$ShaderParameterType_ShaderParameterType_$Impl_$; openfl_display__$ShaderParameterType_ShaderParameterType_$Impl_$.__name__ = "openfl.display._ShaderParameterType.ShaderParameterType_Impl_"; openfl_display__$ShaderParameterType_ShaderParameterType_$Impl_$.fromString = function(value) { switch(value) { case "bool": return 0; case "bool2": return 1; case "bool3": return 1; case "bool4": return 1; case "float": return 4; case "float2": return 5; case "float3": return 6; case "float4": return 7; case "int": return 8; case "int2": return 9; case "int3": return 10; case "int4": return 11; case "matrix2x2": return 12; case "matrix2x3": return 13; case "matrix2x4": return 14; case "matrix3x2": return 15; case "matrix3x3": return 16; case "matrix3x4": return 17; case "matrix4x2": return 18; case "matrix4x3": return 19; case "matrix4x4": return 20; default: return null; } }; openfl_display__$ShaderParameterType_ShaderParameterType_$Impl_$.toString = function(this1) { switch(this1) { case 0: return "bool"; case 1: return "bool2"; case 2: return "bool3"; case 3: return "bool4"; case 4: return "float"; case 5: return "float2"; case 6: return "float3"; case 7: return "float4"; case 8: return "int"; case 9: return "int2"; case 10: return "int3"; case 11: return "int4"; case 12: return "matrix2x2"; case 13: return "matrix2x3"; case 14: return "matrix2x4"; case 15: return "matrix3x2"; case 16: return "matrix3x3"; case 17: return "matrix3x4"; case 18: return "matrix4x2"; case 19: return "matrix4x3"; case 20: return "matrix4x4"; default: return null; } }; var openfl_display__$ShaderPrecision_ShaderPrecision_$Impl_$ = {}; $hxClasses["openfl.display._ShaderPrecision.ShaderPrecision_Impl_"] = openfl_display__$ShaderPrecision_ShaderPrecision_$Impl_$; openfl_display__$ShaderPrecision_ShaderPrecision_$Impl_$.__name__ = "openfl.display._ShaderPrecision.ShaderPrecision_Impl_"; openfl_display__$ShaderPrecision_ShaderPrecision_$Impl_$.fromString = function(value) { switch(value) { case "fast": return 0; case "full": return 1; default: return null; } }; openfl_display__$ShaderPrecision_ShaderPrecision_$Impl_$.toString = function(this1) { switch(this1) { case 0: return "fast"; case 1: return "full"; default: return null; } }; var openfl_display_Shape = function() { openfl_display_DisplayObject.call(this); this.__drawableType = 3; }; $hxClasses["openfl.display.Shape"] = openfl_display_Shape; openfl_display_Shape.__name__ = "openfl.display.Shape"; openfl_display_Shape.__super__ = openfl_display_DisplayObject; openfl_display_Shape.prototype = $extend(openfl_display_DisplayObject.prototype,{ get_graphics: function() { if(this.__graphics == null) { this.__graphics = new openfl_display_Graphics(this); } return this.__graphics; } ,__class__: openfl_display_Shape ,__properties__: $extend(openfl_display_DisplayObject.prototype.__properties__,{get_graphics:"get_graphics"}) }); var openfl_display_SimpleButton = function(upState,overState,downState,hitTestState) { openfl_display_InteractiveObject.call(this); this.__drawableType = 6; this.enabled = true; this.trackAsMenu = false; this.useHandCursor = true; this.__upState = upState != null ? upState : new openfl_display_DisplayObject(); this.__overState = overState; this.__downState = downState; this.set_hitTestState(hitTestState != null ? hitTestState : new openfl_display_DisplayObject()); this.addEventListener("mouseDown",$bind(this,this.__this_onMouseDown)); this.addEventListener("mouseOut",$bind(this,this.__this_onMouseOut)); this.addEventListener("mouseOver",$bind(this,this.__this_onMouseOver)); this.addEventListener("mouseUp",$bind(this,this.__this_onMouseUp)); this.__tabEnabled = true; this.set___currentState(this.__upState); if(openfl_display_SimpleButton.__constructor != null) { var method = openfl_display_SimpleButton.__constructor; openfl_display_SimpleButton.__constructor = null; method(this); } }; $hxClasses["openfl.display.SimpleButton"] = openfl_display_SimpleButton; openfl_display_SimpleButton.__name__ = "openfl.display.SimpleButton"; openfl_display_SimpleButton.__constructor = null; openfl_display_SimpleButton.__super__ = openfl_display_InteractiveObject; openfl_display_SimpleButton.prototype = $extend(openfl_display_InteractiveObject.prototype,{ enabled: null ,trackAsMenu: null ,useHandCursor: null ,__currentState: null ,__downState: null ,__hitTestState: null ,__ignoreEvent: null ,__overState: null ,__previousStates: null ,__soundTransform: null ,__upState: null ,__getBounds: function(rect,matrix) { openfl_display_InteractiveObject.prototype.__getBounds.call(this,rect,matrix); var childWorldTransform = openfl_geom_Matrix.__pool.get(); var local = this.__currentState.__transform; childWorldTransform.a = local.a * matrix.a + local.b * matrix.c; childWorldTransform.b = local.a * matrix.b + local.b * matrix.d; childWorldTransform.c = local.c * matrix.a + local.d * matrix.c; childWorldTransform.d = local.c * matrix.b + local.d * matrix.d; childWorldTransform.tx = local.tx * matrix.a + local.ty * matrix.c + matrix.tx; childWorldTransform.ty = local.tx * matrix.b + local.ty * matrix.d + matrix.ty; this.__currentState.__getBounds(rect,childWorldTransform); openfl_geom_Matrix.__pool.release(childWorldTransform); } ,__getRenderBounds: function(rect,matrix) { if(this.__scrollRect != null) { openfl_display_InteractiveObject.prototype.__getRenderBounds.call(this,rect,matrix); return; } else { openfl_display_InteractiveObject.prototype.__getBounds.call(this,rect,matrix); } var childWorldTransform = openfl_geom_Matrix.__pool.get(); var local = this.__currentState.__transform; childWorldTransform.a = local.a * matrix.a + local.b * matrix.c; childWorldTransform.b = local.a * matrix.b + local.b * matrix.d; childWorldTransform.c = local.c * matrix.a + local.d * matrix.c; childWorldTransform.d = local.c * matrix.b + local.d * matrix.d; childWorldTransform.tx = local.tx * matrix.a + local.ty * matrix.c + matrix.tx; childWorldTransform.ty = local.tx * matrix.b + local.ty * matrix.d + matrix.ty; this.__currentState.__getRenderBounds(rect,childWorldTransform); openfl_geom_Matrix.__pool.release(childWorldTransform); } ,__getCursor: function() { if(this.useHandCursor && !this.__ignoreEvent && this.enabled) { return "button"; } else { return null; } } ,__hitTest: function(x,y,shapeFlag,stack,interactiveOnly,hitObject) { var hitTest = false; if(this.get_hitTestState() != null) { if(this.get_hitTestState().__hitTest(x,y,shapeFlag,stack,interactiveOnly,hitObject)) { if(stack != null) { if(stack.length == 0) { stack[0] = hitObject; } else { stack[stack.length - 1] = hitObject; } } hitTest = !interactiveOnly || this.mouseEnabled; } } else if(this.__currentState != null) { if(!hitObject.get_visible() || this.__isMask || interactiveOnly && !this.mouseEnabled || this.get_mask() != null && !this.get_mask().__hitTestMask(x,y)) { hitTest = false; } else if(this.__currentState.__hitTest(x,y,shapeFlag,stack,interactiveOnly,hitObject)) { hitTest = interactiveOnly; } } if(stack != null) { while(stack.length > 1 && stack[stack.length - 1] == stack[stack.length - 2]) stack.pop(); } return hitTest; } ,__hitTestMask: function(x,y) { var hitTest = false; if(this.__currentState.__hitTestMask(x,y)) { hitTest = true; } return hitTest; } ,__setStageReference: function(stage) { openfl_display_InteractiveObject.prototype.__setStageReference.call(this,stage); if(this.__currentState != null) { this.__currentState.__setStageReference(stage); } if(this.get_hitTestState() != null && this.get_hitTestState() != this.__currentState) { this.get_hitTestState().__setStageReference(stage); } } ,__setTransformDirty: function() { openfl_display_InteractiveObject.prototype.__setTransformDirty.call(this); if(this.__currentState != null) { this.__currentState.__setTransformDirty(); } if(this.get_hitTestState() != null && this.get_hitTestState() != this.__currentState) { this.get_hitTestState().__setTransformDirty(); } } ,__update: function(transformOnly,updateChildren) { openfl_display_InteractiveObject.prototype.__update.call(this,transformOnly,updateChildren); if(updateChildren) { if(this.__currentState != null) { this.__currentState.__update(transformOnly,true); } if(this.get_hitTestState() != null && this.get_hitTestState() != this.__currentState) { this.get_hitTestState().__update(transformOnly,true); } } } ,__updateTransforms: function(overrideTransform) { openfl_display_InteractiveObject.prototype.__updateTransforms.call(this,overrideTransform); if(this.__currentState != null) { this.__currentState.__updateTransforms(); } if(this.get_hitTestState() != null && this.get_hitTestState() != this.__currentState) { this.get_hitTestState().__updateTransforms(); } } ,get_downState: function() { return this.__downState; } ,set_downState: function(downState) { if(this.__downState != null && this.__currentState == this.__downState) { this.set___currentState(this.__downState); } return this.__downState = downState; } ,get_hitTestState: function() { return this.__hitTestState; } ,set_hitTestState: function(hitTestState) { if(this.__hitTestState != null && this.__hitTestState != hitTestState) { if(this.__hitTestState != this.get_downState() && this.__hitTestState != this.get_upState() && this.__hitTestState != this.get_overState()) { this.__hitTestState.__renderParent = null; } } if(hitTestState != null) { hitTestState.__renderParent = this; if(!hitTestState.__renderDirty) { hitTestState.__renderDirty = true; hitTestState.__setParentRenderDirty(); } } return this.__hitTestState = hitTestState; } ,get_overState: function() { return this.__overState; } ,set_overState: function(overState) { if(this.__overState != null && this.__currentState == this.__overState) { this.set___currentState(overState); } return this.__overState = overState; } ,get_soundTransform: function() { if(this.__soundTransform == null) { this.__soundTransform = new openfl_media_SoundTransform(); } return new openfl_media_SoundTransform(this.__soundTransform.volume,this.__soundTransform.pan); } ,set_soundTransform: function(value) { this.__soundTransform = new openfl_media_SoundTransform(value.volume,value.pan); return value; } ,get_upState: function() { return this.__upState; } ,set_upState: function(upState) { if(this.__upState != null && this.__currentState == this.__upState) { this.set___currentState(upState); } return this.__upState = upState; } ,set___currentState: function(value) { if(this.__currentState != null && this.__currentState != this.get_hitTestState()) { this.__currentState.__renderParent = null; } if(value != null && value.parent != null) { value.parent.removeChild(value); } if(openfl_display_DisplayObject.__supportDOM && this.__previousStates == null) { this.__previousStates = openfl__$Vector_Vector_$Impl_$.toObjectVector(null); } if(value != this.__currentState) { if(openfl_display_DisplayObject.__supportDOM) { if(this.__currentState != null) { this.__currentState.__setStageReference(null); this.__previousStates.push(this.__currentState); } var index = this.__previousStates.indexOf(value,0); if(index > -1) { this.__previousStates.splice(index,1); } } if(value != null) { value.__renderParent = this; if(!value.__renderDirty) { value.__renderDirty = true; value.__setParentRenderDirty(); } } if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } this.__currentState = value; return value; } ,__this_onMouseDown: function(event) { if(this.enabled) { this.set___currentState(this.get_downState()); } } ,__this_onMouseOut: function(event) { this.__ignoreEvent = false; if(this.get_upState() != this.__currentState) { this.set___currentState(this.get_upState()); } } ,__this_onMouseOver: function(event) { if(event.buttonDown) { this.__ignoreEvent = true; } if(this.get_overState() != this.__currentState && this.get_overState() != null && !this.__ignoreEvent && this.enabled) { this.set___currentState(this.get_overState()); } } ,__this_onMouseUp: function(event) { this.__ignoreEvent = false; if(this.enabled && this.get_overState() != null) { this.set___currentState(this.get_overState()); } else { this.set___currentState(this.get_upState()); } } ,__class__: openfl_display_SimpleButton ,__properties__: $extend(openfl_display_InteractiveObject.prototype.__properties__,{set___currentState:"set___currentState",set_upState:"set_upState",get_upState:"get_upState",set_soundTransform:"set_soundTransform",get_soundTransform:"get_soundTransform",set_overState:"set_overState",get_overState:"get_overState",set_hitTestState:"set_hitTestState",get_hitTestState:"get_hitTestState",set_downState:"set_downState",get_downState:"get_downState"}) }); var openfl_display__$SpreadMethod_SpreadMethod_$Impl_$ = {}; $hxClasses["openfl.display._SpreadMethod.SpreadMethod_Impl_"] = openfl_display__$SpreadMethod_SpreadMethod_$Impl_$; openfl_display__$SpreadMethod_SpreadMethod_$Impl_$.__name__ = "openfl.display._SpreadMethod.SpreadMethod_Impl_"; openfl_display__$SpreadMethod_SpreadMethod_$Impl_$.fromInt = function(value) { return value; }; openfl_display__$SpreadMethod_SpreadMethod_$Impl_$.fromString = function(value) { switch(value) { case "pad": return 0; case "reflect": return 1; case "repeat": return 2; default: return null; } }; openfl_display__$SpreadMethod_SpreadMethod_$Impl_$.toInt = function(this1) { return this1; }; openfl_display__$SpreadMethod_SpreadMethod_$Impl_$.toString = function(this1) { switch(this1) { case 0: return "pad"; case 1: return "reflect"; case 2: return "repeat"; default: return null; } }; var openfl_display_Stage = function($window,color) { openfl_display_DisplayObjectContainer.call(this); this.__drawableType = 5; this.set_name(null); this.__color = -1; this.__colorSplit = [255,255,255]; this.__colorString = "#FFFFFF"; this.__contentsScaleFactor = 1; this.__currentTabOrderIndex = 0; this.__deltaTime = 0; this.__displayState = 2; this.__mouseX = 0; this.__mouseY = 0; this.__lastClickTime = 0; this.__logicalWidth = 0; this.__logicalHeight = 0; this.__displayMatrix = new openfl_geom_Matrix(); this.__displayRect = new openfl_geom_Rectangle(); this.__renderDirty = true; this.stage3Ds = openfl__$Vector_Vector_$Impl_$.toObjectVector(null); this.stage3Ds.push(new openfl_display_Stage3D(this)); this.stage3Ds.push(new openfl_display_Stage3D(this)); this.stage3Ds.push(new openfl_display_Stage3D(this)); this.stage3Ds.push(new openfl_display_Stage3D(this)); this.stage = this; this.align = 6; this.allowsFullScreen = true; this.allowsFullScreenInteractive = true; this.__quality = 1; this.__scaleMode = 2; this.showDefaultContextMenu = true; this.softKeyboardRect = new openfl_geom_Rectangle(); this.stageFocusRect = true; this.__macKeyboard = /AppleWebKit/.test (navigator.userAgent) && /Mobile\/\w+/.test (navigator.userAgent) || /Mac/.test (navigator.platform); this.__clearBeforeRender = true; this.__forceRender = false; this.__stack = []; this.__rollOutStack = []; this.__mouseOutStack = []; this.__touchData = new haxe_ds_IntMap(); this.application = $window.application; this.window = $window; this.set_color(color); this.__contentsScaleFactor = $window.__scale; this.__wasFullscreen = $window.__fullscreen; this.__resize(); if(openfl_Lib.get_current().stage == null) { this.stage.addChild(openfl_Lib.get_current()); } }; $hxClasses["openfl.display.Stage"] = openfl_display_Stage; openfl_display_Stage.__name__ = "openfl.display.Stage"; openfl_display_Stage.__interfaces__ = [lime_app_IModule]; openfl_display_Stage.__super__ = openfl_display_DisplayObjectContainer; openfl_display_Stage.prototype = $extend(openfl_display_DisplayObjectContainer.prototype,{ align: null ,allowsFullScreen: null ,allowsFullScreenInteractive: null ,application: null ,context3D: null ,showDefaultContextMenu: null ,softKeyboardRect: null ,stage3Ds: null ,stageFocusRect: null ,stageHeight: null ,stageWidth: null ,window: null ,__cacheFocus: null ,__clearBeforeRender: null ,__color: null ,__colorSplit: null ,__colorString: null ,__contentsScaleFactor: null ,__currentTabOrderIndex: null ,__deltaTime: null ,__dirty: null ,__displayMatrix: null ,__displayRect: null ,__displayState: null ,__dragBounds: null ,__dragObject: null ,__dragOffsetX: null ,__dragOffsetY: null ,__focus: null ,__forceRender: null ,__fullscreen: null ,__fullScreenSourceRect: null ,__invalidated: null ,__lastClickTime: null ,__logicalWidth: null ,__logicalHeight: null ,__macKeyboard: null ,__mouseDownLeft: null ,__mouseDownMiddle: null ,__mouseDownRight: null ,__mouseOutStack: null ,__mouseOverTarget: null ,__mouseX: null ,__mouseY: null ,__pendingMouseEvent: null ,__pendingMouseX: null ,__pendingMouseY: null ,__quality: null ,__renderer: null ,__rendering: null ,__rollOutStack: null ,__scaleMode: null ,__stack: null ,__touchData: null ,__transparent: null ,__wasDirty: null ,__wasFullscreen: null ,__primaryTouch: null ,invalidate: function() { this.__invalidated = true; this.__renderDirty = true; } ,localToGlobal: function(pos) { return pos.clone(); } ,__broadcastEvent: function(event) { var key = event.type; var _this = openfl_display_DisplayObject.__broadcastEvents; if(__map_reserved[key] != null ? _this.existsReserved(key) : _this.h.hasOwnProperty(key)) { var key1 = event.type; var _this1 = openfl_display_DisplayObject.__broadcastEvents; var dispatchers = __map_reserved[key1] != null ? _this1.getReserved(key1) : _this1.h[key1]; var _g = 0; while(_g < dispatchers.length) { var dispatcher = dispatchers[_g]; ++_g; if(dispatcher.stage == this || dispatcher.stage == null) { try { dispatcher.__dispatch(event); } catch( e ) { haxe_CallStack.lastException = e; this.__handleError(((e) instanceof js__$Boot_HaxeError) ? e.val : e); } } } } } ,__createRenderer: function() { var pixelRatio = 1; if(this.window.__scale > 1) { pixelRatio = this.window.devicePixelRatio || 1; } var windowWidth = this.window.__width * this.window.__scale | 0; var windowHeight = this.window.__height * this.window.__scale | 0; switch(this.window.context.type) { case "cairo": break; case "canvas": this.__renderer = new openfl_display_CanvasRenderer(this.window.context.canvas2D); (js_Boot.__cast(this.__renderer , openfl_display_CanvasRenderer)).pixelRatio = pixelRatio; break; case "dom": this.__renderer = new openfl_display_DOMRenderer(this.window.context.dom); (js_Boot.__cast(this.__renderer , openfl_display_DOMRenderer)).pixelRatio = pixelRatio; break; case "opengl":case "opengles":case "webgl": this.context3D = new openfl_display3D_Context3D(this); this.context3D.configureBackBuffer(windowWidth,windowHeight,0,true,true,true); this.context3D.present(); this.__renderer = new openfl_display_OpenGLRenderer(this.context3D); break; default: } if(this.__renderer != null) { var tmp = this.get_quality(); this.__renderer.__allowSmoothing = tmp != 2; this.__renderer.__worldTransform = this.__displayMatrix; this.__renderer.__stage = this; this.__renderer.__resize(windowWidth,windowHeight); } } ,__dispatchEvent: function(event) { try { return openfl_display_DisplayObjectContainer.prototype.__dispatchEvent.call(this,event); } catch( e ) { haxe_CallStack.lastException = e; this.__handleError(((e) instanceof js__$Boot_HaxeError) ? e.val : e); return false; } } ,__dispatchPendingMouseEvent: function() { if(this.__pendingMouseEvent) { this.__onMouse("mouseMove",this.__pendingMouseX,this.__pendingMouseY,0); this.__pendingMouseEvent = false; } } ,__dispatchStack: function(event,stack) { try { var target; var length = stack.length; if(length == 0) { event.eventPhase = 2; target = event.target; target.__dispatch(event); } else { event.eventPhase = 1; event.target = stack[stack.length - 1]; var _g = 0; var _g1 = length - 1; while(_g < _g1) { var i = _g++; stack[i].__dispatch(event); if(event.__isCanceled) { return; } } event.eventPhase = 2; target = event.target; target.__dispatch(event); if(event.__isCanceled) { return; } if(event.bubbles) { event.eventPhase = 3; var i1 = length - 2; while(i1 >= 0) { stack[i1].__dispatch(event); if(event.__isCanceled) { return; } --i1; } } } } catch( e ) { haxe_CallStack.lastException = e; this.__handleError(((e) instanceof js__$Boot_HaxeError) ? e.val : e); } } ,__dispatchTarget: function(target,event) { try { return target.__dispatchEvent(event); } catch( e ) { haxe_CallStack.lastException = e; this.__handleError(((e) instanceof js__$Boot_HaxeError) ? e.val : e); return false; } } ,__drag: function(mouse) { var parent = this.__dragObject.parent; if(parent != null) { var _this = parent.__getWorldTransform(); var norm = _this.a * _this.d - _this.b * _this.c; if(norm == 0) { mouse.x = -_this.tx; mouse.y = -_this.ty; } else { var px = 1.0 / norm * (_this.c * (_this.ty - mouse.y) + _this.d * (mouse.x - _this.tx)); mouse.y = 1.0 / norm * (_this.a * (mouse.y - _this.ty) + _this.b * (_this.tx - mouse.x)); mouse.x = px; } } var x = mouse.x + this.__dragOffsetX; var y = mouse.y + this.__dragOffsetY; if(this.__dragBounds != null) { if(x < this.__dragBounds.x) { x = this.__dragBounds.x; } else if(x > this.__dragBounds.get_right()) { x = this.__dragBounds.get_right(); } if(y < this.__dragBounds.y) { y = this.__dragBounds.y; } else if(y > this.__dragBounds.get_bottom()) { y = this.__dragBounds.get_bottom(); } } this.__dragObject.set_x(x); this.__dragObject.set_y(y); } ,__getInteractive: function(stack) { if(stack != null) { stack.push(this); } return true; } ,__globalToLocal: function(global,local) { if(global != local) { local.copyFrom(global); } return local; } ,__handleError: function(e) { var event = new openfl_events_UncaughtErrorEvent("uncaughtError",true,true,e); try { openfl_Lib.get_current().__loaderInfo.uncaughtErrorEvents.dispatchEvent(event); } catch( e1 ) { haxe_CallStack.lastException = e1; var e2 = ((e1) instanceof js__$Boot_HaxeError) ? e1.val : e1; } if(!event.__preventDefault) { var message = haxe_CallStack.toString(haxe_CallStack.exceptionStack()); console.log(message); var message1 = Std.string(e); console.log(message1); try { var exc = haxe_CallStack.lastException; if(exc != null && Object.prototype.hasOwnProperty.call(exc,"stack") && exc.stack != null && exc.stack != "") { (console.log)(exc.stack); e.stack = exc.stack; } else { var msg = haxe_CallStack.toString(haxe_CallStack.callStack()); (console.log)(msg); } } catch( e21 ) { haxe_CallStack.lastException = e21; var e22 = ((e21) instanceof js__$Boot_HaxeError) ? e21.val : e21; } throw e; } } ,__onKey: function(type,keyCode,modifier) { this.__dispatchPendingMouseEvent(); openfl_events_MouseEvent.__altKey = lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_altKey(modifier); openfl_events_MouseEvent.__commandKey = lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_metaKey(modifier); openfl_events_MouseEvent.__ctrlKey = lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_ctrlKey(modifier); openfl_events_MouseEvent.__shiftKey = lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_shiftKey(modifier); var stack = []; if(this.__focus == null) { this.__getInteractive(stack); } else { this.__focus.__getInteractive(stack); } if(stack.length > 0) { var keyLocation; switch(keyCode) { case 1073741908:case 1073741909:case 1073741910:case 1073741911:case 1073741912:case 1073741913:case 1073741914:case 1073741915:case 1073741916:case 1073741917:case 1073741918:case 1073741919:case 1073741920:case 1073741921:case 1073741922:case 1073741923:case 1073742044: keyLocation = 3; break; case 1073742048:case 1073742049:case 1073742050:case 1073742051: keyLocation = 1; break; case 1073742052:case 1073742053:case 1073742054:case 1073742055: keyLocation = 2; break; default: keyLocation = 0; } var keyCode1; switch(keyCode) { case 8: keyCode1 = 8; break; case 9: keyCode1 = 9; break; case 13: keyCode1 = 13; break; case 27: keyCode1 = 27; break; case 32: keyCode1 = 32; break; case 33: keyCode1 = 49; break; case 34: keyCode1 = 222; break; case 35: keyCode1 = 51; break; case 36: keyCode1 = 52; break; case 37: keyCode1 = 53; break; case 38: keyCode1 = 55; break; case 39: keyCode1 = 222; break; case 40: keyCode1 = 57; break; case 41: keyCode1 = 48; break; case 42: keyCode1 = 56; break; case 44: keyCode1 = 188; break; case 45: keyCode1 = 189; break; case 46: keyCode1 = 190; break; case 47: keyCode1 = 191; break; case 48: keyCode1 = 48; break; case 49: keyCode1 = 49; break; case 50: keyCode1 = 50; break; case 51: keyCode1 = 51; break; case 52: keyCode1 = 52; break; case 53: keyCode1 = 53; break; case 54: keyCode1 = 54; break; case 55: keyCode1 = 55; break; case 56: keyCode1 = 56; break; case 57: keyCode1 = 57; break; case 58: keyCode1 = 186; break; case 59: keyCode1 = 186; break; case 60: keyCode1 = 60; break; case 61: keyCode1 = 187; break; case 62: keyCode1 = 190; break; case 63: keyCode1 = 191; break; case 64: keyCode1 = 50; break; case 91: keyCode1 = 219; break; case 92: keyCode1 = 220; break; case 93: keyCode1 = 221; break; case 94: keyCode1 = 54; break; case 95: keyCode1 = 189; break; case 96: keyCode1 = 192; break; case 97: keyCode1 = 65; break; case 98: keyCode1 = 66; break; case 99: keyCode1 = 67; break; case 100: keyCode1 = 68; break; case 101: keyCode1 = 69; break; case 102: keyCode1 = 70; break; case 103: keyCode1 = 71; break; case 104: keyCode1 = 72; break; case 105: keyCode1 = 73; break; case 106: keyCode1 = 74; break; case 107: keyCode1 = 75; break; case 108: keyCode1 = 76; break; case 109: keyCode1 = 77; break; case 110: keyCode1 = 78; break; case 111: keyCode1 = 79; break; case 112: keyCode1 = 80; break; case 113: keyCode1 = 81; break; case 114: keyCode1 = 82; break; case 115: keyCode1 = 83; break; case 116: keyCode1 = 84; break; case 117: keyCode1 = 85; break; case 118: keyCode1 = 86; break; case 119: keyCode1 = 87; break; case 120: keyCode1 = 88; break; case 121: keyCode1 = 89; break; case 122: keyCode1 = 90; break; case 127: keyCode1 = 46; break; case 1073741881: keyCode1 = 20; break; case 1073741882: keyCode1 = 112; break; case 1073741883: keyCode1 = 113; break; case 1073741884: keyCode1 = 114; break; case 1073741885: keyCode1 = 115; break; case 1073741886: keyCode1 = 116; break; case 1073741887: keyCode1 = 117; break; case 1073741888: keyCode1 = 118; break; case 1073741889: keyCode1 = 119; break; case 1073741890: keyCode1 = 120; break; case 1073741891: keyCode1 = 121; break; case 1073741892: keyCode1 = 122; break; case 1073741893: keyCode1 = 123; break; case 1073741894: keyCode1 = 301; break; case 1073741895: keyCode1 = 145; break; case 1073741896: keyCode1 = 19; break; case 1073741897: keyCode1 = 45; break; case 1073741898: keyCode1 = 36; break; case 1073741899: keyCode1 = 33; break; case 1073741901: keyCode1 = 35; break; case 1073741902: keyCode1 = 34; break; case 1073741903: keyCode1 = 39; break; case 1073741904: keyCode1 = 37; break; case 1073741905: keyCode1 = 40; break; case 1073741906: keyCode1 = 38; break; case 1073741907: keyCode1 = 144; break; case 1073741908: keyCode1 = 111; break; case 1073741909: keyCode1 = 106; break; case 1073741910: keyCode1 = 109; break; case 1073741911: keyCode1 = 107; break; case 1073741912: keyCode1 = 13; break; case 1073741913: keyCode1 = 97; break; case 1073741914: keyCode1 = 98; break; case 1073741915: keyCode1 = 99; break; case 1073741916: keyCode1 = 100; break; case 1073741917: keyCode1 = 101; break; case 1073741918: keyCode1 = 102; break; case 1073741919: keyCode1 = 103; break; case 1073741920: keyCode1 = 104; break; case 1073741921: keyCode1 = 105; break; case 1073741922: keyCode1 = 96; break; case 1073741923: keyCode1 = 110; break; case 1073741925: keyCode1 = 302; break; case 1073741928: keyCode1 = 124; break; case 1073741929: keyCode1 = 125; break; case 1073741930: keyCode1 = 126; break; case 1073741982: keyCode1 = 13; break; case 1073742044: keyCode1 = 110; break; case 1073742048: keyCode1 = 17; break; case 1073742049: keyCode1 = 16; break; case 1073742050: keyCode1 = 18; break; case 1073742051: keyCode1 = 15; break; case 1073742052: keyCode1 = 17; break; case 1073742053: keyCode1 = 16; break; case 1073742054: keyCode1 = 18; break; case 1073742055: keyCode1 = 15; break; default: keyCode1 = keyCode; } var charCode = openfl_ui_Keyboard.__getCharCode(keyCode1,lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_shiftKey(modifier)); if(type == "keyUp" && (keyCode1 == 32 || keyCode1 == 13) && ((this.__focus) instanceof openfl_display_Sprite)) { var sprite = js_Boot.__cast(this.__focus , openfl_display_Sprite); if(sprite.get_buttonMode() && sprite.focusRect == true) { var localPoint = openfl_geom_Point.__pool.get(); var targetPoint = openfl_geom_Point.__pool.get(); targetPoint.x = this.__mouseX; targetPoint.y = this.__mouseY; var clickEvent = openfl_events_MouseEvent.__create("click",0,this.__mouseX,this.__mouseY,sprite.__globalToLocal(targetPoint,localPoint),sprite); this.__dispatchStack(clickEvent,stack); openfl_geom_Point.__pool.release(targetPoint); openfl_geom_Point.__pool.release(localPoint); } } var event = new openfl_events_KeyboardEvent(type,true,true,charCode,keyCode1,keyLocation,this.__macKeyboard ? lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_ctrlKey(modifier) || lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_metaKey(modifier) : lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_ctrlKey(modifier),lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_altKey(modifier),lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_shiftKey(modifier),lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_ctrlKey(modifier),lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_metaKey(modifier)); stack.reverse(); this.__dispatchStack(event,stack); if(event.__preventDefault) { if(type == "keyDown") { this.window.onKeyDown.cancel(); } else { this.window.onKeyUp.cancel(); } } else if(type == "keyDown" && keyCode1 == 9) { var tabStack = []; this.__tabTest(tabStack); var nextIndex = -1; var nextObject = null; var nextOffset = lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_shiftKey(modifier) ? -1 : 1; if(tabStack.length > 1) { haxe_ds_ArraySort.sort(tabStack,function(a,b) { return a.get_tabIndex() - b.get_tabIndex(); }); if(tabStack[tabStack.length - 1].get_tabIndex() != -1) { var i = 0; while(i < tabStack.length) { if(tabStack[i].get_tabIndex() > -1) { if(i > 0) { tabStack.splice(0,i); } break; } ++i; } } if(this.get_focus() != null) { var current = this.get_focus(); var index = tabStack.indexOf(current); while(index == -1 && current != null) { var currentParent = current.parent; if(currentParent != null && currentParent.get_tabChildren()) { var currentIndex = currentParent.getChildIndex(current); if(currentIndex == -1) { current = currentParent; continue; } var i1 = currentIndex + nextOffset; while(lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_shiftKey(modifier) ? i1 >= 0 : i1 < currentParent.get_numChildren()) { var sibling = currentParent.getChildAt(i1); if(((sibling) instanceof openfl_display_InteractiveObject)) { var interactiveSibling = js_Boot.__cast(sibling , openfl_display_InteractiveObject); index = tabStack.indexOf(interactiveSibling); if(index != -1) { nextOffset = 0; break; } } i1 += nextOffset; } } else if(lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_shiftKey(modifier)) { index = tabStack.indexOf(currentParent); if(index != -1) { nextOffset = 0; } } current = currentParent; } if(index < 0) { nextIndex = 0; } else { nextIndex = index + nextOffset; } } else { nextIndex = this.__currentTabOrderIndex; } } else if(tabStack.length == 1) { nextObject = tabStack[0]; if(this.get_focus() == nextObject) { nextObject = null; } } var cancelTab = nextIndex >= 0 && nextIndex < tabStack.length; if(tabStack.length == 1 || tabStack.length == 0 && this.get_focus() != null) { nextIndex = 0; } else if(tabStack.length > 1) { if(nextIndex < 0) { nextIndex += tabStack.length; } nextIndex %= tabStack.length; nextObject = tabStack[nextIndex]; if(nextObject == this.get_focus()) { nextIndex += nextOffset; if(nextIndex < 0) { nextIndex += tabStack.length; } nextIndex %= tabStack.length; nextObject = tabStack[nextIndex]; } } var focusEvent = null; if(this.get_focus() != null) { focusEvent = new openfl_events_FocusEvent("keyFocusChange",true,true,nextObject,lime_ui__$KeyModifier_KeyModifier_$Impl_$.get_shiftKey(modifier),0); stack = []; this.get_focus().__getInteractive(stack); stack.reverse(); this.__dispatchStack(focusEvent,stack); if(focusEvent.isDefaultPrevented()) { this.window.onKeyDown.cancel(); } } if(focusEvent == null || !focusEvent.isDefaultPrevented()) { this.__currentTabOrderIndex = nextIndex; if(nextObject != null) { this.set_focus(nextObject); } if(cancelTab) { this.window.onKeyDown.cancel(); } } } } } ,__onLimeCreateWindow: function($window) { if(this.window != $window) { return; } var f = $bind(this,this.__onLimeWindowActivate); var window1 = $window; var tmp = function() { f(window1); }; $window.onActivate.add(tmp); var f1 = $bind(this,this.__onLimeWindowClose); var window2 = $window; var tmp1 = function() { f1(window2); }; $window.onClose.add(tmp1,false,-9000); var f2 = $bind(this,this.__onLimeWindowDeactivate); var window3 = $window; var tmp2 = function() { f2(window3); }; $window.onDeactivate.add(tmp2); var f3 = $bind(this,this.__onLimeWindowDropFile); var window4 = $window; var tmp3 = function(file) { f3(window4,file); }; $window.onDropFile.add(tmp3); var f4 = $bind(this,this.__onLimeWindowEnter); var window5 = $window; var tmp4 = function() { f4(window5); }; $window.onEnter.add(tmp4); var f5 = $bind(this,this.__onLimeWindowExpose); var window6 = $window; var tmp5 = function() { f5(window6); }; $window.onExpose.add(tmp5); var f6 = $bind(this,this.__onLimeWindowFocusIn); var window7 = $window; var tmp6 = function() { f6(window7); }; $window.onFocusIn.add(tmp6); var f7 = $bind(this,this.__onLimeWindowFocusOut); var window8 = $window; var tmp7 = function() { f7(window8); }; $window.onFocusOut.add(tmp7); var f8 = $bind(this,this.__onLimeWindowFullscreen); var window9 = $window; var tmp8 = function() { f8(window9); }; $window.onFullscreen.add(tmp8); var f9 = $bind(this,this.__onLimeKeyDown); var window10 = $window; var tmp9 = function(keyCode,modifier) { f9(window10,keyCode,modifier); }; $window.onKeyDown.add(tmp9); var f10 = $bind(this,this.__onLimeKeyUp); var window11 = $window; var tmp10 = function(keyCode1,modifier1) { f10(window11,keyCode1,modifier1); }; $window.onKeyUp.add(tmp10); var f11 = $bind(this,this.__onLimeWindowLeave); var window12 = $window; var tmp11 = function() { f11(window12); }; $window.onLeave.add(tmp11); var f12 = $bind(this,this.__onLimeWindowMinimize); var window13 = $window; var tmp12 = function() { f12(window13); }; $window.onMinimize.add(tmp12); var f13 = $bind(this,this.__onLimeMouseDown); var window14 = $window; var tmp13 = function(x,y,button) { f13(window14,x,y,button); }; $window.onMouseDown.add(tmp13); var f14 = $bind(this,this.__onLimeMouseMove); var window15 = $window; var tmp14 = function(x1,y1) { f14(window15,x1,y1); }; $window.onMouseMove.add(tmp14); var f15 = $bind(this,this.__onLimeMouseMoveRelative); var window16 = $window; var tmp15 = function(x2,y2) { f15(window16,x2,y2); }; $window.onMouseMoveRelative.add(tmp15); var f16 = $bind(this,this.__onLimeMouseUp); var window17 = $window; var tmp16 = function(x3,y3,button1) { f16(window17,x3,y3,button1); }; $window.onMouseUp.add(tmp16); var f17 = $bind(this,this.__onLimeMouseWheel); var window18 = $window; var tmp17 = function(deltaX,deltaY,deltaMode) { f17(window18,deltaX,deltaY,deltaMode); }; $window.onMouseWheel.add(tmp17); var f18 = $bind(this,this.__onLimeWindowMove); var window19 = $window; var tmp18 = function(x4,y4) { f18(window19,x4,y4); }; $window.onMove.add(tmp18); $window.onRender.add($bind(this,this.__onLimeRender)); $window.onRenderContextLost.add($bind(this,this.__onLimeRenderContextLost)); $window.onRenderContextRestored.add($bind(this,this.__onLimeRenderContextRestored)); var f19 = $bind(this,this.__onLimeWindowResize); var window20 = $window; var tmp19 = function(width,height) { f19(window20,width,height); }; $window.onResize.add(tmp19); var f20 = $bind(this,this.__onLimeWindowRestore); var window21 = $window; var tmp20 = function() { f20(window21); }; $window.onRestore.add(tmp20); var f21 = $bind(this,this.__onLimeTextEdit); var window22 = $window; var tmp21 = function(text,start,length) { f21(window22,text,start,length); }; $window.onTextEdit.add(tmp21); var f22 = $bind(this,this.__onLimeTextInput); var window23 = $window; var tmp22 = function(text1) { f22(window23,text1); }; $window.onTextInput.add(tmp22); this.__onLimeWindowCreate($window); } ,__onLimeGamepadAxisMove: function(gamepad,axis,value) { try { openfl_ui_GameInput.__onGamepadAxisMove(gamepad,axis,value); } catch( e ) { haxe_CallStack.lastException = e; this.__handleError(((e) instanceof js__$Boot_HaxeError) ? e.val : e); } } ,__onLimeGamepadButtonDown: function(gamepad,button) { try { openfl_ui_GameInput.__onGamepadButtonDown(gamepad,button); } catch( e ) { haxe_CallStack.lastException = e; this.__handleError(((e) instanceof js__$Boot_HaxeError) ? e.val : e); } } ,__onLimeGamepadButtonUp: function(gamepad,button) { try { openfl_ui_GameInput.__onGamepadButtonUp(gamepad,button); } catch( e ) { haxe_CallStack.lastException = e; this.__handleError(((e) instanceof js__$Boot_HaxeError) ? e.val : e); } } ,__onLimeGamepadConnect: function(gamepad) { try { openfl_ui_GameInput.__onGamepadConnect(gamepad); } catch( e ) { haxe_CallStack.lastException = e; this.__handleError(((e) instanceof js__$Boot_HaxeError) ? e.val : e); } var f = $bind(this,this.__onLimeGamepadAxisMove); var gamepad1 = gamepad; var tmp = function(axis,value) { f(gamepad1,axis,value); }; gamepad.onAxisMove.add(tmp); var f1 = $bind(this,this.__onLimeGamepadButtonDown); var gamepad2 = gamepad; var tmp1 = function(button) { f1(gamepad2,button); }; gamepad.onButtonDown.add(tmp1); var f2 = $bind(this,this.__onLimeGamepadButtonUp); var gamepad3 = gamepad; var tmp2 = function(button1) { f2(gamepad3,button1); }; gamepad.onButtonUp.add(tmp2); var f3 = $bind(this,this.__onLimeGamepadDisconnect); var gamepad4 = gamepad; var tmp3 = function() { f3(gamepad4); }; gamepad.onDisconnect.add(tmp3); } ,__onLimeGamepadDisconnect: function(gamepad) { try { openfl_ui_GameInput.__onGamepadDisconnect(gamepad); } catch( e ) { haxe_CallStack.lastException = e; this.__handleError(((e) instanceof js__$Boot_HaxeError) ? e.val : e); } } ,__onLimeKeyDown: function($window,keyCode,modifier) { if(this.window == null || this.window != $window) { return; } this.__onKey("keyDown",keyCode,modifier); } ,__onLimeKeyUp: function($window,keyCode,modifier) { if(this.window == null || this.window != $window) { return; } this.__onKey("keyUp",keyCode,modifier); } ,__onLimeModuleExit: function(code) { if(this.window != null) { var event = null; event = new openfl_events_Event("deactivate"); this.__broadcastEvent(event); } } ,__onLimeMouseDown: function($window,x,y,button) { if(this.window == null || this.window != $window) { return; } this.__dispatchPendingMouseEvent(); var type; switch(button) { case 1: type = "middleMouseDown"; break; case 2: type = "rightMouseDown"; break; default: type = "mouseDown"; } this.__onMouse(type,x * $window.__scale | 0,y * $window.__scale | 0,button); if(!this.showDefaultContextMenu && button == 2) { $window.onMouseDown.cancel(); } } ,__onLimeMouseMove: function($window,x,y) { if(this.window == null || this.window != $window) { return; } this.__pendingMouseEvent = true; this.__pendingMouseX = x * $window.__scale | 0; this.__pendingMouseY = y * $window.__scale | 0; } ,__onLimeMouseMoveRelative: function($window,x,y) { } ,__onLimeMouseUp: function($window,x,y,button) { if(this.window == null || this.window != $window) { return; } this.__dispatchPendingMouseEvent(); var type; switch(button) { case 1: type = "middleMouseUp"; break; case 2: type = "rightMouseUp"; break; default: type = "mouseUp"; } this.__onMouse(type,x * $window.__scale | 0,y * $window.__scale | 0,button); if(!this.showDefaultContextMenu && button == 2) { $window.onMouseUp.cancel(); } } ,__onLimeMouseWheel: function($window,deltaX,deltaY,deltaMode) { if(this.window == null || this.window != $window) { return; } this.__dispatchPendingMouseEvent(); if(deltaMode == lime_ui_MouseWheelMode.PIXELS) { this.__onMouseWheel(deltaX * $window.__scale | 0,deltaY * $window.__scale | 0,deltaMode); } else { this.__onMouseWheel(deltaX | 0,deltaY | 0,deltaMode); } } ,__onLimeRender: function(context) { if(this.__rendering) { return; } this.__rendering = true; var event = null; this.__broadcastEvent(new openfl_events_Event("enterFrame")); this.__broadcastEvent(new openfl_events_Event("frameConstructed")); this.__broadcastEvent(new openfl_events_Event("exitFrame")); this.__renderable = true; this.__enterFrame(this.__deltaTime); this.__deltaTime = 0; var shouldRender = this.__renderer != null && (this.__renderDirty || this.__forceRender); if(this.__invalidated && shouldRender) { this.__invalidated = false; event = new openfl_events_Event("render"); this.__broadcastEvent(event); } this.__update(false,true); if(this.__renderer != null) { if(this.context3D != null) { var stage3D = this.stage3Ds.iterator(); while(stage3D.hasNext()) { var stage3D1 = stage3D.next(); this.context3D.__renderStage3D(stage3D1); } if(this.context3D.__present) { shouldRender = true; } } if(shouldRender) { var tmp = this.__renderer.__type == "cairo"; if(this.context3D == null) { this.__renderer.__clear(); } this.__renderer.__render(this); } else if(this.context3D == null) { this.window.onRender.cancel(); } if(this.context3D != null) { if(!this.context3D.__present) { this.window.onRender.cancel(); } else { if(!this.__renderer.__cleared) { this.__renderer.__clear(); } this.context3D.__present = false; this.context3D.__cleared = false; } } this.__renderer.__cleared = false; } this.__rendering = false; } ,__onLimeRenderContextLost: function() { this.__renderer = null; this.context3D = null; var stage3D = this.stage3Ds.iterator(); while(stage3D.hasNext()) { var stage3D1 = stage3D.next(); stage3D1.__lostContext(); } } ,__onLimeRenderContextRestored: function(context) { this.__createRenderer(); var stage3D = this.stage3Ds.iterator(); while(stage3D.hasNext()) { var stage3D1 = stage3D.next(); stage3D1.__restoreContext(); } } ,__onLimeTextEdit: function($window,text,start,length) { } ,__onLimeTextInput: function($window,text) { if(this.window == null || this.window != $window) { return; } var stack = []; if(this.__focus == null) { this.__getInteractive(stack); } else { this.__focus.__getInteractive(stack); } var event = new openfl_events_TextEvent("textInput",true,true,text); if(stack.length > 0) { stack.reverse(); this.__dispatchStack(event,stack); } else { this.__dispatchEvent(event); } if(event.isDefaultPrevented()) { $window.onTextInput.cancel(); } } ,__onLimeTouchCancel: function(touch) { var isPrimaryTouchPoint = this.__primaryTouch == touch; if(isPrimaryTouchPoint) { this.__primaryTouch = null; } this.__onTouch("touchEnd",touch,isPrimaryTouchPoint); } ,__onLimeTouchMove: function(touch) { this.__onTouch("touchMove",touch,this.__primaryTouch == touch); } ,__onLimeTouchEnd: function(touch) { var isPrimaryTouchPoint = this.__primaryTouch == touch; if(isPrimaryTouchPoint) { this.__primaryTouch = null; } this.__onTouch("touchEnd",touch,isPrimaryTouchPoint); } ,__onLimeTouchStart: function(touch) { if(this.__primaryTouch == null) { this.__primaryTouch = touch; } this.__onTouch("touchBegin",touch,this.__primaryTouch == touch); } ,__onLimeUpdate: function(deltaTime) { this.__deltaTime = deltaTime; this.__dispatchPendingMouseEvent(); } ,__onLimeWindowActivate: function($window) { if(this.window == null || this.window != $window) { return; } } ,__onLimeWindowClose: function($window) { if(this.window == $window) { this.window = null; } this.__primaryTouch = null; var event = null; event = new openfl_events_Event("deactivate"); this.__broadcastEvent(event); } ,__onLimeWindowCreate: function($window) { if(this.window == null || this.window != $window) { return; } if($window.context != null) { this.__createRenderer(); } } ,__onLimeWindowDeactivate: function($window) { if(this.window == null || this.window != $window) { return; } } ,__onLimeWindowDropFile: function($window,file) { } ,__onLimeWindowEnter: function($window) { } ,__onLimeWindowExpose: function($window) { if(this.window == null || this.window != $window) { return; } this.__renderDirty = true; } ,__onLimeWindowFocusIn: function($window) { if(this.window == null || this.window != $window) { return; } this.__renderDirty = true; var event = null; event = new openfl_events_Event("activate"); this.__broadcastEvent(event); this.set_focus(this.__cacheFocus); } ,__onLimeWindowFocusOut: function($window) { if(this.window == null || this.window != $window) { return; } this.__primaryTouch = null; var event = null; event = new openfl_events_Event("deactivate"); this.__broadcastEvent(event); var currentFocus = this.get_focus(); this.set_focus(null); this.__cacheFocus = currentFocus; openfl_events_MouseEvent.__altKey = false; openfl_events_MouseEvent.__commandKey = false; openfl_events_MouseEvent.__ctrlKey = false; openfl_events_MouseEvent.__shiftKey = false; } ,__onLimeWindowFullscreen: function($window) { if(this.window == null || this.window != $window) { return; } this.__resize(); if(!this.__wasFullscreen) { this.__wasFullscreen = true; if(this.__displayState == 2) { this.__displayState = 1; } this.__dispatchEvent(new openfl_events_FullScreenEvent("fullScreen",false,false,true,true)); } } ,__onLimeWindowLeave: function($window) { if(this.window == null || this.window != $window || openfl_events_MouseEvent.__buttonDown) { return; } this.__dispatchPendingMouseEvent(); var event = null; event = new openfl_events_Event("mouseLeave"); this.__dispatchEvent(event); } ,__onLimeWindowMinimize: function($window) { if(this.window == null || this.window != $window) { return; } } ,__onLimeWindowMove: function($window,x,y) { } ,__onLimeWindowResize: function($window,width,height) { if(this.window == null || this.window != $window) { return; } this.__resize(); if(this.__wasFullscreen && !$window.__fullscreen) { this.__wasFullscreen = false; this.__displayState = 2; this.__dispatchEvent(new openfl_events_FullScreenEvent("fullScreen",false,false,false,true)); } } ,__onLimeWindowRestore: function($window) { if(this.window == null || this.window != $window) { return; } if(this.__wasFullscreen && !$window.__fullscreen) { this.__wasFullscreen = false; this.__displayState = 2; this.__dispatchEvent(new openfl_events_FullScreenEvent("fullScreen",false,false,false,true)); } } ,__onMouse: function(type,x,y,button) { if(button > 2) { return; } var targetPoint = openfl_geom_Point.__pool.get(); targetPoint.setTo(x,y); var _this = this.__displayMatrix; var norm = _this.a * _this.d - _this.b * _this.c; if(norm == 0) { targetPoint.x = -_this.tx; targetPoint.y = -_this.ty; } else { var px = 1.0 / norm * (_this.c * (_this.ty - targetPoint.y) + _this.d * (targetPoint.x - _this.tx)); targetPoint.y = 1.0 / norm * (_this.a * (targetPoint.y - _this.ty) + _this.b * (_this.tx - targetPoint.x)); targetPoint.x = px; } this.__mouseX = targetPoint.x; this.__mouseY = targetPoint.y; var stack = []; var target = null; if(this.__hitTest(this.__mouseX,this.__mouseY,true,stack,true,this)) { target = stack[stack.length - 1]; } else { target = this; stack = [this]; } if(target == null) { target = this; } var clickType = null; switch(type) { case "middleMouseDown": this.__mouseDownMiddle = target; break; case "middleMouseUp": if(this.__mouseDownMiddle == target) { clickType = "middleClick"; } this.__mouseDownMiddle = null; break; case "mouseDown": if(target.__allowMouseFocus()) { if(this.get_focus() != null) { var focusEvent = new openfl_events_FocusEvent("mouseFocusChange",true,true,target,false,0); this.__dispatchStack(focusEvent,stack); if(!focusEvent.isDefaultPrevented()) { this.set_focus(target); } } else { this.set_focus(target); } } else { this.set_focus(null); } this.__mouseDownLeft = target; openfl_events_MouseEvent.__buttonDown = true; break; case "mouseUp": if(this.__mouseDownLeft != null) { openfl_events_MouseEvent.__buttonDown = false; if(this.__mouseDownLeft == target) { clickType = "click"; } else { var event = null; event = openfl_events_MouseEvent.__create("releaseOutside",1,this.__mouseX,this.__mouseY,new openfl_geom_Point(this.__mouseX,this.__mouseY),this); this.__mouseDownLeft.dispatchEvent(event); } this.__mouseDownLeft = null; } break; case "rightMouseDown": this.__mouseDownRight = target; break; case "rightMouseUp": if(this.__mouseDownRight == target) { clickType = "rightClick"; } this.__mouseDownRight = null; break; default: } var localPoint = openfl_geom_Point.__pool.get(); var event1 = null; event1 = openfl_events_MouseEvent.__create(type,button,this.__mouseX,this.__mouseY,target.__globalToLocal(targetPoint,localPoint),target); this.__dispatchStack(event1,stack); if(clickType != null) { event1 = openfl_events_MouseEvent.__create(clickType,button,this.__mouseX,this.__mouseY,target.__globalToLocal(targetPoint,localPoint),target); this.__dispatchStack(event1,stack); if(type == "mouseUp" && (js_Boot.__cast(target , openfl_display_InteractiveObject)).doubleClickEnabled) { var currentTime = openfl_Lib.getTimer(); if(currentTime - this.__lastClickTime < 500) { event1 = openfl_events_MouseEvent.__create("doubleClick",button,this.__mouseX,this.__mouseY,target.__globalToLocal(targetPoint,localPoint),target); this.__dispatchStack(event1,stack); this.__lastClickTime = 0; } else { this.__lastClickTime = currentTime; } } } if(openfl_ui_Mouse.__cursor == "auto" && !openfl_ui_Mouse.__hidden) { var cursor = null; if(this.__mouseDownLeft != null) { cursor = this.__mouseDownLeft.__getCursor(); } else { var _g = 0; while(_g < stack.length) { var target1 = stack[_g]; ++_g; cursor = target1.__getCursor(); if(cursor != null) { this.window.set_cursor(openfl_ui__$MouseCursor_MouseCursor_$Impl_$.toLimeCursor(cursor)); break; } } } if(cursor == null) { this.window.set_cursor(lime_ui_MouseCursor.ARROW); } } var event2; if(target != this.__mouseOverTarget) { if(this.__mouseOverTarget != null) { event2 = openfl_events_MouseEvent.__create("mouseOut",button,this.__mouseX,this.__mouseY,this.__mouseOverTarget.__globalToLocal(targetPoint,localPoint),this.__mouseOverTarget); this.__dispatchStack(event2,this.__mouseOutStack); } } var item; var i = 0; while(i < this.__rollOutStack.length) { item = this.__rollOutStack[i]; if(stack.indexOf(item) == -1) { HxOverrides.remove(this.__rollOutStack,item); event2 = openfl_events_MouseEvent.__create("rollOut",button,this.__mouseX,this.__mouseY,this.__mouseOverTarget.__globalToLocal(targetPoint,localPoint),item); event2.bubbles = false; this.__dispatchTarget(item,event2); } else { ++i; } } var _g1 = 0; while(_g1 < stack.length) { var item1 = stack[_g1]; ++_g1; if(this.__rollOutStack.indexOf(item1) == -1 && this.__mouseOverTarget != null) { if(item1.hasEventListener("rollOver")) { event2 = openfl_events_MouseEvent.__create("rollOver",button,this.__mouseX,this.__mouseY,this.__mouseOverTarget.__globalToLocal(targetPoint,localPoint),item1); event2.bubbles = false; this.__dispatchTarget(item1,event2); } if(item1.hasEventListener("rollOut") || item1.hasEventListener("rollOver")) { this.__rollOutStack.push(item1); } } } if(target != this.__mouseOverTarget) { if(target != null) { event2 = openfl_events_MouseEvent.__create("mouseOver",button,this.__mouseX,this.__mouseY,target.__globalToLocal(targetPoint,localPoint),target); this.__dispatchStack(event2,stack); } this.__mouseOverTarget = target; this.__mouseOutStack = stack; } if(this.__dragObject != null) { this.__drag(targetPoint); var dropTarget = null; if(this.__mouseOverTarget == this.__dragObject) { var cacheMouseEnabled = this.__dragObject.mouseEnabled; var cacheMouseChildren = this.__dragObject.mouseChildren; this.__dragObject.mouseEnabled = false; this.__dragObject.mouseChildren = false; var stack1 = []; if(this.__hitTest(this.__mouseX,this.__mouseY,true,stack1,true,this)) { dropTarget = stack1[stack1.length - 1]; } this.__dragObject.mouseEnabled = cacheMouseEnabled; this.__dragObject.mouseChildren = cacheMouseChildren; } else if(this.__mouseOverTarget != this) { dropTarget = this.__mouseOverTarget; } this.__dragObject.dropTarget = dropTarget; } openfl_geom_Point.__pool.release(targetPoint); openfl_geom_Point.__pool.release(localPoint); } ,__onMouseWheel: function(deltaX,deltaY,deltaMode) { var x = this.__mouseX; var y = this.__mouseY; var stack = []; var target = null; if(this.__hitTest(this.__mouseX,this.__mouseY,true,stack,true,this)) { target = stack[stack.length - 1]; } else { target = this; stack = [this]; } if(target == null) { target = this; } var targetPoint = openfl_geom_Point.__pool.get(); targetPoint.setTo(x,y); var _this = this.__displayMatrix; var norm = _this.a * _this.d - _this.b * _this.c; if(norm == 0) { targetPoint.x = -_this.tx; targetPoint.y = -_this.ty; } else { var px = 1.0 / norm * (_this.c * (_this.ty - targetPoint.y) + _this.d * (targetPoint.x - _this.tx)); targetPoint.y = 1.0 / norm * (_this.a * (targetPoint.y - _this.ty) + _this.b * (_this.tx - targetPoint.x)); targetPoint.x = px; } var delta = deltaY | 0; var event = openfl_events_MouseEvent.__create("mouseWheel",0,this.__mouseX,this.__mouseY,target.__globalToLocal(targetPoint,targetPoint),target,delta); event.cancelable = true; this.__dispatchStack(event,stack); if(event.isDefaultPrevented()) { this.window.onMouseWheel.cancel(); } openfl_geom_Point.__pool.release(targetPoint); } ,__onTouch: function(type,touch,isPrimaryTouchPoint) { var targetPoint = openfl_geom_Point.__pool.get(); targetPoint.setTo(Math.round(touch.x * this.window.__width * this.window.__scale),Math.round(touch.y * this.window.__height * this.window.__scale)); var _this = this.__displayMatrix; var norm = _this.a * _this.d - _this.b * _this.c; if(norm == 0) { targetPoint.x = -_this.tx; targetPoint.y = -_this.ty; } else { var px = 1.0 / norm * (_this.c * (_this.ty - targetPoint.y) + _this.d * (targetPoint.x - _this.tx)); targetPoint.y = 1.0 / norm * (_this.a * (targetPoint.y - _this.ty) + _this.b * (_this.tx - targetPoint.x)); targetPoint.x = px; } var touchX = targetPoint.x; var touchY = targetPoint.y; var stack = []; var target = null; if(this.__hitTest(touchX,touchY,false,stack,true,this)) { target = stack[stack.length - 1]; } else { target = this; stack = [this]; } if(target == null) { target = this; } var touchId = touch.id; var touchData = null; if(this.__touchData.h.hasOwnProperty(touchId)) { touchData = this.__touchData.h[touchId]; } else { touchData = openfl_utils__$internal_TouchData.__pool.get(); touchData.reset(); touchData.touch = touch; this.__touchData.h[touchId] = touchData; } var touchType = null; var releaseTouchData = false; switch(type) { case "touchBegin": touchData.touchDownTarget = target; break; case "touchEnd": if(touchData.touchDownTarget == target) { touchType = "touchTap"; } touchData.touchDownTarget = null; releaseTouchData = true; break; default: } var localPoint = openfl_geom_Point.__pool.get(); var touchEvent = openfl_events_TouchEvent.__create(type,null,touchX,touchY,target.__globalToLocal(targetPoint,localPoint),target); touchEvent.touchPointID = touchId; touchEvent.isPrimaryTouchPoint = isPrimaryTouchPoint; touchEvent.pressure = touch.pressure; this.__dispatchStack(touchEvent,stack); if(touchType != null) { touchEvent = openfl_events_TouchEvent.__create(touchType,null,touchX,touchY,target.__globalToLocal(targetPoint,localPoint),target); touchEvent.touchPointID = touchId; touchEvent.isPrimaryTouchPoint = isPrimaryTouchPoint; touchEvent.pressure = touch.pressure; this.__dispatchStack(touchEvent,stack); } var touchOverTarget = touchData.touchOverTarget; if(target != touchOverTarget && touchOverTarget != null) { touchEvent = openfl_events_TouchEvent.__create("touchOut",null,touchX,touchY,touchOverTarget.__globalToLocal(targetPoint,localPoint),touchOverTarget); touchEvent.touchPointID = touchId; touchEvent.isPrimaryTouchPoint = isPrimaryTouchPoint; touchEvent.pressure = touch.pressure; this.__dispatchTarget(touchOverTarget,touchEvent); } var touchOutStack = touchData.rollOutStack; var item; var i = 0; while(i < touchOutStack.length) { item = touchOutStack[i]; if(stack.indexOf(item) == -1) { HxOverrides.remove(touchOutStack,item); touchEvent = openfl_events_TouchEvent.__create("touchRollOut",null,touchX,touchY,touchOverTarget.__globalToLocal(targetPoint,localPoint),touchOverTarget); touchEvent.touchPointID = touchId; touchEvent.isPrimaryTouchPoint = isPrimaryTouchPoint; touchEvent.bubbles = false; touchEvent.pressure = touch.pressure; this.__dispatchTarget(item,touchEvent); } else { ++i; } } var _g = 0; while(_g < stack.length) { var item1 = stack[_g]; ++_g; if(touchOutStack.indexOf(item1) == -1) { if(item1.hasEventListener("touchRollOver")) { touchEvent = openfl_events_TouchEvent.__create("touchRollOver",null,touchX,touchY,touchOverTarget.__globalToLocal(targetPoint,localPoint),item1); touchEvent.touchPointID = touchId; touchEvent.isPrimaryTouchPoint = isPrimaryTouchPoint; touchEvent.bubbles = false; touchEvent.pressure = touch.pressure; this.__dispatchTarget(item1,touchEvent); } if(item1.hasEventListener("touchRollOut")) { touchOutStack.push(item1); } } } if(target != touchOverTarget) { if(target != null) { touchEvent = openfl_events_TouchEvent.__create("touchOver",null,touchX,touchY,target.__globalToLocal(targetPoint,localPoint),target); touchEvent.touchPointID = touchId; touchEvent.isPrimaryTouchPoint = isPrimaryTouchPoint; touchEvent.bubbles = true; touchEvent.pressure = touch.pressure; this.__dispatchTarget(target,touchEvent); } touchData.touchOverTarget = target; } openfl_geom_Point.__pool.release(targetPoint); openfl_geom_Point.__pool.release(localPoint); if(releaseTouchData) { this.__touchData.remove(touchId); touchData.reset(); openfl_utils__$internal_TouchData.__pool.release(touchData); } } ,__registerLimeModule: function(application) { application.onCreateWindow.add($bind(this,this.__onLimeCreateWindow)); application.onUpdate.add($bind(this,this.__onLimeUpdate)); application.onExit.add($bind(this,this.__onLimeModuleExit),false,0); var gamepad = lime_ui_Gamepad.devices.iterator(); while(gamepad.hasNext()) { var gamepad1 = gamepad.next(); this.__onLimeGamepadConnect(gamepad1); } lime_ui_Gamepad.onConnect.add($bind(this,this.__onLimeGamepadConnect)); lime_ui_Touch.onStart.add($bind(this,this.__onLimeTouchStart)); lime_ui_Touch.onMove.add($bind(this,this.__onLimeTouchMove)); lime_ui_Touch.onEnd.add($bind(this,this.__onLimeTouchEnd)); lime_ui_Touch.onCancel.add($bind(this,this.__onLimeTouchCancel)); } ,__resize: function() { var cacheWidth = this.stageWidth; var cacheHeight = this.stageHeight; var windowWidth = this.window.__width * this.window.__scale | 0; var windowHeight = this.window.__height * this.window.__scale | 0; this.__logicalWidth = windowWidth; this.__logicalHeight = windowHeight; this.__displayMatrix.identity(); if(this.get_fullScreenSourceRect() != null && this.window.__fullscreen) { this.stageWidth = this.get_fullScreenSourceRect().width | 0; this.stageHeight = this.get_fullScreenSourceRect().height | 0; var displayScaleX = windowWidth / this.stageWidth; var displayScaleY = windowHeight / this.stageHeight; this.__displayMatrix.translate(-this.get_fullScreenSourceRect().x,-this.get_fullScreenSourceRect().y); this.__displayMatrix.scale(displayScaleX,displayScaleY); this.__displayRect.setTo(this.get_fullScreenSourceRect().get_left(),this.get_fullScreenSourceRect().get_right(),this.get_fullScreenSourceRect().get_top(),this.get_fullScreenSourceRect().get_bottom()); } else { if(this.__logicalWidth == 0 && this.__logicalHeight == 0) { this.stageWidth = windowWidth; this.stageHeight = windowHeight; } else { this.stageWidth = this.__logicalWidth; this.stageHeight = this.__logicalHeight; var scaleX = windowWidth / this.stageWidth; var scaleY = windowHeight / this.stageHeight; var targetScale = Math.min(scaleX,scaleY); var offsetX = Math.round((windowWidth - this.stageWidth * targetScale) / 2); var offsetY = Math.round((windowHeight - this.stageHeight * targetScale) / 2); this.__displayMatrix.scale(targetScale,targetScale); this.__displayMatrix.translate(offsetX,offsetY); } this.__displayRect.setTo(0,0,this.stageWidth,this.stageHeight); } if(this.context3D != null) { this.context3D.configureBackBuffer(windowWidth,windowHeight,0,true,true,true); } var stage3D = this.stage3Ds.iterator(); while(stage3D.hasNext()) { var stage3D1 = stage3D.next(); stage3D1.__resize(windowWidth,windowHeight); } if(this.__renderer != null) { this.__renderer.__resize(windowWidth,windowHeight); } if(this.stageWidth != cacheWidth || this.stageHeight != cacheHeight) { this.__renderDirty = true; this.__setTransformDirty(); var event = null; event = new openfl_events_Event("resize"); this.__dispatchEvent(event); } } ,__setLogicalSize: function(width,height) { this.__logicalWidth = width; this.__logicalHeight = height; this.__resize(); } ,__startDrag: function(sprite,lockCenter,bounds) { if(bounds == null) { this.__dragBounds = null; } else { this.__dragBounds = new openfl_geom_Rectangle(); var right = bounds.get_right(); var bottom = bounds.get_bottom(); this.__dragBounds.x = right < bounds.x ? right : bounds.x; this.__dragBounds.y = bottom < bounds.y ? bottom : bounds.y; this.__dragBounds.width = Math.abs(bounds.width); this.__dragBounds.height = Math.abs(bounds.height); } this.__dragObject = sprite; if(this.__dragObject != null) { if(lockCenter) { this.__dragOffsetX = 0; this.__dragOffsetY = 0; } else { var mouse = openfl_geom_Point.__pool.get(); mouse.setTo(this.get_mouseX(),this.get_mouseY()); var parent = this.__dragObject.parent; if(parent != null) { var _this = parent.__getWorldTransform(); var norm = _this.a * _this.d - _this.b * _this.c; if(norm == 0) { mouse.x = -_this.tx; mouse.y = -_this.ty; } else { var px = 1.0 / norm * (_this.c * (_this.ty - mouse.y) + _this.d * (mouse.x - _this.tx)); mouse.y = 1.0 / norm * (_this.a * (mouse.y - _this.ty) + _this.b * (_this.tx - mouse.x)); mouse.x = px; } } this.__dragOffsetX = this.__dragObject.get_x() - mouse.x; this.__dragOffsetY = this.__dragObject.get_y() - mouse.y; openfl_geom_Point.__pool.release(mouse); } } } ,__stopDrag: function(sprite) { this.__dragBounds = null; this.__dragObject = null; } ,__unregisterLimeModule: function(application) { application.onCreateWindow.remove($bind(this,this.__onLimeCreateWindow)); application.onUpdate.remove($bind(this,this.__onLimeUpdate)); application.onExit.remove($bind(this,this.__onLimeModuleExit)); lime_ui_Gamepad.onConnect.remove($bind(this,this.__onLimeGamepadConnect)); lime_ui_Touch.onStart.remove($bind(this,this.__onLimeTouchStart)); lime_ui_Touch.onMove.remove($bind(this,this.__onLimeTouchMove)); lime_ui_Touch.onEnd.remove($bind(this,this.__onLimeTouchEnd)); lime_ui_Touch.onCancel.remove($bind(this,this.__onLimeTouchCancel)); } ,__update: function(transformOnly,updateChildren) { if(transformOnly) { if(this.__transformDirty) { openfl_display_DisplayObjectContainer.prototype.__update.call(this,true,updateChildren); if(updateChildren) { this.__transformDirty = false; } } } else if(this.__transformDirty || this.__renderDirty) { openfl_display_DisplayObjectContainer.prototype.__update.call(this,false,updateChildren); if(updateChildren) { if(openfl_display_DisplayObject.__supportDOM) { this.__wasDirty = true; } } } else if(!this.__renderDirty && this.__wasDirty) { openfl_display_DisplayObjectContainer.prototype.__update.call(this,false,updateChildren); if(updateChildren) { this.__wasDirty = false; } } } ,get_color: function() { return this.__color; } ,set_color: function(value) { if(value == null) { this.__transparent = true; value = 0; } else { this.__transparent = false; } if(this.__color != value) { var r = (value & 16711680) >>> 16; var g = (value & 65280) >>> 8; var b = value & 255; this.__colorSplit[0] = r / 255; this.__colorSplit[1] = g / 255; this.__colorSplit[2] = b / 255; this.__colorString = "#" + StringTools.hex(value & 16777215,6); this.__renderDirty = true; this.__color = -16777216 | value & 16777215; } return value; } ,get_contentsScaleFactor: function() { return this.__contentsScaleFactor; } ,get_displayState: function() { return this.__displayState; } ,set_displayState: function(value) { if(this.window != null) { if(value == 2) { if(this.window.__fullscreen) { this.window.set_fullscreen(false); } } else if(!this.window.__fullscreen) { this.window.set_fullscreen(true); } } return this.__displayState = value; } ,get_focus: function() { return this.__focus; } ,set_focus: function(value) { if(value != this.__focus) { var oldFocus = this.__focus; this.__focus = value; this.__cacheFocus = value; if(oldFocus != null) { var event = new openfl_events_FocusEvent("focusOut",true,false,value,false,0); var stack = []; oldFocus.__getInteractive(stack); stack.reverse(); this.__dispatchStack(event,stack); } if(value != null) { var event1 = new openfl_events_FocusEvent("focusIn",true,false,oldFocus,false,0); var stack1 = []; value.__getInteractive(stack1); stack1.reverse(); this.__dispatchStack(event1,stack1); } } return value; } ,get_frameRate: function() { if(this.window != null) { return this.window.__backend.getFrameRate(); } return 0; } ,set_frameRate: function(value) { if(this.window != null) { return this.window.__backend.setFrameRate(value); } return value; } ,get_fullScreenHeight: function() { return Math.ceil(this.window.get_display().currentMode.height * this.window.__scale); } ,get_fullScreenSourceRect: function() { if(this.__fullScreenSourceRect == null) { return null; } else { return this.__fullScreenSourceRect.clone(); } } ,set_fullScreenSourceRect: function(value) { if(value == null) { if(this.__fullScreenSourceRect != null) { this.__fullScreenSourceRect = null; this.__resize(); } } else if(!value.equals(this.__fullScreenSourceRect)) { this.__fullScreenSourceRect = value.clone(); this.__resize(); } return value; } ,get_fullScreenWidth: function() { return Math.ceil(this.window.get_display().currentMode.width * this.window.__scale); } ,set_height: function(value) { return this.get_height(); } ,get_mouseX: function() { return this.__mouseX; } ,get_mouseY: function() { return this.__mouseY; } ,get_quality: function() { return this.__quality; } ,set_quality: function(value) { this.__quality = value; if(this.__renderer != null) { var tmp = this.get_quality(); this.__renderer.__allowSmoothing = tmp != 2; } return value; } ,set_rotation: function(value) { return 0; } ,get_scaleMode: function() { return this.__scaleMode; } ,set_scaleMode: function(value) { return this.__scaleMode = value; } ,set_scaleX: function(value) { return 0; } ,set_scaleY: function(value) { return 0; } ,get_tabEnabled: function() { return false; } ,set_tabEnabled: function(value) { throw new js__$Boot_HaxeError(new openfl_errors_IllegalOperationError("Error: The Stage class does not implement this property or method.")); } ,get_tabIndex: function() { return -1; } ,set_tabIndex: function(value) { throw new js__$Boot_HaxeError(new openfl_errors_IllegalOperationError("Error: The Stage class does not implement this property or method.")); } ,set_transform: function(value) { return this.get_transform(); } ,set_width: function(value) { return this.get_width(); } ,set_x: function(value) { return 0; } ,set_y: function(value) { return 0; } ,__class__: openfl_display_Stage ,__properties__: $extend(openfl_display_DisplayObjectContainer.prototype.__properties__,{set_scaleMode:"set_scaleMode",get_scaleMode:"get_scaleMode",set_quality:"set_quality",get_quality:"get_quality",get_fullScreenWidth:"get_fullScreenWidth",set_fullScreenSourceRect:"set_fullScreenSourceRect",get_fullScreenSourceRect:"get_fullScreenSourceRect",get_fullScreenHeight:"get_fullScreenHeight",set_frameRate:"set_frameRate",get_frameRate:"get_frameRate",set_focus:"set_focus",get_focus:"get_focus",set_displayState:"set_displayState",get_displayState:"get_displayState",get_contentsScaleFactor:"get_contentsScaleFactor",set_color:"set_color",get_color:"get_color"}) }); var openfl_display_Stage3D = function(stage) { openfl_events_EventDispatcher.call(this); this.__stage = stage; this.__height = 0; this.__projectionTransform = new openfl_geom_Matrix3D(); this.__renderTransform = new openfl_geom_Matrix3D(); this.__width = 0; this.__x = 0; this.__y = 0; this.visible = true; if(stage.stageWidth > 0 && stage.stageHeight > 0) { this.__resize(stage.stageWidth,stage.stageHeight); } }; $hxClasses["openfl.display.Stage3D"] = openfl_display_Stage3D; openfl_display_Stage3D.__name__ = "openfl.display.Stage3D"; openfl_display_Stage3D.__active = null; openfl_display_Stage3D.__super__ = openfl_events_EventDispatcher; openfl_display_Stage3D.prototype = $extend(openfl_events_EventDispatcher.prototype,{ context3D: null ,visible: null ,__contextLost: null ,__contextRequested: null ,__height: null ,__indexBuffer: null ,__projectionTransform: null ,__renderTransform: null ,__stage: null ,__vertexBuffer: null ,__width: null ,__x: null ,__y: null ,__canvas: null ,__renderContext: null ,__style: null ,__webgl: null ,requestContext3D: function(context3DRenderMode,profile) { if(profile == null) { profile = 0; } if(context3DRenderMode == null) { context3DRenderMode = 0; } if(this.__contextLost) { this.__contextRequested = true; return; } if(this.context3D != null) { this.__contextRequested = true; haxe_Timer.delay($bind(this,this.__dispatchCreate),1); } else if(!this.__contextRequested) { this.__contextRequested = true; haxe_Timer.delay($bind(this,this.__createContext),1); } } ,requestContext3DMatchingProfiles: function(profiles) { this.requestContext3D(); } ,__createContext: function() { var stage = this.__stage; var renderer = stage.__renderer; if(renderer.__type == "cairo" || renderer.__type == "canvas") { this.__dispatchError(); return; } if(renderer.__type == "opengl") { this.context3D = new openfl_display3D_Context3D(stage,stage.context3D.__contextState,this); this.__dispatchCreate(); } else if(renderer.__type == "dom") { this.__canvas = window.document.createElement("canvas"); this.__canvas.width = stage.stageWidth; this.__canvas.height = stage.stageHeight; var $window = stage.window; var attributes = renderer.__context.attributes; var transparentBackground = Object.prototype.hasOwnProperty.call(attributes,"background") && attributes.background == null; var colorDepth = Object.prototype.hasOwnProperty.call(attributes,"colorDepth") ? attributes.colorDepth : 32; var options = Object.prototype.hasOwnProperty.call(attributes,"antialiasing") && attributes.antialiasing > 0; var options1 = { alpha : transparentBackground || colorDepth > 16, antialias : options, depth : true, premultipliedAlpha : true, stencil : true, preserveDrawingBuffer : false}; this.__webgl = js_html__$CanvasElement_CanvasUtil.getContextWebGL(this.__canvas,options1); if(this.__webgl != null) { this.__dispatchError(); } else { this.__dispatchError(); } } } ,__dispatchError: function() { this.__contextRequested = false; this.dispatchEvent(new openfl_events_ErrorEvent("error",false,false,"Context3D not available")); } ,__dispatchCreate: function() { if(this.__contextRequested) { this.__contextRequested = false; this.dispatchEvent(new openfl_events_Event("context3DCreate")); } } ,__lostContext: function() { this.__contextLost = true; if(this.context3D != null) { this.context3D.__dispose(); this.__contextRequested = true; } } ,__resize: function(width,height) { if(width != this.__width || height != this.__height) { if(this.__canvas != null) { this.__canvas.width = width; this.__canvas.height = height; } this.__projectionTransform.copyRawDataFrom(openfl__$Vector_Vector_$Impl_$.toFloatVector(null,null,null,[2.0 / (width > 0 ? width : 1),0.0,0.0,0.0,0.0,-2.0 / (height > 0 ? height : 1),0.0,0.0,0.0,0.0,-0.001,0.0,-1.0,1.0,0.0,1.0])); this.__renderTransform.identity(); this.__renderTransform.appendTranslation(this.__x,this.__y,0); this.__renderTransform.append(this.__projectionTransform); this.__width = width; this.__height = height; } } ,__restoreContext: function() { this.__contextLost = false; this.__createContext(); } ,get_x: function() { return this.__x; } ,set_x: function(value) { if(this.__x == value) { return value; } this.__x = value; this.__renderTransform.identity(); this.__renderTransform.appendTranslation(this.__x,this.__y,0); this.__renderTransform.append(this.__projectionTransform); return value; } ,get_y: function() { return this.__y; } ,set_y: function(value) { if(this.__y == value) { return value; } this.__y = value; this.__renderTransform.identity(); this.__renderTransform.appendTranslation(this.__x,this.__y,0); this.__renderTransform.append(this.__projectionTransform); return value; } ,__class__: openfl_display_Stage3D ,__properties__: {set_y:"set_y",get_y:"get_y",set_x:"set_x",get_x:"get_x"} }); var openfl_display__$StageAlign_StageAlign_$Impl_$ = {}; $hxClasses["openfl.display._StageAlign.StageAlign_Impl_"] = openfl_display__$StageAlign_StageAlign_$Impl_$; openfl_display__$StageAlign_StageAlign_$Impl_$.__name__ = "openfl.display._StageAlign.StageAlign_Impl_"; openfl_display__$StageAlign_StageAlign_$Impl_$.fromString = function(value) { switch(value) { case "bottom": return 0; case "bottomLeft": return 1; case "bottomRight": return 2; case "left": return 3; case "right": return 4; case "top": return 5; case "topLeft": return 6; case "topRight": return 7; default: return null; } }; openfl_display__$StageAlign_StageAlign_$Impl_$.toString = function(this1) { switch(this1) { case 0: return "bottom"; case 1: return "bottomLeft"; case 2: return "bottomRight"; case 3: return "left"; case 4: return "right"; case 5: return "top"; case 6: return "topLeft"; case 7: return "topRight"; default: return null; } }; var openfl_display__$StageDisplayState_StageDisplayState_$Impl_$ = {}; $hxClasses["openfl.display._StageDisplayState.StageDisplayState_Impl_"] = openfl_display__$StageDisplayState_StageDisplayState_$Impl_$; openfl_display__$StageDisplayState_StageDisplayState_$Impl_$.__name__ = "openfl.display._StageDisplayState.StageDisplayState_Impl_"; openfl_display__$StageDisplayState_StageDisplayState_$Impl_$.fromString = function(value) { switch(value) { case "fullScreen": return 0; case "fullScreenInteractive": return 1; case "normal": return 2; default: return null; } }; openfl_display__$StageDisplayState_StageDisplayState_$Impl_$.toString = function(this1) { switch(this1) { case 0: return "fullScreen"; case 1: return "fullScreenInteractive"; case 2: return "normal"; default: return null; } }; var openfl_display__$StageQuality_StageQuality_$Impl_$ = {}; $hxClasses["openfl.display._StageQuality.StageQuality_Impl_"] = openfl_display__$StageQuality_StageQuality_$Impl_$; openfl_display__$StageQuality_StageQuality_$Impl_$.__name__ = "openfl.display._StageQuality.StageQuality_Impl_"; openfl_display__$StageQuality_StageQuality_$Impl_$.fromString = function(value) { switch(value) { case "best": return 0; case "high": return 1; case "low": return 2; case "medium": return 3; default: return null; } }; openfl_display__$StageQuality_StageQuality_$Impl_$.toString = function(this1) { switch(this1) { case 0: return "best"; case 1: return "high"; case 2: return "low"; case 3: return "medium"; default: return null; } }; var openfl_display__$StageScaleMode_StageScaleMode_$Impl_$ = {}; $hxClasses["openfl.display._StageScaleMode.StageScaleMode_Impl_"] = openfl_display__$StageScaleMode_StageScaleMode_$Impl_$; openfl_display__$StageScaleMode_StageScaleMode_$Impl_$.__name__ = "openfl.display._StageScaleMode.StageScaleMode_Impl_"; openfl_display__$StageScaleMode_StageScaleMode_$Impl_$.fromString = function(value) { switch(value) { case "exactFit": return 0; case "noBorder": return 1; case "noScale": return 2; case "showAll": return 3; default: return null; } }; openfl_display__$StageScaleMode_StageScaleMode_$Impl_$.toString = function(this1) { switch(this1) { case 0: return "exactFit"; case 1: return "noBorder"; case 2: return "noScale"; case 3: return "showAll"; default: return null; } }; var openfl_display_Tile = function(id,x,y,scaleX,scaleY,rotation,originX,originY) { if(originY == null) { originY = 0; } if(originX == null) { originX = 0; } if(rotation == null) { rotation = 0; } if(scaleY == null) { scaleY = 1; } if(scaleX == null) { scaleX = 1; } if(y == null) { y = 0; } if(x == null) { x = 0; } if(id == null) { id = 0; } this.__id = id; this.__matrix = new openfl_geom_Matrix(); if(x != 0) { this.set_x(x); } if(y != 0) { this.set_y(y); } if(scaleX != 1) { this.set_scaleX(scaleX); } if(scaleY != 1) { this.set_scaleY(scaleY); } if(rotation != 0) { this.set_rotation(rotation); } this.__dirty = true; this.__length = 0; this.__originX = originX; this.__originY = originY; this.__alpha = 1; this.__blendMode = null; this.__visible = true; }; $hxClasses["openfl.display.Tile"] = openfl_display_Tile; openfl_display_Tile.__name__ = "openfl.display.Tile"; openfl_display_Tile.prototype = { data: null ,parent: null ,__alpha: null ,__blendMode: null ,__colorTransform: null ,__dirty: null ,__id: null ,__length: null ,__matrix: null ,__originX: null ,__originY: null ,__rect: null ,__rotation: null ,__rotationCosine: null ,__rotationSine: null ,__scaleX: null ,__scaleY: null ,__shader: null ,__tileset: null ,__visible: null ,clone: function() { var tile = new openfl_display_Tile(this.__id); tile.__alpha = this.__alpha; tile.__blendMode = this.__blendMode; tile.__originX = this.__originX; tile.__originY = this.__originY; if(this.__rect != null) { tile.__rect = this.__rect.clone(); } tile.set_matrix(this.__matrix.clone()); tile.__shader = this.__shader; tile.set_tileset(this.__tileset); if(this.__colorTransform != null) { tile.__colorTransform = this.__colorTransform.__clone(); } return tile; } ,getBounds: function(targetCoordinateSpace) { var result = new openfl_geom_Rectangle(); this.__findTileRect(result); var matrix = openfl_geom_Matrix.__pool.get(); if(targetCoordinateSpace != null && targetCoordinateSpace != this) { matrix.copyFrom(this.__getWorldTransform()); var targetMatrix = openfl_geom_Matrix.__pool.get(); targetMatrix.copyFrom(targetCoordinateSpace.__getWorldTransform()); targetMatrix.invert(); matrix.concat(targetMatrix); openfl_geom_Matrix.__pool.release(targetMatrix); } else { matrix.identity(); } this.__getBounds(result,matrix); openfl_geom_Matrix.__pool.release(matrix); return result; } ,__getBounds: function(result,matrix) { result.__transform(result,matrix); } ,hitTestTile: function(obj) { if(obj != null && obj.parent != null && this.parent != null) { var currentBounds = this.getBounds(this); var targetBounds = obj.getBounds(this); return currentBounds.intersects(targetBounds); } return false; } ,invalidate: function() { this.__setRenderDirty(); } ,__findTileRect: function(result) { if(this.get_tileset() == null) { if(this.parent != null) { var parentTileset = this.parent.__findTileset(); if(parentTileset == null) { result.setTo(0,0,0,0); } else { var _g = parentTileset.getRect(this.get_id()); if(_g == null) { result.setTo(0,0,0,0); } else { var not_null = _g; result.copyFrom(not_null); } } } else { result.setTo(0,0,0,0); } } else { result.copyFrom(this.get_tileset().getRect(this.get_id())); } result.x = 0; result.y = 0; } ,__findTileset: function() { if(this.get_tileset() != null) { return this.get_tileset(); } if(((this.parent) instanceof openfl_display_Tilemap)) { return this.parent.get_tileset(); } if(this.parent == null) { return null; } return this.parent.__findTileset(); } ,__getWorldTransform: function() { var retval = this.get_matrix().clone(); if(this.parent != null) { retval.concat(this.parent.__getWorldTransform()); } return retval; } ,__setRenderDirty: function() { if(!this.__dirty) { this.__dirty = true; if(this.parent != null) { this.parent.__setRenderDirty(); } } } ,get_alpha: function() { return this.__alpha; } ,set_alpha: function(value) { if(value != this.__alpha) { this.__alpha = value; this.__setRenderDirty(); } return value; } ,get_blendMode: function() { return this.__blendMode; } ,set_blendMode: function(value) { if(value != this.__blendMode) { this.__blendMode = value; this.__setRenderDirty(); } return value; } ,get_colorTransform: function() { return this.__colorTransform; } ,set_colorTransform: function(value) { if(value != this.__colorTransform) { this.__colorTransform = value; this.__setRenderDirty(); } return value; } ,get_height: function() { var result = openfl_geom_Rectangle.__pool.get(); this.__findTileRect(result); this.__getBounds(result,this.get_matrix()); var h = result.height; openfl_geom_Rectangle.__pool.release(result); return h; } ,set_height: function(value) { var result = openfl_geom_Rectangle.__pool.get(); this.__findTileRect(result); if(result.height != 0) { this.set_scaleY(value / result.height); } openfl_geom_Rectangle.__pool.release(result); return value; } ,get_id: function() { return this.__id; } ,set_id: function(value) { if(value != this.__id) { this.__id = value; this.__setRenderDirty(); } return value; } ,get_matrix: function() { return this.__matrix; } ,set_matrix: function(value) { if(value != this.__matrix) { this.__rotation = null; this.__scaleX = null; this.__scaleY = null; this.__matrix = value; this.__setRenderDirty(); } return value; } ,get_originX: function() { return this.__originX; } ,set_originX: function(value) { if(value != this.__originX) { this.__originX = value; this.__setRenderDirty(); } return value; } ,get_originY: function() { return this.__originY; } ,set_originY: function(value) { if(value != this.__originY) { this.__originY = value; this.__setRenderDirty(); } return value; } ,get_rect: function() { return this.__rect; } ,set_rect: function(value) { if(value != this.__rect) { this.__rect = value; this.__setRenderDirty(); } return value; } ,get_rotation: function() { if(this.__rotation == null) { if(this.__matrix.b == 0 && this.__matrix.c == 0) { this.__rotation = 0; this.__rotationSine = 0; this.__rotationCosine = 1; } else { var radians = Math.atan2(this.__matrix.d,this.__matrix.c) - Math.PI / 2; this.__rotation = radians * (180 / Math.PI); this.__rotationSine = Math.sin(radians); this.__rotationCosine = Math.cos(radians); } } return this.__rotation; } ,set_rotation: function(value) { if(value != this.__rotation) { this.__rotation = value; var radians = value * (Math.PI / 180); this.__rotationSine = Math.sin(radians); this.__rotationCosine = Math.cos(radians); var __scaleX = this.get_scaleX(); var __scaleY = this.get_scaleY(); this.__matrix.a = this.__rotationCosine * __scaleX; this.__matrix.b = this.__rotationSine * __scaleX; this.__matrix.c = -this.__rotationSine * __scaleY; this.__matrix.d = this.__rotationCosine * __scaleY; this.__setRenderDirty(); } return value; } ,get_scaleX: function() { if(this.__scaleX == null) { if(this.get_matrix().b == 0) { this.__scaleX = this.__matrix.a; } else { this.__scaleX = Math.sqrt(this.__matrix.a * this.__matrix.a + this.__matrix.b * this.__matrix.b); } } return this.__scaleX; } ,set_scaleX: function(value) { if(value != this.__scaleX) { this.__scaleX = value; if(this.__matrix.b == 0) { this.__matrix.a = value; } else { var rotation = this.get_rotation(); var a = this.__rotationCosine * value; var b = this.__rotationSine * value; this.__matrix.a = a; this.__matrix.b = b; } this.__setRenderDirty(); } return value; } ,get_scaleY: function() { if(this.__scaleY == null) { if(this.__matrix.c == 0) { this.__scaleY = this.get_matrix().d; } else { this.__scaleY = Math.sqrt(this.__matrix.c * this.__matrix.c + this.__matrix.d * this.__matrix.d); } } return this.__scaleY; } ,set_scaleY: function(value) { if(value != this.__scaleY) { this.__scaleY = value; if(this.__matrix.c == 0) { this.__matrix.d = value; } else { var rotation = this.get_rotation(); var c = -this.__rotationSine * value; var d = this.__rotationCosine * value; this.__matrix.c = c; this.__matrix.d = d; } this.__setRenderDirty(); } return value; } ,get_shader: function() { return this.__shader; } ,set_shader: function(value) { if(value != this.__shader) { this.__shader = value; this.__setRenderDirty(); } return value; } ,get_tileset: function() { return this.__tileset; } ,set_tileset: function(value) { if(value != this.__tileset) { this.__tileset = value; this.__setRenderDirty(); } return value; } ,get_visible: function() { return this.__visible; } ,set_visible: function(value) { if(value != this.__visible) { this.__visible = value; this.__setRenderDirty(); } return value; } ,get_width: function() { var result = openfl_geom_Rectangle.__pool.get(); this.__findTileRect(result); this.__getBounds(result,this.get_matrix()); var w = result.width; openfl_geom_Rectangle.__pool.release(result); return w; } ,set_width: function(value) { var result = openfl_geom_Rectangle.__pool.get(); this.__findTileRect(result); if(result.width != 0) { this.set_scaleX(value / result.width); } openfl_geom_Rectangle.__pool.release(result); return value; } ,get_x: function() { return this.__matrix.tx; } ,set_x: function(value) { if(value != this.__matrix.tx) { this.__matrix.tx = value; this.__setRenderDirty(); } return value; } ,get_y: function() { return this.__matrix.ty; } ,set_y: function(value) { if(value != this.__matrix.ty) { this.__matrix.ty = value; this.__setRenderDirty(); } return value; } ,__class__: openfl_display_Tile ,__properties__: {set_y:"set_y",get_y:"get_y",set_x:"set_x",get_x:"get_x",set_width:"set_width",get_width:"get_width",set_visible:"set_visible",get_visible:"get_visible",set_tileset:"set_tileset",get_tileset:"get_tileset",set_shader:"set_shader",get_shader:"get_shader",set_scaleY:"set_scaleY",get_scaleY:"get_scaleY",set_scaleX:"set_scaleX",get_scaleX:"get_scaleX",set_rotation:"set_rotation",get_rotation:"get_rotation",set_rect:"set_rect",get_rect:"get_rect",set_originY:"set_originY",get_originY:"get_originY",set_originX:"set_originX",get_originX:"get_originX",set_matrix:"set_matrix",get_matrix:"get_matrix",set_id:"set_id",get_id:"get_id",set_height:"set_height",get_height:"get_height",set_colorTransform:"set_colorTransform",get_colorTransform:"get_colorTransform",set_blendMode:"set_blendMode",get_blendMode:"get_blendMode",set_alpha:"set_alpha",get_alpha:"get_alpha"} }; var openfl_display_TileContainer = function(x,y,scaleX,scaleY,rotation,originX,originY) { if(originY == null) { originY = 0; } if(originX == null) { originX = 0; } if(rotation == null) { rotation = 0; } if(scaleY == null) { scaleY = 1; } if(scaleX == null) { scaleX = 1; } if(y == null) { y = 0; } if(x == null) { x = 0; } openfl_display_Tile.call(this,-1,x,y,scaleX,scaleY,rotation,originX,originY); this.__tiles = []; this.__length = 0; }; $hxClasses["openfl.display.TileContainer"] = openfl_display_TileContainer; openfl_display_TileContainer.__name__ = "openfl.display.TileContainer"; openfl_display_TileContainer.__interfaces__ = [openfl_display_ITileContainer]; openfl_display_TileContainer.__super__ = openfl_display_Tile; openfl_display_TileContainer.prototype = $extend(openfl_display_Tile.prototype,{ __tiles: null ,addTile: function(tile) { if(tile == null) { return null; } if(tile.parent == this) { HxOverrides.remove(this.__tiles,tile); this.__length--; } this.__tiles[this.get_numTiles()] = tile; tile.parent = this; this.__length++; this.__setRenderDirty(); return tile; } ,addTileAt: function(tile,index) { if(tile == null) { return null; } if(tile.parent == this) { HxOverrides.remove(this.__tiles,tile); this.__length--; } this.__tiles.splice(index,0,tile); tile.parent = this; this.__length++; this.__setRenderDirty(); return tile; } ,addTiles: function(tiles) { var _g = 0; while(_g < tiles.length) { var tile = tiles[_g]; ++_g; this.addTile(tile); } return tiles; } ,clone: function() { var group = new openfl_display_TileContainer(); var _g = 0; var _g1 = this.__tiles; while(_g < _g1.length) { var tile = _g1[_g]; ++_g; group.addTile(tile.clone()); } return group; } ,contains: function(tile) { return this.__tiles.indexOf(tile) > -1; } ,getBounds: function(targetCoordinateSpace) { var result = new openfl_geom_Rectangle(); var rect = null; var _g = 0; var _g1 = this.__tiles; while(_g < _g1.length) { var tile = _g1[_g]; ++_g; rect = tile.getBounds(targetCoordinateSpace); result.__expand(rect.x,rect.y,rect.width,rect.height); } return result; } ,getTileAt: function(index) { if(index >= 0 && index < this.get_numTiles()) { return this.__tiles[index]; } return null; } ,getTileIndex: function(tile) { var _g = 0; var _g1 = this.__tiles.length; while(_g < _g1) { var i = _g++; if(this.__tiles[i] == tile) { return i; } } return -1; } ,removeTile: function(tile) { if(tile != null && tile.parent == this) { tile.parent = null; HxOverrides.remove(this.__tiles,tile); this.__length--; this.__setRenderDirty(); } return tile; } ,removeTileAt: function(index) { if(index >= 0 && index < this.get_numTiles()) { return this.removeTile(this.__tiles[index]); } return null; } ,removeTiles: function(beginIndex,endIndex) { if(endIndex == null) { endIndex = 2147483647; } if(beginIndex == null) { beginIndex = 0; } if(beginIndex < 0) { beginIndex = 0; } if(endIndex > this.__tiles.length - 1) { endIndex = this.__tiles.length - 1; } var removed = this.__tiles.splice(beginIndex,endIndex - beginIndex + 1); var _g = 0; while(_g < removed.length) { var tile = removed[_g]; ++_g; tile.parent = null; } this.__length = this.__tiles.length; this.__setRenderDirty(); } ,setTileIndex: function(tile,index) { if(index >= 0 && index <= this.get_numTiles() && tile.parent == this) { HxOverrides.remove(this.__tiles,tile); this.__tiles.splice(index,0,tile); this.__setRenderDirty(); } } ,sortTiles: function(compareFunction) { this.__tiles.sort(compareFunction); this.__setRenderDirty(); } ,swapTiles: function(tile1,tile2) { if(tile1.parent == this && tile2.parent == this) { var index1 = this.__tiles.indexOf(tile1); var index2 = this.__tiles.indexOf(tile2); this.__tiles[index1] = tile2; this.__tiles[index2] = tile1; this.__setRenderDirty(); } } ,swapTilesAt: function(index1,index2) { var swap = this.__tiles[index1]; this.__tiles[index1] = this.__tiles[index2]; this.__tiles[index2] = swap; swap = null; this.__setRenderDirty(); } ,get_numTiles: function() { return this.__length; } ,get_height: function() { var result = openfl_geom_Rectangle.__pool.get(); var rect = null; var _g = 0; var _g1 = this.__tiles; while(_g < _g1.length) { var tile = _g1[_g]; ++_g; rect = tile.getBounds(this); result.__expand(rect.x,rect.y,rect.width,rect.height); } this.__getBounds(result,this.get_matrix()); var h = result.height; openfl_geom_Rectangle.__pool.release(result); return h; } ,set_height: function(value) { var result = openfl_geom_Rectangle.__pool.get(); var rect = null; var _g = 0; var _g1 = this.__tiles; while(_g < _g1.length) { var tile = _g1[_g]; ++_g; rect = tile.getBounds(this); result.__expand(rect.x,rect.y,rect.width,rect.height); } if(result.height != 0) { this.set_scaleY(value / result.height); } openfl_geom_Rectangle.__pool.release(result); return value; } ,get_width: function() { var result = openfl_geom_Rectangle.__pool.get(); var rect = null; var _g = 0; var _g1 = this.__tiles; while(_g < _g1.length) { var tile = _g1[_g]; ++_g; rect = tile.getBounds(this); result.__expand(rect.x,rect.y,rect.width,rect.height); } this.__getBounds(result,this.get_matrix()); var w = result.width; openfl_geom_Rectangle.__pool.release(result); return w; } ,set_width: function(value) { var result = openfl_geom_Rectangle.__pool.get(); var rect = null; var _g = 0; var _g1 = this.__tiles; while(_g < _g1.length) { var tile = _g1[_g]; ++_g; rect = tile.getBounds(this); result.__expand(rect.x,rect.y,rect.width,rect.height); } if(result.width != 0) { this.set_scaleX(value / result.width); } openfl_geom_Rectangle.__pool.release(result); return value; } ,__class__: openfl_display_TileContainer ,__properties__: $extend(openfl_display_Tile.prototype.__properties__,{get_numTiles:"get_numTiles"}) }); var openfl_display_Tilemap = function(width,height,tileset,smoothing) { if(smoothing == null) { smoothing = true; } openfl_display_DisplayObject.call(this); this.__drawableType = 9; this.__tileset = tileset; this.smoothing = smoothing; this.tileAlphaEnabled = true; this.tileBlendModeEnabled = true; this.tileColorTransformEnabled = true; this.__group = new openfl_display_TileContainer(); this.__group.set_tileset(tileset); this.__width = width; this.__height = height; }; $hxClasses["openfl.display.Tilemap"] = openfl_display_Tilemap; openfl_display_Tilemap.__name__ = "openfl.display.Tilemap"; openfl_display_Tilemap.__interfaces__ = [openfl_display_ITileContainer]; openfl_display_Tilemap.__super__ = openfl_display_DisplayObject; openfl_display_Tilemap.prototype = $extend(openfl_display_DisplayObject.prototype,{ tileAlphaEnabled: null ,tileBlendModeEnabled: null ,tileColorTransformEnabled: null ,smoothing: null ,__group: null ,__tileset: null ,__buffer: null ,__bufferDirty: null ,__height: null ,__width: null ,addTile: function(tile) { return this.__group.addTile(tile); } ,addTileAt: function(tile,index) { return this.__group.addTileAt(tile,index); } ,addTiles: function(tiles) { return this.__group.addTiles(tiles); } ,contains: function(tile) { return this.__group.contains(tile); } ,getTileAt: function(index) { return this.__group.getTileAt(index); } ,getTileIndex: function(tile) { return this.__group.getTileIndex(tile); } ,getTiles: function() { return this.__group.clone(); } ,removeTile: function(tile) { return this.__group.removeTile(tile); } ,removeTileAt: function(index) { return this.__group.removeTileAt(index); } ,removeTiles: function(beginIndex,endIndex) { if(endIndex == null) { endIndex = 2147483647; } if(beginIndex == null) { beginIndex = 0; } this.__group.removeTiles(beginIndex,endIndex); return; } ,setTileIndex: function(tile,index) { this.__group.setTileIndex(tile,index); } ,setTiles: function(group) { var _g = 0; var _g1 = this.__group.__tiles; while(_g < _g1.length) { var tile = _g1[_g]; ++_g; this.removeTile(tile); } var _g2 = 0; var _g3 = group.__tiles; while(_g2 < _g3.length) { var tile1 = _g3[_g2]; ++_g2; this.addTile(tile1); } } ,sortTiles: function(compareFunction) { this.__group.sortTiles(compareFunction); } ,swapTiles: function(tile1,tile2) { this.__group.swapTiles(tile1,tile2); } ,swapTilesAt: function(index1,index2) { this.__group.swapTilesAt(index1,index2); } ,__enterFrame: function(deltaTime) { if(this.__group.__dirty) { if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } } ,__getBounds: function(rect,matrix) { var bounds = openfl_geom_Rectangle.__pool.get(); bounds.setTo(0,0,this.__width,this.__height); bounds.__transform(bounds,matrix); rect.__expand(bounds.x,bounds.y,bounds.width,bounds.height); openfl_geom_Rectangle.__pool.release(bounds); } ,__hitTest: function(x,y,shapeFlag,stack,interactiveOnly,hitObject) { if(!hitObject.get_visible() || this.__isMask) { return false; } if(this.get_mask() != null && !this.get_mask().__hitTestMask(x,y)) { return false; } this.__getRenderTransform(); var _this = this.__renderTransform; var norm = _this.a * _this.d - _this.b * _this.c; var px = norm == 0 ? -_this.tx : 1.0 / norm * (_this.c * (_this.ty - y) + _this.d * (x - _this.tx)); var _this1 = this.__renderTransform; var norm1 = _this1.a * _this1.d - _this1.b * _this1.c; var py = norm1 == 0 ? -_this1.ty : 1.0 / norm1 * (_this1.a * (y - _this1.ty) + _this1.b * (_this1.tx - x)); if(px > 0 && py > 0 && px <= this.__width && py <= this.__height) { if(stack != null && !interactiveOnly) { stack.push(hitObject); } return true; } return false; } ,__renderFlash: function() { } ,get_height: function() { return this.__height * Math.abs(this.get_scaleY()); } ,set_height: function(value) { this.__height = value | 0; return this.__height * Math.abs(this.get_scaleY()); } ,get_numTiles: function() { return this.__group.__length; } ,get_tileset: function() { return this.__tileset; } ,set_tileset: function(value) { if(value != this.__tileset) { this.__tileset = value; this.__group.set_tileset(value); this.__group.__dirty = true; if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } return value; } ,get_width: function() { return this.__width * Math.abs(this.__scaleX); } ,set_width: function(value) { this.__width = value | 0; return this.__width * Math.abs(this.__scaleX); } ,__class__: openfl_display_Tilemap ,__properties__: $extend(openfl_display_DisplayObject.prototype.__properties__,{set_tileset:"set_tileset",get_tileset:"get_tileset",get_numTiles:"get_numTiles"}) }); var openfl_display_Tileset = function(bitmapData,rects) { this.__bitmapData = bitmapData; this.rectData = openfl__$Vector_Vector_$Impl_$.toFloatVector(null); this.__data = []; if(rects != null) { var _g = 0; while(_g < rects.length) { var rect = rects[_g]; ++_g; this.addRect(rect); } } }; $hxClasses["openfl.display.Tileset"] = openfl_display_Tileset; openfl_display_Tileset.__name__ = "openfl.display.Tileset"; openfl_display_Tileset.prototype = { rectData: null ,__bitmapData: null ,__data: null ,addRect: function(rect) { if(rect == null) { return -1; } this.rectData.push(rect.x); this.rectData.push(rect.y); this.rectData.push(rect.width); this.rectData.push(rect.height); var tileData = new openfl_display__$Tileset_TileData(rect); tileData.__update(this.__bitmapData); this.__data.push(tileData); return this.__data.length - 1; } ,clone: function() { var tileset = new openfl_display_Tileset(this.__bitmapData,null); var rect = openfl_geom_Rectangle.__pool.get(); var _g = 0; var _g1 = this.__data; while(_g < _g1.length) { var tileData = _g1[_g]; ++_g; rect.setTo(tileData.x,tileData.y,tileData.width,tileData.height); tileset.addRect(rect); } openfl_geom_Rectangle.__pool.release(rect); return tileset; } ,hasRect: function(rect) { var _g = 0; var _g1 = this.__data; while(_g < _g1.length) { var tileData = _g1[_g]; ++_g; if(rect.x == tileData.x && rect.y == tileData.y && rect.width == tileData.width && rect.height == tileData.height) { return true; } } return false; } ,getRect: function(id) { if(id < this.__data.length && id >= 0) { return new openfl_geom_Rectangle(this.__data[id].x,this.__data[id].y,this.__data[id].width,this.__data[id].height); } return null; } ,getRectID: function(rect) { var tileData; var _g = 0; var _g1 = this.__data.length; while(_g < _g1) { var i = _g++; tileData = this.__data[i]; if(rect.x == tileData.x && rect.y == tileData.y && rect.width == tileData.width && rect.height == tileData.height) { return i; } } return null; } ,get_bitmapData: function() { return this.__bitmapData; } ,set_bitmapData: function(value) { this.__bitmapData = value; var _g = 0; var _g1 = this.__data; while(_g < _g1.length) { var data = _g1[_g]; ++_g; data.__update(this.__bitmapData); } return value; } ,get_numRects: function() { return this.__data.length; } ,__class__: openfl_display_Tileset ,__properties__: {get_numRects:"get_numRects",set_bitmapData:"set_bitmapData",get_bitmapData:"get_bitmapData"} }; var openfl_display__$Tileset_TileData = function(rect) { if(rect != null) { this.x = rect.x | 0; this.y = rect.y | 0; this.width = rect.width | 0; this.height = rect.height | 0; } }; $hxClasses["openfl.display._Tileset.TileData"] = openfl_display__$Tileset_TileData; openfl_display__$Tileset_TileData.__name__ = "openfl.display._Tileset.TileData"; openfl_display__$Tileset_TileData.prototype = { height: null ,width: null ,x: null ,y: null ,__bitmapData: null ,__uvHeight: null ,__uvWidth: null ,__uvX: null ,__uvY: null ,__update: function(bitmapData) { if(bitmapData != null) { var bitmapWidth = bitmapData.width; var bitmapHeight = bitmapData.height; this.__uvX = this.x / bitmapWidth; this.__uvY = this.y / bitmapHeight; this.__uvWidth = (this.x + this.width) / bitmapWidth; this.__uvHeight = (this.y + this.height) / bitmapHeight; } } ,__class__: openfl_display__$Tileset_TileData }; var openfl_display_Timeline = function() { this.__framesLoaded = 1; this.__totalFrames = 1; this.__currentLabels = []; this.__currentFrame = 1; this.__lastFrameScriptEval = -1; this.__lastFrameUpdate = -1; }; $hxClasses["openfl.display.Timeline"] = openfl_display_Timeline; openfl_display_Timeline.__name__ = "openfl.display.Timeline"; openfl_display_Timeline.prototype = { frameRate: null ,scenes: null ,scripts: null ,__currentFrame: null ,__currentFrameLabel: null ,__currentLabel: null ,__currentLabels: null ,__currentScene: null ,__frameScripts: null ,__framesLoaded: null ,__frameTime: null ,__isPlaying: null ,__lastFrameScriptEval: null ,__lastFrameUpdate: null ,__scope: null ,__timeElapsed: null ,__totalFrames: null ,attachMovieClip: function(movieClip) { } ,enterFrame: function(frame) { } ,__addFrameScript: function(index,method) { if(index < 0) { return; } var frame = index + 1; if(method != null) { if(this.__frameScripts == null) { this.__frameScripts = new haxe_ds_IntMap(); } this.__frameScripts.h[frame] = function(scope) { method(); }; } else if(this.__frameScripts != null) { this.__frameScripts.remove(frame); } } ,__attachMovieClip: function(movieClip) { this.__scope = movieClip; this.__totalFrames = 0; this.__framesLoaded = 0; if(this.scenes != null && this.scenes.length > 0) { var _g = 0; var _g1 = this.scenes; while(_g < _g1.length) { var scene = _g1[_g]; ++_g; this.__totalFrames += scene.numFrames; this.__framesLoaded += scene.numFrames; if(scene.labels != null) { this.__currentLabels = this.__currentLabels.concat(scene.labels); } } this.__currentScene = this.scenes[0]; } if(this.scripts != null && this.scripts.length > 0) { this.__frameScripts = new haxe_ds_IntMap(); var _g2 = 0; var _g11 = this.scripts; while(_g2 < _g11.length) { var script = _g11[_g2]; ++_g2; this.__frameScripts.h[script.frame] = script.script; } } this.attachMovieClip(movieClip); } ,__enterFrame: function(deltaTime) { if(this.__isPlaying) { var nextFrame = this.__getNextFrame(deltaTime); if(this.__lastFrameScriptEval == nextFrame) { return; } if(this.__frameScripts != null) { if(nextFrame < this.__currentFrame) { if(!this.__evaluateFrameScripts(this.__totalFrames)) { return; } this.__currentFrame = 1; } if(!this.__evaluateFrameScripts(nextFrame)) { return; } } else { this.__currentFrame = nextFrame; } } this.__updateSymbol(this.__currentFrame); } ,__evaluateFrameScripts: function(advanceToFrame) { if(this.__frameScripts == null) { return true; } var _g = this.__currentFrame; var _g1 = advanceToFrame + 1; while(_g < _g1) { var frame = _g++; if(frame == this.__lastFrameScriptEval) { continue; } this.__lastFrameScriptEval = frame; this.__currentFrame = frame; if(this.__frameScripts.h.hasOwnProperty(frame)) { this.__updateSymbol(frame); var script = this.__frameScripts.h[frame]; script(this.__scope); if(this.__currentFrame != frame) { return false; } } if(!this.__isPlaying) { return false; } } return true; } ,__getNextFrame: function(deltaTime) { var nextFrame = 0; if(this.frameRate != null) { this.__timeElapsed += deltaTime; nextFrame = this.__currentFrame + Math.floor(this.__timeElapsed / this.__frameTime); if(nextFrame < 1) { nextFrame = 1; } if(nextFrame > this.__totalFrames) { nextFrame = Math.floor((nextFrame - 1) % this.__totalFrames) + 1; } this.__timeElapsed %= this.__frameTime; } else { nextFrame = this.__currentFrame + 1; if(nextFrame > this.__totalFrames) { nextFrame = 1; } } return nextFrame; } ,__goto: function(frame) { if(frame < 1) { frame = 1; } else if(frame > this.__totalFrames) { frame = this.__totalFrames; } this.__lastFrameScriptEval = -1; this.__currentFrame = frame; this.__updateSymbol(this.__currentFrame); this.__evaluateFrameScripts(this.__currentFrame); } ,__gotoAndPlay: function(frame,scene) { this.__play(); this.__goto(this.__resolveFrameReference(frame)); } ,__gotoAndStop: function(frame,scene) { this.__stop(); this.__goto(this.__resolveFrameReference(frame)); } ,__nextFrame: function() { this.__stop(); this.__goto(this.__currentFrame + 1); } ,__nextScene: function() { } ,__play: function() { if(this.__isPlaying || this.__totalFrames < 2) { return; } this.__isPlaying = true; if(this.frameRate != null) { this.__frameTime = 1000 / this.frameRate | 0; this.__timeElapsed = 0; } } ,__prevFrame: function() { this.__stop(); this.__goto(this.__currentFrame - 1); } ,__prevScene: function() { } ,__stop: function() { this.__isPlaying = false; } ,__resolveFrameReference: function(frame) { if(typeof(frame) == "number" && ((frame | 0) === frame)) { return frame; } else if(typeof(frame) == "string") { var label = frame; var _g = 0; var _g1 = this.__currentLabels; while(_g < _g1.length) { var frameLabel = _g1[_g]; ++_g; if(frameLabel.name == label) { return frameLabel.frame; } } throw new js__$Boot_HaxeError(new openfl_errors_ArgumentError("Error #2109: Frame label " + label + " not found in scene.")); } else { throw new js__$Boot_HaxeError("Invalid type for frame " + frame.__name__); } } ,__updateFrameLabel: function() { this.__currentLabel = null; this.__currentFrameLabel = null; var _g = 0; var _g1 = this.__currentLabels; while(_g < _g1.length) { var label = _g1[_g]; ++_g; if(label.frame < this.__currentFrame) { this.__currentLabel = label.name; } else if(label.frame == this.__currentFrame) { this.__currentLabel = label.name; this.__currentFrameLabel = label.name; } else { break; } } } ,__updateSymbol: function(targetFrame) { if(this.__currentFrame != this.__lastFrameUpdate) { this.__updateFrameLabel(); this.enterFrame(targetFrame); this.__lastFrameUpdate = this.__currentFrame; } } ,__class__: openfl_display_Timeline }; var openfl_display__$TriangleCulling_TriangleCulling_$Impl_$ = {}; $hxClasses["openfl.display._TriangleCulling.TriangleCulling_Impl_"] = openfl_display__$TriangleCulling_TriangleCulling_$Impl_$; openfl_display__$TriangleCulling_TriangleCulling_$Impl_$.__name__ = "openfl.display._TriangleCulling.TriangleCulling_Impl_"; openfl_display__$TriangleCulling_TriangleCulling_$Impl_$.fromString = function(value) { switch(value) { case "negative": return 0; case "none": return 1; case "positive": return 2; default: return null; } }; openfl_display__$TriangleCulling_TriangleCulling_$Impl_$.toString = function(this1) { switch(this1) { case 0: return "negative"; case 1: return "none"; case 2: return "positive"; default: return null; } }; var openfl_display_Window = function(application,attributes) { lime_ui_Window.call(this,application,attributes); this.stage = new openfl_display_Stage(this,Object.prototype.hasOwnProperty.call(attributes.context,"background") ? attributes.context.background : 16777215); if(Object.prototype.hasOwnProperty.call(attributes,"parameters")) { try { this.stage.get_loaderInfo().parameters = attributes.parameters; } catch( e ) { haxe_CallStack.lastException = e; var e1 = ((e) instanceof js__$Boot_HaxeError) ? e.val : e; } } if(Object.prototype.hasOwnProperty.call(attributes,"resizable") && !attributes.resizable) { this.stage.__setLogicalSize(attributes.width,attributes.height); } application.addModule(this.stage); }; $hxClasses["openfl.display.Window"] = openfl_display_Window; openfl_display_Window.__name__ = "openfl.display.Window"; openfl_display_Window.__super__ = lime_ui_Window; openfl_display_Window.prototype = $extend(lime_ui_Window.prototype,{ __class__: openfl_display_Window }); var openfl_display__$internal_AbstractNoise = function(seed,octaves,channels,grayScale,falloff,stitch,stitch_threshold) { if(stitch_threshold == null) { stitch_threshold = 0.05; } if(stitch == null) { stitch = false; } this.stitch = stitch; this.stitch_threshold = stitch_threshold; this.octaves = octaves; this.channels = channels; this.grayscale = grayScale; this.calculateOctaves(falloff); }; $hxClasses["openfl.display._internal.AbstractNoise"] = openfl_display__$internal_AbstractNoise; openfl_display__$internal_AbstractNoise.__name__ = "openfl.display._internal.AbstractNoise"; openfl_display__$internal_AbstractNoise.prototype = { octaves: null ,stitch: null ,stitch_threshold: null ,channels: null ,grayscale: null ,octaves_frequencies: null ,octaves_persistences: null ,persistence_max: null ,fill: function(bitmap,_scale_x,_scale_y,_scale_z) { } ,stitching: function(bitmap,color,px,py,stitch_w,stitch_h,width,height) { var r = color >> 16 & 255; var g = color >> 8 & 255; var b = color & 255; if(width - stitch_w < px) { var dest = bitmap.getPixel32(width - px,py); var dest_r = dest >> 16 & 255; var dest_g = dest >> 8 & 255; var dest_b = dest & 255; var u = (width - px) / stitch_w; var uu = u * u; r = this.mixI(dest_r,r,u); g = this.mixI(dest_g,g,u); b = this.mixI(dest_b,b,u); } if(height - stitch_h < py) { var dest1 = bitmap.getPixel32(px,height - py); var dest_r1 = dest1 >> 16 & 255; var dest_g1 = dest1 >> 8 & 255; var dest_b1 = dest1 & 255; var u1 = (height - py) / stitch_h; var uu1 = u1 * u1; r = this.mixI(dest_r1,r,u1); g = this.mixI(dest_g1,g,u1); b = this.mixI(dest_b1,b,u1); } return -16777216 | r << 16 | g << 8 | b; } ,color: function(r_noise,g_noise,b_noise) { var color_r = 0; var color_g = 0; var color_b = 0; if(null != r_noise) { color_r = this.noiseToColor(r_noise); } if(null != g_noise) { color_g = this.noiseToColor(g_noise); } if(null != b_noise) { color_b = this.noiseToColor(b_noise); } return -16777216 | color_r << 16 | color_g << 8 | color_b; } ,noiseToColor: function(noise) { return (noise * this.persistence_max + 1.0) * 128 | 0; } ,fade: function(t) { return t * t * t * (t * (t * 6.0 - 15.0) + 10.0); } ,mixI: function(x,y,t) { return (1.0 - t) * x + t * y | 0; } ,mix: function(x,y,t) { return (1.0 - t) * x + t * y; } ,fastfloor: function(x) { if(x > 0) { return x | 0; } else { return x - 1 | 0; } } ,dot2d: function(grad,x,y) { return grad[0] * x + grad[1] * y; } ,dot: function(grad,x,y,z) { return grad[0] * x + grad[1] * y + grad[2] * z; } ,calculateOctaves: function(fPersistence) { var fFreq; var fPers; this.octaves_frequencies = []; this.octaves_persistences = []; this.persistence_max = 0; var _g = 0; var _g1 = this.octaves; while(_g < _g1) { var i = _g++; fFreq = Math.pow(2.0,i); fPers = Math.pow(fPersistence,i); this.persistence_max += fPers; this.octaves_frequencies.push(fFreq); this.octaves_persistences.push(fPers); } this.persistence_max = 1.0 / this.persistence_max; } ,__class__: openfl_display__$internal_AbstractNoise }; var openfl_display__$internal_CairoBitmap = function() { }; $hxClasses["openfl.display._internal.CairoBitmap"] = openfl_display__$internal_CairoBitmap; openfl_display__$internal_CairoBitmap.__name__ = "openfl.display._internal.CairoBitmap"; openfl_display__$internal_CairoBitmap.render = function(bitmap,renderer) { if(!bitmap.__renderable) { return; } var alpha = renderer.__getAlpha(bitmap.__worldAlpha); if(alpha > 0 && bitmap.__bitmapData != null && bitmap.__bitmapData.__isValid) { var cairo = renderer.cairo; renderer.__setBlendMode(bitmap.__worldBlendMode); renderer.__pushMaskObject(bitmap); renderer.applyMatrix(bitmap.__renderTransform,cairo); var surface = bitmap.__bitmapData.getSurface(); if(surface != null) { var pattern = lime_graphics_cairo__$CairoPattern_CairoPattern_$Impl_$.createForSurface(surface); lime_graphics_cairo__$CairoPattern_CairoPattern_$Impl_$.set_filter(pattern,renderer.__allowSmoothing && bitmap.smoothing ? 1 : 3); cairo.set_source(pattern); if(alpha == 1) { cairo.paint(); } else { cairo.paintWithAlpha(alpha); } } renderer.__popMaskObject(bitmap); renderer.__setBlendMode(10); } }; openfl_display__$internal_CairoBitmap.renderDrawable = function(bitmap,renderer) { }; openfl_display__$internal_CairoBitmap.renderDrawableMask = function(bitmap,renderer) { renderer.cairo.rectangle(0,0,bitmap.get_width(),bitmap.get_height()); }; var openfl_display__$internal_CairoBitmapData = function() { }; $hxClasses["openfl.display._internal.CairoBitmapData"] = openfl_display__$internal_CairoBitmapData; openfl_display__$internal_CairoBitmapData.__name__ = "openfl.display._internal.CairoBitmapData"; openfl_display__$internal_CairoBitmapData.renderDrawable = function(bitmapData,renderer) { }; openfl_display__$internal_CairoBitmapData.renderDrawableMask = function(tilemap,renderer) { }; var openfl_display__$internal_CairoDisplayObject = function() { }; $hxClasses["openfl.display._internal.CairoDisplayObject"] = openfl_display__$internal_CairoDisplayObject; openfl_display__$internal_CairoDisplayObject.__name__ = "openfl.display._internal.CairoDisplayObject"; openfl_display__$internal_CairoDisplayObject.render = function(displayObject,renderer) { }; openfl_display__$internal_CairoDisplayObject.renderDrawable = function(displayObject,renderer) { }; openfl_display__$internal_CairoDisplayObject.renderDrawableMask = function(displayObject,renderer) { }; var openfl_display__$internal_CairoDisplayObjectContainer = function() { }; $hxClasses["openfl.display._internal.CairoDisplayObjectContainer"] = openfl_display__$internal_CairoDisplayObjectContainer; openfl_display__$internal_CairoDisplayObjectContainer.__name__ = "openfl.display._internal.CairoDisplayObjectContainer"; openfl_display__$internal_CairoDisplayObjectContainer.renderDrawable = function(displayObjectContainer,renderer) { }; openfl_display__$internal_CairoDisplayObjectContainer.renderDrawableMask = function(displayObjectContainer,renderer) { }; var openfl_display__$internal_CairoGraphics = function() { }; $hxClasses["openfl.display._internal.CairoGraphics"] = openfl_display__$internal_CairoGraphics; openfl_display__$internal_CairoGraphics.__name__ = "openfl.display._internal.CairoGraphics"; openfl_display__$internal_CairoGraphics.hitTest = function(graphics,x,y) { return false; }; openfl_display__$internal_CairoGraphics.render = function(graphics,renderer) { }; openfl_display__$internal_CairoGraphics.renderMask = function(graphics,renderer) { }; var openfl_display__$internal_CairoShape = function() { }; $hxClasses["openfl.display._internal.CairoShape"] = openfl_display__$internal_CairoShape; openfl_display__$internal_CairoShape.__name__ = "openfl.display._internal.CairoShape"; openfl_display__$internal_CairoShape.render = function(shape,renderer) { }; openfl_display__$internal_CairoShape.renderDrawable = function(shape,renderer) { }; openfl_display__$internal_CairoShape.renderDrawableMask = function(shape,renderer) { }; var openfl_display__$internal_CairoSimpleButton = function() { }; $hxClasses["openfl.display._internal.CairoSimpleButton"] = openfl_display__$internal_CairoSimpleButton; openfl_display__$internal_CairoSimpleButton.__name__ = "openfl.display._internal.CairoSimpleButton"; openfl_display__$internal_CairoSimpleButton.renderDrawable = function(simpleButton,renderer) { if(!simpleButton.__renderable || simpleButton.__worldAlpha <= 0 || simpleButton.__currentState == null) { return; } renderer.__pushMaskObject(simpleButton); renderer.__renderDrawable(simpleButton.__currentState); renderer.__popMaskObject(simpleButton); renderer.__renderEvent(simpleButton); }; openfl_display__$internal_CairoSimpleButton.renderDrawableMask = function(simpleButton,renderer) { renderer.__renderDrawableMask(simpleButton.__currentState); }; var openfl_display__$internal_CairoTextField = function() { }; $hxClasses["openfl.display._internal.CairoTextField"] = openfl_display__$internal_CairoTextField; openfl_display__$internal_CairoTextField.__name__ = "openfl.display._internal.CairoTextField"; openfl_display__$internal_CairoTextField.render = function(textField,renderer,transform) { }; openfl_display__$internal_CairoTextField.renderDrawable = function(textField,renderer) { }; openfl_display__$internal_CairoTextField.renderDrawableMask = function(textField,renderer) { }; var openfl_display__$internal_CairoTilemap = function() { }; $hxClasses["openfl.display._internal.CairoTilemap"] = openfl_display__$internal_CairoTilemap; openfl_display__$internal_CairoTilemap.__name__ = "openfl.display._internal.CairoTilemap"; openfl_display__$internal_CairoTilemap.render = function(tilemap,renderer) { if(!tilemap.__renderable || tilemap.__group.__tiles.length == 0) { return; } var alpha = renderer.__getAlpha(tilemap.__worldAlpha); if(alpha <= 0) { return; } renderer.__setBlendMode(tilemap.__worldBlendMode); renderer.__pushMaskObject(tilemap); var rect = openfl_geom_Rectangle.__pool.get(); rect.setTo(0,0,tilemap.__width,tilemap.__height); renderer.__pushMaskRect(rect,tilemap.__renderTransform); openfl_display__$internal_CairoTilemap.renderTileContainer(tilemap.__group,renderer,tilemap.__renderTransform,tilemap.__tileset,renderer.__allowSmoothing && tilemap.smoothing,tilemap.tileAlphaEnabled,alpha,tilemap.tileBlendModeEnabled,tilemap.__worldBlendMode,null,null,null,rect,new lime_math_Matrix3()); renderer.__popMaskRect(); renderer.__popMaskObject(tilemap); openfl_geom_Rectangle.__pool.release(rect); }; openfl_display__$internal_CairoTilemap.renderTileContainer = function(group,renderer,parentTransform,defaultTileset,smooth,alphaEnabled,worldAlpha,blendModeEnabled,defaultBlendMode,cacheBitmapData,surface,pattern,rect,matrix) { var cairo = renderer.cairo; var tileTransform = openfl_geom_Matrix.__pool.get(); var tiles = group.__tiles; var tile; var tileset; var alpha; var visible; var blendMode = null; var id; var tileData; var tileRect; var bitmapData; var _g = 0; while(_g < tiles.length) { var tile1 = tiles[_g]; ++_g; tileTransform.setTo(1,0,0,1,-tile1.get_originX(),-tile1.get_originY()); tileTransform.concat(tile1.get_matrix()); tileTransform.concat(parentTransform); tileset = tile1.get_tileset() != null ? tile1.get_tileset() : defaultTileset; alpha = tile1.get_alpha() * worldAlpha; visible = tile1.get_visible(); if(!visible || alpha <= 0) { continue; } if(!alphaEnabled) { alpha = 1; } if(blendModeEnabled) { blendMode = tile1.__blendMode != null ? tile1.__blendMode : defaultBlendMode; } if(tile1.__length > 0) { openfl_display__$internal_CairoTilemap.renderTileContainer(tile1,renderer,tileTransform,tileset,smooth,alphaEnabled,alpha,blendModeEnabled,blendMode,cacheBitmapData,surface,pattern,rect,matrix); } else { if(tileset == null) { continue; } id = tile1.get_id(); if(id == -1) { tileRect = tile1.__rect; if(tileRect == null || tileRect.width <= 0 || tileRect.height <= 0) { continue; } } else { tileData = tileset.__data[id]; if(tileData == null) { continue; } rect.setTo(tileData.x,tileData.y,tileData.width,tileData.height); tileRect = rect; } bitmapData = tileset.__bitmapData; if(bitmapData == null) { continue; } if(bitmapData != cacheBitmapData) { surface = bitmapData.getSurface(); pattern = lime_graphics_cairo__$CairoPattern_CairoPattern_$Impl_$.createForSurface(surface); lime_graphics_cairo__$CairoPattern_CairoPattern_$Impl_$.set_filter(pattern,smooth ? 1 : 3); cairo.set_source(pattern); cacheBitmapData = bitmapData; } if(blendModeEnabled) { renderer.__setBlendMode(blendMode); } renderer.applyMatrix(tileTransform,cairo); matrix.tx = tileRect.x; matrix.ty = tileRect.y; lime_graphics_cairo__$CairoPattern_CairoPattern_$Impl_$.set_matrix(pattern,matrix); cairo.set_source(pattern); cairo.save(); cairo.newPath(); cairo.rectangle(0,0,tileRect.width,tileRect.height); cairo.clip(); if(alpha == 1) { cairo.paint(); } else { cairo.paintWithAlpha(alpha); } cairo.restore(); } } openfl_geom_Matrix.__pool.release(tileTransform); }; openfl_display__$internal_CairoTilemap.renderDrawable = function(tilemap,renderer) { }; openfl_display__$internal_CairoTilemap.renderDrawableMask = function(tilemap,renderer) { }; var openfl_display__$internal_CanvasBitmap = function() { }; $hxClasses["openfl.display._internal.CanvasBitmap"] = openfl_display__$internal_CanvasBitmap; openfl_display__$internal_CanvasBitmap.__name__ = "openfl.display._internal.CanvasBitmap"; openfl_display__$internal_CanvasBitmap.render = function(bitmap,renderer) { if(!bitmap.__renderable) { return; } var alpha = renderer.__getAlpha(bitmap.__worldAlpha); if(alpha > 0 && bitmap.__bitmapData != null && bitmap.__bitmapData.__isValid && bitmap.__bitmapData.readable) { var context = renderer.context; renderer.__setBlendMode(bitmap.__worldBlendMode); renderer.__pushMaskObject(bitmap,false); lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(bitmap.__bitmapData.image); context.globalAlpha = alpha; var scrollRect = bitmap.__scrollRect; renderer.setTransform(bitmap.__renderTransform,context); if(!renderer.__allowSmoothing || !bitmap.smoothing) { context.imageSmoothingEnabled = false; } if(scrollRect == null) { context.drawImage(bitmap.__bitmapData.image.get_src(),0,0,bitmap.__bitmapData.image.width,bitmap.__bitmapData.image.height); } else { context.drawImage(bitmap.__bitmapData.image.get_src(),scrollRect.x,scrollRect.y,scrollRect.width,scrollRect.height,scrollRect.x,scrollRect.y,scrollRect.width,scrollRect.height); } if(!renderer.__allowSmoothing || !bitmap.smoothing) { context.imageSmoothingEnabled = true; } renderer.__popMaskObject(bitmap,false); } }; openfl_display__$internal_CanvasBitmap.renderDrawable = function(bitmap,renderer) { renderer.__updateCacheBitmap(bitmap,false); if(bitmap.__bitmapData != null && bitmap.__bitmapData.image != null) { bitmap.__imageVersion = bitmap.__bitmapData.image.version; } if(bitmap.__cacheBitmap != null && !bitmap.__isCacheBitmapRender) { var bitmap1 = bitmap.__cacheBitmap; if(!(!bitmap1.__renderable)) { var alpha = renderer.__getAlpha(bitmap1.__worldAlpha); if(alpha > 0 && bitmap1.__bitmapData != null && bitmap1.__bitmapData.__isValid && bitmap1.__bitmapData.readable) { var context = renderer.context; renderer.__setBlendMode(bitmap1.__worldBlendMode); renderer.__pushMaskObject(bitmap1,false); lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(bitmap1.__bitmapData.image); context.globalAlpha = alpha; var scrollRect = bitmap1.__scrollRect; renderer.setTransform(bitmap1.__renderTransform,context); if(!renderer.__allowSmoothing || !bitmap1.smoothing) { context.imageSmoothingEnabled = false; } if(scrollRect == null) { context.drawImage(bitmap1.__bitmapData.image.get_src(),0,0,bitmap1.__bitmapData.image.width,bitmap1.__bitmapData.image.height); } else { context.drawImage(bitmap1.__bitmapData.image.get_src(),scrollRect.x,scrollRect.y,scrollRect.width,scrollRect.height,scrollRect.x,scrollRect.y,scrollRect.width,scrollRect.height); } if(!renderer.__allowSmoothing || !bitmap1.smoothing) { context.imageSmoothingEnabled = true; } renderer.__popMaskObject(bitmap1,false); } } } else { if(!(bitmap.opaqueBackground == null && bitmap.__graphics == null)) { if(!(!bitmap.__renderable)) { var alpha1 = renderer.__getAlpha(bitmap.__worldAlpha); if(!(alpha1 <= 0)) { if(bitmap.opaqueBackground != null && !bitmap.__isCacheBitmapRender && bitmap.get_width() > 0 && bitmap.get_height() > 0) { renderer.__setBlendMode(bitmap.__worldBlendMode); renderer.__pushMaskObject(bitmap); var context1 = renderer.context; renderer.setTransform(bitmap.__renderTransform,context1); var color = bitmap.opaqueBackground; context1.fillStyle = "rgb(" + (color >>> 16 & 255) + "," + (color >>> 8 & 255) + "," + (color & 255) + ")"; context1.fillRect(0,0,bitmap.get_width(),bitmap.get_height()); renderer.__popMaskObject(bitmap); } if(bitmap.__graphics != null) { if(!(!bitmap.__renderable)) { var alpha2 = renderer.__getAlpha(bitmap.__worldAlpha); if(!(alpha2 <= 0)) { var graphics = bitmap.__graphics; if(graphics != null) { openfl_display__$internal_CanvasGraphics.render(graphics,renderer); var width = graphics.__width; var height = graphics.__height; var canvas = graphics.__canvas; if(canvas != null && graphics.__visible && width >= 1 && height >= 1) { var transform = graphics.__worldTransform; var context2 = renderer.context; var scrollRect1 = bitmap.__scrollRect; var scale9Grid = bitmap.__worldScale9Grid; if(scrollRect1 == null || scrollRect1.width > 0 && scrollRect1.height > 0) { renderer.__setBlendMode(bitmap.__worldBlendMode); renderer.__pushMaskObject(bitmap); context2.globalAlpha = alpha2; if(scale9Grid != null && transform.b == 0 && transform.c == 0) { context2.setTransform(1,0,0,1,transform.tx,transform.ty); var bounds = graphics.__bounds; var scaleX = graphics.__renderTransform.a; var scaleY = graphics.__renderTransform.d; var renderScaleX = transform.a; var renderScaleY = transform.d; var left = Math.max(1,Math.round(scale9Grid.x * scaleX)); var top = Math.round(scale9Grid.y * scaleY); var right = Math.max(1,Math.round((bounds.get_right() - scale9Grid.get_right()) * scaleX)); var bottom = Math.round((bounds.get_bottom() - scale9Grid.get_bottom()) * scaleY); var centerWidth = Math.round(scale9Grid.width * scaleX); var centerHeight = Math.round(scale9Grid.height * scaleY); var renderLeft = Math.round(scale9Grid.x * renderScaleX); var renderTop = Math.round(scale9Grid.y * renderScaleY); var renderRight = Math.round((bounds.get_right() - scale9Grid.get_right()) * renderScaleX); var renderBottom = Math.round((bounds.get_bottom() - scale9Grid.get_bottom()) * renderScaleY); var renderCenterWidth = Math.round(width * renderScaleX) - renderLeft - renderRight; var renderCenterHeight = Math.round(height * renderScaleY) - renderTop - renderBottom; renderer.applySmoothing(context2,false); if(centerWidth != 0 && centerHeight != 0) { context2.drawImage(canvas,0,0,left,top,0,0,renderLeft,renderTop); context2.drawImage(canvas,left,0,centerWidth,top,renderLeft,0,renderCenterWidth,renderTop); context2.drawImage(canvas,left + centerWidth,0,right,top,renderLeft + renderCenterWidth,0,renderRight,renderTop); context2.drawImage(canvas,0,top,left,centerHeight,0,renderTop,renderLeft,renderCenterHeight); context2.drawImage(canvas,left,top,centerWidth,centerHeight,renderLeft,renderTop,renderCenterWidth,renderCenterHeight); context2.drawImage(canvas,left + centerWidth,top,right,centerHeight,renderLeft + renderCenterWidth,renderTop,renderRight,renderCenterHeight); context2.drawImage(canvas,0,top + centerHeight,left,bottom,0,renderTop + renderCenterHeight,renderLeft,renderBottom); context2.drawImage(canvas,left,top + centerHeight,centerWidth,bottom,renderLeft,renderTop + renderCenterHeight,renderCenterWidth,renderBottom); context2.drawImage(canvas,left + centerWidth,top + centerHeight,right,bottom,renderLeft + renderCenterWidth,renderTop + renderCenterHeight,renderRight,renderBottom); } else if(centerWidth == 0 && centerHeight != 0) { var renderWidth = renderLeft + renderCenterWidth + renderRight; context2.drawImage(canvas,0,0,width,top,0,0,renderWidth,renderTop); context2.drawImage(canvas,0,top,width,centerHeight,0,renderTop,renderWidth,renderCenterHeight); context2.drawImage(canvas,0,top + centerHeight,width,bottom,0,renderTop + renderCenterHeight,renderWidth,renderBottom); } else if(centerHeight == 0 && centerWidth != 0) { var renderHeight = renderTop + renderCenterHeight + renderBottom; context2.drawImage(canvas,0,0,left,height,0,0,renderLeft,renderHeight); context2.drawImage(canvas,left,0,centerWidth,height,renderLeft,0,renderCenterWidth,renderHeight); context2.drawImage(canvas,left + centerWidth,0,right,height,renderLeft + renderCenterWidth,0,renderRight,renderHeight); } } else { renderer.setTransform(transform,context2); if(renderer.__isDOM) { var reverseScale = 1 / renderer.pixelRatio; context2.scale(reverseScale,reverseScale); } context2.drawImage(canvas,0,0,width,height); } renderer.__popMaskObject(bitmap); } } } } } } } } } if(!(!bitmap.__renderable)) { var alpha3 = renderer.__getAlpha(bitmap.__worldAlpha); if(alpha3 > 0 && bitmap.__bitmapData != null && bitmap.__bitmapData.__isValid && bitmap.__bitmapData.readable) { var context3 = renderer.context; renderer.__setBlendMode(bitmap.__worldBlendMode); renderer.__pushMaskObject(bitmap,false); lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(bitmap.__bitmapData.image); context3.globalAlpha = alpha3; var scrollRect2 = bitmap.__scrollRect; renderer.setTransform(bitmap.__renderTransform,context3); if(!renderer.__allowSmoothing || !bitmap.smoothing) { context3.imageSmoothingEnabled = false; } if(scrollRect2 == null) { context3.drawImage(bitmap.__bitmapData.image.get_src(),0,0,bitmap.__bitmapData.image.width,bitmap.__bitmapData.image.height); } else { context3.drawImage(bitmap.__bitmapData.image.get_src(),scrollRect2.x,scrollRect2.y,scrollRect2.width,scrollRect2.height,scrollRect2.x,scrollRect2.y,scrollRect2.width,scrollRect2.height); } if(!renderer.__allowSmoothing || !bitmap.smoothing) { context3.imageSmoothingEnabled = true; } renderer.__popMaskObject(bitmap,false); } } } renderer.__renderEvent(bitmap); }; openfl_display__$internal_CanvasBitmap.renderDrawableMask = function(bitmap,renderer) { renderer.context.rect(0,0,bitmap.get_width(),bitmap.get_height()); }; var openfl_display__$internal_CanvasBitmapData = function() { }; $hxClasses["openfl.display._internal.CanvasBitmapData"] = openfl_display__$internal_CanvasBitmapData; openfl_display__$internal_CanvasBitmapData.__name__ = "openfl.display._internal.CanvasBitmapData"; openfl_display__$internal_CanvasBitmapData.renderDrawable = function(bitmapData,renderer) { if(!bitmapData.readable) { return; } var image = bitmapData.image; if(image.type == lime_graphics_ImageType.DATA) { lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(image); } var context = renderer.context; context.globalAlpha = 1; renderer.setTransform(bitmapData.__renderTransform,context); context.drawImage(image.get_src(),0,0,image.width,image.height); }; openfl_display__$internal_CanvasBitmapData.renderDrawableMask = function(bitmapData,renderer) { }; var openfl_display__$internal_CanvasDisplayObject = function() { }; $hxClasses["openfl.display._internal.CanvasDisplayObject"] = openfl_display__$internal_CanvasDisplayObject; openfl_display__$internal_CanvasDisplayObject.__name__ = "openfl.display._internal.CanvasDisplayObject"; openfl_display__$internal_CanvasDisplayObject.render = function(displayObject,renderer) { if(displayObject.opaqueBackground == null && displayObject.__graphics == null) { return; } if(!displayObject.__renderable) { return; } var alpha = renderer.__getAlpha(displayObject.__worldAlpha); if(alpha <= 0) { return; } if(displayObject.opaqueBackground != null && !displayObject.__isCacheBitmapRender && displayObject.get_width() > 0 && displayObject.get_height() > 0) { renderer.__setBlendMode(displayObject.__worldBlendMode); renderer.__pushMaskObject(displayObject); var context = renderer.context; renderer.setTransform(displayObject.__renderTransform,context); var color = displayObject.opaqueBackground; context.fillStyle = "rgb(" + (color >>> 16 & 255) + "," + (color >>> 8 & 255) + "," + (color & 255) + ")"; context.fillRect(0,0,displayObject.get_width(),displayObject.get_height()); renderer.__popMaskObject(displayObject); } if(displayObject.__graphics != null) { if(!(!displayObject.__renderable)) { var alpha1 = renderer.__getAlpha(displayObject.__worldAlpha); if(!(alpha1 <= 0)) { var graphics = displayObject.__graphics; if(graphics != null) { openfl_display__$internal_CanvasGraphics.render(graphics,renderer); var width = graphics.__width; var height = graphics.__height; var canvas = graphics.__canvas; if(canvas != null && graphics.__visible && width >= 1 && height >= 1) { var transform = graphics.__worldTransform; var context1 = renderer.context; var scrollRect = displayObject.__scrollRect; var scale9Grid = displayObject.__worldScale9Grid; if(scrollRect == null || scrollRect.width > 0 && scrollRect.height > 0) { renderer.__setBlendMode(displayObject.__worldBlendMode); renderer.__pushMaskObject(displayObject); context1.globalAlpha = alpha1; if(scale9Grid != null && transform.b == 0 && transform.c == 0) { context1.setTransform(1,0,0,1,transform.tx,transform.ty); var bounds = graphics.__bounds; var scaleX = graphics.__renderTransform.a; var scaleY = graphics.__renderTransform.d; var renderScaleX = transform.a; var renderScaleY = transform.d; var left = Math.max(1,Math.round(scale9Grid.x * scaleX)); var top = Math.round(scale9Grid.y * scaleY); var right = Math.max(1,Math.round((bounds.get_right() - scale9Grid.get_right()) * scaleX)); var bottom = Math.round((bounds.get_bottom() - scale9Grid.get_bottom()) * scaleY); var centerWidth = Math.round(scale9Grid.width * scaleX); var centerHeight = Math.round(scale9Grid.height * scaleY); var renderLeft = Math.round(scale9Grid.x * renderScaleX); var renderTop = Math.round(scale9Grid.y * renderScaleY); var renderRight = Math.round((bounds.get_right() - scale9Grid.get_right()) * renderScaleX); var renderBottom = Math.round((bounds.get_bottom() - scale9Grid.get_bottom()) * renderScaleY); var renderCenterWidth = Math.round(width * renderScaleX) - renderLeft - renderRight; var renderCenterHeight = Math.round(height * renderScaleY) - renderTop - renderBottom; renderer.applySmoothing(context1,false); if(centerWidth != 0 && centerHeight != 0) { context1.drawImage(canvas,0,0,left,top,0,0,renderLeft,renderTop); context1.drawImage(canvas,left,0,centerWidth,top,renderLeft,0,renderCenterWidth,renderTop); context1.drawImage(canvas,left + centerWidth,0,right,top,renderLeft + renderCenterWidth,0,renderRight,renderTop); context1.drawImage(canvas,0,top,left,centerHeight,0,renderTop,renderLeft,renderCenterHeight); context1.drawImage(canvas,left,top,centerWidth,centerHeight,renderLeft,renderTop,renderCenterWidth,renderCenterHeight); context1.drawImage(canvas,left + centerWidth,top,right,centerHeight,renderLeft + renderCenterWidth,renderTop,renderRight,renderCenterHeight); context1.drawImage(canvas,0,top + centerHeight,left,bottom,0,renderTop + renderCenterHeight,renderLeft,renderBottom); context1.drawImage(canvas,left,top + centerHeight,centerWidth,bottom,renderLeft,renderTop + renderCenterHeight,renderCenterWidth,renderBottom); context1.drawImage(canvas,left + centerWidth,top + centerHeight,right,bottom,renderLeft + renderCenterWidth,renderTop + renderCenterHeight,renderRight,renderBottom); } else if(centerWidth == 0 && centerHeight != 0) { var renderWidth = renderLeft + renderCenterWidth + renderRight; context1.drawImage(canvas,0,0,width,top,0,0,renderWidth,renderTop); context1.drawImage(canvas,0,top,width,centerHeight,0,renderTop,renderWidth,renderCenterHeight); context1.drawImage(canvas,0,top + centerHeight,width,bottom,0,renderTop + renderCenterHeight,renderWidth,renderBottom); } else if(centerHeight == 0 && centerWidth != 0) { var renderHeight = renderTop + renderCenterHeight + renderBottom; context1.drawImage(canvas,0,0,left,height,0,0,renderLeft,renderHeight); context1.drawImage(canvas,left,0,centerWidth,height,renderLeft,0,renderCenterWidth,renderHeight); context1.drawImage(canvas,left + centerWidth,0,right,height,renderLeft + renderCenterWidth,0,renderRight,renderHeight); } } else { renderer.setTransform(transform,context1); if(renderer.__isDOM) { var reverseScale = 1 / renderer.pixelRatio; context1.scale(reverseScale,reverseScale); } context1.drawImage(canvas,0,0,width,height); } renderer.__popMaskObject(displayObject); } } } } } } }; openfl_display__$internal_CanvasDisplayObject.renderDrawable = function(displayObject,renderer) { if(displayObject.get_mask() == null || displayObject.get_mask().get_width() > 0 && displayObject.get_mask().get_height() > 0) { renderer.__updateCacheBitmap(displayObject,false); if(displayObject.__cacheBitmap != null && !displayObject.__isCacheBitmapRender) { var bitmap = displayObject.__cacheBitmap; if(!(!bitmap.__renderable)) { var alpha = renderer.__getAlpha(bitmap.__worldAlpha); if(alpha > 0 && bitmap.__bitmapData != null && bitmap.__bitmapData.__isValid && bitmap.__bitmapData.readable) { var context = renderer.context; renderer.__setBlendMode(bitmap.__worldBlendMode); renderer.__pushMaskObject(bitmap,false); lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(bitmap.__bitmapData.image); context.globalAlpha = alpha; var scrollRect = bitmap.__scrollRect; renderer.setTransform(bitmap.__renderTransform,context); if(!renderer.__allowSmoothing || !bitmap.smoothing) { context.imageSmoothingEnabled = false; } if(scrollRect == null) { context.drawImage(bitmap.__bitmapData.image.get_src(),0,0,bitmap.__bitmapData.image.width,bitmap.__bitmapData.image.height); } else { context.drawImage(bitmap.__bitmapData.image.get_src(),scrollRect.x,scrollRect.y,scrollRect.width,scrollRect.height,scrollRect.x,scrollRect.y,scrollRect.width,scrollRect.height); } if(!renderer.__allowSmoothing || !bitmap.smoothing) { context.imageSmoothingEnabled = true; } renderer.__popMaskObject(bitmap,false); } } } else if(!(displayObject.opaqueBackground == null && displayObject.__graphics == null)) { if(!(!displayObject.__renderable)) { var alpha1 = renderer.__getAlpha(displayObject.__worldAlpha); if(!(alpha1 <= 0)) { if(displayObject.opaqueBackground != null && !displayObject.__isCacheBitmapRender && displayObject.get_width() > 0 && displayObject.get_height() > 0) { renderer.__setBlendMode(displayObject.__worldBlendMode); renderer.__pushMaskObject(displayObject); var context1 = renderer.context; renderer.setTransform(displayObject.__renderTransform,context1); var color = displayObject.opaqueBackground; context1.fillStyle = "rgb(" + (color >>> 16 & 255) + "," + (color >>> 8 & 255) + "," + (color & 255) + ")"; context1.fillRect(0,0,displayObject.get_width(),displayObject.get_height()); renderer.__popMaskObject(displayObject); } if(displayObject.__graphics != null) { if(!(!displayObject.__renderable)) { var alpha2 = renderer.__getAlpha(displayObject.__worldAlpha); if(!(alpha2 <= 0)) { var graphics = displayObject.__graphics; if(graphics != null) { openfl_display__$internal_CanvasGraphics.render(graphics,renderer); var width = graphics.__width; var height = graphics.__height; var canvas = graphics.__canvas; if(canvas != null && graphics.__visible && width >= 1 && height >= 1) { var transform = graphics.__worldTransform; var context2 = renderer.context; var scrollRect1 = displayObject.__scrollRect; var scale9Grid = displayObject.__worldScale9Grid; if(scrollRect1 == null || scrollRect1.width > 0 && scrollRect1.height > 0) { renderer.__setBlendMode(displayObject.__worldBlendMode); renderer.__pushMaskObject(displayObject); context2.globalAlpha = alpha2; if(scale9Grid != null && transform.b == 0 && transform.c == 0) { context2.setTransform(1,0,0,1,transform.tx,transform.ty); var bounds = graphics.__bounds; var scaleX = graphics.__renderTransform.a; var scaleY = graphics.__renderTransform.d; var renderScaleX = transform.a; var renderScaleY = transform.d; var left = Math.max(1,Math.round(scale9Grid.x * scaleX)); var top = Math.round(scale9Grid.y * scaleY); var right = Math.max(1,Math.round((bounds.get_right() - scale9Grid.get_right()) * scaleX)); var bottom = Math.round((bounds.get_bottom() - scale9Grid.get_bottom()) * scaleY); var centerWidth = Math.round(scale9Grid.width * scaleX); var centerHeight = Math.round(scale9Grid.height * scaleY); var renderLeft = Math.round(scale9Grid.x * renderScaleX); var renderTop = Math.round(scale9Grid.y * renderScaleY); var renderRight = Math.round((bounds.get_right() - scale9Grid.get_right()) * renderScaleX); var renderBottom = Math.round((bounds.get_bottom() - scale9Grid.get_bottom()) * renderScaleY); var renderCenterWidth = Math.round(width * renderScaleX) - renderLeft - renderRight; var renderCenterHeight = Math.round(height * renderScaleY) - renderTop - renderBottom; renderer.applySmoothing(context2,false); if(centerWidth != 0 && centerHeight != 0) { context2.drawImage(canvas,0,0,left,top,0,0,renderLeft,renderTop); context2.drawImage(canvas,left,0,centerWidth,top,renderLeft,0,renderCenterWidth,renderTop); context2.drawImage(canvas,left + centerWidth,0,right,top,renderLeft + renderCenterWidth,0,renderRight,renderTop); context2.drawImage(canvas,0,top,left,centerHeight,0,renderTop,renderLeft,renderCenterHeight); context2.drawImage(canvas,left,top,centerWidth,centerHeight,renderLeft,renderTop,renderCenterWidth,renderCenterHeight); context2.drawImage(canvas,left + centerWidth,top,right,centerHeight,renderLeft + renderCenterWidth,renderTop,renderRight,renderCenterHeight); context2.drawImage(canvas,0,top + centerHeight,left,bottom,0,renderTop + renderCenterHeight,renderLeft,renderBottom); context2.drawImage(canvas,left,top + centerHeight,centerWidth,bottom,renderLeft,renderTop + renderCenterHeight,renderCenterWidth,renderBottom); context2.drawImage(canvas,left + centerWidth,top + centerHeight,right,bottom,renderLeft + renderCenterWidth,renderTop + renderCenterHeight,renderRight,renderBottom); } else if(centerWidth == 0 && centerHeight != 0) { var renderWidth = renderLeft + renderCenterWidth + renderRight; context2.drawImage(canvas,0,0,width,top,0,0,renderWidth,renderTop); context2.drawImage(canvas,0,top,width,centerHeight,0,renderTop,renderWidth,renderCenterHeight); context2.drawImage(canvas,0,top + centerHeight,width,bottom,0,renderTop + renderCenterHeight,renderWidth,renderBottom); } else if(centerHeight == 0 && centerWidth != 0) { var renderHeight = renderTop + renderCenterHeight + renderBottom; context2.drawImage(canvas,0,0,left,height,0,0,renderLeft,renderHeight); context2.drawImage(canvas,left,0,centerWidth,height,renderLeft,0,renderCenterWidth,renderHeight); context2.drawImage(canvas,left + centerWidth,0,right,height,renderLeft + renderCenterWidth,0,renderRight,renderHeight); } } else { renderer.setTransform(transform,context2); if(renderer.__isDOM) { var reverseScale = 1 / renderer.pixelRatio; context2.scale(reverseScale,reverseScale); } context2.drawImage(canvas,0,0,width,height); } renderer.__popMaskObject(displayObject); } } } } } } } } } } renderer.__renderEvent(displayObject); }; openfl_display__$internal_CanvasDisplayObject.renderDrawableMask = function(displayObject,renderer) { if(displayObject.__graphics != null) { openfl_display__$internal_CanvasGraphics.renderMask(displayObject.__graphics,renderer); } }; var openfl_display__$internal_CanvasDisplayObjectContainer = function() { }; $hxClasses["openfl.display._internal.CanvasDisplayObjectContainer"] = openfl_display__$internal_CanvasDisplayObjectContainer; openfl_display__$internal_CanvasDisplayObjectContainer.__name__ = "openfl.display._internal.CanvasDisplayObjectContainer"; openfl_display__$internal_CanvasDisplayObjectContainer.renderDrawable = function(displayObjectContainer,renderer) { var orphan = displayObjectContainer.__removedChildren.iterator(); while(orphan.hasNext()) { var orphan1 = orphan.next(); if(orphan1.stage == null) { orphan1.__cleanup(); } } displayObjectContainer.__removedChildren.set_length(0); if(!displayObjectContainer.__renderable || displayObjectContainer.__worldAlpha <= 0 || displayObjectContainer.get_mask() != null && (displayObjectContainer.get_mask().get_width() <= 0 || displayObjectContainer.get_mask().get_height() <= 0)) { return; } openfl_display__$internal_CanvasDisplayObject.renderDrawable(displayObjectContainer,renderer); if(displayObjectContainer.__cacheBitmap != null && !displayObjectContainer.__isCacheBitmapRender) { return; } renderer.__pushMaskObject(displayObjectContainer); if(renderer.__stage != null) { var _g = 0; var _g1 = displayObjectContainer.__children; while(_g < _g1.length) { var child = _g1[_g]; ++_g; renderer.__renderDrawable(child); child.__renderDirty = false; } displayObjectContainer.__renderDirty = false; } else { var _g2 = 0; var _g11 = displayObjectContainer.__children; while(_g2 < _g11.length) { var child1 = _g11[_g2]; ++_g2; renderer.__renderDrawable(child1); } } renderer.__popMaskObject(displayObjectContainer); }; openfl_display__$internal_CanvasDisplayObjectContainer.renderDrawableMask = function(displayObjectContainer,renderer) { var orphan = displayObjectContainer.__removedChildren.iterator(); while(orphan.hasNext()) { var orphan1 = orphan.next(); if(orphan1.stage == null) { orphan1.__cleanup(); } } displayObjectContainer.__removedChildren.set_length(0); if(displayObjectContainer.__graphics != null) { openfl_display__$internal_CanvasGraphics.renderMask(displayObjectContainer.__graphics,renderer); } var _g = 0; var _g1 = displayObjectContainer.__children; while(_g < _g1.length) { var child = _g1[_g]; ++_g; renderer.__renderDrawableMask(child); } }; var openfl_display__$internal_DrawCommandBuffer = function() { if(openfl_display__$internal_DrawCommandBuffer.empty == null) { this.types = []; this.b = []; this.i = []; this.f = []; this.o = []; this.ff = []; this.ii = []; this.copyOnWrite = true; } else { this.clear(); } }; $hxClasses["openfl.display._internal.DrawCommandBuffer"] = openfl_display__$internal_DrawCommandBuffer; openfl_display__$internal_DrawCommandBuffer.__name__ = "openfl.display._internal.DrawCommandBuffer"; openfl_display__$internal_DrawCommandBuffer.prototype = { types: null ,b: null ,copyOnWrite: null ,f: null ,ff: null ,i: null ,ii: null ,o: null ,append: function(other) { if(this.get_length() == 0) { this.types = other.types; this.b = other.b; this.i = other.i; this.f = other.f; this.o = other.o; this.ff = other.ff; this.ii = other.ii; this.copyOnWrite = other.copyOnWrite = true; return other; } var data = new openfl_display__$internal_DrawCommandReader(other); var _g = 0; var _g1 = other.types; while(_g < _g1.length) { var type = _g1[_g]; ++_g; switch(type._hx_index) { case 0: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.BEGIN_BITMAP_FILL; var this1 = data; var c = this1; this.beginBitmapFill(c.buffer.o[c.oPos],c.buffer.o[c.oPos + 1],c.buffer.b[c.bPos],c.buffer.b[c.bPos + 1]); break; case 1: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.BEGIN_FILL; var this2 = data; var c1 = this2; this.beginFill(c1.buffer.i[c1.iPos],c1.buffer.f[c1.fPos]); break; case 2: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.BEGIN_GRADIENT_FILL; var this3 = data; var c2 = this3; this.beginGradientFill(c2.buffer.o[c2.oPos],c2.buffer.ii[c2.iiPos],c2.buffer.ff[c2.ffPos],c2.buffer.ii[c2.iiPos + 1],c2.buffer.o[c2.oPos + 1],c2.buffer.o[c2.oPos + 2],c2.buffer.o[c2.oPos + 3],c2.buffer.f[c2.fPos]); break; case 3: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.BEGIN_SHADER_FILL; var this4 = data; var c3 = this4; this.beginShaderFill(c3.buffer.o[c3.oPos]); break; case 4: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.CUBIC_CURVE_TO; var this5 = data; var c4 = this5; this.cubicCurveTo(c4.buffer.f[c4.fPos],c4.buffer.f[c4.fPos + 1],c4.buffer.f[c4.fPos + 2],c4.buffer.f[c4.fPos + 3],c4.buffer.f[c4.fPos + 4],c4.buffer.f[c4.fPos + 5]); break; case 5: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.CURVE_TO; var this6 = data; var c5 = this6; this.curveTo(c5.buffer.f[c5.fPos],c5.buffer.f[c5.fPos + 1],c5.buffer.f[c5.fPos + 2],c5.buffer.f[c5.fPos + 3]); break; case 6: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.DRAW_CIRCLE; var this7 = data; var c6 = this7; this.drawCircle(c6.buffer.f[c6.fPos],c6.buffer.f[c6.fPos + 1],c6.buffer.f[c6.fPos + 2]); break; case 7: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.DRAW_ELLIPSE; var this8 = data; var c7 = this8; this.drawEllipse(c7.buffer.f[c7.fPos],c7.buffer.f[c7.fPos + 1],c7.buffer.f[c7.fPos + 2],c7.buffer.f[c7.fPos + 3]); break; case 8: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.DRAW_QUADS; var this9 = data; var c8 = this9; this.drawQuads(c8.buffer.o[c8.oPos],c8.buffer.o[c8.oPos + 1],c8.buffer.o[c8.oPos + 2]); break; case 9: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.DRAW_RECT; var this10 = data; var c9 = this10; this.drawRect(c9.buffer.f[c9.fPos],c9.buffer.f[c9.fPos + 1],c9.buffer.f[c9.fPos + 2],c9.buffer.f[c9.fPos + 3]); break; case 10: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.DRAW_ROUND_RECT; var this11 = data; var c10 = this11; this.drawRoundRect(c10.buffer.f[c10.fPos],c10.buffer.f[c10.fPos + 1],c10.buffer.f[c10.fPos + 2],c10.buffer.f[c10.fPos + 3],c10.buffer.f[c10.fPos + 4],c10.buffer.o[c10.oPos]); break; case 12: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.DRAW_TRIANGLES; var this12 = data; var c11 = this12; this.drawTriangles(c11.buffer.o[c11.oPos],c11.buffer.o[c11.oPos + 1],c11.buffer.o[c11.oPos + 2],c11.buffer.o[c11.oPos + 3]); break; case 13: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.END_FILL; var this13 = data; var c12 = this13; this.endFill(); break; case 14: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.LINE_BITMAP_STYLE; var this14 = data; var c13 = this14; this.lineBitmapStyle(c13.buffer.o[c13.oPos],c13.buffer.o[c13.oPos + 1],c13.buffer.b[c13.bPos],c13.buffer.b[c13.bPos + 1]); break; case 15: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.LINE_GRADIENT_STYLE; var this15 = data; var c14 = this15; this.lineGradientStyle(c14.buffer.o[c14.oPos],c14.buffer.ii[c14.iiPos],c14.buffer.ff[c14.ffPos],c14.buffer.ii[c14.iiPos + 1],c14.buffer.o[c14.oPos + 1],c14.buffer.o[c14.oPos + 2],c14.buffer.o[c14.oPos + 3],c14.buffer.f[c14.fPos]); break; case 16: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.LINE_STYLE; var this16 = data; var c15 = this16; this.lineStyle(c15.buffer.o[c15.oPos],c15.buffer.i[c15.iPos],c15.buffer.f[c15.fPos],c15.buffer.b[c15.bPos],c15.buffer.o[c15.oPos + 1],c15.buffer.o[c15.oPos + 2],c15.buffer.o[c15.oPos + 3],c15.buffer.f[c15.fPos + 1]); break; case 17: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.LINE_TO; var this17 = data; var c16 = this17; this.lineTo(c16.buffer.f[c16.fPos],c16.buffer.f[c16.fPos + 1]); break; case 18: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.MOVE_TO; var this18 = data; var c17 = this18; this.moveTo(c17.buffer.f[c17.fPos],c17.buffer.f[c17.fPos + 1]); break; case 20: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.OVERRIDE_MATRIX; var this19 = data; var c18 = this19; this.overrideMatrix(c18.buffer.o[c18.oPos]); break; case 21: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.WINDING_EVEN_ODD; var this20 = data; var c19 = this20; this.windingEvenOdd(); break; case 22: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.WINDING_NON_ZERO; var this21 = data; var c20 = this21; this.windingNonZero(); break; default: } } data.destroy(); return other; } ,beginBitmapFill: function(bitmap,matrix,repeat,smooth) { this.prepareWrite(); this.types.push(openfl_display__$internal_DrawCommandType.BEGIN_BITMAP_FILL); this.o.push(bitmap); this.o.push(matrix); this.b.push(repeat); this.b.push(smooth); } ,beginFill: function(color,alpha) { this.prepareWrite(); this.types.push(openfl_display__$internal_DrawCommandType.BEGIN_FILL); this.i.push(color); this.f.push(alpha); } ,beginGradientFill: function(type,colors,alphas,ratios,matrix,spreadMethod,interpolationMethod,focalPointRatio) { this.prepareWrite(); this.types.push(openfl_display__$internal_DrawCommandType.BEGIN_GRADIENT_FILL); this.o.push(type); this.ii.push(colors); this.ff.push(alphas); this.ii.push(ratios); this.o.push(matrix); this.o.push(spreadMethod); this.o.push(interpolationMethod); this.f.push(focalPointRatio); } ,beginShaderFill: function(shaderBuffer) { this.prepareWrite(); this.types.push(openfl_display__$internal_DrawCommandType.BEGIN_SHADER_FILL); this.o.push(shaderBuffer); } ,clear: function() { this.types = openfl_display__$internal_DrawCommandBuffer.empty.types; this.b = openfl_display__$internal_DrawCommandBuffer.empty.b; this.i = openfl_display__$internal_DrawCommandBuffer.empty.i; this.f = openfl_display__$internal_DrawCommandBuffer.empty.f; this.o = openfl_display__$internal_DrawCommandBuffer.empty.o; this.ff = openfl_display__$internal_DrawCommandBuffer.empty.ff; this.ii = openfl_display__$internal_DrawCommandBuffer.empty.ii; this.copyOnWrite = true; } ,copy: function() { var copy = new openfl_display__$internal_DrawCommandBuffer(); copy.append(this); return copy; } ,cubicCurveTo: function(controlX1,controlY1,controlX2,controlY2,anchorX,anchorY) { this.prepareWrite(); this.types.push(openfl_display__$internal_DrawCommandType.CUBIC_CURVE_TO); this.f.push(controlX1); this.f.push(controlY1); this.f.push(controlX2); this.f.push(controlY2); this.f.push(anchorX); this.f.push(anchorY); } ,curveTo: function(controlX,controlY,anchorX,anchorY) { this.prepareWrite(); this.types.push(openfl_display__$internal_DrawCommandType.CURVE_TO); this.f.push(controlX); this.f.push(controlY); this.f.push(anchorX); this.f.push(anchorY); } ,destroy: function() { this.clear(); this.types = null; this.b = null; this.i = null; this.f = null; this.o = null; this.ff = null; this.ii = null; } ,drawCircle: function(x,y,radius) { this.prepareWrite(); this.types.push(openfl_display__$internal_DrawCommandType.DRAW_CIRCLE); this.f.push(x); this.f.push(y); this.f.push(radius); } ,drawEllipse: function(x,y,width,height) { this.prepareWrite(); this.types.push(openfl_display__$internal_DrawCommandType.DRAW_ELLIPSE); this.f.push(x); this.f.push(y); this.f.push(width); this.f.push(height); } ,drawQuads: function(rects,indices,transforms) { this.prepareWrite(); this.types.push(openfl_display__$internal_DrawCommandType.DRAW_QUADS); this.o.push(rects); this.o.push(indices); this.o.push(transforms); } ,drawRect: function(x,y,width,height) { this.prepareWrite(); this.types.push(openfl_display__$internal_DrawCommandType.DRAW_RECT); this.f.push(x); this.f.push(y); this.f.push(width); this.f.push(height); } ,drawRoundRect: function(x,y,width,height,ellipseWidth,ellipseHeight) { this.prepareWrite(); this.types.push(openfl_display__$internal_DrawCommandType.DRAW_ROUND_RECT); this.f.push(x); this.f.push(y); this.f.push(width); this.f.push(height); this.f.push(ellipseWidth); this.o.push(ellipseHeight); } ,drawTriangles: function(vertices,indices,uvtData,culling) { this.prepareWrite(); this.types.push(openfl_display__$internal_DrawCommandType.DRAW_TRIANGLES); this.o.push(vertices); this.o.push(indices); this.o.push(uvtData); this.o.push(culling); } ,endFill: function() { this.prepareWrite(); this.types.push(openfl_display__$internal_DrawCommandType.END_FILL); } ,lineBitmapStyle: function(bitmap,matrix,repeat,smooth) { this.prepareWrite(); this.types.push(openfl_display__$internal_DrawCommandType.LINE_BITMAP_STYLE); this.o.push(bitmap); this.o.push(matrix); this.b.push(repeat); this.b.push(smooth); } ,lineGradientStyle: function(type,colors,alphas,ratios,matrix,spreadMethod,interpolationMethod,focalPointRatio) { this.prepareWrite(); this.types.push(openfl_display__$internal_DrawCommandType.LINE_GRADIENT_STYLE); this.o.push(type); this.ii.push(colors); this.ff.push(alphas); this.ii.push(ratios); this.o.push(matrix); this.o.push(spreadMethod); this.o.push(interpolationMethod); this.f.push(focalPointRatio); } ,lineStyle: function(thickness,color,alpha,pixelHinting,scaleMode,caps,joints,miterLimit) { this.prepareWrite(); this.types.push(openfl_display__$internal_DrawCommandType.LINE_STYLE); this.o.push(thickness); this.i.push(color); this.f.push(alpha); this.b.push(pixelHinting); this.o.push(scaleMode); this.o.push(caps); this.o.push(joints); this.f.push(miterLimit); } ,lineTo: function(x,y) { this.prepareWrite(); this.types.push(openfl_display__$internal_DrawCommandType.LINE_TO); this.f.push(x); this.f.push(y); } ,moveTo: function(x,y) { this.prepareWrite(); this.types.push(openfl_display__$internal_DrawCommandType.MOVE_TO); this.f.push(x); this.f.push(y); } ,prepareWrite: function() { if(this.copyOnWrite) { this.types = this.types.slice(); this.b = this.b.slice(); this.i = this.i.slice(); this.f = this.f.slice(); this.o = this.o.slice(); this.ff = this.ff.slice(); this.ii = this.ii.slice(); this.copyOnWrite = false; } } ,overrideBlendMode: function(blendMode) { this.prepareWrite(); this.types.push(openfl_display__$internal_DrawCommandType.OVERRIDE_BLEND_MODE); this.o.push(blendMode); } ,overrideMatrix: function(matrix) { this.prepareWrite(); this.types.push(openfl_display__$internal_DrawCommandType.OVERRIDE_MATRIX); this.o.push(matrix); } ,windingEvenOdd: function() { this.prepareWrite(); this.types.push(openfl_display__$internal_DrawCommandType.WINDING_EVEN_ODD); } ,windingNonZero: function() { this.prepareWrite(); this.types.push(openfl_display__$internal_DrawCommandType.WINDING_NON_ZERO); } ,get_length: function() { return this.types.length; } ,__class__: openfl_display__$internal_DrawCommandBuffer ,__properties__: {get_length:"get_length"} }; var openfl_display__$internal_CanvasGraphics = function() { }; $hxClasses["openfl.display._internal.CanvasGraphics"] = openfl_display__$internal_CanvasGraphics; openfl_display__$internal_CanvasGraphics.__name__ = "openfl.display._internal.CanvasGraphics"; openfl_display__$internal_CanvasGraphics.allowSmoothing = null; openfl_display__$internal_CanvasGraphics.bitmapFill = null; openfl_display__$internal_CanvasGraphics.bitmapStroke = null; openfl_display__$internal_CanvasGraphics.bitmapRepeat = null; openfl_display__$internal_CanvasGraphics.bounds = null; openfl_display__$internal_CanvasGraphics.graphics = null; openfl_display__$internal_CanvasGraphics.hasFill = null; openfl_display__$internal_CanvasGraphics.hasStroke = null; openfl_display__$internal_CanvasGraphics.hitTesting = null; openfl_display__$internal_CanvasGraphics.inversePendingMatrix = null; openfl_display__$internal_CanvasGraphics.pendingMatrix = null; openfl_display__$internal_CanvasGraphics.windingRule = null; openfl_display__$internal_CanvasGraphics.worldAlpha = null; openfl_display__$internal_CanvasGraphics.context = null; openfl_display__$internal_CanvasGraphics.hitTestCanvas = null; openfl_display__$internal_CanvasGraphics.hitTestContext = null; openfl_display__$internal_CanvasGraphics.closePath = function(strokeBefore) { if(strokeBefore == null) { strokeBefore = false; } if(openfl_display__$internal_CanvasGraphics.context.strokeStyle == null) { return; } if(!strokeBefore) { openfl_display__$internal_CanvasGraphics.context.closePath(); } openfl_display__$internal_CanvasGraphics.context.stroke(); if(strokeBefore) { openfl_display__$internal_CanvasGraphics.context.closePath(); } openfl_display__$internal_CanvasGraphics.context.beginPath(); }; openfl_display__$internal_CanvasGraphics.createBitmapFill = function(bitmap,bitmapRepeat,smooth) { lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(bitmap.image); openfl_display__$internal_CanvasGraphics.setSmoothing(smooth); return openfl_display__$internal_CanvasGraphics.context.createPattern(bitmap.image.get_src(),bitmapRepeat ? "repeat" : "no-repeat"); }; openfl_display__$internal_CanvasGraphics.createGradientPattern = function(type,colors,alphas,ratios,matrix,spreadMethod,interpolationMethod,focalPointRatio) { var gradientFill = null; var point = null; var point2 = null; var releaseMatrix = false; if(matrix == null) { matrix = openfl_geom_Matrix.__pool.get(); matrix.identity(); releaseMatrix = true; } switch(type) { case 0: gradientFill = openfl_display__$internal_CanvasGraphics.context.createLinearGradient(-819.2,0,819.2,0); openfl_display__$internal_CanvasGraphics.pendingMatrix = matrix.clone(); openfl_display__$internal_CanvasGraphics.inversePendingMatrix = matrix.clone(); openfl_display__$internal_CanvasGraphics.inversePendingMatrix.invert(); break; case 1: var radius = 819.2; focalPointRatio = focalPointRatio > 1.0 ? 1.0 : focalPointRatio < -1.0 ? -1.0 : focalPointRatio; gradientFill = openfl_display__$internal_CanvasGraphics.context.createRadialGradient(radius * focalPointRatio,0,0,0,0,radius); openfl_display__$internal_CanvasGraphics.pendingMatrix = matrix.clone(); openfl_display__$internal_CanvasGraphics.inversePendingMatrix = matrix.clone(); openfl_display__$internal_CanvasGraphics.inversePendingMatrix.invert(); break; } var rgb; var alpha; var r; var g; var b; var ratio; var _g = 0; var _g1 = colors.length; while(_g < _g1) { var i = _g++; rgb = colors[i]; alpha = alphas[i]; r = (rgb & 16711680) >>> 16; g = (rgb & 65280) >>> 8; b = rgb & 255; ratio = ratios[i] / 255; if(ratio < 0) { ratio = 0; } if(ratio > 1) { ratio = 1; } gradientFill.addColorStop(ratio,"rgba(" + r + ", " + g + ", " + b + ", " + alpha + ")"); } if(point != null) { openfl_geom_Point.__pool.release(point); } if(point2 != null) { openfl_geom_Point.__pool.release(point2); } if(releaseMatrix) { openfl_geom_Matrix.__pool.release(matrix); } return gradientFill; }; openfl_display__$internal_CanvasGraphics.createTempPatternCanvas = function(bitmap,repeat,width,height) { var canvas = window.document.createElement("canvas"); var context = canvas.getContext("2d"); canvas.width = width; canvas.height = height; var tmp = bitmap.image.get_src(); context.fillStyle = context.createPattern(tmp,repeat ? "repeat" : "no-repeat"); context.beginPath(); context.moveTo(0,0); context.lineTo(0,height); context.lineTo(width,height); context.lineTo(width,0); context.lineTo(0,0); context.closePath(); if(!openfl_display__$internal_CanvasGraphics.hitTesting) { context.fill(openfl_display__$internal_CanvasGraphics.windingRule); } return canvas; }; openfl_display__$internal_CanvasGraphics.drawRoundRect = function(x,y,width,height,ellipseWidth,ellipseHeight) { if(ellipseHeight == null) { ellipseHeight = ellipseWidth; } ellipseWidth *= 0.5; ellipseHeight *= 0.5; if(ellipseWidth > width / 2) { ellipseWidth = width / 2; } if(ellipseHeight > height / 2) { ellipseHeight = height / 2; } var xe = x + width; var ye = y + height; var cx1 = -ellipseWidth + ellipseWidth * 0.70710678118654752440084436210485; var cx2 = -ellipseWidth + ellipseWidth * 0.4142135623730950488016887242097; var cy1 = -ellipseHeight + ellipseHeight * 0.70710678118654752440084436210485; var cy2 = -ellipseHeight + ellipseHeight * 0.4142135623730950488016887242097; openfl_display__$internal_CanvasGraphics.context.moveTo(xe,ye - ellipseHeight); openfl_display__$internal_CanvasGraphics.context.quadraticCurveTo(xe,ye + cy2,xe + cx1,ye + cy1); openfl_display__$internal_CanvasGraphics.context.quadraticCurveTo(xe + cx2,ye,xe - ellipseWidth,ye); openfl_display__$internal_CanvasGraphics.context.lineTo(x + ellipseWidth,ye); openfl_display__$internal_CanvasGraphics.context.quadraticCurveTo(x - cx2,ye,x - cx1,ye + cy1); openfl_display__$internal_CanvasGraphics.context.quadraticCurveTo(x,ye + cy2,x,ye - ellipseHeight); openfl_display__$internal_CanvasGraphics.context.lineTo(x,y + ellipseHeight); openfl_display__$internal_CanvasGraphics.context.quadraticCurveTo(x,y - cy2,x - cx1,y - cy1); openfl_display__$internal_CanvasGraphics.context.quadraticCurveTo(x - cx2,y,x + ellipseWidth,y); openfl_display__$internal_CanvasGraphics.context.lineTo(xe - ellipseWidth,y); openfl_display__$internal_CanvasGraphics.context.quadraticCurveTo(xe + cx2,y,xe + cx1,y - cy1); openfl_display__$internal_CanvasGraphics.context.quadraticCurveTo(xe,y - cy2,xe,y + ellipseHeight); openfl_display__$internal_CanvasGraphics.context.lineTo(xe,ye - ellipseHeight); }; openfl_display__$internal_CanvasGraphics.endFill = function() { openfl_display__$internal_CanvasGraphics.context.beginPath(); openfl_display__$internal_CanvasGraphics.playCommands(openfl_display__$internal_CanvasGraphics.fillCommands,false); openfl_display__$internal_CanvasGraphics.fillCommands.clear(); }; openfl_display__$internal_CanvasGraphics.endStroke = function() { openfl_display__$internal_CanvasGraphics.context.beginPath(); openfl_display__$internal_CanvasGraphics.playCommands(openfl_display__$internal_CanvasGraphics.strokeCommands,true); openfl_display__$internal_CanvasGraphics.context.closePath(); openfl_display__$internal_CanvasGraphics.strokeCommands.clear(); }; openfl_display__$internal_CanvasGraphics.hitTest = function(graphics,x,y) { openfl_display__$internal_CanvasGraphics.bounds = graphics.__bounds; openfl_display__$internal_CanvasGraphics.graphics = graphics; if(graphics.__commands.get_length() == 0 || openfl_display__$internal_CanvasGraphics.bounds == null || openfl_display__$internal_CanvasGraphics.bounds.width <= 0 || openfl_display__$internal_CanvasGraphics.bounds.height <= 0) { return false; } else { openfl_display__$internal_CanvasGraphics.hitTesting = true; var transform = graphics.__renderTransform; var px = x * transform.a + y * transform.c + transform.tx; var py = x * transform.b + y * transform.d + transform.ty; x = px; y = py; x -= openfl_display__$internal_CanvasGraphics.bounds.x * transform.a + openfl_display__$internal_CanvasGraphics.bounds.y * transform.c + transform.tx; y -= openfl_display__$internal_CanvasGraphics.bounds.x * transform.b + openfl_display__$internal_CanvasGraphics.bounds.y * transform.d + transform.ty; var cacheCanvas = graphics.__canvas; var cacheContext = graphics.__context; graphics.__canvas = openfl_display__$internal_CanvasGraphics.hitTestCanvas; graphics.__context = openfl_display__$internal_CanvasGraphics.hitTestContext; openfl_display__$internal_CanvasGraphics.context = graphics.__context; openfl_display__$internal_CanvasGraphics.context.setTransform(transform.a,transform.b,transform.c,transform.d,transform.tx,transform.ty); openfl_display__$internal_CanvasGraphics.fillCommands.clear(); openfl_display__$internal_CanvasGraphics.strokeCommands.clear(); openfl_display__$internal_CanvasGraphics.hasFill = false; openfl_display__$internal_CanvasGraphics.hasStroke = false; openfl_display__$internal_CanvasGraphics.bitmapFill = null; openfl_display__$internal_CanvasGraphics.bitmapRepeat = false; openfl_display__$internal_CanvasGraphics.windingRule = "evenodd"; var data = new openfl_display__$internal_DrawCommandReader(graphics.__commands); var _g = 0; var _g1 = graphics.__commands.types; while(_g < _g1.length) { var type = _g1[_g]; ++_g; switch(type._hx_index) { case 0:case 1:case 2:case 3: openfl_display__$internal_CanvasGraphics.endFill(); if(openfl_display__$internal_CanvasGraphics.hasFill && openfl_display__$internal_CanvasGraphics.context.isPointInPath(x,y,openfl_display__$internal_CanvasGraphics.windingRule)) { data.destroy(); graphics.__canvas = cacheCanvas; graphics.__context = cacheContext; return true; } openfl_display__$internal_CanvasGraphics.endStroke(); if(openfl_display__$internal_CanvasGraphics.hasStroke && openfl_display__$internal_CanvasGraphics.context.isPointInStroke(x,y)) { data.destroy(); graphics.__canvas = cacheCanvas; graphics.__context = cacheContext; return true; } if(type == openfl_display__$internal_DrawCommandType.BEGIN_BITMAP_FILL) { switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.BEGIN_BITMAP_FILL; var this1 = data; var c = this1; openfl_display__$internal_CanvasGraphics.fillCommands.beginBitmapFill(c.buffer.o[c.oPos],c.buffer.o[c.oPos + 1],c.buffer.b[c.bPos],c.buffer.b[c.bPos + 1]); openfl_display__$internal_CanvasGraphics.strokeCommands.beginBitmapFill(c.buffer.o[c.oPos],c.buffer.o[c.oPos + 1],c.buffer.b[c.bPos],c.buffer.b[c.bPos + 1]); } else if(type == openfl_display__$internal_DrawCommandType.BEGIN_GRADIENT_FILL) { switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.BEGIN_GRADIENT_FILL; var this2 = data; var c1 = this2; openfl_display__$internal_CanvasGraphics.fillCommands.beginGradientFill(c1.buffer.o[c1.oPos],c1.buffer.ii[c1.iiPos],c1.buffer.ff[c1.ffPos],c1.buffer.ii[c1.iiPos + 1],c1.buffer.o[c1.oPos + 1],c1.buffer.o[c1.oPos + 2],c1.buffer.o[c1.oPos + 3],c1.buffer.f[c1.fPos]); openfl_display__$internal_CanvasGraphics.strokeCommands.beginGradientFill(c1.buffer.o[c1.oPos],c1.buffer.ii[c1.iiPos],c1.buffer.ff[c1.ffPos],c1.buffer.ii[c1.iiPos + 1],c1.buffer.o[c1.oPos + 1],c1.buffer.o[c1.oPos + 2],c1.buffer.o[c1.oPos + 3],c1.buffer.f[c1.fPos]); } else if(type == openfl_display__$internal_DrawCommandType.BEGIN_SHADER_FILL) { switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.BEGIN_SHADER_FILL; var this3 = data; var c2 = this3; openfl_display__$internal_CanvasGraphics.fillCommands.beginShaderFill(c2.buffer.o[c2.oPos]); openfl_display__$internal_CanvasGraphics.strokeCommands.beginShaderFill(c2.buffer.o[c2.oPos]); } else { switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.BEGIN_FILL; var this4 = data; var c3 = this4; openfl_display__$internal_CanvasGraphics.fillCommands.beginFill(c3.buffer.i[c3.iPos],1); openfl_display__$internal_CanvasGraphics.strokeCommands.beginFill(c3.buffer.i[c3.iPos],1); } break; case 4: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.CUBIC_CURVE_TO; var this5 = data; var c4 = this5; openfl_display__$internal_CanvasGraphics.fillCommands.cubicCurveTo(c4.buffer.f[c4.fPos],c4.buffer.f[c4.fPos + 1],c4.buffer.f[c4.fPos + 2],c4.buffer.f[c4.fPos + 3],c4.buffer.f[c4.fPos + 4],c4.buffer.f[c4.fPos + 5]); openfl_display__$internal_CanvasGraphics.strokeCommands.cubicCurveTo(c4.buffer.f[c4.fPos],c4.buffer.f[c4.fPos + 1],c4.buffer.f[c4.fPos + 2],c4.buffer.f[c4.fPos + 3],c4.buffer.f[c4.fPos + 4],c4.buffer.f[c4.fPos + 5]); break; case 5: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.CURVE_TO; var this6 = data; var c5 = this6; openfl_display__$internal_CanvasGraphics.fillCommands.curveTo(c5.buffer.f[c5.fPos],c5.buffer.f[c5.fPos + 1],c5.buffer.f[c5.fPos + 2],c5.buffer.f[c5.fPos + 3]); openfl_display__$internal_CanvasGraphics.strokeCommands.curveTo(c5.buffer.f[c5.fPos],c5.buffer.f[c5.fPos + 1],c5.buffer.f[c5.fPos + 2],c5.buffer.f[c5.fPos + 3]); break; case 6: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.DRAW_CIRCLE; var this7 = data; var c6 = this7; openfl_display__$internal_CanvasGraphics.fillCommands.drawCircle(c6.buffer.f[c6.fPos],c6.buffer.f[c6.fPos + 1],c6.buffer.f[c6.fPos + 2]); openfl_display__$internal_CanvasGraphics.strokeCommands.drawCircle(c6.buffer.f[c6.fPos],c6.buffer.f[c6.fPos + 1],c6.buffer.f[c6.fPos + 2]); break; case 7: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.DRAW_ELLIPSE; var this8 = data; var c7 = this8; openfl_display__$internal_CanvasGraphics.fillCommands.drawEllipse(c7.buffer.f[c7.fPos],c7.buffer.f[c7.fPos + 1],c7.buffer.f[c7.fPos + 2],c7.buffer.f[c7.fPos + 3]); openfl_display__$internal_CanvasGraphics.strokeCommands.drawEllipse(c7.buffer.f[c7.fPos],c7.buffer.f[c7.fPos + 1],c7.buffer.f[c7.fPos + 2],c7.buffer.f[c7.fPos + 3]); break; case 9: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.DRAW_RECT; var this9 = data; var c8 = this9; openfl_display__$internal_CanvasGraphics.fillCommands.drawRect(c8.buffer.f[c8.fPos],c8.buffer.f[c8.fPos + 1],c8.buffer.f[c8.fPos + 2],c8.buffer.f[c8.fPos + 3]); openfl_display__$internal_CanvasGraphics.strokeCommands.drawRect(c8.buffer.f[c8.fPos],c8.buffer.f[c8.fPos + 1],c8.buffer.f[c8.fPos + 2],c8.buffer.f[c8.fPos + 3]); break; case 10: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.DRAW_ROUND_RECT; var this10 = data; var c9 = this10; openfl_display__$internal_CanvasGraphics.fillCommands.drawRoundRect(c9.buffer.f[c9.fPos],c9.buffer.f[c9.fPos + 1],c9.buffer.f[c9.fPos + 2],c9.buffer.f[c9.fPos + 3],c9.buffer.f[c9.fPos + 4],c9.buffer.o[c9.oPos]); openfl_display__$internal_CanvasGraphics.strokeCommands.drawRoundRect(c9.buffer.f[c9.fPos],c9.buffer.f[c9.fPos + 1],c9.buffer.f[c9.fPos + 2],c9.buffer.f[c9.fPos + 3],c9.buffer.f[c9.fPos + 4],c9.buffer.o[c9.oPos]); break; case 13: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.END_FILL; var this11 = data; openfl_display__$internal_CanvasGraphics.endFill(); if(openfl_display__$internal_CanvasGraphics.hasFill && openfl_display__$internal_CanvasGraphics.context.isPointInPath(x,y,openfl_display__$internal_CanvasGraphics.windingRule)) { data.destroy(); graphics.__canvas = cacheCanvas; graphics.__context = cacheContext; return true; } openfl_display__$internal_CanvasGraphics.endStroke(); if(openfl_display__$internal_CanvasGraphics.hasStroke && openfl_display__$internal_CanvasGraphics.context.isPointInStroke(x,y)) { data.destroy(); graphics.__canvas = cacheCanvas; graphics.__context = cacheContext; return true; } openfl_display__$internal_CanvasGraphics.hasFill = false; openfl_display__$internal_CanvasGraphics.bitmapFill = null; break; case 14: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.LINE_BITMAP_STYLE; var this12 = data; var c10 = this12; openfl_display__$internal_CanvasGraphics.strokeCommands.lineBitmapStyle(c10.buffer.o[c10.oPos],c10.buffer.o[c10.oPos + 1],c10.buffer.b[c10.bPos],c10.buffer.b[c10.bPos + 1]); break; case 15: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.LINE_GRADIENT_STYLE; var this13 = data; var c11 = this13; openfl_display__$internal_CanvasGraphics.strokeCommands.lineGradientStyle(c11.buffer.o[c11.oPos],c11.buffer.ii[c11.iiPos],c11.buffer.ff[c11.ffPos],c11.buffer.ii[c11.iiPos + 1],c11.buffer.o[c11.oPos + 1],c11.buffer.o[c11.oPos + 2],c11.buffer.o[c11.oPos + 3],c11.buffer.f[c11.fPos]); break; case 16: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.LINE_STYLE; var this14 = data; var c12 = this14; openfl_display__$internal_CanvasGraphics.strokeCommands.lineStyle(c12.buffer.o[c12.oPos],c12.buffer.i[c12.iPos],1,c12.buffer.b[c12.bPos],c12.buffer.o[c12.oPos + 1],c12.buffer.o[c12.oPos + 2],c12.buffer.o[c12.oPos + 3],c12.buffer.f[c12.fPos + 1]); break; case 17: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.LINE_TO; var this15 = data; var c13 = this15; openfl_display__$internal_CanvasGraphics.fillCommands.lineTo(c13.buffer.f[c13.fPos],c13.buffer.f[c13.fPos + 1]); openfl_display__$internal_CanvasGraphics.strokeCommands.lineTo(c13.buffer.f[c13.fPos],c13.buffer.f[c13.fPos + 1]); break; case 18: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.MOVE_TO; var this16 = data; var c14 = this16; openfl_display__$internal_CanvasGraphics.fillCommands.moveTo(c14.buffer.f[c14.fPos],c14.buffer.f[c14.fPos + 1]); openfl_display__$internal_CanvasGraphics.strokeCommands.moveTo(c14.buffer.f[c14.fPos],c14.buffer.f[c14.fPos + 1]); break; case 21: openfl_display__$internal_CanvasGraphics.windingRule = "evenodd"; break; case 22: openfl_display__$internal_CanvasGraphics.windingRule = "nonzero"; break; default: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = type; } } var hitTest = false; if(openfl_display__$internal_CanvasGraphics.fillCommands.get_length() > 0) { openfl_display__$internal_CanvasGraphics.endFill(); } if(openfl_display__$internal_CanvasGraphics.hasFill && openfl_display__$internal_CanvasGraphics.context.isPointInPath(x,y,openfl_display__$internal_CanvasGraphics.windingRule)) { hitTest = true; } if(openfl_display__$internal_CanvasGraphics.strokeCommands.get_length() > 0) { openfl_display__$internal_CanvasGraphics.endStroke(); } if(openfl_display__$internal_CanvasGraphics.hasStroke && openfl_display__$internal_CanvasGraphics.context.isPointInStroke(x,y)) { hitTest = true; } data.destroy(); graphics.__canvas = cacheCanvas; graphics.__context = cacheContext; return hitTest; } }; openfl_display__$internal_CanvasGraphics.isCCW = function(x1,y1,x2,y2,x3,y3) { return (x2 - x1) * (y3 - y1) - (y2 - y1) * (x3 - x1) < 0; }; openfl_display__$internal_CanvasGraphics.normalizeUVT = function(uvt,skipT) { if(skipT == null) { skipT = false; } var max = -Infinity; var tmp = -Infinity; var len = uvt.get_length(); var _g = 1; var _g1 = len + 1; while(_g < _g1) { var t = _g++; if(skipT && t % 3 == 0) { continue; } tmp = uvt.get(t - 1); if(max < tmp) { max = tmp; } } if(!skipT) { return { max : max, uvt : uvt}; } var result = openfl__$Vector_Vector_$Impl_$.toFloatVector(null); var _g2 = 1; var _g3 = len + 1; while(_g2 < _g3) { var t1 = _g2++; if(skipT && t1 % 3 == 0) { continue; } result.push(uvt.get(t1 - 1)); } return { max : max, uvt : result}; }; openfl_display__$internal_CanvasGraphics.playCommands = function(commands,stroke) { if(stroke == null) { stroke = false; } openfl_display__$internal_CanvasGraphics.bounds = openfl_display__$internal_CanvasGraphics.graphics.__bounds; var offsetX = openfl_display__$internal_CanvasGraphics.bounds.x; var offsetY = openfl_display__$internal_CanvasGraphics.bounds.y; var positionX = 0.0; var positionY = 0.0; var closeGap = false; var startX = 0.0; var startY = 0.0; var setStart = false; openfl_display__$internal_CanvasGraphics.windingRule = "evenodd"; openfl_display__$internal_CanvasGraphics.setSmoothing(true); var hasPath = false; var data = new openfl_display__$internal_DrawCommandReader(commands); var x; var y; var width; var height; var kappa = .5522848; var ox; var oy; var xe; var ye; var xm; var ym; var r; var g; var b; var optimizationUsed; var canOptimizeMatrix; var st; var sr; var sb; var sl; var stl = null; var sbr = null; var _g = 0; var _g1 = commands.types; _hx_loop1: while(_g < _g1.length) { var type = _g1[_g]; ++_g; switch(type._hx_index) { case 0: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.BEGIN_BITMAP_FILL; var this1 = data; var c = this1; openfl_display__$internal_CanvasGraphics.bitmapFill = c.buffer.o[c.oPos]; openfl_display__$internal_CanvasGraphics.context.fillStyle = openfl_display__$internal_CanvasGraphics.createBitmapFill(c.buffer.o[c.oPos],c.buffer.b[c.bPos],c.buffer.b[c.bPos + 1]); openfl_display__$internal_CanvasGraphics.hasFill = true; if(c.buffer.o[c.oPos + 1] != null) { openfl_display__$internal_CanvasGraphics.pendingMatrix = c.buffer.o[c.oPos + 1]; openfl_display__$internal_CanvasGraphics.inversePendingMatrix = c.buffer.o[c.oPos + 1].clone(); openfl_display__$internal_CanvasGraphics.inversePendingMatrix.invert(); } else { openfl_display__$internal_CanvasGraphics.pendingMatrix = null; openfl_display__$internal_CanvasGraphics.inversePendingMatrix = null; } break; case 1: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.BEGIN_FILL; var this2 = data; var c1 = this2; if(c1.buffer.f[c1.fPos] < 0.005) { openfl_display__$internal_CanvasGraphics.hasFill = false; } else { if(c1.buffer.f[c1.fPos] == 1) { var tmp = StringTools.hex(c1.buffer.i[c1.iPos] & 16777215,6); openfl_display__$internal_CanvasGraphics.context.fillStyle = "#" + tmp; } else { r = (c1.buffer.i[c1.iPos] & 16711680) >>> 16; g = (c1.buffer.i[c1.iPos] & 65280) >>> 8; b = c1.buffer.i[c1.iPos] & 255; openfl_display__$internal_CanvasGraphics.context.fillStyle = "rgba(" + r + ", " + g + ", " + b + ", " + c1.buffer.f[c1.fPos] + ")"; } openfl_display__$internal_CanvasGraphics.bitmapFill = null; openfl_display__$internal_CanvasGraphics.setSmoothing(true); openfl_display__$internal_CanvasGraphics.hasFill = true; } break; case 2: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.BEGIN_GRADIENT_FILL; var this3 = data; var c2 = this3; openfl_display__$internal_CanvasGraphics.context.fillStyle = openfl_display__$internal_CanvasGraphics.createGradientPattern(c2.buffer.o[c2.oPos],c2.buffer.ii[c2.iiPos],c2.buffer.ff[c2.ffPos],c2.buffer.ii[c2.iiPos + 1],c2.buffer.o[c2.oPos + 1],c2.buffer.o[c2.oPos + 2],c2.buffer.o[c2.oPos + 3],c2.buffer.f[c2.fPos]); openfl_display__$internal_CanvasGraphics.bitmapFill = null; openfl_display__$internal_CanvasGraphics.setSmoothing(true); openfl_display__$internal_CanvasGraphics.hasFill = true; break; case 3: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.BEGIN_SHADER_FILL; var this4 = data; var c3 = this4; var shaderBuffer = c3.buffer.o[c3.oPos]; if(shaderBuffer.inputCount > 0) { openfl_display__$internal_CanvasGraphics.bitmapFill = shaderBuffer.inputs[0]; openfl_display__$internal_CanvasGraphics.context.fillStyle = openfl_display__$internal_CanvasGraphics.createBitmapFill(openfl_display__$internal_CanvasGraphics.bitmapFill,shaderBuffer.inputWrap[0] != 0,shaderBuffer.inputFilter[0] != 5); openfl_display__$internal_CanvasGraphics.hasFill = true; openfl_display__$internal_CanvasGraphics.pendingMatrix = null; openfl_display__$internal_CanvasGraphics.inversePendingMatrix = null; } break; case 4: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.CUBIC_CURVE_TO; var this5 = data; var c4 = this5; hasPath = true; openfl_display__$internal_CanvasGraphics.context.bezierCurveTo(c4.buffer.f[c4.fPos] - offsetX,c4.buffer.f[c4.fPos + 1] - offsetY,c4.buffer.f[c4.fPos + 2] - offsetX,c4.buffer.f[c4.fPos + 3] - offsetY,c4.buffer.f[c4.fPos + 4] - offsetX,c4.buffer.f[c4.fPos + 5] - offsetY); break; case 5: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.CURVE_TO; var this6 = data; var c5 = this6; hasPath = true; openfl_display__$internal_CanvasGraphics.context.quadraticCurveTo(c5.buffer.f[c5.fPos] - offsetX,c5.buffer.f[c5.fPos + 1] - offsetY,c5.buffer.f[c5.fPos + 2] - offsetX,c5.buffer.f[c5.fPos + 3] - offsetY); break; case 6: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.DRAW_CIRCLE; var this7 = data; var c6 = this7; hasPath = true; openfl_display__$internal_CanvasGraphics.context.moveTo(c6.buffer.f[c6.fPos] - offsetX + c6.buffer.f[c6.fPos + 2],c6.buffer.f[c6.fPos + 1] - offsetY); openfl_display__$internal_CanvasGraphics.context.arc(c6.buffer.f[c6.fPos] - offsetX,c6.buffer.f[c6.fPos + 1] - offsetY,c6.buffer.f[c6.fPos + 2],0,Math.PI * 2,true); break; case 7: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.DRAW_ELLIPSE; var this8 = data; var c7 = this8; hasPath = true; x = c7.buffer.f[c7.fPos]; y = c7.buffer.f[c7.fPos + 1]; width = c7.buffer.f[c7.fPos + 2]; height = c7.buffer.f[c7.fPos + 3]; x -= offsetX; y -= offsetY; ox = width / 2 * kappa; oy = height / 2 * kappa; xe = x + width; ye = y + height; xm = x + width / 2; ym = y + height / 2; openfl_display__$internal_CanvasGraphics.context.moveTo(x,ym); openfl_display__$internal_CanvasGraphics.context.bezierCurveTo(x,ym - oy,xm - ox,y,xm,y); openfl_display__$internal_CanvasGraphics.context.bezierCurveTo(xm + ox,y,xe,ym - oy,xe,ym); openfl_display__$internal_CanvasGraphics.context.bezierCurveTo(xe,ym + oy,xm + ox,ye,xm,ye); openfl_display__$internal_CanvasGraphics.context.bezierCurveTo(xm - ox,ye,x,ym + oy,x,ym); break; case 8: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.DRAW_QUADS; var this9 = data; var c8 = this9; var rects = c8.buffer.o[c8.oPos]; var indices = c8.buffer.o[c8.oPos + 1]; var transforms = c8.buffer.o[c8.oPos + 2]; var hasIndices = indices != null; var transformABCD = false; var transformXY = false; var length = hasIndices ? indices.get_length() : Math.floor(rects.get_length() / 4); if(length == 0) { return; } if(transforms != null) { if(transforms.get_length() >= length * 6) { transformABCD = true; transformXY = true; } else if(transforms.get_length() >= length * 4) { transformABCD = true; } else if(transforms.get_length() >= length * 2) { transformXY = true; } } var tileRect = openfl_geom_Rectangle.__pool.get(); var tileTransform = openfl_geom_Matrix.__pool.get(); var transform = openfl_display__$internal_CanvasGraphics.graphics.__renderTransform; var alpha = openfl_display__$internal_CanvasGraphics.worldAlpha; var ri; var ti; openfl_display__$internal_CanvasGraphics.context.save(); var _g2 = 0; var _g11 = length; while(_g2 < _g11) { var i = _g2++; ri = hasIndices ? indices.get(i) * 4 : i * 4; if(ri < 0) { continue; } tileRect.setTo(rects.get(ri),rects.get(ri + 1),rects.get(ri + 2),rects.get(ri + 3)); if(tileRect.width <= 0 || tileRect.height <= 0) { continue; } if(transformABCD && transformXY) { ti = i * 6; tileTransform.setTo(transforms.get(ti),transforms.get(ti + 1),transforms.get(ti + 2),transforms.get(ti + 3),transforms.get(ti + 4),transforms.get(ti + 5)); } else if(transformABCD) { ti = i * 4; tileTransform.setTo(transforms.get(ti),transforms.get(ti + 1),transforms.get(ti + 2),transforms.get(ti + 3),tileRect.x,tileRect.y); } else if(transformXY) { ti = i * 2; tileTransform.tx = transforms.get(ti); tileTransform.ty = transforms.get(ti + 1); } else { tileTransform.tx = tileRect.x; tileTransform.ty = tileRect.y; } tileTransform.tx += positionX - offsetX; tileTransform.ty += positionY - offsetY; tileTransform.concat(transform); openfl_display__$internal_CanvasGraphics.context.setTransform(tileTransform.a,tileTransform.b,tileTransform.c,tileTransform.d,tileTransform.tx,tileTransform.ty); if(openfl_display__$internal_CanvasGraphics.bitmapFill != null) { openfl_display__$internal_CanvasGraphics.context.drawImage(openfl_display__$internal_CanvasGraphics.bitmapFill.image.get_src(),tileRect.x,tileRect.y,tileRect.width,tileRect.height,0,0,tileRect.width,tileRect.height); } else { openfl_display__$internal_CanvasGraphics.context.fillRect(0,0,tileRect.width,tileRect.height); } } openfl_geom_Rectangle.__pool.release(tileRect); openfl_geom_Matrix.__pool.release(tileTransform); openfl_display__$internal_CanvasGraphics.context.restore(); break; case 9: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.DRAW_RECT; var this10 = data; var c9 = this10; optimizationUsed = false; if(openfl_display__$internal_CanvasGraphics.bitmapFill != null && !openfl_display__$internal_CanvasGraphics.hitTesting) { st = 0; sr = 0; sb = 0; sl = 0; canOptimizeMatrix = true; if(openfl_display__$internal_CanvasGraphics.pendingMatrix != null) { if(openfl_display__$internal_CanvasGraphics.pendingMatrix.b != 0 || openfl_display__$internal_CanvasGraphics.pendingMatrix.c != 0) { canOptimizeMatrix = false; } else { if(stl == null) { stl = openfl_geom_Point.__pool.get(); } if(sbr == null) { sbr = openfl_geom_Point.__pool.get(); } stl.setTo(c9.buffer.f[c9.fPos],c9.buffer.f[c9.fPos + 1]); var _this = openfl_display__$internal_CanvasGraphics.inversePendingMatrix; var px = stl.x; var py = stl.y; stl.x = px * _this.a + py * _this.c + _this.tx; stl.y = px * _this.b + py * _this.d + _this.ty; sbr.setTo(c9.buffer.f[c9.fPos] + c9.buffer.f[c9.fPos + 2],c9.buffer.f[c9.fPos + 1] + c9.buffer.f[c9.fPos + 3]); var _this1 = openfl_display__$internal_CanvasGraphics.inversePendingMatrix; var px1 = sbr.x; var py1 = sbr.y; sbr.x = px1 * _this1.a + py1 * _this1.c + _this1.tx; sbr.y = px1 * _this1.b + py1 * _this1.d + _this1.ty; st = stl.y; sl = stl.x; sb = sbr.y; sr = sbr.x; } } else { st = c9.buffer.f[c9.fPos + 1]; sl = c9.buffer.f[c9.fPos]; sb = c9.buffer.f[c9.fPos + 1] + c9.buffer.f[c9.fPos + 3]; sr = c9.buffer.f[c9.fPos] + c9.buffer.f[c9.fPos + 2]; } if(canOptimizeMatrix && st >= 0 && sl >= 0 && sr <= openfl_display__$internal_CanvasGraphics.bitmapFill.width && sb <= openfl_display__$internal_CanvasGraphics.bitmapFill.height) { optimizationUsed = true; if(!openfl_display__$internal_CanvasGraphics.hitTesting) { openfl_display__$internal_CanvasGraphics.context.drawImage(openfl_display__$internal_CanvasGraphics.bitmapFill.image.get_src(),sl,st,sr - sl,sb - st,c9.buffer.f[c9.fPos] - offsetX,c9.buffer.f[c9.fPos + 1] - offsetY,c9.buffer.f[c9.fPos + 2],c9.buffer.f[c9.fPos + 3]); } } } if(!optimizationUsed) { hasPath = true; openfl_display__$internal_CanvasGraphics.context.rect(c9.buffer.f[c9.fPos] - offsetX,c9.buffer.f[c9.fPos + 1] - offsetY,c9.buffer.f[c9.fPos + 2],c9.buffer.f[c9.fPos + 3]); } break; case 10: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.DRAW_ROUND_RECT; var this11 = data; var c10 = this11; hasPath = true; openfl_display__$internal_CanvasGraphics.drawRoundRect(c10.buffer.f[c10.fPos] - offsetX,c10.buffer.f[c10.fPos + 1] - offsetY,c10.buffer.f[c10.fPos + 2],c10.buffer.f[c10.fPos + 3],c10.buffer.f[c10.fPos + 4],c10.buffer.o[c10.oPos]); break; case 12: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.DRAW_TRIANGLES; var this12 = data; var c11 = this12; var v = c11.buffer.o[c11.oPos]; var ind = c11.buffer.o[c11.oPos + 1]; var uvt = c11.buffer.o[c11.oPos + 2]; var pattern = null; var colorFill = openfl_display__$internal_CanvasGraphics.bitmapFill == null; if(colorFill && uvt != null) { break _hx_loop1; } if(!colorFill) { if(uvt == null) { uvt = openfl__$Vector_Vector_$Impl_$.toFloatVector(null); var _g3 = 0; var _g12 = v.get_length() / 2 | 0; while(_g3 < _g12) { var i1 = _g3++; uvt.push(v.get(i1 * 2) - offsetX / openfl_display__$internal_CanvasGraphics.bitmapFill.width); uvt.push(v.get(i1 * 2 + 1) - offsetY / openfl_display__$internal_CanvasGraphics.bitmapFill.height); } } var skipT = uvt.get_length() != v.get_length(); var normalizedUVT = openfl_display__$internal_CanvasGraphics.normalizeUVT(uvt,skipT); var maxUVT = normalizedUVT.max; uvt = normalizedUVT.uvt; if(maxUVT > 1) { pattern = openfl_display__$internal_CanvasGraphics.createTempPatternCanvas(openfl_display__$internal_CanvasGraphics.bitmapFill,openfl_display__$internal_CanvasGraphics.bitmapRepeat,openfl_display__$internal_CanvasGraphics.bounds.width | 0,openfl_display__$internal_CanvasGraphics.bounds.height | 0); } else { pattern = openfl_display__$internal_CanvasGraphics.createTempPatternCanvas(openfl_display__$internal_CanvasGraphics.bitmapFill,openfl_display__$internal_CanvasGraphics.bitmapRepeat,openfl_display__$internal_CanvasGraphics.bitmapFill.width,openfl_display__$internal_CanvasGraphics.bitmapFill.height); } } var i2 = 0; var l = ind.get_length(); var a_; var b_; var c_; var iax; var iay; var ibx; var iby; var icx; var icy; var x1; var y1; var x2; var y2; var x3; var y3; var uvx1; var uvy1; var uvx2; var uvy2; var uvx3; var uvy3; var denom; var t1; var t2; var t3; var t4; var dx; var dy; while(i2 < l) { a_ = i2; b_ = i2 + 1; c_ = i2 + 2; iax = ind.get(a_) * 2; iay = ind.get(a_) * 2 + 1; ibx = ind.get(b_) * 2; iby = ind.get(b_) * 2 + 1; icx = ind.get(c_) * 2; icy = ind.get(c_) * 2 + 1; x1 = v.get(iax) - offsetX; y1 = v.get(iay) - offsetY; x2 = v.get(ibx) - offsetX; y2 = v.get(iby) - offsetY; x3 = v.get(icx) - offsetX; y3 = v.get(icy) - offsetY; switch(c11.buffer.o[c11.oPos + 3]) { case 0: if((x2 - x1) * (y3 - y1) - (y2 - y1) * (x3 - x1) < 0) { i2 += 3; continue; } break; case 2: if(!((x2 - x1) * (y3 - y1) - (y2 - y1) * (x3 - x1) < 0)) { i2 += 3; continue; } break; default: } if(colorFill) { openfl_display__$internal_CanvasGraphics.context.beginPath(); openfl_display__$internal_CanvasGraphics.context.moveTo(x1,y1); openfl_display__$internal_CanvasGraphics.context.lineTo(x2,y2); openfl_display__$internal_CanvasGraphics.context.lineTo(x3,y3); openfl_display__$internal_CanvasGraphics.context.closePath(); if(!openfl_display__$internal_CanvasGraphics.hitTesting) { openfl_display__$internal_CanvasGraphics.context.fill(openfl_display__$internal_CanvasGraphics.windingRule); } i2 += 3; continue; } uvx1 = uvt.get(iax) * pattern.width; uvx2 = uvt.get(ibx) * pattern.width; uvx3 = uvt.get(icx) * pattern.width; uvy1 = uvt.get(iay) * pattern.height; uvy2 = uvt.get(iby) * pattern.height; uvy3 = uvt.get(icy) * pattern.height; denom = uvx1 * (uvy3 - uvy2) - uvx2 * uvy3 + uvx3 * uvy2 + (uvx2 - uvx3) * uvy1; if(denom == 0) { i2 += 3; openfl_display__$internal_CanvasGraphics.context.restore(); continue; } openfl_display__$internal_CanvasGraphics.context.save(); openfl_display__$internal_CanvasGraphics.context.beginPath(); openfl_display__$internal_CanvasGraphics.context.moveTo(x1,y1); openfl_display__$internal_CanvasGraphics.context.lineTo(x2,y2); openfl_display__$internal_CanvasGraphics.context.lineTo(x3,y3); openfl_display__$internal_CanvasGraphics.context.closePath(); openfl_display__$internal_CanvasGraphics.context.clip(); t1 = -(uvy1 * (x3 - x2) - uvy2 * x3 + uvy3 * x2 + (uvy2 - uvy3) * x1) / denom; t2 = (uvy2 * y3 + uvy1 * (y2 - y3) - uvy3 * y2 + (uvy3 - uvy2) * y1) / denom; t3 = (uvx1 * (x3 - x2) - uvx2 * x3 + uvx3 * x2 + (uvx2 - uvx3) * x1) / denom; t4 = -(uvx2 * y3 + uvx1 * (y2 - y3) - uvx3 * y2 + (uvx3 - uvx2) * y1) / denom; dx = (uvx1 * (uvy3 * x2 - uvy2 * x3) + uvy1 * (uvx2 * x3 - uvx3 * x2) + (uvx3 * uvy2 - uvx2 * uvy3) * x1) / denom; dy = (uvx1 * (uvy3 * y2 - uvy2 * y3) + uvy1 * (uvx2 * y3 - uvx3 * y2) + (uvx3 * uvy2 - uvx2 * uvy3) * y1) / denom; openfl_display__$internal_CanvasGraphics.context.transform(t1,t2,t3,t4,dx,dy); openfl_display__$internal_CanvasGraphics.context.drawImage(pattern,0,0,pattern.width,pattern.height); openfl_display__$internal_CanvasGraphics.context.restore(); i2 += 3; } break; case 14: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.LINE_BITMAP_STYLE; var this13 = data; var c12 = this13; if(stroke && openfl_display__$internal_CanvasGraphics.hasStroke) { openfl_display__$internal_CanvasGraphics.closePath(); } openfl_display__$internal_CanvasGraphics.context.moveTo(positionX - offsetX,positionY - offsetY); openfl_display__$internal_CanvasGraphics.context.strokeStyle = openfl_display__$internal_CanvasGraphics.createBitmapFill(c12.buffer.o[c12.oPos],c12.buffer.b[c12.bPos],c12.buffer.b[c12.bPos + 1]); openfl_display__$internal_CanvasGraphics.hasStroke = true; break; case 15: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.LINE_GRADIENT_STYLE; var this14 = data; var c13 = this14; if(stroke && openfl_display__$internal_CanvasGraphics.hasStroke) { openfl_display__$internal_CanvasGraphics.closePath(); } openfl_display__$internal_CanvasGraphics.context.moveTo(positionX - offsetX,positionY - offsetY); openfl_display__$internal_CanvasGraphics.context.strokeStyle = openfl_display__$internal_CanvasGraphics.createGradientPattern(c13.buffer.o[c13.oPos],c13.buffer.ii[c13.iiPos],c13.buffer.ff[c13.ffPos],c13.buffer.ii[c13.iiPos + 1],c13.buffer.o[c13.oPos + 1],c13.buffer.o[c13.oPos + 2],c13.buffer.o[c13.oPos + 3],c13.buffer.f[c13.fPos]); openfl_display__$internal_CanvasGraphics.setSmoothing(true); openfl_display__$internal_CanvasGraphics.hasStroke = true; break; case 16: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.LINE_STYLE; var this15 = data; var c14 = this15; if(stroke && openfl_display__$internal_CanvasGraphics.hasStroke) { openfl_display__$internal_CanvasGraphics.closePath(true); } openfl_display__$internal_CanvasGraphics.context.moveTo(positionX - offsetX,positionY - offsetY); if(c14.buffer.o[c14.oPos] == null) { openfl_display__$internal_CanvasGraphics.hasStroke = false; } else { openfl_display__$internal_CanvasGraphics.context.lineWidth = c14.buffer.o[c14.oPos] > 0 ? c14.buffer.o[c14.oPos] : 1; var tmp1 = c14.buffer.o[c14.oPos + 3] == null ? "round" : openfl_display__$JointStyle_JointStyle_$Impl_$.toString(c14.buffer.o[c14.oPos + 3]).toLowerCase(); openfl_display__$internal_CanvasGraphics.context.lineJoin = tmp1; var tmp2 = c14.buffer.o[c14.oPos + 2] == null ? "round" : c14.buffer.o[c14.oPos + 2] == 0 ? "butt" : openfl_display__$CapsStyle_CapsStyle_$Impl_$.toString(c14.buffer.o[c14.oPos + 2]).toLowerCase(); openfl_display__$internal_CanvasGraphics.context.lineCap = tmp2; openfl_display__$internal_CanvasGraphics.context.miterLimit = c14.buffer.f[c14.fPos + 1]; if(c14.buffer.f[c14.fPos] == 1) { var tmp3 = StringTools.hex(c14.buffer.i[c14.iPos] & 16777215,6); openfl_display__$internal_CanvasGraphics.context.strokeStyle = "#" + tmp3; } else { r = (c14.buffer.i[c14.iPos] & 16711680) >>> 16; g = (c14.buffer.i[c14.iPos] & 65280) >>> 8; b = c14.buffer.i[c14.iPos] & 255; openfl_display__$internal_CanvasGraphics.context.strokeStyle = "rgba(" + r + ", " + g + ", " + b + ", " + c14.buffer.f[c14.fPos] + ")"; } openfl_display__$internal_CanvasGraphics.setSmoothing(true); openfl_display__$internal_CanvasGraphics.hasStroke = true; } break; case 17: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.LINE_TO; var this16 = data; var c15 = this16; hasPath = true; openfl_display__$internal_CanvasGraphics.context.lineTo(c15.buffer.f[c15.fPos] - offsetX,c15.buffer.f[c15.fPos + 1] - offsetY); positionX = c15.buffer.f[c15.fPos]; positionY = c15.buffer.f[c15.fPos + 1]; if(positionX == startX && positionY == startY) { closeGap = true; } break; case 18: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.MOVE_TO; var this17 = data; var c16 = this17; openfl_display__$internal_CanvasGraphics.context.moveTo(c16.buffer.f[c16.fPos] - offsetX,c16.buffer.f[c16.fPos + 1] - offsetY); positionX = c16.buffer.f[c16.fPos]; positionY = c16.buffer.f[c16.fPos + 1]; if(setStart && c16.buffer.f[c16.fPos] != startX && c16.buffer.f[c16.fPos + 1] != startY) { closeGap = true; } startX = c16.buffer.f[c16.fPos]; startY = c16.buffer.f[c16.fPos + 1]; setStart = true; break; case 21: openfl_display__$internal_CanvasGraphics.windingRule = "evenodd"; break; case 22: openfl_display__$internal_CanvasGraphics.windingRule = "nonzero"; break; default: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = type; } } if(stl != null) { openfl_geom_Point.__pool.release(stl); } if(sbr != null) { openfl_geom_Point.__pool.release(sbr); } data.destroy(); if(hasPath) { if(stroke && openfl_display__$internal_CanvasGraphics.hasStroke) { if(openfl_display__$internal_CanvasGraphics.hasFill) { if(positionX != startX || positionY != startY) { openfl_display__$internal_CanvasGraphics.context.lineTo(startX - offsetX,startY - offsetY); closeGap = true; } if(closeGap) { openfl_display__$internal_CanvasGraphics.closePath(true); } } else if(closeGap && positionX == startX && positionY == startY) { openfl_display__$internal_CanvasGraphics.closePath(true); } if(!openfl_display__$internal_CanvasGraphics.hitTesting) { openfl_display__$internal_CanvasGraphics.context.stroke(); } } if(!stroke) { if(openfl_display__$internal_CanvasGraphics.hasFill || openfl_display__$internal_CanvasGraphics.bitmapFill != null) { openfl_display__$internal_CanvasGraphics.context.translate(-openfl_display__$internal_CanvasGraphics.bounds.x,-openfl_display__$internal_CanvasGraphics.bounds.y); if(openfl_display__$internal_CanvasGraphics.pendingMatrix != null) { openfl_display__$internal_CanvasGraphics.context.transform(openfl_display__$internal_CanvasGraphics.pendingMatrix.a,openfl_display__$internal_CanvasGraphics.pendingMatrix.b,openfl_display__$internal_CanvasGraphics.pendingMatrix.c,openfl_display__$internal_CanvasGraphics.pendingMatrix.d,openfl_display__$internal_CanvasGraphics.pendingMatrix.tx,openfl_display__$internal_CanvasGraphics.pendingMatrix.ty); if(!openfl_display__$internal_CanvasGraphics.hitTesting) { openfl_display__$internal_CanvasGraphics.context.fill(openfl_display__$internal_CanvasGraphics.windingRule); } openfl_display__$internal_CanvasGraphics.context.transform(openfl_display__$internal_CanvasGraphics.inversePendingMatrix.a,openfl_display__$internal_CanvasGraphics.inversePendingMatrix.b,openfl_display__$internal_CanvasGraphics.inversePendingMatrix.c,openfl_display__$internal_CanvasGraphics.inversePendingMatrix.d,openfl_display__$internal_CanvasGraphics.inversePendingMatrix.tx,openfl_display__$internal_CanvasGraphics.inversePendingMatrix.ty); } else if(!openfl_display__$internal_CanvasGraphics.hitTesting) { openfl_display__$internal_CanvasGraphics.context.fill(openfl_display__$internal_CanvasGraphics.windingRule); } openfl_display__$internal_CanvasGraphics.context.translate(openfl_display__$internal_CanvasGraphics.bounds.x,openfl_display__$internal_CanvasGraphics.bounds.y); openfl_display__$internal_CanvasGraphics.context.closePath(); } } } }; openfl_display__$internal_CanvasGraphics.render = function(graphics,renderer) { graphics.__update(renderer.__worldTransform); if(graphics.__softwareDirty) { openfl_display__$internal_CanvasGraphics.hitTesting = false; openfl_display__$internal_CanvasGraphics.graphics = graphics; openfl_display__$internal_CanvasGraphics.allowSmoothing = renderer.__allowSmoothing; openfl_display__$internal_CanvasGraphics.worldAlpha = renderer.__getAlpha(graphics.__owner.__worldAlpha); openfl_display__$internal_CanvasGraphics.bounds = graphics.__bounds; var width = graphics.__width; var height = graphics.__height; if(!graphics.__visible || graphics.__commands.get_length() == 0 || openfl_display__$internal_CanvasGraphics.bounds == null || width < 1 || height < 1) { graphics.__canvas = null; graphics.__context = null; graphics.__bitmap = null; } else { if(graphics.__canvas == null) { graphics.__canvas = window.document.createElement("canvas"); graphics.__context = graphics.__canvas.getContext("2d"); } openfl_display__$internal_CanvasGraphics.context = graphics.__context; var transform = graphics.__renderTransform; var canvas = graphics.__canvas; var scale = renderer.pixelRatio; var scaledWidth = width * scale | 0; var scaledHeight = height * scale | 0; renderer.__setBlendModeContext(openfl_display__$internal_CanvasGraphics.context,10); if(renderer.__isDOM) { if(canvas.width == scaledWidth && canvas.height == scaledHeight) { openfl_display__$internal_CanvasGraphics.context.clearRect(0,0,scaledWidth,scaledHeight); } else { canvas.width = scaledWidth; canvas.height = scaledHeight; canvas.style.width = width + "px"; canvas.style.height = height + "px"; } var transform1 = graphics.__renderTransform; openfl_display__$internal_CanvasGraphics.context.setTransform(transform1.a * scale,transform1.b * scale,transform1.c * scale,transform1.d * scale,transform1.tx * scale,transform1.ty * scale); } else { if(canvas.width == scaledWidth && canvas.height == scaledHeight) { openfl_display__$internal_CanvasGraphics.context.closePath(); openfl_display__$internal_CanvasGraphics.context.setTransform(1,0,0,1,0,0); openfl_display__$internal_CanvasGraphics.context.clearRect(0,0,scaledWidth,scaledHeight); } else { canvas.width = width; canvas.height = height; } openfl_display__$internal_CanvasGraphics.context.setTransform(transform.a,transform.b,transform.c,transform.d,transform.tx,transform.ty); } openfl_display__$internal_CanvasGraphics.fillCommands.clear(); openfl_display__$internal_CanvasGraphics.strokeCommands.clear(); openfl_display__$internal_CanvasGraphics.hasFill = false; openfl_display__$internal_CanvasGraphics.hasStroke = false; openfl_display__$internal_CanvasGraphics.bitmapFill = null; openfl_display__$internal_CanvasGraphics.bitmapRepeat = false; var hasLineStyle = false; var initStrokeX = 0.0; var initStrokeY = 0.0; openfl_display__$internal_CanvasGraphics.windingRule = "evenodd"; var data = new openfl_display__$internal_DrawCommandReader(graphics.__commands); var _g = 0; var _g1 = graphics.__commands.types; while(_g < _g1.length) { var type = _g1[_g]; ++_g; switch(type._hx_index) { case 0:case 1:case 2:case 3: openfl_display__$internal_CanvasGraphics.endFill(); openfl_display__$internal_CanvasGraphics.endStroke(); if(type == openfl_display__$internal_DrawCommandType.BEGIN_BITMAP_FILL) { switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.BEGIN_BITMAP_FILL; var this1 = data; var c = this1; openfl_display__$internal_CanvasGraphics.fillCommands.beginBitmapFill(c.buffer.o[c.oPos],c.buffer.o[c.oPos + 1],c.buffer.b[c.bPos],c.buffer.b[c.bPos + 1]); openfl_display__$internal_CanvasGraphics.strokeCommands.beginBitmapFill(c.buffer.o[c.oPos],c.buffer.o[c.oPos + 1],c.buffer.b[c.bPos],c.buffer.b[c.bPos + 1]); } else if(type == openfl_display__$internal_DrawCommandType.BEGIN_GRADIENT_FILL) { switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.BEGIN_GRADIENT_FILL; var this2 = data; var c1 = this2; openfl_display__$internal_CanvasGraphics.fillCommands.beginGradientFill(c1.buffer.o[c1.oPos],c1.buffer.ii[c1.iiPos],c1.buffer.ff[c1.ffPos],c1.buffer.ii[c1.iiPos + 1],c1.buffer.o[c1.oPos + 1],c1.buffer.o[c1.oPos + 2],c1.buffer.o[c1.oPos + 3],c1.buffer.f[c1.fPos]); openfl_display__$internal_CanvasGraphics.strokeCommands.beginGradientFill(c1.buffer.o[c1.oPos],c1.buffer.ii[c1.iiPos],c1.buffer.ff[c1.ffPos],c1.buffer.ii[c1.iiPos + 1],c1.buffer.o[c1.oPos + 1],c1.buffer.o[c1.oPos + 2],c1.buffer.o[c1.oPos + 3],c1.buffer.f[c1.fPos]); } else if(type == openfl_display__$internal_DrawCommandType.BEGIN_SHADER_FILL) { switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.BEGIN_SHADER_FILL; var this3 = data; var c2 = this3; openfl_display__$internal_CanvasGraphics.fillCommands.beginShaderFill(c2.buffer.o[c2.oPos]); openfl_display__$internal_CanvasGraphics.strokeCommands.beginShaderFill(c2.buffer.o[c2.oPos]); } else { switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.BEGIN_FILL; var this4 = data; var c3 = this4; openfl_display__$internal_CanvasGraphics.fillCommands.beginFill(c3.buffer.i[c3.iPos],c3.buffer.f[c3.fPos]); openfl_display__$internal_CanvasGraphics.strokeCommands.beginFill(c3.buffer.i[c3.iPos],c3.buffer.f[c3.fPos]); } break; case 4: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.CUBIC_CURVE_TO; var this5 = data; var c4 = this5; openfl_display__$internal_CanvasGraphics.fillCommands.cubicCurveTo(c4.buffer.f[c4.fPos],c4.buffer.f[c4.fPos + 1],c4.buffer.f[c4.fPos + 2],c4.buffer.f[c4.fPos + 3],c4.buffer.f[c4.fPos + 4],c4.buffer.f[c4.fPos + 5]); if(hasLineStyle) { openfl_display__$internal_CanvasGraphics.strokeCommands.cubicCurveTo(c4.buffer.f[c4.fPos],c4.buffer.f[c4.fPos + 1],c4.buffer.f[c4.fPos + 2],c4.buffer.f[c4.fPos + 3],c4.buffer.f[c4.fPos + 4],c4.buffer.f[c4.fPos + 5]); } else { initStrokeX = c4.buffer.f[c4.fPos + 4]; initStrokeY = c4.buffer.f[c4.fPos + 5]; } break; case 5: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.CURVE_TO; var this6 = data; var c5 = this6; openfl_display__$internal_CanvasGraphics.fillCommands.curveTo(c5.buffer.f[c5.fPos],c5.buffer.f[c5.fPos + 1],c5.buffer.f[c5.fPos + 2],c5.buffer.f[c5.fPos + 3]); if(hasLineStyle) { openfl_display__$internal_CanvasGraphics.strokeCommands.curveTo(c5.buffer.f[c5.fPos],c5.buffer.f[c5.fPos + 1],c5.buffer.f[c5.fPos + 2],c5.buffer.f[c5.fPos + 3]); } else { initStrokeX = c5.buffer.f[c5.fPos + 2]; initStrokeY = c5.buffer.f[c5.fPos + 3]; } break; case 6: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.DRAW_CIRCLE; var this7 = data; var c6 = this7; openfl_display__$internal_CanvasGraphics.fillCommands.drawCircle(c6.buffer.f[c6.fPos],c6.buffer.f[c6.fPos + 1],c6.buffer.f[c6.fPos + 2]); if(hasLineStyle) { openfl_display__$internal_CanvasGraphics.strokeCommands.drawCircle(c6.buffer.f[c6.fPos],c6.buffer.f[c6.fPos + 1],c6.buffer.f[c6.fPos + 2]); } break; case 7: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.DRAW_ELLIPSE; var this8 = data; var c7 = this8; openfl_display__$internal_CanvasGraphics.fillCommands.drawEllipse(c7.buffer.f[c7.fPos],c7.buffer.f[c7.fPos + 1],c7.buffer.f[c7.fPos + 2],c7.buffer.f[c7.fPos + 3]); if(hasLineStyle) { openfl_display__$internal_CanvasGraphics.strokeCommands.drawEllipse(c7.buffer.f[c7.fPos],c7.buffer.f[c7.fPos + 1],c7.buffer.f[c7.fPos + 2],c7.buffer.f[c7.fPos + 3]); } break; case 8: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.DRAW_QUADS; var this9 = data; var c8 = this9; openfl_display__$internal_CanvasGraphics.fillCommands.drawQuads(c8.buffer.o[c8.oPos],c8.buffer.o[c8.oPos + 1],c8.buffer.o[c8.oPos + 2]); break; case 9: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.DRAW_RECT; var this10 = data; var c9 = this10; openfl_display__$internal_CanvasGraphics.fillCommands.drawRect(c9.buffer.f[c9.fPos],c9.buffer.f[c9.fPos + 1],c9.buffer.f[c9.fPos + 2],c9.buffer.f[c9.fPos + 3]); if(hasLineStyle) { openfl_display__$internal_CanvasGraphics.strokeCommands.drawRect(c9.buffer.f[c9.fPos],c9.buffer.f[c9.fPos + 1],c9.buffer.f[c9.fPos + 2],c9.buffer.f[c9.fPos + 3]); } break; case 10: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.DRAW_ROUND_RECT; var this11 = data; var c10 = this11; openfl_display__$internal_CanvasGraphics.fillCommands.drawRoundRect(c10.buffer.f[c10.fPos],c10.buffer.f[c10.fPos + 1],c10.buffer.f[c10.fPos + 2],c10.buffer.f[c10.fPos + 3],c10.buffer.f[c10.fPos + 4],c10.buffer.o[c10.oPos]); if(hasLineStyle) { openfl_display__$internal_CanvasGraphics.strokeCommands.drawRoundRect(c10.buffer.f[c10.fPos],c10.buffer.f[c10.fPos + 1],c10.buffer.f[c10.fPos + 2],c10.buffer.f[c10.fPos + 3],c10.buffer.f[c10.fPos + 4],c10.buffer.o[c10.oPos]); } break; case 12: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.DRAW_TRIANGLES; var this12 = data; var c11 = this12; openfl_display__$internal_CanvasGraphics.fillCommands.drawTriangles(c11.buffer.o[c11.oPos],c11.buffer.o[c11.oPos + 1],c11.buffer.o[c11.oPos + 2],c11.buffer.o[c11.oPos + 3]); break; case 13: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.END_FILL; var this13 = data; openfl_display__$internal_CanvasGraphics.endFill(); openfl_display__$internal_CanvasGraphics.endStroke(); openfl_display__$internal_CanvasGraphics.hasFill = false; hasLineStyle = false; openfl_display__$internal_CanvasGraphics.bitmapFill = null; initStrokeX = 0; initStrokeY = 0; break; case 14: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.LINE_BITMAP_STYLE; var this14 = data; var c12 = this14; if(!hasLineStyle && (initStrokeX != 0 || initStrokeY != 0)) { openfl_display__$internal_CanvasGraphics.strokeCommands.moveTo(initStrokeX,initStrokeY); initStrokeX = 0; initStrokeY = 0; } hasLineStyle = true; openfl_display__$internal_CanvasGraphics.strokeCommands.lineBitmapStyle(c12.buffer.o[c12.oPos],c12.buffer.o[c12.oPos + 1],c12.buffer.b[c12.bPos],c12.buffer.b[c12.bPos + 1]); break; case 15: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.LINE_GRADIENT_STYLE; var this15 = data; var c13 = this15; if(!hasLineStyle && (initStrokeX != 0 || initStrokeY != 0)) { openfl_display__$internal_CanvasGraphics.strokeCommands.moveTo(initStrokeX,initStrokeY); initStrokeX = 0; initStrokeY = 0; } hasLineStyle = true; openfl_display__$internal_CanvasGraphics.strokeCommands.lineGradientStyle(c13.buffer.o[c13.oPos],c13.buffer.ii[c13.iiPos],c13.buffer.ff[c13.ffPos],c13.buffer.ii[c13.iiPos + 1],c13.buffer.o[c13.oPos + 1],c13.buffer.o[c13.oPos + 2],c13.buffer.o[c13.oPos + 3],c13.buffer.f[c13.fPos]); break; case 16: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.LINE_STYLE; var this16 = data; var c14 = this16; if(!hasLineStyle && c14.buffer.o[c14.oPos] != null) { if(initStrokeX != 0 || initStrokeY != 0) { openfl_display__$internal_CanvasGraphics.strokeCommands.moveTo(initStrokeX,initStrokeY); initStrokeX = 0; initStrokeY = 0; } } hasLineStyle = c14.buffer.o[c14.oPos] != null; openfl_display__$internal_CanvasGraphics.strokeCommands.lineStyle(c14.buffer.o[c14.oPos],c14.buffer.i[c14.iPos],c14.buffer.f[c14.fPos],c14.buffer.b[c14.bPos],c14.buffer.o[c14.oPos + 1],c14.buffer.o[c14.oPos + 2],c14.buffer.o[c14.oPos + 3],c14.buffer.f[c14.fPos + 1]); break; case 17: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.LINE_TO; var this17 = data; var c15 = this17; openfl_display__$internal_CanvasGraphics.fillCommands.lineTo(c15.buffer.f[c15.fPos],c15.buffer.f[c15.fPos + 1]); if(hasLineStyle) { openfl_display__$internal_CanvasGraphics.strokeCommands.lineTo(c15.buffer.f[c15.fPos],c15.buffer.f[c15.fPos + 1]); } else { initStrokeX = c15.buffer.f[c15.fPos]; initStrokeY = c15.buffer.f[c15.fPos + 1]; } break; case 18: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.MOVE_TO; var this18 = data; var c16 = this18; openfl_display__$internal_CanvasGraphics.fillCommands.moveTo(c16.buffer.f[c16.fPos],c16.buffer.f[c16.fPos + 1]); if(hasLineStyle) { openfl_display__$internal_CanvasGraphics.strokeCommands.moveTo(c16.buffer.f[c16.fPos],c16.buffer.f[c16.fPos + 1]); } else { initStrokeX = c16.buffer.f[c16.fPos]; initStrokeY = c16.buffer.f[c16.fPos + 1]; } break; case 19: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.OVERRIDE_BLEND_MODE; var this19 = data; var c17 = this19; renderer.__setBlendModeContext(openfl_display__$internal_CanvasGraphics.context,c17.buffer.o[c17.oPos]); break; case 21: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.WINDING_EVEN_ODD; var this20 = data; openfl_display__$internal_CanvasGraphics.fillCommands.windingEvenOdd(); openfl_display__$internal_CanvasGraphics.windingRule = "evenodd"; break; case 22: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.WINDING_NON_ZERO; var this21 = data; openfl_display__$internal_CanvasGraphics.fillCommands.windingNonZero(); openfl_display__$internal_CanvasGraphics.windingRule = "nonzero"; break; default: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = type; } } if(openfl_display__$internal_CanvasGraphics.fillCommands.get_length() > 0) { openfl_display__$internal_CanvasGraphics.endFill(); } if(openfl_display__$internal_CanvasGraphics.strokeCommands.get_length() > 0) { openfl_display__$internal_CanvasGraphics.endStroke(); } data.destroy(); graphics.__bitmap = openfl_display_BitmapData.fromCanvas(graphics.__canvas); } graphics.__softwareDirty = false; graphics.set___dirty(false); } }; openfl_display__$internal_CanvasGraphics.renderMask = function(graphics,renderer) { if(graphics.__commands.get_length() != 0) { openfl_display__$internal_CanvasGraphics.context = renderer.context; var positionX = 0.0; var positionY = 0.0; var offsetX = 0; var offsetY = 0; var data = new openfl_display__$internal_DrawCommandReader(graphics.__commands); var x; var y; var width; var height; var kappa = .5522848; var ox; var oy; var xe; var ye; var xm; var ym; var _g = 0; var _g1 = graphics.__commands.types; while(_g < _g1.length) { var type = _g1[_g]; ++_g; switch(type._hx_index) { case 4: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.CUBIC_CURVE_TO; var this1 = data; var c = this1; openfl_display__$internal_CanvasGraphics.context.bezierCurveTo(c.buffer.f[c.fPos] - offsetX,c.buffer.f[c.fPos + 1] - offsetY,c.buffer.f[c.fPos + 2] - offsetX,c.buffer.f[c.fPos + 3] - offsetY,c.buffer.f[c.fPos + 4] - offsetX,c.buffer.f[c.fPos + 5] - offsetY); positionX = c.buffer.f[c.fPos + 4]; positionY = c.buffer.f[c.fPos + 5]; break; case 5: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.CURVE_TO; var this2 = data; var c1 = this2; openfl_display__$internal_CanvasGraphics.context.quadraticCurveTo(c1.buffer.f[c1.fPos] - offsetX,c1.buffer.f[c1.fPos + 1] - offsetY,c1.buffer.f[c1.fPos + 2] - offsetX,c1.buffer.f[c1.fPos + 3] - offsetY); positionX = c1.buffer.f[c1.fPos + 2]; positionY = c1.buffer.f[c1.fPos + 3]; break; case 6: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.DRAW_CIRCLE; var this3 = data; var c2 = this3; openfl_display__$internal_CanvasGraphics.context.arc(c2.buffer.f[c2.fPos] - offsetX,c2.buffer.f[c2.fPos + 1] - offsetY,c2.buffer.f[c2.fPos + 2],0,Math.PI * 2,true); break; case 7: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.DRAW_ELLIPSE; var this4 = data; var c3 = this4; x = c3.buffer.f[c3.fPos]; y = c3.buffer.f[c3.fPos + 1]; width = c3.buffer.f[c3.fPos + 2]; height = c3.buffer.f[c3.fPos + 3]; x -= offsetX; y -= offsetY; ox = width / 2 * kappa; oy = height / 2 * kappa; xe = x + width; ye = y + height; xm = x + width / 2; ym = y + height / 2; openfl_display__$internal_CanvasGraphics.context.moveTo(x,ym); openfl_display__$internal_CanvasGraphics.context.bezierCurveTo(x,ym - oy,xm - ox,y,xm,y); openfl_display__$internal_CanvasGraphics.context.bezierCurveTo(xm + ox,y,xe,ym - oy,xe,ym); openfl_display__$internal_CanvasGraphics.context.bezierCurveTo(xe,ym + oy,xm + ox,ye,xm,ye); openfl_display__$internal_CanvasGraphics.context.bezierCurveTo(xm - ox,ye,x,ym + oy,x,ym); break; case 9: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.DRAW_RECT; var this5 = data; var c4 = this5; openfl_display__$internal_CanvasGraphics.context.beginPath(); openfl_display__$internal_CanvasGraphics.context.rect(c4.buffer.f[c4.fPos] - offsetX,c4.buffer.f[c4.fPos + 1] - offsetY,c4.buffer.f[c4.fPos + 2],c4.buffer.f[c4.fPos + 3]); openfl_display__$internal_CanvasGraphics.context.closePath(); break; case 10: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.DRAW_ROUND_RECT; var this6 = data; var c5 = this6; openfl_display__$internal_CanvasGraphics.drawRoundRect(c5.buffer.f[c5.fPos] - offsetX,c5.buffer.f[c5.fPos + 1] - offsetY,c5.buffer.f[c5.fPos + 2],c5.buffer.f[c5.fPos + 3],c5.buffer.f[c5.fPos + 4],c5.buffer.o[c5.oPos]); break; case 17: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.LINE_TO; var this7 = data; var c6 = this7; openfl_display__$internal_CanvasGraphics.context.lineTo(c6.buffer.f[c6.fPos] - offsetX,c6.buffer.f[c6.fPos + 1] - offsetY); positionX = c6.buffer.f[c6.fPos]; positionY = c6.buffer.f[c6.fPos + 1]; break; case 18: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.MOVE_TO; var this8 = data; var c7 = this8; openfl_display__$internal_CanvasGraphics.context.moveTo(c7.buffer.f[c7.fPos] - offsetX,c7.buffer.f[c7.fPos + 1] - offsetY); positionX = c7.buffer.f[c7.fPos]; positionY = c7.buffer.f[c7.fPos + 1]; break; default: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = type; } } data.destroy(); } }; openfl_display__$internal_CanvasGraphics.setSmoothing = function(smooth) { if(!openfl_display__$internal_CanvasGraphics.allowSmoothing) { smooth = false; } if(openfl_display__$internal_CanvasGraphics.context.imageSmoothingEnabled != smooth) { openfl_display__$internal_CanvasGraphics.context.imageSmoothingEnabled = smooth; } }; var openfl_display__$internal_CanvasShape = function() { }; $hxClasses["openfl.display._internal.CanvasShape"] = openfl_display__$internal_CanvasShape; openfl_display__$internal_CanvasShape.__name__ = "openfl.display._internal.CanvasShape"; openfl_display__$internal_CanvasShape.render = function(shape,renderer) { if(!shape.__renderable) { return; } var alpha = renderer.__getAlpha(shape.__worldAlpha); if(alpha <= 0) { return; } var graphics = shape.__graphics; if(graphics != null) { openfl_display__$internal_CanvasGraphics.render(graphics,renderer); var width = graphics.__width; var height = graphics.__height; var canvas = graphics.__canvas; if(canvas != null && graphics.__visible && width >= 1 && height >= 1) { var transform = graphics.__worldTransform; var context = renderer.context; var scrollRect = shape.__scrollRect; var scale9Grid = shape.__worldScale9Grid; if(scrollRect == null || scrollRect.width > 0 && scrollRect.height > 0) { renderer.__setBlendMode(shape.__worldBlendMode); renderer.__pushMaskObject(shape); context.globalAlpha = alpha; if(scale9Grid != null && transform.b == 0 && transform.c == 0) { context.setTransform(1,0,0,1,transform.tx,transform.ty); var bounds = graphics.__bounds; var scaleX = graphics.__renderTransform.a; var scaleY = graphics.__renderTransform.d; var renderScaleX = transform.a; var renderScaleY = transform.d; var left = Math.max(1,Math.round(scale9Grid.x * scaleX)); var top = Math.round(scale9Grid.y * scaleY); var right = Math.max(1,Math.round((bounds.get_right() - scale9Grid.get_right()) * scaleX)); var bottom = Math.round((bounds.get_bottom() - scale9Grid.get_bottom()) * scaleY); var centerWidth = Math.round(scale9Grid.width * scaleX); var centerHeight = Math.round(scale9Grid.height * scaleY); var renderLeft = Math.round(scale9Grid.x * renderScaleX); var renderTop = Math.round(scale9Grid.y * renderScaleY); var renderRight = Math.round((bounds.get_right() - scale9Grid.get_right()) * renderScaleX); var renderBottom = Math.round((bounds.get_bottom() - scale9Grid.get_bottom()) * renderScaleY); var renderCenterWidth = Math.round(width * renderScaleX) - renderLeft - renderRight; var renderCenterHeight = Math.round(height * renderScaleY) - renderTop - renderBottom; renderer.applySmoothing(context,false); if(centerWidth != 0 && centerHeight != 0) { context.drawImage(canvas,0,0,left,top,0,0,renderLeft,renderTop); context.drawImage(canvas,left,0,centerWidth,top,renderLeft,0,renderCenterWidth,renderTop); context.drawImage(canvas,left + centerWidth,0,right,top,renderLeft + renderCenterWidth,0,renderRight,renderTop); context.drawImage(canvas,0,top,left,centerHeight,0,renderTop,renderLeft,renderCenterHeight); context.drawImage(canvas,left,top,centerWidth,centerHeight,renderLeft,renderTop,renderCenterWidth,renderCenterHeight); context.drawImage(canvas,left + centerWidth,top,right,centerHeight,renderLeft + renderCenterWidth,renderTop,renderRight,renderCenterHeight); context.drawImage(canvas,0,top + centerHeight,left,bottom,0,renderTop + renderCenterHeight,renderLeft,renderBottom); context.drawImage(canvas,left,top + centerHeight,centerWidth,bottom,renderLeft,renderTop + renderCenterHeight,renderCenterWidth,renderBottom); context.drawImage(canvas,left + centerWidth,top + centerHeight,right,bottom,renderLeft + renderCenterWidth,renderTop + renderCenterHeight,renderRight,renderBottom); } else if(centerWidth == 0 && centerHeight != 0) { var renderWidth = renderLeft + renderCenterWidth + renderRight; context.drawImage(canvas,0,0,width,top,0,0,renderWidth,renderTop); context.drawImage(canvas,0,top,width,centerHeight,0,renderTop,renderWidth,renderCenterHeight); context.drawImage(canvas,0,top + centerHeight,width,bottom,0,renderTop + renderCenterHeight,renderWidth,renderBottom); } else if(centerHeight == 0 && centerWidth != 0) { var renderHeight = renderTop + renderCenterHeight + renderBottom; context.drawImage(canvas,0,0,left,height,0,0,renderLeft,renderHeight); context.drawImage(canvas,left,0,centerWidth,height,renderLeft,0,renderCenterWidth,renderHeight); context.drawImage(canvas,left + centerWidth,0,right,height,renderLeft + renderCenterWidth,0,renderRight,renderHeight); } } else { renderer.setTransform(transform,context); if(renderer.__isDOM) { var reverseScale = 1 / renderer.pixelRatio; context.scale(reverseScale,reverseScale); } context.drawImage(canvas,0,0,width,height); } renderer.__popMaskObject(shape); } } } }; var openfl_display__$internal_CanvasSimpleButton = function() { }; $hxClasses["openfl.display._internal.CanvasSimpleButton"] = openfl_display__$internal_CanvasSimpleButton; openfl_display__$internal_CanvasSimpleButton.__name__ = "openfl.display._internal.CanvasSimpleButton"; openfl_display__$internal_CanvasSimpleButton.renderDrawable = function(simpleButton,renderer) { if(!simpleButton.__renderable || simpleButton.__worldAlpha <= 0 || simpleButton.__currentState == null) { return; } renderer.__pushMaskObject(simpleButton); renderer.__renderDrawable(simpleButton.__currentState); renderer.__popMaskObject(simpleButton); renderer.__renderEvent(simpleButton); }; openfl_display__$internal_CanvasSimpleButton.renderDrawableMask = function(simpleButton,renderer) { renderer.__renderDrawableMask(simpleButton.__currentState); }; var openfl_display__$internal_CanvasTextField = function() { }; $hxClasses["openfl.display._internal.CanvasTextField"] = openfl_display__$internal_CanvasTextField; openfl_display__$internal_CanvasTextField.__name__ = "openfl.display._internal.CanvasTextField"; openfl_display__$internal_CanvasTextField.context = null; openfl_display__$internal_CanvasTextField.clearRect = null; openfl_display__$internal_CanvasTextField.render = function(textField,renderer,transform) { var textEngine = textField.__textEngine; var useTextBounds = !(textEngine.background || textEngine.border); var bounds = useTextBounds ? textEngine.textBounds : textEngine.bounds; var graphics = textField.__graphics; var cursorOffsetX = 0.0; if(textField.__dirty) { textField.__updateLayout(); if(graphics.__bounds == null) { graphics.__bounds = new openfl_geom_Rectangle(); } if(textField.get_text().length == 0) { var boundsWidth = textEngine.bounds.width - 4; var align = textField.get_defaultTextFormat().align; cursorOffsetX = align == 3 ? 0 : align == 4 ? boundsWidth : boundsWidth / 2; switch(align) { case 0: cursorOffsetX += textField.get_defaultTextFormat().leftMargin / 2; cursorOffsetX -= textField.get_defaultTextFormat().rightMargin / 2; cursorOffsetX += textField.get_defaultTextFormat().indent / 2; cursorOffsetX += textField.get_defaultTextFormat().blockIndent / 2; break; case 1: break; case 2: cursorOffsetX += textField.get_defaultTextFormat().leftMargin; cursorOffsetX += textField.get_defaultTextFormat().indent; cursorOffsetX += textField.get_defaultTextFormat().blockIndent; break; case 3: cursorOffsetX += textField.get_defaultTextFormat().leftMargin; cursorOffsetX += textField.get_defaultTextFormat().indent; cursorOffsetX += textField.get_defaultTextFormat().blockIndent; break; case 4: cursorOffsetX -= textField.get_defaultTextFormat().rightMargin; break; case 5: break; } if(useTextBounds) { bounds.y = textEngine.bounds.y; bounds.x = cursorOffsetX; } } graphics.__bounds.copyFrom(bounds); } graphics.__update(renderer.__worldTransform); if(textField.__dirty || graphics.__softwareDirty) { var width = graphics.__width; var height = graphics.__height; if((textEngine.text == null || textEngine.text == "") && !textEngine.background && !textEngine.border && !textEngine.__hasFocus && (textEngine.type != 1 || !textEngine.selectable) || (textEngine.width <= 0 || textEngine.height <= 0) && textEngine.autoSize != 2) { textField.__graphics.__canvas = null; textField.__graphics.__context = null; textField.__graphics.__bitmap = null; textField.__graphics.__softwareDirty = false; textField.__graphics.set___dirty(false); textField.__dirty = false; } else { if(textField.__graphics.__canvas == null) { textField.__graphics.__canvas = window.document.createElement("canvas"); textField.__graphics.__context = textField.__graphics.__canvas.getContext("2d"); } openfl_display__$internal_CanvasTextField.context = graphics.__context; var transform1 = graphics.__renderTransform; if(renderer.__isDOM) { var scale = renderer.pixelRatio; graphics.__canvas.width = width * scale | 0; graphics.__canvas.height = height * scale | 0; graphics.__canvas.style.width = width + "px"; graphics.__canvas.style.height = height + "px"; var matrix = openfl_geom_Matrix.__pool.get(); matrix.copyFrom(transform1); matrix.scale(scale,scale); renderer.setTransform(matrix,openfl_display__$internal_CanvasTextField.context); openfl_geom_Matrix.__pool.release(matrix); } else { graphics.__canvas.width = width; graphics.__canvas.height = height; openfl_display__$internal_CanvasTextField.context.setTransform(transform1.a,transform1.b,transform1.c,transform1.d,transform1.tx,transform1.ty); } if(openfl_display__$internal_CanvasTextField.clearRect == null) { openfl_display__$internal_CanvasTextField.clearRect = (typeof navigator !== 'undefined' && typeof navigator['isCocoonJS'] !== 'undefined'); } if(openfl_display__$internal_CanvasTextField.clearRect) { openfl_display__$internal_CanvasTextField.context.clearRect(0,0,graphics.__canvas.width,graphics.__canvas.height); } if(textEngine.text != null && textEngine.text != "" || textEngine.__hasFocus) { var text = textEngine.text; if(!renderer.__allowSmoothing || textEngine.antiAliasType == 0 && textEngine.sharpness == 400) { graphics.__context.imageSmoothingEnabled = false; } else { graphics.__context.imageSmoothingEnabled = true; } if(textEngine.border || textEngine.background) { openfl_display__$internal_CanvasTextField.context.rect(0.5,0.5,bounds.width - 1,bounds.height - 1); if(textEngine.background) { var tmp = StringTools.hex(textEngine.backgroundColor & 16777215,6); openfl_display__$internal_CanvasTextField.context.fillStyle = "#" + tmp; openfl_display__$internal_CanvasTextField.context.fill(); } if(textEngine.border) { openfl_display__$internal_CanvasTextField.context.lineWidth = 1; var tmp1 = StringTools.hex(textEngine.borderColor & 16777215,6); openfl_display__$internal_CanvasTextField.context.strokeStyle = "#" + tmp1; openfl_display__$internal_CanvasTextField.context.stroke(); } } openfl_display__$internal_CanvasTextField.context.textBaseline = "alphabetic"; openfl_display__$internal_CanvasTextField.context.textAlign = "start"; var scrollX = -textField.get_scrollH(); var scrollY = 0.0; var _g = 0; var _g1 = textField.get_scrollV() - 1; while(_g < _g1) { var i = _g++; scrollY -= textEngine.lineHeights.get(i); } var advance; var group = textEngine.layoutGroups.iterator(); while(group.hasNext()) { var group1 = group.next(); if(group1.lineIndex < textField.get_scrollV() - 1) { continue; } if(group1.lineIndex > textEngine.get_bottomScrollV() - 1) { break; } var color = "#" + StringTools.hex(group1.format.color & 16777215,6); openfl_display__$internal_CanvasTextField.context.font = openfl_text__$internal_TextEngine.getFont(group1.format); openfl_display__$internal_CanvasTextField.context.fillStyle = color; openfl_display__$internal_CanvasTextField.context.fillText(text.substring(group1.startIndex,group1.endIndex),group1.offsetX + scrollX - bounds.x,group1.offsetY + group1.ascent + scrollY - bounds.y); if(textField.__caretIndex > -1 && textEngine.selectable) { if(textField.__selectionIndex == textField.__caretIndex) { if(textField.__showCursor && group1.startIndex <= textField.__caretIndex && group1.endIndex >= textField.__caretIndex) { advance = 0.0; var _g3 = 0; var _g4 = textField.__caretIndex - group1.startIndex; while(_g3 < _g4) { var i1 = _g3++; if(group1.positions.length <= i1) { break; } advance += group1.positions[i1]; } var scrollY1 = 0.0; var _g5 = textField.get_scrollV(); var _g6 = group1.lineIndex + 1; while(_g5 < _g6) { var i2 = _g5++; scrollY1 += textEngine.lineHeights.get(i2 - 1); } openfl_display__$internal_CanvasTextField.context.beginPath(); var tmp2 = StringTools.hex(group1.format.color & 16777215,6); openfl_display__$internal_CanvasTextField.context.strokeStyle = "#" + tmp2; openfl_display__$internal_CanvasTextField.context.moveTo(group1.offsetX + advance - textField.get_scrollH() - bounds.x,scrollY1 + 2 - bounds.y); openfl_display__$internal_CanvasTextField.context.lineWidth = 1; openfl_display__$internal_CanvasTextField.context.lineTo(group1.offsetX + advance - textField.get_scrollH() - bounds.x,scrollY1 + openfl_text__$internal_TextEngine.getFormatHeight(textField.get_defaultTextFormat()) - 1 - bounds.y); openfl_display__$internal_CanvasTextField.context.stroke(); openfl_display__$internal_CanvasTextField.context.closePath(); } } else if(group1.startIndex <= textField.__caretIndex && group1.endIndex >= textField.__caretIndex || group1.startIndex <= textField.__selectionIndex && group1.endIndex >= textField.__selectionIndex || group1.startIndex > textField.__caretIndex && group1.endIndex < textField.__selectionIndex || group1.startIndex > textField.__selectionIndex && group1.endIndex < textField.__caretIndex) { var selectionStart = Math.min(textField.__selectionIndex,textField.__caretIndex) | 0; var selectionEnd = Math.max(textField.__selectionIndex,textField.__caretIndex) | 0; if(group1.startIndex > selectionStart) { selectionStart = group1.startIndex; } if(group1.endIndex < selectionEnd) { selectionEnd = group1.endIndex; } var end; var start = textField.getCharBoundaries(selectionStart); if(selectionEnd >= group1.endIndex) { end = textField.getCharBoundaries(group1.endIndex - 1); if(end != null) { end.x += end.width + 2; } } else { end = textField.getCharBoundaries(selectionEnd); } if(start != null && end != null) { openfl_display__$internal_CanvasTextField.context.fillStyle = "#000000"; openfl_display__$internal_CanvasTextField.context.fillRect(start.x + scrollX - bounds.x,start.y + scrollY,end.x - start.x,group1.height); openfl_display__$internal_CanvasTextField.context.fillStyle = "#FFFFFF"; openfl_display__$internal_CanvasTextField.context.fillText(text.substring(selectionStart,selectionEnd),scrollX + start.x - bounds.x,group1.offsetY + group1.ascent + scrollY); } } } if(group1.format.underline) { openfl_display__$internal_CanvasTextField.context.beginPath(); openfl_display__$internal_CanvasTextField.context.strokeStyle = color; openfl_display__$internal_CanvasTextField.context.lineWidth = 1; var x = group1.offsetX + scrollX - bounds.x; var y = Math.floor(group1.offsetY + scrollY + group1.ascent - bounds.y) + 0.5; openfl_display__$internal_CanvasTextField.context.moveTo(x,y); openfl_display__$internal_CanvasTextField.context.lineTo(x + group1.width,y); openfl_display__$internal_CanvasTextField.context.stroke(); openfl_display__$internal_CanvasTextField.context.closePath(); } } } else { if(textEngine.border || textEngine.background) { if(textEngine.border) { openfl_display__$internal_CanvasTextField.context.rect(0.5,0.5,bounds.width - 1,bounds.height - 1); } else { openfl_display__$internal_CanvasTextField.context.rect(0,0,bounds.width,bounds.height); } if(textEngine.background) { var tmp3 = StringTools.hex(textEngine.backgroundColor & 16777215,6); openfl_display__$internal_CanvasTextField.context.fillStyle = "#" + tmp3; openfl_display__$internal_CanvasTextField.context.fill(); } if(textEngine.border) { openfl_display__$internal_CanvasTextField.context.lineWidth = 1; openfl_display__$internal_CanvasTextField.context.lineCap = "square"; var tmp4 = StringTools.hex(textEngine.borderColor & 16777215,6); openfl_display__$internal_CanvasTextField.context.strokeStyle = "#" + tmp4; openfl_display__$internal_CanvasTextField.context.stroke(); } } if(textField.__caretIndex > -1 && textEngine.selectable && textField.__showCursor) { var scrollX1 = -textField.get_scrollH() + (useTextBounds ? 0 : cursorOffsetX); var scrollY2 = 0.0; var _g2 = 0; var _g11 = textField.get_scrollV() - 1; while(_g2 < _g11) { var i3 = _g2++; scrollY2 += textEngine.lineHeights.get(i3); } openfl_display__$internal_CanvasTextField.context.beginPath(); var tmp5 = StringTools.hex(textField.get_defaultTextFormat().color & 16777215,6); openfl_display__$internal_CanvasTextField.context.strokeStyle = "#" + tmp5; openfl_display__$internal_CanvasTextField.context.moveTo(scrollX1 + 2.5,scrollY2 + 2.5); openfl_display__$internal_CanvasTextField.context.lineWidth = 1; openfl_display__$internal_CanvasTextField.context.lineTo(scrollX1 + 2.5,scrollY2 + openfl_text__$internal_TextEngine.getFormatHeight(textField.get_defaultTextFormat()) - 1); openfl_display__$internal_CanvasTextField.context.stroke(); openfl_display__$internal_CanvasTextField.context.closePath(); } } graphics.__bitmap = openfl_display_BitmapData.fromCanvas(textField.__graphics.__canvas); graphics.__visible = true; textField.__dirty = false; graphics.__softwareDirty = false; graphics.set___dirty(false); } } }; openfl_display__$internal_CanvasTextField.renderDrawable = function(textField,renderer) { if(renderer.__isDOM && !textField.__renderedOnCanvasWhileOnDOM) { textField.__renderedOnCanvasWhileOnDOM = true; if(textField.get_type() == 1) { textField.replaceText(0,textField.__text.length,textField.__text); } if(textField.__isHTML) { textField.__updateText(openfl_text__$internal_HTMLParser.parse(textField.__text,textField.__textFormat,textField.__textEngine.textFormatRanges)); } textField.__dirty = true; textField.__layoutDirty = true; if(!textField.__renderDirty) { textField.__renderDirty = true; textField.__setParentRenderDirty(); } } if(textField.get_mask() == null || textField.get_mask().get_width() > 0 && textField.get_mask().get_height() > 0) { renderer.__updateCacheBitmap(textField,textField.__dirty); if(textField.__cacheBitmap != null && !textField.__isCacheBitmapRender) { var bitmap = textField.__cacheBitmap; if(!(!bitmap.__renderable)) { var alpha = renderer.__getAlpha(bitmap.__worldAlpha); if(alpha > 0 && bitmap.__bitmapData != null && bitmap.__bitmapData.__isValid && bitmap.__bitmapData.readable) { var context = renderer.context; renderer.__setBlendMode(bitmap.__worldBlendMode); renderer.__pushMaskObject(bitmap,false); lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(bitmap.__bitmapData.image); context.globalAlpha = alpha; var scrollRect = bitmap.__scrollRect; renderer.setTransform(bitmap.__renderTransform,context); if(!renderer.__allowSmoothing || !bitmap.smoothing) { context.imageSmoothingEnabled = false; } if(scrollRect == null) { context.drawImage(bitmap.__bitmapData.image.get_src(),0,0,bitmap.__bitmapData.image.width,bitmap.__bitmapData.image.height); } else { context.drawImage(bitmap.__bitmapData.image.get_src(),scrollRect.x,scrollRect.y,scrollRect.width,scrollRect.height,scrollRect.x,scrollRect.y,scrollRect.width,scrollRect.height); } if(!renderer.__allowSmoothing || !bitmap.smoothing) { context.imageSmoothingEnabled = true; } renderer.__popMaskObject(bitmap,false); } } } else { var transform = textField.__worldTransform; var textEngine = textField.__textEngine; var useTextBounds = !(textEngine.background || textEngine.border); var bounds = useTextBounds ? textEngine.textBounds : textEngine.bounds; var graphics = textField.__graphics; var cursorOffsetX = 0.0; if(textField.__dirty) { textField.__updateLayout(); if(graphics.__bounds == null) { graphics.__bounds = new openfl_geom_Rectangle(); } if(textField.get_text().length == 0) { var boundsWidth = textEngine.bounds.width - 4; var align = textField.get_defaultTextFormat().align; cursorOffsetX = align == 3 ? 0 : align == 4 ? boundsWidth : boundsWidth / 2; switch(align) { case 0: cursorOffsetX += textField.get_defaultTextFormat().leftMargin / 2; cursorOffsetX -= textField.get_defaultTextFormat().rightMargin / 2; cursorOffsetX += textField.get_defaultTextFormat().indent / 2; cursorOffsetX += textField.get_defaultTextFormat().blockIndent / 2; break; case 1: break; case 2: cursorOffsetX += textField.get_defaultTextFormat().leftMargin; cursorOffsetX += textField.get_defaultTextFormat().indent; cursorOffsetX += textField.get_defaultTextFormat().blockIndent; break; case 3: cursorOffsetX += textField.get_defaultTextFormat().leftMargin; cursorOffsetX += textField.get_defaultTextFormat().indent; cursorOffsetX += textField.get_defaultTextFormat().blockIndent; break; case 4: cursorOffsetX -= textField.get_defaultTextFormat().rightMargin; break; case 5: break; } if(useTextBounds) { bounds.y = textEngine.bounds.y; bounds.x = cursorOffsetX; } } graphics.__bounds.copyFrom(bounds); } graphics.__update(renderer.__worldTransform); if(textField.__dirty || graphics.__softwareDirty) { var width = graphics.__width; var height = graphics.__height; if((textEngine.text == null || textEngine.text == "") && !textEngine.background && !textEngine.border && !textEngine.__hasFocus && (textEngine.type != 1 || !textEngine.selectable) || (textEngine.width <= 0 || textEngine.height <= 0) && textEngine.autoSize != 2) { textField.__graphics.__canvas = null; textField.__graphics.__context = null; textField.__graphics.__bitmap = null; textField.__graphics.__softwareDirty = false; textField.__graphics.set___dirty(false); textField.__dirty = false; } else { if(textField.__graphics.__canvas == null) { textField.__graphics.__canvas = window.document.createElement("canvas"); textField.__graphics.__context = textField.__graphics.__canvas.getContext("2d"); } openfl_display__$internal_CanvasTextField.context = graphics.__context; var transform1 = graphics.__renderTransform; if(renderer.__isDOM) { var scale = renderer.pixelRatio; graphics.__canvas.width = width * scale | 0; graphics.__canvas.height = height * scale | 0; graphics.__canvas.style.width = width + "px"; graphics.__canvas.style.height = height + "px"; var matrix = openfl_geom_Matrix.__pool.get(); matrix.copyFrom(transform1); matrix.scale(scale,scale); renderer.setTransform(matrix,openfl_display__$internal_CanvasTextField.context); openfl_geom_Matrix.__pool.release(matrix); } else { graphics.__canvas.width = width; graphics.__canvas.height = height; openfl_display__$internal_CanvasTextField.context.setTransform(transform1.a,transform1.b,transform1.c,transform1.d,transform1.tx,transform1.ty); } if(openfl_display__$internal_CanvasTextField.clearRect == null) { openfl_display__$internal_CanvasTextField.clearRect = (typeof navigator !== 'undefined' && typeof navigator['isCocoonJS'] !== 'undefined'); } if(openfl_display__$internal_CanvasTextField.clearRect) { openfl_display__$internal_CanvasTextField.context.clearRect(0,0,graphics.__canvas.width,graphics.__canvas.height); } if(textEngine.text != null && textEngine.text != "" || textEngine.__hasFocus) { var text = textEngine.text; if(!renderer.__allowSmoothing || textEngine.antiAliasType == 0 && textEngine.sharpness == 400) { graphics.__context.imageSmoothingEnabled = false; } else { graphics.__context.imageSmoothingEnabled = true; } if(textEngine.border || textEngine.background) { openfl_display__$internal_CanvasTextField.context.rect(0.5,0.5,bounds.width - 1,bounds.height - 1); if(textEngine.background) { var tmp = StringTools.hex(textEngine.backgroundColor & 16777215,6); openfl_display__$internal_CanvasTextField.context.fillStyle = "#" + tmp; openfl_display__$internal_CanvasTextField.context.fill(); } if(textEngine.border) { openfl_display__$internal_CanvasTextField.context.lineWidth = 1; var tmp1 = StringTools.hex(textEngine.borderColor & 16777215,6); openfl_display__$internal_CanvasTextField.context.strokeStyle = "#" + tmp1; openfl_display__$internal_CanvasTextField.context.stroke(); } } openfl_display__$internal_CanvasTextField.context.textBaseline = "alphabetic"; openfl_display__$internal_CanvasTextField.context.textAlign = "start"; var scrollX = -textField.get_scrollH(); var scrollY = 0.0; var _g = 0; var _g1 = textField.get_scrollV() - 1; while(_g < _g1) { var i = _g++; scrollY -= textEngine.lineHeights.get(i); } var advance; var group = textEngine.layoutGroups.iterator(); while(group.hasNext()) { var group1 = group.next(); if(group1.lineIndex < textField.get_scrollV() - 1) { continue; } if(group1.lineIndex > textEngine.get_bottomScrollV() - 1) { break; } var color = "#" + StringTools.hex(group1.format.color & 16777215,6); openfl_display__$internal_CanvasTextField.context.font = openfl_text__$internal_TextEngine.getFont(group1.format); openfl_display__$internal_CanvasTextField.context.fillStyle = color; openfl_display__$internal_CanvasTextField.context.fillText(text.substring(group1.startIndex,group1.endIndex),group1.offsetX + scrollX - bounds.x,group1.offsetY + group1.ascent + scrollY - bounds.y); if(textField.__caretIndex > -1 && textEngine.selectable) { if(textField.__selectionIndex == textField.__caretIndex) { if(textField.__showCursor && group1.startIndex <= textField.__caretIndex && group1.endIndex >= textField.__caretIndex) { advance = 0.0; var _g3 = 0; var _g4 = textField.__caretIndex - group1.startIndex; while(_g3 < _g4) { var i1 = _g3++; if(group1.positions.length <= i1) { break; } advance += group1.positions[i1]; } var scrollY1 = 0.0; var _g5 = textField.get_scrollV(); var _g6 = group1.lineIndex + 1; while(_g5 < _g6) { var i2 = _g5++; scrollY1 += textEngine.lineHeights.get(i2 - 1); } openfl_display__$internal_CanvasTextField.context.beginPath(); var tmp2 = StringTools.hex(group1.format.color & 16777215,6); openfl_display__$internal_CanvasTextField.context.strokeStyle = "#" + tmp2; openfl_display__$internal_CanvasTextField.context.moveTo(group1.offsetX + advance - textField.get_scrollH() - bounds.x,scrollY1 + 2 - bounds.y); openfl_display__$internal_CanvasTextField.context.lineWidth = 1; openfl_display__$internal_CanvasTextField.context.lineTo(group1.offsetX + advance - textField.get_scrollH() - bounds.x,scrollY1 + openfl_text__$internal_TextEngine.getFormatHeight(textField.get_defaultTextFormat()) - 1 - bounds.y); openfl_display__$internal_CanvasTextField.context.stroke(); openfl_display__$internal_CanvasTextField.context.closePath(); } } else if(group1.startIndex <= textField.__caretIndex && group1.endIndex >= textField.__caretIndex || group1.startIndex <= textField.__selectionIndex && group1.endIndex >= textField.__selectionIndex || group1.startIndex > textField.__caretIndex && group1.endIndex < textField.__selectionIndex || group1.startIndex > textField.__selectionIndex && group1.endIndex < textField.__caretIndex) { var selectionStart = Math.min(textField.__selectionIndex,textField.__caretIndex) | 0; var selectionEnd = Math.max(textField.__selectionIndex,textField.__caretIndex) | 0; if(group1.startIndex > selectionStart) { selectionStart = group1.startIndex; } if(group1.endIndex < selectionEnd) { selectionEnd = group1.endIndex; } var end; var start = textField.getCharBoundaries(selectionStart); if(selectionEnd >= group1.endIndex) { end = textField.getCharBoundaries(group1.endIndex - 1); if(end != null) { end.x += end.width + 2; } } else { end = textField.getCharBoundaries(selectionEnd); } if(start != null && end != null) { openfl_display__$internal_CanvasTextField.context.fillStyle = "#000000"; openfl_display__$internal_CanvasTextField.context.fillRect(start.x + scrollX - bounds.x,start.y + scrollY,end.x - start.x,group1.height); openfl_display__$internal_CanvasTextField.context.fillStyle = "#FFFFFF"; openfl_display__$internal_CanvasTextField.context.fillText(text.substring(selectionStart,selectionEnd),scrollX + start.x - bounds.x,group1.offsetY + group1.ascent + scrollY); } } } if(group1.format.underline) { openfl_display__$internal_CanvasTextField.context.beginPath(); openfl_display__$internal_CanvasTextField.context.strokeStyle = color; openfl_display__$internal_CanvasTextField.context.lineWidth = 1; var x = group1.offsetX + scrollX - bounds.x; var y = Math.floor(group1.offsetY + scrollY + group1.ascent - bounds.y) + 0.5; openfl_display__$internal_CanvasTextField.context.moveTo(x,y); openfl_display__$internal_CanvasTextField.context.lineTo(x + group1.width,y); openfl_display__$internal_CanvasTextField.context.stroke(); openfl_display__$internal_CanvasTextField.context.closePath(); } } } else { if(textEngine.border || textEngine.background) { if(textEngine.border) { openfl_display__$internal_CanvasTextField.context.rect(0.5,0.5,bounds.width - 1,bounds.height - 1); } else { openfl_display__$internal_CanvasTextField.context.rect(0,0,bounds.width,bounds.height); } if(textEngine.background) { var tmp3 = StringTools.hex(textEngine.backgroundColor & 16777215,6); openfl_display__$internal_CanvasTextField.context.fillStyle = "#" + tmp3; openfl_display__$internal_CanvasTextField.context.fill(); } if(textEngine.border) { openfl_display__$internal_CanvasTextField.context.lineWidth = 1; openfl_display__$internal_CanvasTextField.context.lineCap = "square"; var tmp4 = StringTools.hex(textEngine.borderColor & 16777215,6); openfl_display__$internal_CanvasTextField.context.strokeStyle = "#" + tmp4; openfl_display__$internal_CanvasTextField.context.stroke(); } } if(textField.__caretIndex > -1 && textEngine.selectable && textField.__showCursor) { var scrollX1 = -textField.get_scrollH() + (useTextBounds ? 0 : cursorOffsetX); var scrollY2 = 0.0; var _g2 = 0; var _g11 = textField.get_scrollV() - 1; while(_g2 < _g11) { var i3 = _g2++; scrollY2 += textEngine.lineHeights.get(i3); } openfl_display__$internal_CanvasTextField.context.beginPath(); var tmp5 = StringTools.hex(textField.get_defaultTextFormat().color & 16777215,6); openfl_display__$internal_CanvasTextField.context.strokeStyle = "#" + tmp5; openfl_display__$internal_CanvasTextField.context.moveTo(scrollX1 + 2.5,scrollY2 + 2.5); openfl_display__$internal_CanvasTextField.context.lineWidth = 1; openfl_display__$internal_CanvasTextField.context.lineTo(scrollX1 + 2.5,scrollY2 + openfl_text__$internal_TextEngine.getFormatHeight(textField.get_defaultTextFormat()) - 1); openfl_display__$internal_CanvasTextField.context.stroke(); openfl_display__$internal_CanvasTextField.context.closePath(); } } graphics.__bitmap = openfl_display_BitmapData.fromCanvas(textField.__graphics.__canvas); graphics.__visible = true; textField.__dirty = false; graphics.__softwareDirty = false; graphics.set___dirty(false); } } var smoothingEnabled = false; if(textField.__textEngine.antiAliasType == 0 && textField.__textEngine.gridFitType == 1) { smoothingEnabled = renderer.context.imageSmoothingEnabled; if(smoothingEnabled) { renderer.context.imageSmoothingEnabled = false; } } if(!(textField.opaqueBackground == null && textField.__graphics == null)) { if(!(!textField.__renderable)) { var alpha1 = renderer.__getAlpha(textField.__worldAlpha); if(!(alpha1 <= 0)) { if(textField.opaqueBackground != null && !textField.__isCacheBitmapRender && textField.get_width() > 0 && textField.get_height() > 0) { renderer.__setBlendMode(textField.__worldBlendMode); renderer.__pushMaskObject(textField); var context1 = renderer.context; renderer.setTransform(textField.__renderTransform,context1); var color1 = textField.opaqueBackground; context1.fillStyle = "rgb(" + (color1 >>> 16 & 255) + "," + (color1 >>> 8 & 255) + "," + (color1 & 255) + ")"; context1.fillRect(0,0,textField.get_width(),textField.get_height()); renderer.__popMaskObject(textField); } if(textField.__graphics != null) { if(!(!textField.__renderable)) { var alpha2 = renderer.__getAlpha(textField.__worldAlpha); if(!(alpha2 <= 0)) { var graphics1 = textField.__graphics; if(graphics1 != null) { openfl_display__$internal_CanvasGraphics.render(graphics1,renderer); var width1 = graphics1.__width; var height1 = graphics1.__height; var canvas = graphics1.__canvas; if(canvas != null && graphics1.__visible && width1 >= 1 && height1 >= 1) { var transform2 = graphics1.__worldTransform; var context2 = renderer.context; var scrollRect1 = textField.__scrollRect; var scale9Grid = textField.__worldScale9Grid; if(scrollRect1 == null || scrollRect1.width > 0 && scrollRect1.height > 0) { renderer.__setBlendMode(textField.__worldBlendMode); renderer.__pushMaskObject(textField); context2.globalAlpha = alpha2; if(scale9Grid != null && transform2.b == 0 && transform2.c == 0) { context2.setTransform(1,0,0,1,transform2.tx,transform2.ty); var bounds1 = graphics1.__bounds; var scaleX = graphics1.__renderTransform.a; var scaleY = graphics1.__renderTransform.d; var renderScaleX = transform2.a; var renderScaleY = transform2.d; var left = Math.max(1,Math.round(scale9Grid.x * scaleX)); var top = Math.round(scale9Grid.y * scaleY); var right = Math.max(1,Math.round((bounds1.get_right() - scale9Grid.get_right()) * scaleX)); var bottom = Math.round((bounds1.get_bottom() - scale9Grid.get_bottom()) * scaleY); var centerWidth = Math.round(scale9Grid.width * scaleX); var centerHeight = Math.round(scale9Grid.height * scaleY); var renderLeft = Math.round(scale9Grid.x * renderScaleX); var renderTop = Math.round(scale9Grid.y * renderScaleY); var renderRight = Math.round((bounds1.get_right() - scale9Grid.get_right()) * renderScaleX); var renderBottom = Math.round((bounds1.get_bottom() - scale9Grid.get_bottom()) * renderScaleY); var renderCenterWidth = Math.round(width1 * renderScaleX) - renderLeft - renderRight; var renderCenterHeight = Math.round(height1 * renderScaleY) - renderTop - renderBottom; renderer.applySmoothing(context2,false); if(centerWidth != 0 && centerHeight != 0) { context2.drawImage(canvas,0,0,left,top,0,0,renderLeft,renderTop); context2.drawImage(canvas,left,0,centerWidth,top,renderLeft,0,renderCenterWidth,renderTop); context2.drawImage(canvas,left + centerWidth,0,right,top,renderLeft + renderCenterWidth,0,renderRight,renderTop); context2.drawImage(canvas,0,top,left,centerHeight,0,renderTop,renderLeft,renderCenterHeight); context2.drawImage(canvas,left,top,centerWidth,centerHeight,renderLeft,renderTop,renderCenterWidth,renderCenterHeight); context2.drawImage(canvas,left + centerWidth,top,right,centerHeight,renderLeft + renderCenterWidth,renderTop,renderRight,renderCenterHeight); context2.drawImage(canvas,0,top + centerHeight,left,bottom,0,renderTop + renderCenterHeight,renderLeft,renderBottom); context2.drawImage(canvas,left,top + centerHeight,centerWidth,bottom,renderLeft,renderTop + renderCenterHeight,renderCenterWidth,renderBottom); context2.drawImage(canvas,left + centerWidth,top + centerHeight,right,bottom,renderLeft + renderCenterWidth,renderTop + renderCenterHeight,renderRight,renderBottom); } else if(centerWidth == 0 && centerHeight != 0) { var renderWidth = renderLeft + renderCenterWidth + renderRight; context2.drawImage(canvas,0,0,width1,top,0,0,renderWidth,renderTop); context2.drawImage(canvas,0,top,width1,centerHeight,0,renderTop,renderWidth,renderCenterHeight); context2.drawImage(canvas,0,top + centerHeight,width1,bottom,0,renderTop + renderCenterHeight,renderWidth,renderBottom); } else if(centerHeight == 0 && centerWidth != 0) { var renderHeight = renderTop + renderCenterHeight + renderBottom; context2.drawImage(canvas,0,0,left,height1,0,0,renderLeft,renderHeight); context2.drawImage(canvas,left,0,centerWidth,height1,renderLeft,0,renderCenterWidth,renderHeight); context2.drawImage(canvas,left + centerWidth,0,right,height1,renderLeft + renderCenterWidth,0,renderRight,renderHeight); } } else { renderer.setTransform(transform2,context2); if(renderer.__isDOM) { var reverseScale = 1 / renderer.pixelRatio; context2.scale(reverseScale,reverseScale); } context2.drawImage(canvas,0,0,width1,height1); } renderer.__popMaskObject(textField); } } } } } } } } } if(smoothingEnabled) { renderer.context.imageSmoothingEnabled = true; } } } }; openfl_display__$internal_CanvasTextField.renderDrawableMask = function(textField,renderer) { openfl_display__$internal_CanvasDisplayObject.renderDrawableMask(textField,renderer); }; var openfl_display__$internal_CanvasTilemap = function() { }; $hxClasses["openfl.display._internal.CanvasTilemap"] = openfl_display__$internal_CanvasTilemap; openfl_display__$internal_CanvasTilemap.__name__ = "openfl.display._internal.CanvasTilemap"; openfl_display__$internal_CanvasTilemap.render = function(tilemap,renderer) { if(!tilemap.__renderable || tilemap.__group.__tiles.length == 0) { return; } var alpha = renderer.__getAlpha(tilemap.__worldAlpha); if(alpha <= 0) { return; } var context = renderer.context; renderer.__setBlendMode(tilemap.__worldBlendMode); renderer.__pushMaskObject(tilemap); var rect = openfl_geom_Rectangle.__pool.get(); rect.setTo(0,0,tilemap.__width,tilemap.__height); renderer.__pushMaskRect(rect,tilemap.__renderTransform); if(!renderer.__allowSmoothing || !tilemap.smoothing) { context.imageSmoothingEnabled = false; } openfl_display__$internal_CanvasTilemap.renderTileContainer(tilemap.__group,renderer,tilemap.__renderTransform,tilemap.__tileset,renderer.__allowSmoothing && tilemap.smoothing,tilemap.tileAlphaEnabled,alpha,tilemap.tileBlendModeEnabled,tilemap.__worldBlendMode,null,null,rect); if(!renderer.__allowSmoothing || !tilemap.smoothing) { context.imageSmoothingEnabled = true; } renderer.__popMaskRect(); renderer.__popMaskObject(tilemap); openfl_geom_Rectangle.__pool.release(rect); }; openfl_display__$internal_CanvasTilemap.renderTileContainer = function(group,renderer,parentTransform,defaultTileset,smooth,alphaEnabled,worldAlpha,blendModeEnabled,defaultBlendMode,cacheBitmapData,source,rect) { var context = renderer.context; var roundPixels = renderer.__roundPixels; var tileTransform = openfl_geom_Matrix.__pool.get(); var tiles = group.__tiles; var length = group.__length; var tile; var tileset; var alpha; var visible; var blendMode = null; var id; var tileData; var tileRect; var bitmapData; var _g = 0; var _g1 = length; while(_g < _g1) { var i = _g++; tile = tiles[i]; tileTransform.setTo(1,0,0,1,-tile.get_originX(),-tile.get_originY()); tileTransform.concat(tile.get_matrix()); tileTransform.concat(parentTransform); if(roundPixels) { tileTransform.tx = Math.round(tileTransform.tx); tileTransform.ty = Math.round(tileTransform.ty); } tileset = tile.get_tileset() != null ? tile.get_tileset() : defaultTileset; alpha = tile.get_alpha() * worldAlpha; visible = tile.get_visible(); if(!visible || alpha <= 0) { continue; } if(!alphaEnabled) { alpha = 1; } if(blendModeEnabled) { blendMode = tile.__blendMode != null ? tile.__blendMode : defaultBlendMode; } if(tile.__length > 0) { openfl_display__$internal_CanvasTilemap.renderTileContainer(tile,renderer,tileTransform,tileset,smooth,alphaEnabled,alpha,blendModeEnabled,blendMode,cacheBitmapData,source,rect); } else { if(tileset == null) { continue; } id = tile.get_id(); if(id == -1) { tileRect = tile.__rect; if(tileRect == null || tileRect.width <= 0 || tileRect.height <= 0) { continue; } } else { tileData = tileset.__data[id]; if(tileData == null) { continue; } rect.setTo(tileData.x,tileData.y,tileData.width,tileData.height); tileRect = rect; } bitmapData = tileset.__bitmapData; if(bitmapData == null) { continue; } if(bitmapData != cacheBitmapData) { if(bitmapData.image.buffer.__srcImage == null) { lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(bitmapData.image); } source = bitmapData.image.get_src(); cacheBitmapData = bitmapData; } context.globalAlpha = alpha; if(blendModeEnabled) { renderer.__setBlendMode(blendMode); } renderer.setTransform(tileTransform,context); context.drawImage(source,tileRect.x,tileRect.y,tileRect.width,tileRect.height,0,0,tileRect.width,tileRect.height); } } openfl_geom_Matrix.__pool.release(tileTransform); }; openfl_display__$internal_CanvasTilemap.renderDrawable = function(tilemap,renderer) { renderer.__updateCacheBitmap(tilemap,false); if(tilemap.__cacheBitmap != null && !tilemap.__isCacheBitmapRender) { var bitmap = tilemap.__cacheBitmap; if(!(!bitmap.__renderable)) { var alpha = renderer.__getAlpha(bitmap.__worldAlpha); if(alpha > 0 && bitmap.__bitmapData != null && bitmap.__bitmapData.__isValid && bitmap.__bitmapData.readable) { var context = renderer.context; renderer.__setBlendMode(bitmap.__worldBlendMode); renderer.__pushMaskObject(bitmap,false); lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(bitmap.__bitmapData.image); context.globalAlpha = alpha; var scrollRect = bitmap.__scrollRect; renderer.setTransform(bitmap.__renderTransform,context); if(!renderer.__allowSmoothing || !bitmap.smoothing) { context.imageSmoothingEnabled = false; } if(scrollRect == null) { context.drawImage(bitmap.__bitmapData.image.get_src(),0,0,bitmap.__bitmapData.image.width,bitmap.__bitmapData.image.height); } else { context.drawImage(bitmap.__bitmapData.image.get_src(),scrollRect.x,scrollRect.y,scrollRect.width,scrollRect.height,scrollRect.x,scrollRect.y,scrollRect.width,scrollRect.height); } if(!renderer.__allowSmoothing || !bitmap.smoothing) { context.imageSmoothingEnabled = true; } renderer.__popMaskObject(bitmap,false); } } } else { if(!(tilemap.opaqueBackground == null && tilemap.__graphics == null)) { if(!(!tilemap.__renderable)) { var alpha1 = renderer.__getAlpha(tilemap.__worldAlpha); if(!(alpha1 <= 0)) { if(tilemap.opaqueBackground != null && !tilemap.__isCacheBitmapRender && tilemap.get_width() > 0 && tilemap.get_height() > 0) { renderer.__setBlendMode(tilemap.__worldBlendMode); renderer.__pushMaskObject(tilemap); var context1 = renderer.context; renderer.setTransform(tilemap.__renderTransform,context1); var color = tilemap.opaqueBackground; context1.fillStyle = "rgb(" + (color >>> 16 & 255) + "," + (color >>> 8 & 255) + "," + (color & 255) + ")"; context1.fillRect(0,0,tilemap.get_width(),tilemap.get_height()); renderer.__popMaskObject(tilemap); } if(tilemap.__graphics != null) { if(!(!tilemap.__renderable)) { var alpha2 = renderer.__getAlpha(tilemap.__worldAlpha); if(!(alpha2 <= 0)) { var graphics = tilemap.__graphics; if(graphics != null) { openfl_display__$internal_CanvasGraphics.render(graphics,renderer); var width = graphics.__width; var height = graphics.__height; var canvas = graphics.__canvas; if(canvas != null && graphics.__visible && width >= 1 && height >= 1) { var transform = graphics.__worldTransform; var context2 = renderer.context; var scrollRect1 = tilemap.__scrollRect; var scale9Grid = tilemap.__worldScale9Grid; if(scrollRect1 == null || scrollRect1.width > 0 && scrollRect1.height > 0) { renderer.__setBlendMode(tilemap.__worldBlendMode); renderer.__pushMaskObject(tilemap); context2.globalAlpha = alpha2; if(scale9Grid != null && transform.b == 0 && transform.c == 0) { context2.setTransform(1,0,0,1,transform.tx,transform.ty); var bounds = graphics.__bounds; var scaleX = graphics.__renderTransform.a; var scaleY = graphics.__renderTransform.d; var renderScaleX = transform.a; var renderScaleY = transform.d; var left = Math.max(1,Math.round(scale9Grid.x * scaleX)); var top = Math.round(scale9Grid.y * scaleY); var right = Math.max(1,Math.round((bounds.get_right() - scale9Grid.get_right()) * scaleX)); var bottom = Math.round((bounds.get_bottom() - scale9Grid.get_bottom()) * scaleY); var centerWidth = Math.round(scale9Grid.width * scaleX); var centerHeight = Math.round(scale9Grid.height * scaleY); var renderLeft = Math.round(scale9Grid.x * renderScaleX); var renderTop = Math.round(scale9Grid.y * renderScaleY); var renderRight = Math.round((bounds.get_right() - scale9Grid.get_right()) * renderScaleX); var renderBottom = Math.round((bounds.get_bottom() - scale9Grid.get_bottom()) * renderScaleY); var renderCenterWidth = Math.round(width * renderScaleX) - renderLeft - renderRight; var renderCenterHeight = Math.round(height * renderScaleY) - renderTop - renderBottom; renderer.applySmoothing(context2,false); if(centerWidth != 0 && centerHeight != 0) { context2.drawImage(canvas,0,0,left,top,0,0,renderLeft,renderTop); context2.drawImage(canvas,left,0,centerWidth,top,renderLeft,0,renderCenterWidth,renderTop); context2.drawImage(canvas,left + centerWidth,0,right,top,renderLeft + renderCenterWidth,0,renderRight,renderTop); context2.drawImage(canvas,0,top,left,centerHeight,0,renderTop,renderLeft,renderCenterHeight); context2.drawImage(canvas,left,top,centerWidth,centerHeight,renderLeft,renderTop,renderCenterWidth,renderCenterHeight); context2.drawImage(canvas,left + centerWidth,top,right,centerHeight,renderLeft + renderCenterWidth,renderTop,renderRight,renderCenterHeight); context2.drawImage(canvas,0,top + centerHeight,left,bottom,0,renderTop + renderCenterHeight,renderLeft,renderBottom); context2.drawImage(canvas,left,top + centerHeight,centerWidth,bottom,renderLeft,renderTop + renderCenterHeight,renderCenterWidth,renderBottom); context2.drawImage(canvas,left + centerWidth,top + centerHeight,right,bottom,renderLeft + renderCenterWidth,renderTop + renderCenterHeight,renderRight,renderBottom); } else if(centerWidth == 0 && centerHeight != 0) { var renderWidth = renderLeft + renderCenterWidth + renderRight; context2.drawImage(canvas,0,0,width,top,0,0,renderWidth,renderTop); context2.drawImage(canvas,0,top,width,centerHeight,0,renderTop,renderWidth,renderCenterHeight); context2.drawImage(canvas,0,top + centerHeight,width,bottom,0,renderTop + renderCenterHeight,renderWidth,renderBottom); } else if(centerHeight == 0 && centerWidth != 0) { var renderHeight = renderTop + renderCenterHeight + renderBottom; context2.drawImage(canvas,0,0,left,height,0,0,renderLeft,renderHeight); context2.drawImage(canvas,left,0,centerWidth,height,renderLeft,0,renderCenterWidth,renderHeight); context2.drawImage(canvas,left + centerWidth,0,right,height,renderLeft + renderCenterWidth,0,renderRight,renderHeight); } } else { renderer.setTransform(transform,context2); if(renderer.__isDOM) { var reverseScale = 1 / renderer.pixelRatio; context2.scale(reverseScale,reverseScale); } context2.drawImage(canvas,0,0,width,height); } renderer.__popMaskObject(tilemap); } } } } } } } } } if(!(!tilemap.__renderable || tilemap.__group.__tiles.length == 0)) { var alpha3 = renderer.__getAlpha(tilemap.__worldAlpha); if(!(alpha3 <= 0)) { var context3 = renderer.context; renderer.__setBlendMode(tilemap.__worldBlendMode); renderer.__pushMaskObject(tilemap); var rect = openfl_geom_Rectangle.__pool.get(); rect.setTo(0,0,tilemap.__width,tilemap.__height); renderer.__pushMaskRect(rect,tilemap.__renderTransform); if(!renderer.__allowSmoothing || !tilemap.smoothing) { context3.imageSmoothingEnabled = false; } openfl_display__$internal_CanvasTilemap.renderTileContainer(tilemap.__group,renderer,tilemap.__renderTransform,tilemap.__tileset,renderer.__allowSmoothing && tilemap.smoothing,tilemap.tileAlphaEnabled,alpha3,tilemap.tileBlendModeEnabled,tilemap.__worldBlendMode,null,null,rect); if(!renderer.__allowSmoothing || !tilemap.smoothing) { context3.imageSmoothingEnabled = true; } renderer.__popMaskRect(); renderer.__popMaskObject(tilemap); openfl_geom_Rectangle.__pool.release(rect); } } } renderer.__renderEvent(tilemap); }; openfl_display__$internal_CanvasTilemap.renderDrawableMask = function(tilemap,renderer) { }; var openfl_display__$internal_CanvasVideo = function() { }; $hxClasses["openfl.display._internal.CanvasVideo"] = openfl_display__$internal_CanvasVideo; openfl_display__$internal_CanvasVideo.__name__ = "openfl.display._internal.CanvasVideo"; openfl_display__$internal_CanvasVideo.render = function(video,renderer) { if(!video.__renderable || video.__stream == null) { return; } var alpha = renderer.__getAlpha(video.__worldAlpha); if(alpha <= 0) { return; } var context = renderer.context; if(video.__stream.__video != null) { renderer.__setBlendMode(video.__worldBlendMode); renderer.__pushMaskObject(video); context.globalAlpha = alpha; var scrollRect = video.__scrollRect; var smoothing = video.smoothing; renderer.setTransform(video.__worldTransform,context); if(!smoothing) { context.imageSmoothingEnabled = false; } if(scrollRect == null) { context.drawImage(video.__stream.__video,0,0,video.get_width(),video.get_height()); } else { context.drawImage(video.__stream.__video,scrollRect.x,scrollRect.y,scrollRect.width,scrollRect.height,scrollRect.x,scrollRect.y,scrollRect.width,scrollRect.height); } if(!smoothing) { context.imageSmoothingEnabled = true; } renderer.__popMaskObject(video); } }; openfl_display__$internal_CanvasVideo.renderDrawable = function(video,renderer) { openfl_display__$internal_CanvasVideo.render(video,renderer); renderer.__renderEvent(video); }; openfl_display__$internal_CanvasVideo.renderDrawableMask = function(video,renderer) { }; var openfl_display__$internal_Context3DBitmap = function() { }; $hxClasses["openfl.display._internal.Context3DBitmap"] = openfl_display__$internal_Context3DBitmap; openfl_display__$internal_Context3DBitmap.__name__ = "openfl.display._internal.Context3DBitmap"; openfl_display__$internal_Context3DBitmap.render = function(bitmap,renderer) { if(!bitmap.__renderable || bitmap.__worldAlpha <= 0) { return; } if(bitmap.__bitmapData != null && bitmap.__bitmapData.__isValid) { var context = renderer.__context3D; renderer.__setBlendMode(bitmap.__worldBlendMode); renderer.__pushMaskObject(bitmap); var shader = renderer.__initDisplayShader(bitmap.__worldShader); renderer.setShader(shader); renderer.applyBitmapData(bitmap.__bitmapData,renderer.__allowSmoothing && (bitmap.smoothing || renderer.__upscaled)); renderer.applyMatrix(renderer.__getMatrix(bitmap.__renderTransform,bitmap.pixelSnapping)); renderer.applyAlpha(bitmap.__worldAlpha); renderer.applyColorTransform(bitmap.__worldColorTransform); renderer.updateShader(); var vertexBuffer = bitmap.__bitmapData.getVertexBuffer(context); if(shader.__position != null) { context.setVertexBufferAt(shader.__position.index,vertexBuffer,0,3); } if(shader.__textureCoord != null) { context.setVertexBufferAt(shader.__textureCoord.index,vertexBuffer,3,2); } var indexBuffer = bitmap.__bitmapData.getIndexBuffer(context); context.drawTriangles(indexBuffer); renderer.__clearShader(); renderer.__popMaskObject(bitmap); } }; openfl_display__$internal_Context3DBitmap.renderDrawable = function(bitmap,renderer) { renderer.__updateCacheBitmap(bitmap,false); if(bitmap.__bitmapData != null && bitmap.__bitmapData.image != null) { bitmap.__imageVersion = bitmap.__bitmapData.image.version; } if(bitmap.__cacheBitmap != null && !bitmap.__isCacheBitmapRender) { openfl_display__$internal_Context3DBitmap.render(bitmap.__cacheBitmap,renderer); } else { if(!(bitmap.opaqueBackground == null && bitmap.__graphics == null)) { if(!(!bitmap.__renderable || bitmap.__worldAlpha <= 0)) { if(bitmap.opaqueBackground != null && !bitmap.__isCacheBitmapRender && bitmap.get_width() > 0 && bitmap.get_height() > 0) { renderer.__setBlendMode(bitmap.__worldBlendMode); renderer.__pushMaskObject(bitmap); var context = renderer.__context3D; var rect = openfl_geom_Rectangle.__pool.get(); rect.setTo(0,0,bitmap.get_width(),bitmap.get_height()); renderer.__pushMaskRect(rect,bitmap.__renderTransform); var color = bitmap.opaqueBackground; context.clear((color >>> 16 & 255) / 255,(color >>> 8 & 255) / 255,(color & 255) / 255,1,0,0,1); renderer.__popMaskRect(); renderer.__popMaskObject(bitmap); openfl_geom_Rectangle.__pool.release(rect); } if(bitmap.__graphics != null) { openfl_display__$internal_Context3DShape.render(bitmap,renderer); } } } openfl_display__$internal_Context3DBitmap.render(bitmap,renderer); } renderer.__renderEvent(bitmap); }; openfl_display__$internal_Context3DBitmap.renderDrawableMask = function(bitmap,renderer) { openfl_display__$internal_Context3DBitmap.renderMask(bitmap,renderer); }; openfl_display__$internal_Context3DBitmap.renderMask = function(bitmap,renderer) { if(bitmap.__bitmapData != null && bitmap.__bitmapData.__isValid) { var context = renderer.__context3D; var shader = renderer.__maskShader; renderer.setShader(shader); renderer.applyBitmapData(openfl_display__$internal_Context3DMaskShader.opaqueBitmapData,true); renderer.applyMatrix(renderer.__getMatrix(bitmap.__renderTransform,bitmap.pixelSnapping)); renderer.updateShader(); var vertexBuffer = bitmap.__bitmapData.getVertexBuffer(context); if(shader.__position != null) { context.setVertexBufferAt(shader.__position.index,vertexBuffer,0,3); } if(shader.__textureCoord != null) { context.setVertexBufferAt(shader.__textureCoord.index,vertexBuffer,3,2); } var indexBuffer = bitmap.__bitmapData.getIndexBuffer(context); context.drawTriangles(indexBuffer); renderer.__clearShader(); } }; var openfl_display__$internal_Context3DBitmapData = function() { }; $hxClasses["openfl.display._internal.Context3DBitmapData"] = openfl_display__$internal_Context3DBitmapData; openfl_display__$internal_Context3DBitmapData.__name__ = "openfl.display._internal.Context3DBitmapData"; openfl_display__$internal_Context3DBitmapData.renderDrawable = function(bitmapData,renderer) { var context = renderer.__context3D; var gl = context.gl; renderer.__setBlendMode(10); var shader = renderer.__defaultDisplayShader; renderer.setShader(shader); renderer.applyBitmapData(bitmapData,renderer.__upscaled); renderer.applyMatrix(renderer.__getMatrix(bitmapData.__worldTransform,1)); renderer.applyAlpha(bitmapData.__worldAlpha); renderer.applyColorTransform(bitmapData.__worldColorTransform); renderer.updateShader(); var vertexBuffer = bitmapData.getVertexBuffer(context); if(shader.__position != null) { context.setVertexBufferAt(shader.__position.index,vertexBuffer,0,3); } if(shader.__textureCoord != null) { context.setVertexBufferAt(shader.__textureCoord.index,vertexBuffer,3,2); } var indexBuffer = bitmapData.getIndexBuffer(context); context.drawTriangles(indexBuffer); renderer.__clearShader(); }; openfl_display__$internal_Context3DBitmapData.renderDrawableMask = function(bitmapData,renderer) { var context = renderer.__context3D; var gl = context.gl; var shader = renderer.__maskShader; renderer.setShader(shader); renderer.applyBitmapData(bitmapData,renderer.__upscaled); renderer.applyMatrix(renderer.__getMatrix(bitmapData.__worldTransform,1)); renderer.updateShader(); var vertexBuffer = bitmapData.getVertexBuffer(context); if(shader.__position != null) { context.setVertexBufferAt(shader.__position.index,vertexBuffer,0,3); } if(shader.__textureCoord != null) { context.setVertexBufferAt(shader.__textureCoord.index,vertexBuffer,3,2); } var indexBuffer = bitmapData.getIndexBuffer(context); context.drawTriangles(indexBuffer); renderer.__clearShader(); }; var openfl_display__$internal_Context3DBuffer = function(context3D,elementType,elementCount,dataPerVertex) { this.context3D = context3D; this.elementType = elementType; this.dataPerVertex = dataPerVertex; this.indexCount = 0; this.vertexCount = 0; this.resize(elementCount); }; $hxClasses["openfl.display._internal.Context3DBuffer"] = openfl_display__$internal_Context3DBuffer; openfl_display__$internal_Context3DBuffer.__name__ = "openfl.display._internal.Context3DBuffer"; openfl_display__$internal_Context3DBuffer.prototype = { dataPerVertex: null ,elementCount: null ,elementType: null ,indexBufferData: null ,indexBuffers: null ,indexCount: null ,vertexBuffer: null ,vertexBufferData: null ,vertexCount: null ,context3D: null ,drawElements: function(start,length) { if(length == null) { length = -1; } if(this.indexCount == 0 || this.vertexCount == 0) { return; } if(this.elementType._hx_index == 0) { if(length == -1) { length = this.elementCount * 2; } if(start < 10922 && length - start < 10922) { this.context3D.drawTriangles(this.indexBuffers[0],start,length * 2); } else { var end = start + length; while(start < end) { var arrayBufferIndex = Math.floor(start / 10922); length = Math.min(end - start,10922) | 0; if(length <= 0) { break; } this.context3D.drawTriangles(this.indexBuffers[arrayBufferIndex],(start - arrayBufferIndex * 10922) * 3,length * 2); start += length; } } } } ,flushVertexBufferData: function() { if(this.vertexBufferData.length > this.vertexCount) { this.vertexCount = this.vertexBufferData.length; this.vertexBuffer = this.context3D.createVertexBuffer(this.vertexCount,this.dataPerVertex,0); } this.vertexBuffer.uploadFromTypedArray(lime_utils__$Float32Array_Float32Array_$Impl_$.toArrayBufferView(this.vertexBufferData)); } ,resize: function(elementCount,dataPerVertex) { if(dataPerVertex == null) { dataPerVertex = -1; } this.elementCount = elementCount; if(dataPerVertex == -1) { dataPerVertex = this.dataPerVertex; } if(dataPerVertex != this.dataPerVertex) { this.vertexBuffer = null; this.vertexCount = 0; this.dataPerVertex = dataPerVertex; } var numVertices = 0; switch(this.elementType._hx_index) { case 0: numVertices = elementCount * 4; break; case 1: numVertices = elementCount * 3; break; case 2: numVertices = elementCount * 3; break; } var vertexLength = numVertices * dataPerVertex; if(this.vertexBufferData == null) { var array = null; var vector = null; var view = null; var buffer = null; var len = null; var this1; if(vertexLength != null) { this1 = new Float32Array(vertexLength); } else if(array != null) { this1 = new Float32Array(array); } else if(vector != null) { this1 = new Float32Array(vector.__array); } else if(view != null) { this1 = new Float32Array(view); } else if(buffer != null) { if(len == null) { this1 = new Float32Array(buffer,0); } else { this1 = new Float32Array(buffer,0,len); } } else { this1 = null; } this.vertexBufferData = this1; } else if(vertexLength > this.vertexBufferData.length) { var cacheBufferData = this.vertexBufferData; var array1 = null; var vector1 = null; var view1 = null; var buffer1 = null; var len1 = null; var this2; if(vertexLength != null) { this2 = new Float32Array(vertexLength); } else if(array1 != null) { this2 = new Float32Array(array1); } else if(vector1 != null) { this2 = new Float32Array(vector1.__array); } else if(view1 != null) { this2 = new Float32Array(view1); } else if(buffer1 != null) { if(len1 == null) { this2 = new Float32Array(buffer1,0); } else { this2 = new Float32Array(buffer1,0,len1); } } else { this2 = null; } this.vertexBufferData = this2; this.vertexBufferData.set(cacheBufferData); } } ,__class__: openfl_display__$internal_Context3DBuffer }; var openfl_display__$internal_Context3DElementType = $hxEnums["openfl.display._internal.Context3DElementType"] = { __ename__ : "openfl.display._internal.Context3DElementType", __constructs__ : ["QUADS","TRIANGLES","TRIANGLE_INDICES"] ,QUADS: {_hx_index:0,__enum__:"openfl.display._internal.Context3DElementType",toString:$estr} ,TRIANGLES: {_hx_index:1,__enum__:"openfl.display._internal.Context3DElementType",toString:$estr} ,TRIANGLE_INDICES: {_hx_index:2,__enum__:"openfl.display._internal.Context3DElementType",toString:$estr} }; var openfl_display__$internal_Context3DDisplayObject = function() { }; $hxClasses["openfl.display._internal.Context3DDisplayObject"] = openfl_display__$internal_Context3DDisplayObject; openfl_display__$internal_Context3DDisplayObject.__name__ = "openfl.display._internal.Context3DDisplayObject"; openfl_display__$internal_Context3DDisplayObject.render = function(displayObject,renderer) { if(displayObject.opaqueBackground == null && displayObject.__graphics == null) { return; } if(!displayObject.__renderable || displayObject.__worldAlpha <= 0) { return; } if(displayObject.opaqueBackground != null && !displayObject.__isCacheBitmapRender && displayObject.get_width() > 0 && displayObject.get_height() > 0) { renderer.__setBlendMode(displayObject.__worldBlendMode); renderer.__pushMaskObject(displayObject); var context = renderer.__context3D; var rect = openfl_geom_Rectangle.__pool.get(); rect.setTo(0,0,displayObject.get_width(),displayObject.get_height()); renderer.__pushMaskRect(rect,displayObject.__renderTransform); var color = displayObject.opaqueBackground; context.clear((color >>> 16 & 255) / 255,(color >>> 8 & 255) / 255,(color & 255) / 255,1,0,0,1); renderer.__popMaskRect(); renderer.__popMaskObject(displayObject); openfl_geom_Rectangle.__pool.release(rect); } if(displayObject.__graphics != null) { openfl_display__$internal_Context3DShape.render(displayObject,renderer); } }; openfl_display__$internal_Context3DDisplayObject.renderDrawable = function(displayObject,renderer) { renderer.__updateCacheBitmap(displayObject,false); if(displayObject.__cacheBitmap != null && !displayObject.__isCacheBitmapRender) { openfl_display__$internal_Context3DBitmap.render(displayObject.__cacheBitmap,renderer); } else if(!(displayObject.opaqueBackground == null && displayObject.__graphics == null)) { if(!(!displayObject.__renderable || displayObject.__worldAlpha <= 0)) { if(displayObject.opaqueBackground != null && !displayObject.__isCacheBitmapRender && displayObject.get_width() > 0 && displayObject.get_height() > 0) { renderer.__setBlendMode(displayObject.__worldBlendMode); renderer.__pushMaskObject(displayObject); var context = renderer.__context3D; var rect = openfl_geom_Rectangle.__pool.get(); rect.setTo(0,0,displayObject.get_width(),displayObject.get_height()); renderer.__pushMaskRect(rect,displayObject.__renderTransform); var color = displayObject.opaqueBackground; context.clear((color >>> 16 & 255) / 255,(color >>> 8 & 255) / 255,(color & 255) / 255,1,0,0,1); renderer.__popMaskRect(); renderer.__popMaskObject(displayObject); openfl_geom_Rectangle.__pool.release(rect); } if(displayObject.__graphics != null) { openfl_display__$internal_Context3DShape.render(displayObject,renderer); } } } renderer.__renderEvent(displayObject); }; openfl_display__$internal_Context3DDisplayObject.renderDrawableMask = function(displayObject,renderer) { if(displayObject.__graphics != null) { openfl_display__$internal_Context3DShape.renderMask(displayObject,renderer); } }; openfl_display__$internal_Context3DDisplayObject.renderMask = function(displayObject,renderer) { if(displayObject.opaqueBackground == null && displayObject.__graphics == null) { return; } var tmp = displayObject.opaqueBackground != null && !displayObject.__isCacheBitmapRender && displayObject.get_width() > 0 && displayObject.get_height() > 0; if(displayObject.__graphics != null) { openfl_display__$internal_Context3DShape.renderMask(displayObject,renderer); } }; var openfl_display__$internal_Context3DDisplayObjectContainer = function() { }; $hxClasses["openfl.display._internal.Context3DDisplayObjectContainer"] = openfl_display__$internal_Context3DDisplayObjectContainer; openfl_display__$internal_Context3DDisplayObjectContainer.__name__ = "openfl.display._internal.Context3DDisplayObjectContainer"; openfl_display__$internal_Context3DDisplayObjectContainer.renderDrawable = function(displayObjectContainer,renderer) { var orphan = displayObjectContainer.__removedChildren.iterator(); while(orphan.hasNext()) { var orphan1 = orphan.next(); if(orphan1.stage == null) { orphan1.__cleanup(); } } displayObjectContainer.__removedChildren.set_length(0); if(!displayObjectContainer.__renderable || displayObjectContainer.__worldAlpha <= 0) { return; } openfl_display__$internal_Context3DDisplayObject.renderDrawable(displayObjectContainer,renderer); if(displayObjectContainer.__cacheBitmap != null && !displayObjectContainer.__isCacheBitmapRender) { return; } if(displayObjectContainer.__children.length > 0) { renderer.__pushMaskObject(displayObjectContainer); if(renderer.__stage != null) { var _g = 0; var _g1 = displayObjectContainer.__children; while(_g < _g1.length) { var child = _g1[_g]; ++_g; renderer.__renderDrawable(child); child.__renderDirty = false; } displayObjectContainer.__renderDirty = false; } else { var _g2 = 0; var _g11 = displayObjectContainer.__children; while(_g2 < _g11.length) { var child1 = _g11[_g2]; ++_g2; renderer.__renderDrawable(child1); } } } if(displayObjectContainer.__children.length > 0) { renderer.__popMaskObject(displayObjectContainer); } }; openfl_display__$internal_Context3DDisplayObjectContainer.renderDrawableMask = function(displayObjectContainer,renderer) { var orphan = displayObjectContainer.__removedChildren.iterator(); while(orphan.hasNext()) { var orphan1 = orphan.next(); if(orphan1.stage == null) { orphan1.__cleanup(); } } displayObjectContainer.__removedChildren.set_length(0); if(displayObjectContainer.__graphics != null) { openfl_display__$internal_Context3DShape.renderMask(displayObjectContainer,renderer); } var _g = 0; var _g1 = displayObjectContainer.__children; while(_g < _g1.length) { var child = _g1[_g]; ++_g; renderer.__renderDrawableMask(child); } }; var openfl_display__$internal_Context3DGraphics = function() { }; $hxClasses["openfl.display._internal.Context3DGraphics"] = openfl_display__$internal_Context3DGraphics; openfl_display__$internal_Context3DGraphics.__name__ = "openfl.display._internal.Context3DGraphics"; openfl_display__$internal_Context3DGraphics.maskRender = null; openfl_display__$internal_Context3DGraphics.buildBuffer = function(graphics,renderer) { var quadBufferPosition = 0; var triangleIndexBufferPosition = 0; var vertexBufferPosition = 0; var vertexBufferPositionUVT = 0; var data = new openfl_display__$internal_DrawCommandReader(graphics.__commands); var context = renderer.__context3D; var tileRect = openfl_geom_Rectangle.__pool.get(); var tileTransform = openfl_geom_Matrix.__pool.get(); var bitmap = null; var _g = 0; var _g1 = graphics.__commands.types; while(_g < _g1.length) { var type = _g1[_g]; ++_g; switch(type._hx_index) { case 0: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.BEGIN_BITMAP_FILL; var this1 = data; var c = this1; bitmap = c.buffer.o[c.oPos]; break; case 1: bitmap = null; switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = type; break; case 3: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.BEGIN_SHADER_FILL; var this2 = data; var c1 = this2; var shaderBuffer = c1.buffer.o[c1.oPos]; bitmap = null; if(shaderBuffer != null) { var _g2 = 0; var _g11 = shaderBuffer.inputCount; while(_g2 < _g11) { var i = _g2++; if(shaderBuffer.inputRefs[i].name == "bitmap") { bitmap = shaderBuffer.inputs[i]; break; } } } break; case 8: if(bitmap != null) { switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.DRAW_QUADS; var this3 = data; var c2 = this3; var rects = c2.buffer.o[c2.oPos]; var indices = c2.buffer.o[c2.oPos + 1]; var transforms = c2.buffer.o[c2.oPos + 2]; var hasIndices = indices != null; var transformABCD = false; var transformXY = false; var length = hasIndices ? indices.get_length() : Math.floor(rects.get_length() / 4); if(length == 0) { return; } if(transforms != null) { if(transforms.get_length() >= length * 6) { transformABCD = true; transformXY = true; } else if(transforms.get_length() >= length * 4) { transformABCD = true; } else if(transforms.get_length() >= length * 2) { transformXY = true; } } var dataPerVertex = 4; var stride = dataPerVertex * 4; if(graphics.__quadBuffer == null) { graphics.__quadBuffer = new openfl_display__$internal_Context3DBuffer(context,openfl_display__$internal_Context3DElementType.QUADS,length,dataPerVertex); } else { graphics.__quadBuffer.resize(quadBufferPosition + length,dataPerVertex); } var vertexOffset; var alpha = 1.0; var tileData; var id; var tileWidth; var tileHeight; var uvX; var uvY; var uvWidth; var uvHeight; var x; var y; var x2; var y2; var x3; var y3; var x4; var y4; var ri; var ti; var vertexBufferData = graphics.__quadBuffer.vertexBufferData; var bitmapWidth = bitmap.width; var bitmapHeight = bitmap.height; var sourceRect = bitmap.rect; var _g3 = 0; var _g12 = length; while(_g3 < _g12) { var i1 = _g3++; vertexOffset = (quadBufferPosition + i1) * stride; ri = hasIndices ? indices.get(i1) * 4 : i1 * 4; if(ri < 0) { continue; } tileRect.setTo(rects.get(ri),rects.get(ri + 1),rects.get(ri + 2),rects.get(ri + 3)); tileWidth = tileRect.width; tileHeight = tileRect.height; if(tileWidth <= 0 || tileHeight <= 0) { continue; } if(transformABCD && transformXY) { ti = i1 * 6; tileTransform.setTo(transforms.get(ti),transforms.get(ti + 1),transforms.get(ti + 2),transforms.get(ti + 3),transforms.get(ti + 4),transforms.get(ti + 5)); } else if(transformABCD) { ti = i1 * 4; tileTransform.setTo(transforms.get(ti),transforms.get(ti + 1),transforms.get(ti + 2),transforms.get(ti + 3),tileRect.x,tileRect.y); } else if(transformXY) { ti = i1 * 2; tileTransform.tx = transforms.get(ti); tileTransform.ty = transforms.get(ti + 1); } else { tileTransform.tx = tileRect.x; tileTransform.ty = tileRect.y; } uvX = tileRect.x / bitmapWidth; uvY = tileRect.y / bitmapHeight; uvWidth = tileRect.get_right() / bitmapWidth; uvHeight = tileRect.get_bottom() / bitmapHeight; x = 0 * tileTransform.a + 0 * tileTransform.c + tileTransform.tx; y = 0 * tileTransform.b + 0 * tileTransform.d + tileTransform.ty; x2 = tileWidth * tileTransform.a + 0 * tileTransform.c + tileTransform.tx; y2 = tileWidth * tileTransform.b + 0 * tileTransform.d + tileTransform.ty; x3 = 0 * tileTransform.a + tileHeight * tileTransform.c + tileTransform.tx; y3 = 0 * tileTransform.b + tileHeight * tileTransform.d + tileTransform.ty; x4 = tileWidth * tileTransform.a + tileHeight * tileTransform.c + tileTransform.tx; y4 = tileWidth * tileTransform.b + tileHeight * tileTransform.d + tileTransform.ty; vertexBufferData[vertexOffset] = x; vertexBufferData[vertexOffset + 1] = y; vertexBufferData[vertexOffset + 2] = uvX; vertexBufferData[vertexOffset + 3] = uvY; vertexBufferData[vertexOffset + dataPerVertex] = x2; vertexBufferData[vertexOffset + dataPerVertex + 1] = y2; vertexBufferData[vertexOffset + dataPerVertex + 2] = uvWidth; vertexBufferData[vertexOffset + dataPerVertex + 3] = uvY; vertexBufferData[vertexOffset + dataPerVertex * 2] = x3; vertexBufferData[vertexOffset + dataPerVertex * 2 + 1] = y3; vertexBufferData[vertexOffset + dataPerVertex * 2 + 2] = uvX; vertexBufferData[vertexOffset + dataPerVertex * 2 + 3] = uvHeight; vertexBufferData[vertexOffset + dataPerVertex * 3] = x4; vertexBufferData[vertexOffset + dataPerVertex * 3 + 1] = y4; vertexBufferData[vertexOffset + dataPerVertex * 3 + 2] = uvWidth; vertexBufferData[vertexOffset + dataPerVertex * 3 + 3] = uvHeight; } quadBufferPosition += length; } break; case 12: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.DRAW_TRIANGLES; var this4 = data; var c3 = this4; var vertices = c3.buffer.o[c3.oPos]; var indices1 = c3.buffer.o[c3.oPos + 1]; var uvtData = c3.buffer.o[c3.oPos + 2]; var culling = c3.buffer.o[c3.oPos + 3]; var hasIndices1 = indices1 != null; var numVertices = Math.floor(vertices.get_length() / 2); var length1 = hasIndices1 ? indices1.get_length() : numVertices; var hasUVData = uvtData != null; var hasUVTData = hasUVData && uvtData.get_length() >= numVertices * 3; var vertLength = hasUVTData ? 4 : 2; var uvStride = hasUVTData ? 3 : 2; var dataPerVertex1 = vertLength + 2; var vertexOffset1 = hasUVTData ? vertexBufferPositionUVT : vertexBufferPosition; openfl_display__$internal_Context3DGraphics.resizeVertexBuffer(graphics,hasUVTData,vertexOffset1 + length1 * dataPerVertex1); var vertexBufferData1 = hasUVTData ? graphics.__vertexBufferDataUVT : graphics.__vertexBufferData; var offset; var vertOffset; var uvOffset; var t; var _g4 = 0; var _g13 = length1; while(_g4 < _g13) { var i2 = _g4++; offset = vertexOffset1 + i2 * dataPerVertex1; vertOffset = hasIndices1 ? indices1.get(i2) * 2 : i2 * 2; uvOffset = hasIndices1 ? indices1.get(i2) * uvStride : i2 * uvStride; if(hasUVTData) { t = uvtData.get(uvOffset + 2); vertexBufferData1[offset] = vertices.get(vertOffset) / t; vertexBufferData1[offset + 1] = vertices.get(vertOffset + 1) / t; vertexBufferData1[offset + 2] = 0; vertexBufferData1[offset + 3] = 1 / t; } else { vertexBufferData1[offset] = vertices.get(vertOffset); vertexBufferData1[offset + 1] = vertices.get(vertOffset + 1); } vertexBufferData1[offset + vertLength] = hasUVData ? uvtData.get(uvOffset) : 0; vertexBufferData1[offset + vertLength + 1] = hasUVData ? uvtData.get(uvOffset + 1) : 0; } if(hasUVTData) { vertexBufferPositionUVT += length1 * dataPerVertex1; } else { vertexBufferPosition += length1 * dataPerVertex1; } break; case 13: bitmap = null; break; default: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = type; } } if(quadBufferPosition > 0) { graphics.__quadBuffer.flushVertexBufferData(); } if(triangleIndexBufferPosition > 0) { var buffer = graphics.__triangleIndexBuffer; if(buffer == null || triangleIndexBufferPosition > graphics.__triangleIndexBufferCount) { buffer = context.createIndexBuffer(triangleIndexBufferPosition,0); graphics.__triangleIndexBuffer = buffer; graphics.__triangleIndexBufferCount = triangleIndexBufferPosition; } buffer.uploadFromTypedArray(graphics.__triangleIndexBufferData); } if(vertexBufferPosition > 0) { var buffer1 = graphics.__vertexBuffer; if(buffer1 == null || vertexBufferPosition > graphics.__vertexBufferCount) { buffer1 = context.createVertexBuffer(vertexBufferPosition,4,0); graphics.__vertexBuffer = buffer1; graphics.__vertexBufferCount = vertexBufferPosition; } buffer1.uploadFromTypedArray(lime_utils__$Float32Array_Float32Array_$Impl_$.toArrayBufferView(graphics.__vertexBufferData)); } if(vertexBufferPositionUVT > 0) { var buffer2 = graphics.__vertexBufferUVT; if(buffer2 == null || vertexBufferPositionUVT > graphics.__vertexBufferCountUVT) { buffer2 = context.createVertexBuffer(vertexBufferPositionUVT,6,0); graphics.__vertexBufferUVT = buffer2; graphics.__vertexBufferCountUVT = vertexBufferPositionUVT; } buffer2.uploadFromTypedArray(lime_utils__$Float32Array_Float32Array_$Impl_$.toArrayBufferView(graphics.__vertexBufferDataUVT)); } openfl_geom_Rectangle.__pool.release(tileRect); openfl_geom_Matrix.__pool.release(tileTransform); }; openfl_display__$internal_Context3DGraphics.isCompatible = function(graphics) { if(graphics.__owner.__worldScale9Grid != null) { return false; } var data = new openfl_display__$internal_DrawCommandReader(graphics.__commands); var hasColorFill = false; var hasBitmapFill = false; var hasShaderFill = false; var _g = 0; var _g1 = graphics.__commands.types; while(_g < _g1.length) { var type = _g1[_g]; ++_g; switch(type._hx_index) { case 0: hasBitmapFill = true; hasColorFill = false; hasShaderFill = false; switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = type; break; case 1: hasBitmapFill = false; hasColorFill = true; hasShaderFill = false; switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = type; break; case 3: hasBitmapFill = false; hasColorFill = false; hasShaderFill = true; switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = type; break; case 8: if(hasBitmapFill || hasShaderFill) { switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = type; } else { data.destroy(); return false; } break; case 9: if(hasColorFill) { switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = type; } else { data.destroy(); return false; } break; case 12: if(hasBitmapFill || hasShaderFill) { switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = type; } else { data.destroy(); return false; } break; case 13: hasBitmapFill = false; hasColorFill = false; hasShaderFill = false; switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = type; break; case 18: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = type; break; case 19: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = type; break; default: data.destroy(); return false; } } data.destroy(); return true; }; openfl_display__$internal_Context3DGraphics.render = function(graphics,renderer) { if(!graphics.__visible || graphics.__commands.get_length() == 0) { return; } if(graphics.__bitmap != null && !graphics.__dirty || !openfl_display__$internal_Context3DGraphics.isCompatible(graphics)) { var cacheTransform = renderer.__softwareRenderer.__worldTransform; renderer.__softwareRenderer.__worldTransform = renderer.__worldTransform; openfl_display__$internal_CanvasGraphics.render(graphics,renderer.__softwareRenderer); renderer.__softwareRenderer.__worldTransform = cacheTransform; } else { graphics.__bitmap = null; graphics.__update(renderer.__worldTransform); var bounds = graphics.__bounds; var width = graphics.__width; var height = graphics.__height; if(bounds != null && width >= 1 && height >= 1) { if(graphics.__hardwareDirty || graphics.__quadBuffer == null && graphics.__vertexBuffer == null && graphics.__vertexBufferUVT == null) { openfl_display__$internal_Context3DGraphics.buildBuffer(graphics,renderer); } var data = new openfl_display__$internal_DrawCommandReader(graphics.__commands); var context = renderer.__context3D; var gl = context.gl; var matrix = openfl_geom_Matrix.__pool.get(); var shaderBuffer = null; var bitmap = null; var repeat = false; var smooth = false; var fill = null; var positionX = 0.0; var positionY = 0.0; var quadBufferPosition = 0; var shaderBufferOffset = 0; var triangleIndexBufferPosition = 0; var vertexBufferPosition = 0; var vertexBufferPositionUVT = 0; var _g = 0; var _g1 = graphics.__commands.types; while(_g < _g1.length) { var type = _g1[_g]; ++_g; switch(type._hx_index) { case 0: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.BEGIN_BITMAP_FILL; var this1 = data; var c = this1; bitmap = c.buffer.o[c.oPos]; repeat = c.buffer.b[c.bPos]; smooth = c.buffer.b[c.bPos + 1]; shaderBuffer = null; fill = null; break; case 1: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.BEGIN_FILL; var this2 = data; var c1 = this2; var color = c1.buffer.i[c1.iPos] | 0; var alpha = c1.buffer.f[c1.fPos] * 255 | 0; fill = color & 16777215 | alpha << 24; shaderBuffer = null; bitmap = null; break; case 3: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.BEGIN_SHADER_FILL; var this3 = data; var c2 = this3; shaderBuffer = c2.buffer.o[c2.oPos]; shaderBufferOffset = 0; if(shaderBuffer == null || shaderBuffer.shader == null || shaderBuffer.shader.__bitmap == null) { bitmap = null; } else { bitmap = shaderBuffer.shader.__bitmap.input; } fill = null; break; case 8: if(bitmap != null) { switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.DRAW_QUADS; var this4 = data; var c3 = this4; var rects = c3.buffer.o[c3.oPos]; var indices = c3.buffer.o[c3.oPos + 1]; var transforms = c3.buffer.o[c3.oPos + 2]; var hasIndices = indices != null; var length = hasIndices ? indices.get_length() : Math.floor(rects.get_length() / 4); var uMatrix = renderer.__getMatrix(graphics.__owner.__renderTransform,1); var shader; if(shaderBuffer != null && !openfl_display__$internal_Context3DGraphics.maskRender) { shader = renderer.__initShaderBuffer(shaderBuffer); renderer.__setShaderBuffer(shaderBuffer); renderer.applyMatrix(uMatrix); renderer.applyBitmapData(bitmap,false,repeat); renderer.applyAlpha(graphics.__owner.__worldAlpha); renderer.applyColorTransform(graphics.__owner.__worldColorTransform); } else { shader = openfl_display__$internal_Context3DGraphics.maskRender ? renderer.__maskShader : renderer.__initGraphicsShader(null); renderer.setShader(shader); renderer.applyMatrix(uMatrix); renderer.applyBitmapData(bitmap,smooth,repeat); renderer.applyAlpha(graphics.__owner.__worldAlpha); renderer.applyColorTransform(graphics.__owner.__worldColorTransform); renderer.updateShader(); } var end = quadBufferPosition + length; while(quadBufferPosition < end) { length = Math.min(end - quadBufferPosition,context.__quadIndexBufferElements) | 0; if(length <= 0) { break; } if(shaderBuffer != null && !openfl_display__$internal_Context3DGraphics.maskRender) { renderer.__updateShaderBuffer(shaderBufferOffset); } if(shader.__position != null) { context.setVertexBufferAt(shader.__position.index,graphics.__quadBuffer.vertexBuffer,quadBufferPosition * 16,2); } if(shader.__textureCoord != null) { context.setVertexBufferAt(shader.__textureCoord.index,graphics.__quadBuffer.vertexBuffer,quadBufferPosition * 16 + 2,2); } context.drawTriangles(context.__quadIndexBuffer,0,length * 2); shaderBufferOffset += length * 4; quadBufferPosition += length; } renderer.__clearShader(); } break; case 9: if(fill != null) { switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.DRAW_RECT; var this5 = data; var c4 = this5; var x = c4.buffer.f[c4.fPos]; var y = c4.buffer.f[c4.fPos + 1]; var width1 = c4.buffer.f[c4.fPos + 2]; var height1 = c4.buffer.f[c4.fPos + 3]; var color1 = fill; openfl_display__$internal_Context3DGraphics.tempColorTransform.redOffset = color1 >>> 16 & 255; openfl_display__$internal_Context3DGraphics.tempColorTransform.greenOffset = color1 >>> 8 & 255; openfl_display__$internal_Context3DGraphics.tempColorTransform.blueOffset = color1 & 255; openfl_display__$internal_Context3DGraphics.tempColorTransform.__combine(graphics.__owner.__worldColorTransform); matrix.identity(); matrix.scale(width1,height1); matrix.tx = x; matrix.ty = y; matrix.concat(graphics.__owner.__renderTransform); var shader1 = openfl_display__$internal_Context3DGraphics.maskRender ? renderer.__maskShader : renderer.__initGraphicsShader(null); renderer.setShader(shader1); renderer.applyMatrix(renderer.__getMatrix(matrix,1)); renderer.applyBitmapData(openfl_display__$internal_Context3DGraphics.blankBitmapData,true,repeat); renderer.applyAlpha((color1 >>> 24 & 255) / 255 * graphics.__owner.__worldAlpha); renderer.applyColorTransform(openfl_display__$internal_Context3DGraphics.tempColorTransform); renderer.updateShader(); var vertexBuffer = openfl_display__$internal_Context3DGraphics.blankBitmapData.getVertexBuffer(context); if(shader1.__position != null) { context.setVertexBufferAt(shader1.__position.index,vertexBuffer,0,3); } if(shader1.__textureCoord != null) { context.setVertexBufferAt(shader1.__textureCoord.index,vertexBuffer,3,2); } var indexBuffer = openfl_display__$internal_Context3DGraphics.blankBitmapData.getIndexBuffer(context); context.drawTriangles(indexBuffer); shaderBufferOffset += 4; renderer.__clearShader(); } break; case 12: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.DRAW_TRIANGLES; var this6 = data; var c5 = this6; var vertices = c5.buffer.o[c5.oPos]; var indices1 = c5.buffer.o[c5.oPos + 1]; var uvtData = c5.buffer.o[c5.oPos + 2]; var culling = c5.buffer.o[c5.oPos + 3]; var hasIndices1 = indices1 != null; var numVertices = Math.floor(vertices.get_length() / 2); var length1 = hasIndices1 ? indices1.get_length() : numVertices; var hasUVData = uvtData != null; var hasUVTData = hasUVData && uvtData.get_length() >= numVertices * 3; var vertLength = hasUVTData ? 4 : 2; var uvStride = hasUVTData ? 3 : 2; var dataPerVertex = vertLength + 2; var vertexBuffer1 = hasUVTData ? graphics.__vertexBufferUVT : graphics.__vertexBuffer; var bufferPosition = hasUVTData ? vertexBufferPositionUVT : vertexBufferPosition; var uMatrix1 = renderer.__getMatrix(graphics.__owner.__renderTransform,1); var shader2; if(shaderBuffer != null && !openfl_display__$internal_Context3DGraphics.maskRender) { shader2 = renderer.__initShaderBuffer(shaderBuffer); renderer.__setShaderBuffer(shaderBuffer); renderer.applyMatrix(uMatrix1); renderer.applyBitmapData(bitmap,false,repeat); renderer.applyAlpha(1); renderer.applyColorTransform(null); renderer.__updateShaderBuffer(shaderBufferOffset); } else { shader2 = openfl_display__$internal_Context3DGraphics.maskRender ? renderer.__maskShader : renderer.__initGraphicsShader(null); renderer.setShader(shader2); renderer.applyMatrix(uMatrix1); renderer.applyBitmapData(bitmap,smooth,repeat); renderer.applyAlpha(graphics.__owner.__worldAlpha); renderer.applyColorTransform(graphics.__owner.__worldColorTransform); renderer.updateShader(); } if(shader2.__position != null) { context.setVertexBufferAt(shader2.__position.index,vertexBuffer1,bufferPosition,hasUVTData ? 4 : 2); } if(shader2.__textureCoord != null) { context.setVertexBufferAt(shader2.__textureCoord.index,vertexBuffer1,bufferPosition + vertLength,2); } switch(culling) { case 0: context.setCulling(0); break; case 1: context.setCulling(3); break; case 2: context.setCulling(1); break; default: } context.__drawTriangles(0,length1); shaderBufferOffset += length1; if(hasUVTData) { vertexBufferPositionUVT += dataPerVertex * length1; } else { vertexBufferPosition += dataPerVertex * length1; } switch(culling) { case 1:case 2: context.setCulling(0); break; default: } renderer.__clearShader(); break; case 13: bitmap = null; fill = null; shaderBuffer = null; switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = type; context.setCulling(3); break; case 18: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.MOVE_TO; var this7 = data; var c6 = this7; positionX = c6.buffer.f[c6.fPos]; positionY = c6.buffer.f[c6.fPos + 1]; break; case 19: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = openfl_display__$internal_DrawCommandType.OVERRIDE_BLEND_MODE; var this8 = data; var c7 = this8; renderer.__setBlendMode(c7.buffer.o[c7.oPos]); break; default: switch(data.prev._hx_index) { case 0: data.oPos += 2; data.bPos += 2; break; case 1: data.iPos += 1; data.fPos += 1; break; case 2: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 3: data.oPos += 1; break; case 4: data.fPos += 6; break; case 5: data.fPos += 4; break; case 6: data.fPos += 3; break; case 7: data.fPos += 4; break; case 8: data.oPos += 3; break; case 9: data.fPos += 4; break; case 10: data.fPos += 5; data.oPos += 1; break; case 12: data.oPos += 4; break; case 13: break; case 14: data.oPos += 2; data.bPos += 2; break; case 15: data.oPos += 4; data.iiPos += 2; data.ffPos += 1; data.fPos += 1; break; case 16: data.oPos += 4; data.iPos += 1; data.fPos += 2; data.bPos += 1; break; case 17: data.fPos += 2; break; case 18: data.fPos += 2; break; case 19: data.oPos += 1; break; case 20: data.oPos += 1; break; case 21:case 22: break; default: } data.prev = type; } } openfl_geom_Matrix.__pool.release(matrix); } graphics.__hardwareDirty = false; graphics.set___dirty(false); } }; openfl_display__$internal_Context3DGraphics.renderMask = function(graphics,renderer) { openfl_display__$internal_Context3DGraphics.maskRender = true; openfl_display__$internal_Context3DGraphics.render(graphics,renderer); openfl_display__$internal_Context3DGraphics.maskRender = false; }; openfl_display__$internal_Context3DGraphics.resizeIndexBuffer = function(graphics,isQuad,length) { if(isQuad) { return; } var buffer = isQuad ? null : graphics.__triangleIndexBufferData; var position = 0; var newBuffer = null; if(buffer == null) { var array = null; var vector = null; var view = null; var buffer1 = null; var len = null; var this1; if(length != null) { this1 = new Uint16Array(length); } else if(array != null) { this1 = new Uint16Array(array); } else if(vector != null) { this1 = new Uint16Array(vector.__array); } else if(view != null) { this1 = new Uint16Array(view); } else if(buffer1 != null) { if(len == null) { this1 = new Uint16Array(buffer1,0); } else { this1 = new Uint16Array(buffer1,0,len); } } else { this1 = null; } newBuffer = this1; } else if(length > buffer.length) { var array1 = null; var vector1 = null; var view1 = null; var buffer2 = null; var len1 = null; var this2; if(length != null) { this2 = new Uint16Array(length); } else if(array1 != null) { this2 = new Uint16Array(array1); } else if(vector1 != null) { this2 = new Uint16Array(vector1.__array); } else if(view1 != null) { this2 = new Uint16Array(view1); } else if(buffer2 != null) { if(len1 == null) { this2 = new Uint16Array(buffer2,0); } else { this2 = new Uint16Array(buffer2,0,len1); } } else { this2 = null; } newBuffer = this2; newBuffer.set(buffer); position = buffer.length; } if(newBuffer != null) { if(!isQuad) { graphics.__triangleIndexBufferData = newBuffer; } } }; openfl_display__$internal_Context3DGraphics.resizeVertexBuffer = function(graphics,hasUVTData,length) { var buffer = hasUVTData ? graphics.__vertexBufferDataUVT : graphics.__vertexBufferData; var newBuffer = null; if(buffer == null) { var array = null; var vector = null; var view = null; var buffer1 = null; var len = null; var this1; if(length != null) { this1 = new Float32Array(length); } else if(array != null) { this1 = new Float32Array(array); } else if(vector != null) { this1 = new Float32Array(vector.__array); } else if(view != null) { this1 = new Float32Array(view); } else if(buffer1 != null) { if(len == null) { this1 = new Float32Array(buffer1,0); } else { this1 = new Float32Array(buffer1,0,len); } } else { this1 = null; } newBuffer = this1; } else if(length > buffer.length) { var array1 = null; var vector1 = null; var view1 = null; var buffer2 = null; var len1 = null; var this2; if(length != null) { this2 = new Float32Array(length); } else if(array1 != null) { this2 = new Float32Array(array1); } else if(vector1 != null) { this2 = new Float32Array(vector1.__array); } else if(view1 != null) { this2 = new Float32Array(view1); } else if(buffer2 != null) { if(len1 == null) { this2 = new Float32Array(buffer2,0); } else { this2 = new Float32Array(buffer2,0,len1); } } else { this2 = null; } newBuffer = this2; newBuffer.set(buffer); } if(newBuffer != null) { if(hasUVTData) { graphics.__vertexBufferDataUVT = newBuffer; } else { graphics.__vertexBufferData = newBuffer; } } }; var openfl_display__$internal_Context3DMaskShader = function() { if(this.__glFragmentSource == null) { this.__glFragmentSource = "varying vec2 openfl_TextureCoordv;\n\n\t\tuniform sampler2D openfl_Texture;\n\n\t\tvoid main(void) {\n\n\t\t\tvec4 color = texture2D (openfl_Texture, openfl_TextureCoordv);\n\n\t\t\tif (color.a == 0.0) {\n\n\t\t\t\tdiscard;\n\n\t\t\t} else {\n\n\t\t\t\tgl_FragColor = color;\n\n\t\t\t}\n\n\t\t}"; } if(this.__glVertexSource == null) { this.__glVertexSource = "attribute vec4 openfl_Position;\n\t\tattribute vec2 openfl_TextureCoord;\n\t\tvarying vec2 openfl_TextureCoordv;\n\n\t\tuniform mat4 openfl_Matrix;\n\n\t\tvoid main(void) {\n\n\t\t\topenfl_TextureCoordv = openfl_TextureCoord;\n\n\t\t\tgl_Position = openfl_Matrix * openfl_Position;\n\n\t\t}"; } openfl_display_Shader.call(this); this.__isGenerated = true; this.__initGL(); }; $hxClasses["openfl.display._internal.Context3DMaskShader"] = openfl_display__$internal_Context3DMaskShader; openfl_display__$internal_Context3DMaskShader.__name__ = "openfl.display._internal.Context3DMaskShader"; openfl_display__$internal_Context3DMaskShader.__super__ = openfl_display_Shader; openfl_display__$internal_Context3DMaskShader.prototype = $extend(openfl_display_Shader.prototype,{ openfl_Position: null ,openfl_TextureCoord: null ,openfl_Matrix: null ,openfl_Texture: null ,__class__: openfl_display__$internal_Context3DMaskShader }); var openfl_display__$internal_Context3DShape = function() { }; $hxClasses["openfl.display._internal.Context3DShape"] = openfl_display__$internal_Context3DShape; openfl_display__$internal_Context3DShape.__name__ = "openfl.display._internal.Context3DShape"; openfl_display__$internal_Context3DShape.render = function(shape,renderer) { if(!shape.__renderable || shape.__worldAlpha <= 0) { return; } var graphics = shape.__graphics; if(graphics != null) { renderer.__setBlendMode(shape.__worldBlendMode); renderer.__pushMaskObject(shape); openfl_display__$internal_Context3DGraphics.render(graphics,renderer); if(graphics.__bitmap != null && graphics.__visible) { var context = renderer.__context3D; var scale9Grid = shape.__worldScale9Grid; var shader = renderer.__initDisplayShader(shape.__worldShader); renderer.setShader(shader); renderer.applyBitmapData(graphics.__bitmap,true); renderer.applyMatrix(renderer.__getMatrix(graphics.__worldTransform,1)); renderer.applyAlpha(shape.__worldAlpha); renderer.applyColorTransform(shape.__worldColorTransform); renderer.updateShader(); var vertexBuffer = graphics.__bitmap.getVertexBuffer(context); if(shader.__position != null) { context.setVertexBufferAt(shader.__position.index,vertexBuffer,0,3); } if(shader.__textureCoord != null) { context.setVertexBufferAt(shader.__textureCoord.index,vertexBuffer,3,2); } var indexBuffer = graphics.__bitmap.getIndexBuffer(context); context.drawTriangles(indexBuffer); renderer.__clearShader(); } renderer.__popMaskObject(shape); } }; openfl_display__$internal_Context3DShape.renderMask = function(shape,renderer) { var graphics = shape.__graphics; if(graphics != null) { openfl_display__$internal_Context3DGraphics.renderMask(graphics,renderer); if(graphics.__bitmap != null) { var context = renderer.__context3D; var shader = renderer.__maskShader; renderer.setShader(shader); renderer.applyBitmapData(graphics.__bitmap,true); renderer.applyMatrix(renderer.__getMatrix(graphics.__worldTransform,1)); renderer.updateShader(); var vertexBuffer = graphics.__bitmap.getVertexBuffer(context); if(shader.__position != null) { context.setVertexBufferAt(shader.__position.index,vertexBuffer,0,3); } if(shader.__textureCoord != null) { context.setVertexBufferAt(shader.__textureCoord.index,vertexBuffer,3,2); } var indexBuffer = graphics.__bitmap.getIndexBuffer(context); context.drawTriangles(indexBuffer); renderer.__clearShader(); } } }; var openfl_display__$internal_Context3DSimpleButton = function() { }; $hxClasses["openfl.display._internal.Context3DSimpleButton"] = openfl_display__$internal_Context3DSimpleButton; openfl_display__$internal_Context3DSimpleButton.__name__ = "openfl.display._internal.Context3DSimpleButton"; openfl_display__$internal_Context3DSimpleButton.renderDrawable = function(simpleButton,renderer) { if(!simpleButton.__renderable || simpleButton.__worldAlpha <= 0 || simpleButton.__currentState == null) { return; } renderer.__pushMaskObject(simpleButton); renderer.__renderDrawable(simpleButton.__currentState); renderer.__popMaskObject(simpleButton); renderer.__renderEvent(simpleButton); }; openfl_display__$internal_Context3DSimpleButton.renderDrawableMask = function(simpleButton,renderer) { if(simpleButton.__currentState == null) { return; } renderer.__renderDrawableMask(simpleButton.__currentState); }; var openfl_display__$internal_Context3DTextField = function() { }; $hxClasses["openfl.display._internal.Context3DTextField"] = openfl_display__$internal_Context3DTextField; openfl_display__$internal_Context3DTextField.__name__ = "openfl.display._internal.Context3DTextField"; openfl_display__$internal_Context3DTextField.render = function(textField,renderer) { var renderer1 = renderer.__softwareRenderer; var transform = textField.__worldTransform; var textEngine = textField.__textEngine; var useTextBounds = !(textEngine.background || textEngine.border); var bounds = useTextBounds ? textEngine.textBounds : textEngine.bounds; var graphics = textField.__graphics; var cursorOffsetX = 0.0; if(textField.__dirty) { textField.__updateLayout(); if(graphics.__bounds == null) { graphics.__bounds = new openfl_geom_Rectangle(); } if(textField.get_text().length == 0) { var boundsWidth = textEngine.bounds.width - 4; var align = textField.get_defaultTextFormat().align; cursorOffsetX = align == 3 ? 0 : align == 4 ? boundsWidth : boundsWidth / 2; switch(align) { case 0: cursorOffsetX += textField.get_defaultTextFormat().leftMargin / 2; cursorOffsetX -= textField.get_defaultTextFormat().rightMargin / 2; cursorOffsetX += textField.get_defaultTextFormat().indent / 2; cursorOffsetX += textField.get_defaultTextFormat().blockIndent / 2; break; case 1: break; case 2: cursorOffsetX += textField.get_defaultTextFormat().leftMargin; cursorOffsetX += textField.get_defaultTextFormat().indent; cursorOffsetX += textField.get_defaultTextFormat().blockIndent; break; case 3: cursorOffsetX += textField.get_defaultTextFormat().leftMargin; cursorOffsetX += textField.get_defaultTextFormat().indent; cursorOffsetX += textField.get_defaultTextFormat().blockIndent; break; case 4: cursorOffsetX -= textField.get_defaultTextFormat().rightMargin; break; case 5: break; } if(useTextBounds) { bounds.y = textEngine.bounds.y; bounds.x = cursorOffsetX; } } graphics.__bounds.copyFrom(bounds); } graphics.__update(renderer1.__worldTransform); if(textField.__dirty || graphics.__softwareDirty) { var width = graphics.__width; var height = graphics.__height; if((textEngine.text == null || textEngine.text == "") && !textEngine.background && !textEngine.border && !textEngine.__hasFocus && (textEngine.type != 1 || !textEngine.selectable) || (textEngine.width <= 0 || textEngine.height <= 0) && textEngine.autoSize != 2) { textField.__graphics.__canvas = null; textField.__graphics.__context = null; textField.__graphics.__bitmap = null; textField.__graphics.__softwareDirty = false; textField.__graphics.set___dirty(false); textField.__dirty = false; } else { if(textField.__graphics.__canvas == null) { textField.__graphics.__canvas = window.document.createElement("canvas"); textField.__graphics.__context = textField.__graphics.__canvas.getContext("2d"); } openfl_display__$internal_CanvasTextField.context = graphics.__context; var transform1 = graphics.__renderTransform; if(renderer1.__isDOM) { var scale = renderer1.pixelRatio; graphics.__canvas.width = width * scale | 0; graphics.__canvas.height = height * scale | 0; graphics.__canvas.style.width = width + "px"; graphics.__canvas.style.height = height + "px"; var matrix = openfl_geom_Matrix.__pool.get(); matrix.copyFrom(transform1); matrix.scale(scale,scale); renderer1.setTransform(matrix,openfl_display__$internal_CanvasTextField.context); openfl_geom_Matrix.__pool.release(matrix); } else { graphics.__canvas.width = width; graphics.__canvas.height = height; openfl_display__$internal_CanvasTextField.context.setTransform(transform1.a,transform1.b,transform1.c,transform1.d,transform1.tx,transform1.ty); } if(openfl_display__$internal_CanvasTextField.clearRect == null) { openfl_display__$internal_CanvasTextField.clearRect = (typeof navigator !== 'undefined' && typeof navigator['isCocoonJS'] !== 'undefined'); } if(openfl_display__$internal_CanvasTextField.clearRect) { openfl_display__$internal_CanvasTextField.context.clearRect(0,0,graphics.__canvas.width,graphics.__canvas.height); } if(textEngine.text != null && textEngine.text != "" || textEngine.__hasFocus) { var text = textEngine.text; if(!renderer1.__allowSmoothing || textEngine.antiAliasType == 0 && textEngine.sharpness == 400) { graphics.__context.imageSmoothingEnabled = false; } else { graphics.__context.imageSmoothingEnabled = true; } if(textEngine.border || textEngine.background) { openfl_display__$internal_CanvasTextField.context.rect(0.5,0.5,bounds.width - 1,bounds.height - 1); if(textEngine.background) { var tmp = StringTools.hex(textEngine.backgroundColor & 16777215,6); openfl_display__$internal_CanvasTextField.context.fillStyle = "#" + tmp; openfl_display__$internal_CanvasTextField.context.fill(); } if(textEngine.border) { openfl_display__$internal_CanvasTextField.context.lineWidth = 1; var tmp1 = StringTools.hex(textEngine.borderColor & 16777215,6); openfl_display__$internal_CanvasTextField.context.strokeStyle = "#" + tmp1; openfl_display__$internal_CanvasTextField.context.stroke(); } } openfl_display__$internal_CanvasTextField.context.textBaseline = "alphabetic"; openfl_display__$internal_CanvasTextField.context.textAlign = "start"; var scrollX = -textField.get_scrollH(); var scrollY = 0.0; var _g = 0; var _g1 = textField.get_scrollV() - 1; while(_g < _g1) { var i = _g++; scrollY -= textEngine.lineHeights.get(i); } var advance; var group = textEngine.layoutGroups.iterator(); while(group.hasNext()) { var group1 = group.next(); if(group1.lineIndex < textField.get_scrollV() - 1) { continue; } if(group1.lineIndex > textEngine.get_bottomScrollV() - 1) { break; } var color = "#" + StringTools.hex(group1.format.color & 16777215,6); openfl_display__$internal_CanvasTextField.context.font = openfl_text__$internal_TextEngine.getFont(group1.format); openfl_display__$internal_CanvasTextField.context.fillStyle = color; openfl_display__$internal_CanvasTextField.context.fillText(text.substring(group1.startIndex,group1.endIndex),group1.offsetX + scrollX - bounds.x,group1.offsetY + group1.ascent + scrollY - bounds.y); if(textField.__caretIndex > -1 && textEngine.selectable) { if(textField.__selectionIndex == textField.__caretIndex) { if(textField.__showCursor && group1.startIndex <= textField.__caretIndex && group1.endIndex >= textField.__caretIndex) { advance = 0.0; var _g3 = 0; var _g4 = textField.__caretIndex - group1.startIndex; while(_g3 < _g4) { var i1 = _g3++; if(group1.positions.length <= i1) { break; } advance += group1.positions[i1]; } var scrollY1 = 0.0; var _g5 = textField.get_scrollV(); var _g6 = group1.lineIndex + 1; while(_g5 < _g6) { var i2 = _g5++; scrollY1 += textEngine.lineHeights.get(i2 - 1); } openfl_display__$internal_CanvasTextField.context.beginPath(); var tmp2 = StringTools.hex(group1.format.color & 16777215,6); openfl_display__$internal_CanvasTextField.context.strokeStyle = "#" + tmp2; openfl_display__$internal_CanvasTextField.context.moveTo(group1.offsetX + advance - textField.get_scrollH() - bounds.x,scrollY1 + 2 - bounds.y); openfl_display__$internal_CanvasTextField.context.lineWidth = 1; openfl_display__$internal_CanvasTextField.context.lineTo(group1.offsetX + advance - textField.get_scrollH() - bounds.x,scrollY1 + openfl_text__$internal_TextEngine.getFormatHeight(textField.get_defaultTextFormat()) - 1 - bounds.y); openfl_display__$internal_CanvasTextField.context.stroke(); openfl_display__$internal_CanvasTextField.context.closePath(); } } else if(group1.startIndex <= textField.__caretIndex && group1.endIndex >= textField.__caretIndex || group1.startIndex <= textField.__selectionIndex && group1.endIndex >= textField.__selectionIndex || group1.startIndex > textField.__caretIndex && group1.endIndex < textField.__selectionIndex || group1.startIndex > textField.__selectionIndex && group1.endIndex < textField.__caretIndex) { var selectionStart = Math.min(textField.__selectionIndex,textField.__caretIndex) | 0; var selectionEnd = Math.max(textField.__selectionIndex,textField.__caretIndex) | 0; if(group1.startIndex > selectionStart) { selectionStart = group1.startIndex; } if(group1.endIndex < selectionEnd) { selectionEnd = group1.endIndex; } var end; var start = textField.getCharBoundaries(selectionStart); if(selectionEnd >= group1.endIndex) { end = textField.getCharBoundaries(group1.endIndex - 1); if(end != null) { end.x += end.width + 2; } } else { end = textField.getCharBoundaries(selectionEnd); } if(start != null && end != null) { openfl_display__$internal_CanvasTextField.context.fillStyle = "#000000"; openfl_display__$internal_CanvasTextField.context.fillRect(start.x + scrollX - bounds.x,start.y + scrollY,end.x - start.x,group1.height); openfl_display__$internal_CanvasTextField.context.fillStyle = "#FFFFFF"; openfl_display__$internal_CanvasTextField.context.fillText(text.substring(selectionStart,selectionEnd),scrollX + start.x - bounds.x,group1.offsetY + group1.ascent + scrollY); } } } if(group1.format.underline) { openfl_display__$internal_CanvasTextField.context.beginPath(); openfl_display__$internal_CanvasTextField.context.strokeStyle = color; openfl_display__$internal_CanvasTextField.context.lineWidth = 1; var x = group1.offsetX + scrollX - bounds.x; var y = Math.floor(group1.offsetY + scrollY + group1.ascent - bounds.y) + 0.5; openfl_display__$internal_CanvasTextField.context.moveTo(x,y); openfl_display__$internal_CanvasTextField.context.lineTo(x + group1.width,y); openfl_display__$internal_CanvasTextField.context.stroke(); openfl_display__$internal_CanvasTextField.context.closePath(); } } } else { if(textEngine.border || textEngine.background) { if(textEngine.border) { openfl_display__$internal_CanvasTextField.context.rect(0.5,0.5,bounds.width - 1,bounds.height - 1); } else { openfl_display__$internal_CanvasTextField.context.rect(0,0,bounds.width,bounds.height); } if(textEngine.background) { var tmp3 = StringTools.hex(textEngine.backgroundColor & 16777215,6); openfl_display__$internal_CanvasTextField.context.fillStyle = "#" + tmp3; openfl_display__$internal_CanvasTextField.context.fill(); } if(textEngine.border) { openfl_display__$internal_CanvasTextField.context.lineWidth = 1; openfl_display__$internal_CanvasTextField.context.lineCap = "square"; var tmp4 = StringTools.hex(textEngine.borderColor & 16777215,6); openfl_display__$internal_CanvasTextField.context.strokeStyle = "#" + tmp4; openfl_display__$internal_CanvasTextField.context.stroke(); } } if(textField.__caretIndex > -1 && textEngine.selectable && textField.__showCursor) { var scrollX1 = -textField.get_scrollH() + (useTextBounds ? 0 : cursorOffsetX); var scrollY2 = 0.0; var _g2 = 0; var _g11 = textField.get_scrollV() - 1; while(_g2 < _g11) { var i3 = _g2++; scrollY2 += textEngine.lineHeights.get(i3); } openfl_display__$internal_CanvasTextField.context.beginPath(); var tmp5 = StringTools.hex(textField.get_defaultTextFormat().color & 16777215,6); openfl_display__$internal_CanvasTextField.context.strokeStyle = "#" + tmp5; openfl_display__$internal_CanvasTextField.context.moveTo(scrollX1 + 2.5,scrollY2 + 2.5); openfl_display__$internal_CanvasTextField.context.lineWidth = 1; openfl_display__$internal_CanvasTextField.context.lineTo(scrollX1 + 2.5,scrollY2 + openfl_text__$internal_TextEngine.getFormatHeight(textField.get_defaultTextFormat()) - 1); openfl_display__$internal_CanvasTextField.context.stroke(); openfl_display__$internal_CanvasTextField.context.closePath(); } } graphics.__bitmap = openfl_display_BitmapData.fromCanvas(textField.__graphics.__canvas); graphics.__visible = true; textField.__dirty = false; graphics.__softwareDirty = false; graphics.set___dirty(false); } } textField.__graphics.__hardwareDirty = false; }; openfl_display__$internal_Context3DTextField.renderDrawable = function(textField,renderer) { renderer.__updateCacheBitmap(textField,false); if(textField.__cacheBitmap != null && !textField.__isCacheBitmapRender) { openfl_display__$internal_Context3DBitmap.render(textField.__cacheBitmap,renderer); } else { openfl_display__$internal_Context3DTextField.render(textField,renderer); if(!(textField.opaqueBackground == null && textField.__graphics == null)) { if(!(!textField.__renderable || textField.__worldAlpha <= 0)) { if(textField.opaqueBackground != null && !textField.__isCacheBitmapRender && textField.get_width() > 0 && textField.get_height() > 0) { renderer.__setBlendMode(textField.__worldBlendMode); renderer.__pushMaskObject(textField); var context = renderer.__context3D; var rect = openfl_geom_Rectangle.__pool.get(); rect.setTo(0,0,textField.get_width(),textField.get_height()); renderer.__pushMaskRect(rect,textField.__renderTransform); var color = textField.opaqueBackground; context.clear((color >>> 16 & 255) / 255,(color >>> 8 & 255) / 255,(color & 255) / 255,1,0,0,1); renderer.__popMaskRect(); renderer.__popMaskObject(textField); openfl_geom_Rectangle.__pool.release(rect); } if(textField.__graphics != null) { openfl_display__$internal_Context3DShape.render(textField,renderer); } } } } renderer.__renderEvent(textField); }; openfl_display__$internal_Context3DTextField.renderDrawableMask = function(textField,renderer) { openfl_display__$internal_Context3DTextField.renderMask(textField,renderer); openfl_display__$internal_Context3DDisplayObject.renderDrawableMask(textField,renderer); }; openfl_display__$internal_Context3DTextField.renderMask = function(textField,renderer) { var renderer1 = renderer.__softwareRenderer; var transform = textField.__worldTransform; var textEngine = textField.__textEngine; var useTextBounds = !(textEngine.background || textEngine.border); var bounds = useTextBounds ? textEngine.textBounds : textEngine.bounds; var graphics = textField.__graphics; var cursorOffsetX = 0.0; if(textField.__dirty) { textField.__updateLayout(); if(graphics.__bounds == null) { graphics.__bounds = new openfl_geom_Rectangle(); } if(textField.get_text().length == 0) { var boundsWidth = textEngine.bounds.width - 4; var align = textField.get_defaultTextFormat().align; cursorOffsetX = align == 3 ? 0 : align == 4 ? boundsWidth : boundsWidth / 2; switch(align) { case 0: cursorOffsetX += textField.get_defaultTextFormat().leftMargin / 2; cursorOffsetX -= textField.get_defaultTextFormat().rightMargin / 2; cursorOffsetX += textField.get_defaultTextFormat().indent / 2; cursorOffsetX += textField.get_defaultTextFormat().blockIndent / 2; break; case 1: break; case 2: cursorOffsetX += textField.get_defaultTextFormat().leftMargin; cursorOffsetX += textField.get_defaultTextFormat().indent; cursorOffsetX += textField.get_defaultTextFormat().blockIndent; break; case 3: cursorOffsetX += textField.get_defaultTextFormat().leftMargin; cursorOffsetX += textField.get_defaultTextFormat().indent; cursorOffsetX += textField.get_defaultTextFormat().blockIndent; break; case 4: cursorOffsetX -= textField.get_defaultTextFormat().rightMargin; break; case 5: break; } if(useTextBounds) { bounds.y = textEngine.bounds.y; bounds.x = cursorOffsetX; } } graphics.__bounds.copyFrom(bounds); } graphics.__update(renderer1.__worldTransform); if(textField.__dirty || graphics.__softwareDirty) { var width = graphics.__width; var height = graphics.__height; if((textEngine.text == null || textEngine.text == "") && !textEngine.background && !textEngine.border && !textEngine.__hasFocus && (textEngine.type != 1 || !textEngine.selectable) || (textEngine.width <= 0 || textEngine.height <= 0) && textEngine.autoSize != 2) { textField.__graphics.__canvas = null; textField.__graphics.__context = null; textField.__graphics.__bitmap = null; textField.__graphics.__softwareDirty = false; textField.__graphics.set___dirty(false); textField.__dirty = false; } else { if(textField.__graphics.__canvas == null) { textField.__graphics.__canvas = window.document.createElement("canvas"); textField.__graphics.__context = textField.__graphics.__canvas.getContext("2d"); } openfl_display__$internal_CanvasTextField.context = graphics.__context; var transform1 = graphics.__renderTransform; if(renderer1.__isDOM) { var scale = renderer1.pixelRatio; graphics.__canvas.width = width * scale | 0; graphics.__canvas.height = height * scale | 0; graphics.__canvas.style.width = width + "px"; graphics.__canvas.style.height = height + "px"; var matrix = openfl_geom_Matrix.__pool.get(); matrix.copyFrom(transform1); matrix.scale(scale,scale); renderer1.setTransform(matrix,openfl_display__$internal_CanvasTextField.context); openfl_geom_Matrix.__pool.release(matrix); } else { graphics.__canvas.width = width; graphics.__canvas.height = height; openfl_display__$internal_CanvasTextField.context.setTransform(transform1.a,transform1.b,transform1.c,transform1.d,transform1.tx,transform1.ty); } if(openfl_display__$internal_CanvasTextField.clearRect == null) { openfl_display__$internal_CanvasTextField.clearRect = (typeof navigator !== 'undefined' && typeof navigator['isCocoonJS'] !== 'undefined'); } if(openfl_display__$internal_CanvasTextField.clearRect) { openfl_display__$internal_CanvasTextField.context.clearRect(0,0,graphics.__canvas.width,graphics.__canvas.height); } if(textEngine.text != null && textEngine.text != "" || textEngine.__hasFocus) { var text = textEngine.text; if(!renderer1.__allowSmoothing || textEngine.antiAliasType == 0 && textEngine.sharpness == 400) { graphics.__context.imageSmoothingEnabled = false; } else { graphics.__context.imageSmoothingEnabled = true; } if(textEngine.border || textEngine.background) { openfl_display__$internal_CanvasTextField.context.rect(0.5,0.5,bounds.width - 1,bounds.height - 1); if(textEngine.background) { var tmp = StringTools.hex(textEngine.backgroundColor & 16777215,6); openfl_display__$internal_CanvasTextField.context.fillStyle = "#" + tmp; openfl_display__$internal_CanvasTextField.context.fill(); } if(textEngine.border) { openfl_display__$internal_CanvasTextField.context.lineWidth = 1; var tmp1 = StringTools.hex(textEngine.borderColor & 16777215,6); openfl_display__$internal_CanvasTextField.context.strokeStyle = "#" + tmp1; openfl_display__$internal_CanvasTextField.context.stroke(); } } openfl_display__$internal_CanvasTextField.context.textBaseline = "alphabetic"; openfl_display__$internal_CanvasTextField.context.textAlign = "start"; var scrollX = -textField.get_scrollH(); var scrollY = 0.0; var _g = 0; var _g1 = textField.get_scrollV() - 1; while(_g < _g1) { var i = _g++; scrollY -= textEngine.lineHeights.get(i); } var advance; var group = textEngine.layoutGroups.iterator(); while(group.hasNext()) { var group1 = group.next(); if(group1.lineIndex < textField.get_scrollV() - 1) { continue; } if(group1.lineIndex > textEngine.get_bottomScrollV() - 1) { break; } var color = "#" + StringTools.hex(group1.format.color & 16777215,6); openfl_display__$internal_CanvasTextField.context.font = openfl_text__$internal_TextEngine.getFont(group1.format); openfl_display__$internal_CanvasTextField.context.fillStyle = color; openfl_display__$internal_CanvasTextField.context.fillText(text.substring(group1.startIndex,group1.endIndex),group1.offsetX + scrollX - bounds.x,group1.offsetY + group1.ascent + scrollY - bounds.y); if(textField.__caretIndex > -1 && textEngine.selectable) { if(textField.__selectionIndex == textField.__caretIndex) { if(textField.__showCursor && group1.startIndex <= textField.__caretIndex && group1.endIndex >= textField.__caretIndex) { advance = 0.0; var _g3 = 0; var _g4 = textField.__caretIndex - group1.startIndex; while(_g3 < _g4) { var i1 = _g3++; if(group1.positions.length <= i1) { break; } advance += group1.positions[i1]; } var scrollY1 = 0.0; var _g5 = textField.get_scrollV(); var _g6 = group1.lineIndex + 1; while(_g5 < _g6) { var i2 = _g5++; scrollY1 += textEngine.lineHeights.get(i2 - 1); } openfl_display__$internal_CanvasTextField.context.beginPath(); var tmp2 = StringTools.hex(group1.format.color & 16777215,6); openfl_display__$internal_CanvasTextField.context.strokeStyle = "#" + tmp2; openfl_display__$internal_CanvasTextField.context.moveTo(group1.offsetX + advance - textField.get_scrollH() - bounds.x,scrollY1 + 2 - bounds.y); openfl_display__$internal_CanvasTextField.context.lineWidth = 1; openfl_display__$internal_CanvasTextField.context.lineTo(group1.offsetX + advance - textField.get_scrollH() - bounds.x,scrollY1 + openfl_text__$internal_TextEngine.getFormatHeight(textField.get_defaultTextFormat()) - 1 - bounds.y); openfl_display__$internal_CanvasTextField.context.stroke(); openfl_display__$internal_CanvasTextField.context.closePath(); } } else if(group1.startIndex <= textField.__caretIndex && group1.endIndex >= textField.__caretIndex || group1.startIndex <= textField.__selectionIndex && group1.endIndex >= textField.__selectionIndex || group1.startIndex > textField.__caretIndex && group1.endIndex < textField.__selectionIndex || group1.startIndex > textField.__selectionIndex && group1.endIndex < textField.__caretIndex) { var selectionStart = Math.min(textField.__selectionIndex,textField.__caretIndex) | 0; var selectionEnd = Math.max(textField.__selectionIndex,textField.__caretIndex) | 0; if(group1.startIndex > selectionStart) { selectionStart = group1.startIndex; } if(group1.endIndex < selectionEnd) { selectionEnd = group1.endIndex; } var end; var start = textField.getCharBoundaries(selectionStart); if(selectionEnd >= group1.endIndex) { end = textField.getCharBoundaries(group1.endIndex - 1); if(end != null) { end.x += end.width + 2; } } else { end = textField.getCharBoundaries(selectionEnd); } if(start != null && end != null) { openfl_display__$internal_CanvasTextField.context.fillStyle = "#000000"; openfl_display__$internal_CanvasTextField.context.fillRect(start.x + scrollX - bounds.x,start.y + scrollY,end.x - start.x,group1.height); openfl_display__$internal_CanvasTextField.context.fillStyle = "#FFFFFF"; openfl_display__$internal_CanvasTextField.context.fillText(text.substring(selectionStart,selectionEnd),scrollX + start.x - bounds.x,group1.offsetY + group1.ascent + scrollY); } } } if(group1.format.underline) { openfl_display__$internal_CanvasTextField.context.beginPath(); openfl_display__$internal_CanvasTextField.context.strokeStyle = color; openfl_display__$internal_CanvasTextField.context.lineWidth = 1; var x = group1.offsetX + scrollX - bounds.x; var y = Math.floor(group1.offsetY + scrollY + group1.ascent - bounds.y) + 0.5; openfl_display__$internal_CanvasTextField.context.moveTo(x,y); openfl_display__$internal_CanvasTextField.context.lineTo(x + group1.width,y); openfl_display__$internal_CanvasTextField.context.stroke(); openfl_display__$internal_CanvasTextField.context.closePath(); } } } else { if(textEngine.border || textEngine.background) { if(textEngine.border) { openfl_display__$internal_CanvasTextField.context.rect(0.5,0.5,bounds.width - 1,bounds.height - 1); } else { openfl_display__$internal_CanvasTextField.context.rect(0,0,bounds.width,bounds.height); } if(textEngine.background) { var tmp3 = StringTools.hex(textEngine.backgroundColor & 16777215,6); openfl_display__$internal_CanvasTextField.context.fillStyle = "#" + tmp3; openfl_display__$internal_CanvasTextField.context.fill(); } if(textEngine.border) { openfl_display__$internal_CanvasTextField.context.lineWidth = 1; openfl_display__$internal_CanvasTextField.context.lineCap = "square"; var tmp4 = StringTools.hex(textEngine.borderColor & 16777215,6); openfl_display__$internal_CanvasTextField.context.strokeStyle = "#" + tmp4; openfl_display__$internal_CanvasTextField.context.stroke(); } } if(textField.__caretIndex > -1 && textEngine.selectable && textField.__showCursor) { var scrollX1 = -textField.get_scrollH() + (useTextBounds ? 0 : cursorOffsetX); var scrollY2 = 0.0; var _g2 = 0; var _g11 = textField.get_scrollV() - 1; while(_g2 < _g11) { var i3 = _g2++; scrollY2 += textEngine.lineHeights.get(i3); } openfl_display__$internal_CanvasTextField.context.beginPath(); var tmp5 = StringTools.hex(textField.get_defaultTextFormat().color & 16777215,6); openfl_display__$internal_CanvasTextField.context.strokeStyle = "#" + tmp5; openfl_display__$internal_CanvasTextField.context.moveTo(scrollX1 + 2.5,scrollY2 + 2.5); openfl_display__$internal_CanvasTextField.context.lineWidth = 1; openfl_display__$internal_CanvasTextField.context.lineTo(scrollX1 + 2.5,scrollY2 + openfl_text__$internal_TextEngine.getFormatHeight(textField.get_defaultTextFormat()) - 1); openfl_display__$internal_CanvasTextField.context.stroke(); openfl_display__$internal_CanvasTextField.context.closePath(); } } graphics.__bitmap = openfl_display_BitmapData.fromCanvas(textField.__graphics.__canvas); graphics.__visible = true; textField.__dirty = false; graphics.__softwareDirty = false; graphics.set___dirty(false); } } textField.__graphics.__hardwareDirty = false; }; var openfl_display__$internal_Context3DTilemap = function() { }; $hxClasses["openfl.display._internal.Context3DTilemap"] = openfl_display__$internal_Context3DTilemap; openfl_display__$internal_Context3DTilemap.__name__ = "openfl.display._internal.Context3DTilemap"; openfl_display__$internal_Context3DTilemap.cacheColorTransform = null; openfl_display__$internal_Context3DTilemap.context = null; openfl_display__$internal_Context3DTilemap.dataPerVertex = null; openfl_display__$internal_Context3DTilemap.currentBitmapData = null; openfl_display__$internal_Context3DTilemap.currentBlendMode = null; openfl_display__$internal_Context3DTilemap.currentShader = null; openfl_display__$internal_Context3DTilemap.bufferPosition = null; openfl_display__$internal_Context3DTilemap.lastFlushedPosition = null; openfl_display__$internal_Context3DTilemap.lastUsedBitmapData = null; openfl_display__$internal_Context3DTilemap.lastUsedShader = null; openfl_display__$internal_Context3DTilemap.numTiles = null; openfl_display__$internal_Context3DTilemap.vertexBufferData = null; openfl_display__$internal_Context3DTilemap.vertexDataPosition = null; openfl_display__$internal_Context3DTilemap.buildBuffer = function(tilemap,renderer) { if(!tilemap.__renderable || tilemap.__group.__tiles.length == 0 || tilemap.__worldAlpha <= 0) { tilemap.__group.__dirty = false; return; } openfl_display__$internal_Context3DTilemap.numTiles = 0; openfl_display__$internal_Context3DTilemap.vertexBufferData = tilemap.__buffer != null ? tilemap.__buffer.vertexBufferData : null; openfl_display__$internal_Context3DTilemap.vertexDataPosition = 0; var rect = openfl_geom_Rectangle.__pool.get(); var matrix = openfl_geom_Matrix.__pool.get(); var parentTransform = openfl_geom_Matrix.__pool.get(); openfl_display__$internal_Context3DTilemap.dataPerVertex = 4; if(tilemap.tileAlphaEnabled) { openfl_display__$internal_Context3DTilemap.dataPerVertex++; } if(tilemap.tileColorTransformEnabled) { openfl_display__$internal_Context3DTilemap.dataPerVertex += 8; } openfl_display__$internal_Context3DTilemap.buildBufferTileContainer(tilemap,tilemap.__group,renderer,parentTransform,tilemap.__tileset,tilemap.tileAlphaEnabled,tilemap.__worldAlpha,tilemap.tileColorTransformEnabled,tilemap.__worldColorTransform,null,rect,matrix); tilemap.__buffer.flushVertexBufferData(); openfl_geom_Rectangle.__pool.release(rect); openfl_geom_Matrix.__pool.release(matrix); openfl_geom_Matrix.__pool.release(parentTransform); }; openfl_display__$internal_Context3DTilemap.buildBufferTileContainer = function(tilemap,group,renderer,parentTransform,defaultTileset,alphaEnabled,worldAlpha,colorTransformEnabled,defaultColorTransform,cacheBitmapData,rect,matrix,isTopLevel) { if(isTopLevel == null) { isTopLevel = true; } var tileTransform = openfl_geom_Matrix.__pool.get(); var roundPixels = renderer.__roundPixels; var tiles = group.__tiles; var length = group.__length; var getLength = null; getLength = function(_group) { var _tiles = _group.__tiles; var totalLength = 0; var _g = 0; while(_g < _tiles.length) { var tile = _tiles[_g]; ++_g; if(tile.__length > 0) { totalLength += getLength(tile); } else { ++totalLength; } } return totalLength; }; if(isTopLevel) { openfl_display__$internal_Context3DTilemap.resizeBuffer(tilemap,openfl_display__$internal_Context3DTilemap.numTiles + getLength(group)); } var tile1; var tileset; var alpha; var visible; var colorTransform = null; var id; var tileData; var tileRect; var bitmapData; var tileWidth; var tileHeight; var uvX; var uvY; var uvHeight; var uvWidth; var vertexOffset; var x; var y; var x2; var y2; var x3; var y3; var x4; var y4; var alphaPosition = 4; var ctPosition = alphaEnabled ? 5 : 4; var _g1 = 0; while(_g1 < tiles.length) { var tile2 = tiles[_g1]; ++_g1; tileTransform.setTo(1,0,0,1,-tile2.get_originX(),-tile2.get_originY()); tileTransform.concat(tile2.get_matrix()); tileTransform.concat(parentTransform); if(roundPixels) { tileTransform.tx = Math.round(tileTransform.tx); tileTransform.ty = Math.round(tileTransform.ty); } tileset = tile2.get_tileset() != null ? tile2.get_tileset() : defaultTileset; alpha = tile2.get_alpha() * worldAlpha; visible = tile2.get_visible(); tile2.__dirty = false; if(!visible || alpha <= 0) { continue; } if(colorTransformEnabled) { if(tile2.get_colorTransform() != null) { if(defaultColorTransform == null) { colorTransform = tile2.get_colorTransform(); } else { if(openfl_display__$internal_Context3DTilemap.cacheColorTransform == null) { openfl_display__$internal_Context3DTilemap.cacheColorTransform = new openfl_geom_ColorTransform(); } colorTransform = openfl_display__$internal_Context3DTilemap.cacheColorTransform; colorTransform.redMultiplier = defaultColorTransform.redMultiplier * tile2.get_colorTransform().redMultiplier; colorTransform.greenMultiplier = defaultColorTransform.greenMultiplier * tile2.get_colorTransform().greenMultiplier; colorTransform.blueMultiplier = defaultColorTransform.blueMultiplier * tile2.get_colorTransform().blueMultiplier; colorTransform.alphaMultiplier = defaultColorTransform.alphaMultiplier * tile2.get_colorTransform().alphaMultiplier; colorTransform.redOffset = defaultColorTransform.redOffset + tile2.get_colorTransform().redOffset; colorTransform.greenOffset = defaultColorTransform.greenOffset + tile2.get_colorTransform().greenOffset; colorTransform.blueOffset = defaultColorTransform.blueOffset + tile2.get_colorTransform().blueOffset; colorTransform.alphaOffset = defaultColorTransform.alphaOffset + tile2.get_colorTransform().alphaOffset; } } else { colorTransform = defaultColorTransform; } } if(!alphaEnabled) { alpha = 1; } if(tile2.__length > 0) { openfl_display__$internal_Context3DTilemap.buildBufferTileContainer(tilemap,tile2,renderer,tileTransform,tileset,alphaEnabled,alpha,colorTransformEnabled,colorTransform,cacheBitmapData,rect,matrix,false); } else { if(tileset == null) { continue; } id = tile2.get_id(); bitmapData = tileset.__bitmapData; if(bitmapData == null) { continue; } if(id == -1) { tileRect = tile2.__rect; if(tileRect == null || tileRect.width <= 0 || tileRect.height <= 0) { continue; } uvX = tileRect.x / bitmapData.width; uvY = tileRect.y / bitmapData.height; uvWidth = tileRect.get_right() / bitmapData.width; uvHeight = tileRect.get_bottom() / bitmapData.height; } else { tileData = tileset.__data[id]; if(tileData == null) { continue; } rect.setTo(tileData.x,tileData.y,tileData.width,tileData.height); tileRect = rect; uvX = tileData.__uvX; uvY = tileData.__uvY; uvWidth = tileData.__uvWidth; uvHeight = tileData.__uvHeight; } tileWidth = tileRect.width; tileHeight = tileRect.height; x = 0 * tileTransform.a + 0 * tileTransform.c + tileTransform.tx; y = 0 * tileTransform.b + 0 * tileTransform.d + tileTransform.ty; x2 = tileWidth * tileTransform.a + 0 * tileTransform.c + tileTransform.tx; y2 = tileWidth * tileTransform.b + 0 * tileTransform.d + tileTransform.ty; x3 = 0 * tileTransform.a + tileHeight * tileTransform.c + tileTransform.tx; y3 = 0 * tileTransform.b + tileHeight * tileTransform.d + tileTransform.ty; x4 = tileWidth * tileTransform.a + tileHeight * tileTransform.c + tileTransform.tx; y4 = tileWidth * tileTransform.b + tileHeight * tileTransform.d + tileTransform.ty; vertexOffset = openfl_display__$internal_Context3DTilemap.vertexDataPosition; openfl_display__$internal_Context3DTilemap.vertexBufferData[vertexOffset] = x; openfl_display__$internal_Context3DTilemap.vertexBufferData[vertexOffset + 1] = y; openfl_display__$internal_Context3DTilemap.vertexBufferData[vertexOffset + 2] = uvX; openfl_display__$internal_Context3DTilemap.vertexBufferData[vertexOffset + 3] = uvY; openfl_display__$internal_Context3DTilemap.vertexBufferData[vertexOffset + openfl_display__$internal_Context3DTilemap.dataPerVertex] = x2; openfl_display__$internal_Context3DTilemap.vertexBufferData[vertexOffset + openfl_display__$internal_Context3DTilemap.dataPerVertex + 1] = y2; openfl_display__$internal_Context3DTilemap.vertexBufferData[vertexOffset + openfl_display__$internal_Context3DTilemap.dataPerVertex + 2] = uvWidth; openfl_display__$internal_Context3DTilemap.vertexBufferData[vertexOffset + openfl_display__$internal_Context3DTilemap.dataPerVertex + 3] = uvY; openfl_display__$internal_Context3DTilemap.vertexBufferData[vertexOffset + openfl_display__$internal_Context3DTilemap.dataPerVertex * 2] = x3; openfl_display__$internal_Context3DTilemap.vertexBufferData[vertexOffset + openfl_display__$internal_Context3DTilemap.dataPerVertex * 2 + 1] = y3; openfl_display__$internal_Context3DTilemap.vertexBufferData[vertexOffset + openfl_display__$internal_Context3DTilemap.dataPerVertex * 2 + 2] = uvX; openfl_display__$internal_Context3DTilemap.vertexBufferData[vertexOffset + openfl_display__$internal_Context3DTilemap.dataPerVertex * 2 + 3] = uvHeight; openfl_display__$internal_Context3DTilemap.vertexBufferData[vertexOffset + openfl_display__$internal_Context3DTilemap.dataPerVertex * 3] = x4; openfl_display__$internal_Context3DTilemap.vertexBufferData[vertexOffset + openfl_display__$internal_Context3DTilemap.dataPerVertex * 3 + 1] = y4; openfl_display__$internal_Context3DTilemap.vertexBufferData[vertexOffset + openfl_display__$internal_Context3DTilemap.dataPerVertex * 3 + 2] = uvWidth; openfl_display__$internal_Context3DTilemap.vertexBufferData[vertexOffset + openfl_display__$internal_Context3DTilemap.dataPerVertex * 3 + 3] = uvHeight; if(alphaEnabled) { openfl_display__$internal_Context3DTilemap.vertexBufferData[vertexOffset + openfl_display__$internal_Context3DTilemap.dataPerVertex * 0 + alphaPosition] = alpha; openfl_display__$internal_Context3DTilemap.vertexBufferData[vertexOffset + openfl_display__$internal_Context3DTilemap.dataPerVertex + alphaPosition] = alpha; openfl_display__$internal_Context3DTilemap.vertexBufferData[vertexOffset + openfl_display__$internal_Context3DTilemap.dataPerVertex * 2 + alphaPosition] = alpha; openfl_display__$internal_Context3DTilemap.vertexBufferData[vertexOffset + openfl_display__$internal_Context3DTilemap.dataPerVertex * 3 + alphaPosition] = alpha; } if(colorTransformEnabled) { if(colorTransform != null) { var _g2 = 0; while(_g2 < 4) { var i = _g2++; openfl_display__$internal_Context3DTilemap.vertexBufferData[vertexOffset + openfl_display__$internal_Context3DTilemap.dataPerVertex * i + ctPosition] = colorTransform.redMultiplier; openfl_display__$internal_Context3DTilemap.vertexBufferData[vertexOffset + openfl_display__$internal_Context3DTilemap.dataPerVertex * i + ctPosition + 1] = colorTransform.greenMultiplier; openfl_display__$internal_Context3DTilemap.vertexBufferData[vertexOffset + openfl_display__$internal_Context3DTilemap.dataPerVertex * i + ctPosition + 2] = colorTransform.blueMultiplier; openfl_display__$internal_Context3DTilemap.vertexBufferData[vertexOffset + openfl_display__$internal_Context3DTilemap.dataPerVertex * i + ctPosition + 3] = colorTransform.alphaMultiplier; openfl_display__$internal_Context3DTilemap.vertexBufferData[vertexOffset + openfl_display__$internal_Context3DTilemap.dataPerVertex * i + ctPosition + 4] = colorTransform.redOffset; openfl_display__$internal_Context3DTilemap.vertexBufferData[vertexOffset + openfl_display__$internal_Context3DTilemap.dataPerVertex * i + ctPosition + 5] = colorTransform.greenOffset; openfl_display__$internal_Context3DTilemap.vertexBufferData[vertexOffset + openfl_display__$internal_Context3DTilemap.dataPerVertex * i + ctPosition + 6] = colorTransform.blueOffset; openfl_display__$internal_Context3DTilemap.vertexBufferData[vertexOffset + openfl_display__$internal_Context3DTilemap.dataPerVertex * i + ctPosition + 7] = colorTransform.alphaOffset; } } else { var _g3 = 0; while(_g3 < 4) { var i1 = _g3++; openfl_display__$internal_Context3DTilemap.vertexBufferData[vertexOffset + openfl_display__$internal_Context3DTilemap.dataPerVertex * i1 + ctPosition] = 1; openfl_display__$internal_Context3DTilemap.vertexBufferData[vertexOffset + openfl_display__$internal_Context3DTilemap.dataPerVertex * i1 + ctPosition + 1] = 1; openfl_display__$internal_Context3DTilemap.vertexBufferData[vertexOffset + openfl_display__$internal_Context3DTilemap.dataPerVertex * i1 + ctPosition + 2] = 1; openfl_display__$internal_Context3DTilemap.vertexBufferData[vertexOffset + openfl_display__$internal_Context3DTilemap.dataPerVertex * i1 + ctPosition + 3] = 1; openfl_display__$internal_Context3DTilemap.vertexBufferData[vertexOffset + openfl_display__$internal_Context3DTilemap.dataPerVertex * i1 + ctPosition + 4] = 0; openfl_display__$internal_Context3DTilemap.vertexBufferData[vertexOffset + openfl_display__$internal_Context3DTilemap.dataPerVertex * i1 + ctPosition + 5] = 0; openfl_display__$internal_Context3DTilemap.vertexBufferData[vertexOffset + openfl_display__$internal_Context3DTilemap.dataPerVertex * i1 + ctPosition + 6] = 0; openfl_display__$internal_Context3DTilemap.vertexBufferData[vertexOffset + openfl_display__$internal_Context3DTilemap.dataPerVertex * i1 + ctPosition + 7] = 0; } } } openfl_display__$internal_Context3DTilemap.vertexDataPosition += openfl_display__$internal_Context3DTilemap.dataPerVertex * 4; } } group.__dirty = false; openfl_geom_Matrix.__pool.release(tileTransform); }; openfl_display__$internal_Context3DTilemap.flush = function(tilemap,renderer,blendMode) { if(openfl_display__$internal_Context3DTilemap.currentShader == null) { openfl_display__$internal_Context3DTilemap.currentShader = renderer.__defaultDisplayShader; } if(openfl_display__$internal_Context3DTilemap.bufferPosition > openfl_display__$internal_Context3DTilemap.lastFlushedPosition && openfl_display__$internal_Context3DTilemap.currentBitmapData != null && openfl_display__$internal_Context3DTilemap.currentShader != null) { var shader = renderer.__initDisplayShader(openfl_display__$internal_Context3DTilemap.currentShader); renderer.setShader(shader); renderer.applyBitmapData(openfl_display__$internal_Context3DTilemap.currentBitmapData,tilemap.smoothing); renderer.applyMatrix(renderer.__getMatrix(tilemap.__renderTransform,1)); if(tilemap.tileAlphaEnabled) { renderer.useAlphaArray(); } else { renderer.applyAlpha(tilemap.__worldAlpha); } if(tilemap.tileBlendModeEnabled) { renderer.__setBlendMode(blendMode); } if(tilemap.tileColorTransformEnabled) { renderer.applyHasColorTransform(true); renderer.useColorTransformArray(); } else { renderer.applyColorTransform(tilemap.__worldColorTransform); } renderer.updateShader(); var vertexBuffer = tilemap.__buffer.vertexBuffer; var vertexBufferPosition = openfl_display__$internal_Context3DTilemap.lastFlushedPosition * openfl_display__$internal_Context3DTilemap.dataPerVertex * 4; var length = openfl_display__$internal_Context3DTilemap.bufferPosition - openfl_display__$internal_Context3DTilemap.lastFlushedPosition; while(openfl_display__$internal_Context3DTilemap.lastFlushedPosition < openfl_display__$internal_Context3DTilemap.bufferPosition) { length = Math.min(openfl_display__$internal_Context3DTilemap.bufferPosition - openfl_display__$internal_Context3DTilemap.lastFlushedPosition,openfl_display__$internal_Context3DTilemap.context.__quadIndexBufferElements) | 0; if(length <= 0) { break; } if(shader.__position != null) { openfl_display__$internal_Context3DTilemap.context.setVertexBufferAt(shader.__position.index,vertexBuffer,vertexBufferPosition,2); } if(shader.__textureCoord != null) { openfl_display__$internal_Context3DTilemap.context.setVertexBufferAt(shader.__textureCoord.index,vertexBuffer,vertexBufferPosition + 2,2); } if(tilemap.tileAlphaEnabled) { if(shader.__alpha != null) { openfl_display__$internal_Context3DTilemap.context.setVertexBufferAt(shader.__alpha.index,vertexBuffer,vertexBufferPosition + 4,1); } } if(tilemap.tileColorTransformEnabled) { var position = tilemap.tileAlphaEnabled ? 5 : 4; if(shader.__colorMultiplier != null) { openfl_display__$internal_Context3DTilemap.context.setVertexBufferAt(shader.__colorMultiplier.index,vertexBuffer,vertexBufferPosition + position,4); } if(shader.__colorOffset != null) { openfl_display__$internal_Context3DTilemap.context.setVertexBufferAt(shader.__colorOffset.index,vertexBuffer,vertexBufferPosition + position + 4,4); } } openfl_display__$internal_Context3DTilemap.context.drawTriangles(openfl_display__$internal_Context3DTilemap.context.__quadIndexBuffer,0,length * 2); openfl_display__$internal_Context3DTilemap.lastFlushedPosition += length; } renderer.__clearShader(); } openfl_display__$internal_Context3DTilemap.lastUsedBitmapData = openfl_display__$internal_Context3DTilemap.currentBitmapData; openfl_display__$internal_Context3DTilemap.lastUsedShader = openfl_display__$internal_Context3DTilemap.currentShader; }; openfl_display__$internal_Context3DTilemap.render = function(tilemap,renderer) { if(!tilemap.__renderable || tilemap.__worldAlpha <= 0) { return; } openfl_display__$internal_Context3DTilemap.context = renderer.__context3D; openfl_display__$internal_Context3DTilemap.buildBuffer(tilemap,renderer); if(openfl_display__$internal_Context3DTilemap.numTiles == 0) { return; } openfl_display__$internal_Context3DTilemap.bufferPosition = 0; openfl_display__$internal_Context3DTilemap.lastFlushedPosition = 0; openfl_display__$internal_Context3DTilemap.lastUsedBitmapData = null; openfl_display__$internal_Context3DTilemap.lastUsedShader = null; openfl_display__$internal_Context3DTilemap.currentBitmapData = null; openfl_display__$internal_Context3DTilemap.currentShader = null; openfl_display__$internal_Context3DTilemap.currentBlendMode = tilemap.__worldBlendMode; if(!tilemap.tileBlendModeEnabled) { renderer.__setBlendMode(openfl_display__$internal_Context3DTilemap.currentBlendMode); } renderer.__pushMaskObject(tilemap); var rect = openfl_geom_Rectangle.__pool.get(); rect.setTo(0,0,tilemap.__width,tilemap.__height); renderer.__pushMaskRect(rect,tilemap.__renderTransform); openfl_display__$internal_Context3DTilemap.renderTileContainer(tilemap,renderer,tilemap.__group,tilemap.__worldShader,tilemap.__tileset,tilemap.__worldAlpha,tilemap.tileBlendModeEnabled,openfl_display__$internal_Context3DTilemap.currentBlendMode,null); openfl_display__$internal_Context3DTilemap.flush(tilemap,renderer,openfl_display__$internal_Context3DTilemap.currentBlendMode); renderer.__popMaskRect(); renderer.__popMaskObject(tilemap); openfl_geom_Rectangle.__pool.release(rect); }; openfl_display__$internal_Context3DTilemap.renderDrawable = function(tilemap,renderer) { renderer.__updateCacheBitmap(tilemap,false); if(tilemap.__cacheBitmap != null && !tilemap.__isCacheBitmapRender) { openfl_display__$internal_Context3DBitmap.render(tilemap.__cacheBitmap,renderer); } else { if(!(tilemap.opaqueBackground == null && tilemap.__graphics == null)) { if(!(!tilemap.__renderable || tilemap.__worldAlpha <= 0)) { if(tilemap.opaqueBackground != null && !tilemap.__isCacheBitmapRender && tilemap.get_width() > 0 && tilemap.get_height() > 0) { renderer.__setBlendMode(tilemap.__worldBlendMode); renderer.__pushMaskObject(tilemap); var context = renderer.__context3D; var rect = openfl_geom_Rectangle.__pool.get(); rect.setTo(0,0,tilemap.get_width(),tilemap.get_height()); renderer.__pushMaskRect(rect,tilemap.__renderTransform); var color = tilemap.opaqueBackground; context.clear((color >>> 16 & 255) / 255,(color >>> 8 & 255) / 255,(color & 255) / 255,1,0,0,1); renderer.__popMaskRect(); renderer.__popMaskObject(tilemap); openfl_geom_Rectangle.__pool.release(rect); } if(tilemap.__graphics != null) { openfl_display__$internal_Context3DShape.render(tilemap,renderer); } } } openfl_display__$internal_Context3DTilemap.render(tilemap,renderer); } renderer.__renderEvent(tilemap); }; openfl_display__$internal_Context3DTilemap.renderDrawableMask = function(tilemap,renderer) { if(!(tilemap.opaqueBackground == null && tilemap.__graphics == null)) { var tmp = tilemap.opaqueBackground != null && !tilemap.__isCacheBitmapRender && tilemap.get_width() > 0 && tilemap.get_height() > 0; if(tilemap.__graphics != null) { openfl_display__$internal_Context3DShape.renderMask(tilemap,renderer); } } openfl_display__$internal_Context3DTilemap.renderMask(tilemap,renderer); }; openfl_display__$internal_Context3DTilemap.renderTileContainer = function(tilemap,renderer,group,defaultShader,defaultTileset,worldAlpha,blendModeEnabled,defaultBlendMode,cacheBitmapData) { var tiles = group.__tiles; var tile; var tileset; var alpha; var visible; var blendMode = null; var id; var tileData; var tileRect; var shader; var bitmapData; var _g = 0; while(_g < tiles.length) { var tile1 = tiles[_g]; ++_g; tileset = tile1.get_tileset() != null ? tile1.get_tileset() : defaultTileset; alpha = tile1.get_alpha() * worldAlpha; visible = tile1.get_visible(); if(!visible || alpha <= 0) { continue; } shader = tile1.get_shader() != null ? tile1.get_shader() : defaultShader; if(blendModeEnabled) { blendMode = tile1.__blendMode != null ? tile1.__blendMode : defaultBlendMode; } if(tile1.__length > 0) { openfl_display__$internal_Context3DTilemap.renderTileContainer(tilemap,renderer,tile1,shader,tileset,alpha,blendModeEnabled,blendMode,cacheBitmapData); } else { if(tileset == null) { continue; } id = tile1.get_id(); bitmapData = tileset.__bitmapData; if(bitmapData == null) { continue; } if(id == -1) { tileRect = tile1.__rect; if(tileRect == null || tileRect.width <= 0 || tileRect.height <= 0) { continue; } } else { tileData = tileset.__data[id]; if(tileData == null) { continue; } } if(shader != openfl_display__$internal_Context3DTilemap.currentShader || bitmapData != openfl_display__$internal_Context3DTilemap.currentBitmapData && openfl_display__$internal_Context3DTilemap.currentBitmapData != null || openfl_display__$internal_Context3DTilemap.currentBlendMode != blendMode) { openfl_display__$internal_Context3DTilemap.flush(tilemap,renderer,openfl_display__$internal_Context3DTilemap.currentBlendMode); } openfl_display__$internal_Context3DTilemap.currentBitmapData = bitmapData; openfl_display__$internal_Context3DTilemap.currentShader = shader; openfl_display__$internal_Context3DTilemap.currentBlendMode = blendMode; openfl_display__$internal_Context3DTilemap.bufferPosition++; } } }; openfl_display__$internal_Context3DTilemap.renderMask = function(tilemap,renderer) { }; openfl_display__$internal_Context3DTilemap.resizeBuffer = function(tilemap,count) { openfl_display__$internal_Context3DTilemap.numTiles = count; if(tilemap.__buffer == null) { tilemap.__buffer = new openfl_display__$internal_Context3DBuffer(openfl_display__$internal_Context3DTilemap.context,openfl_display__$internal_Context3DElementType.QUADS,openfl_display__$internal_Context3DTilemap.numTiles,openfl_display__$internal_Context3DTilemap.dataPerVertex); } else { tilemap.__buffer.resize(openfl_display__$internal_Context3DTilemap.numTiles,openfl_display__$internal_Context3DTilemap.dataPerVertex); } openfl_display__$internal_Context3DTilemap.vertexBufferData = tilemap.__buffer.vertexBufferData; }; var openfl_display__$internal_Context3DVideo = function() { }; $hxClasses["openfl.display._internal.Context3DVideo"] = openfl_display__$internal_Context3DVideo; openfl_display__$internal_Context3DVideo.__name__ = "openfl.display._internal.Context3DVideo"; openfl_display__$internal_Context3DVideo.render = function(video,renderer) { if(!video.__renderable || video.__worldAlpha <= 0 || video.__stream == null) { return; } if(video.__stream.__video != null) { var context = renderer.__context3D; var gl = context.gl; var texture = video.__getTexture(context); if(texture == null) { return; } renderer.__setBlendMode(video.__worldBlendMode); renderer.__pushMaskObject(video); var shader = renderer.__initDisplayShader(video.__worldShader); renderer.setShader(shader); renderer.applyBitmapData(null,true,false); renderer.applyMatrix(renderer.__getMatrix(video.__renderTransform,1)); renderer.applyAlpha(video.__worldAlpha); renderer.applyColorTransform(video.__worldColorTransform); if(shader.__textureSize != null) { openfl_display__$internal_Context3DVideo.__textureSizeValue[0] = video.__stream != null ? video.__stream.__video.videoWidth : 0; openfl_display__$internal_Context3DVideo.__textureSizeValue[1] = video.__stream != null ? video.__stream.__video.videoHeight : 0; shader.__textureSize.value = openfl_display__$internal_Context3DVideo.__textureSizeValue; } renderer.updateShader(); context.setTextureAt(0,video.__getTexture(context)); context.__flushGLTextures(); gl.uniform1i(shader.__texture.index,0); if(video.smoothing) { gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MAG_FILTER,gl.LINEAR); gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MIN_FILTER,gl.LINEAR); } else { gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MAG_FILTER,gl.NEAREST); gl.texParameteri(gl.TEXTURE_2D,gl.TEXTURE_MIN_FILTER,gl.NEAREST); } var vertexBuffer = video.__getVertexBuffer(context); if(shader.__position != null) { context.setVertexBufferAt(shader.__position.index,vertexBuffer,0,3); } if(shader.__textureCoord != null) { context.setVertexBufferAt(shader.__textureCoord.index,vertexBuffer,3,2); } var indexBuffer = video.__getIndexBuffer(context); context.drawTriangles(indexBuffer); renderer.__clearShader(); renderer.__popMaskObject(video); } }; openfl_display__$internal_Context3DVideo.renderDrawable = function(video,renderer) { openfl_display__$internal_Context3DVideo.render(video,renderer); renderer.__renderEvent(video); }; openfl_display__$internal_Context3DVideo.renderDrawableMask = function(video,renderer) { openfl_display__$internal_Context3DVideo.renderMask(video,renderer); }; openfl_display__$internal_Context3DVideo.renderMask = function(video,renderer) { if(video.__stream == null) { return; } if(video.__stream.__video != null) { var context = renderer.__context3D; var gl = context.gl; var shader = renderer.__maskShader; renderer.setShader(shader); renderer.applyBitmapData(openfl_display__$internal_Context3DMaskShader.opaqueBitmapData,true); renderer.applyMatrix(renderer.__getMatrix(video.__renderTransform,1)); renderer.updateShader(); var vertexBuffer = video.__getVertexBuffer(context); if(shader.__position != null) { context.setVertexBufferAt(shader.__position.index,vertexBuffer,0,3); } if(shader.__textureCoord != null) { context.setVertexBufferAt(shader.__textureCoord.index,vertexBuffer,3,2); } var indexBuffer = video.__getIndexBuffer(context); context.drawTriangles(indexBuffer); renderer.__clearShader(); } }; var openfl_display__$internal_DOMBitmap = function() { }; $hxClasses["openfl.display._internal.DOMBitmap"] = openfl_display__$internal_DOMBitmap; openfl_display__$internal_DOMBitmap.__name__ = "openfl.display._internal.DOMBitmap"; openfl_display__$internal_DOMBitmap.clear = function(bitmap,renderer) { if(bitmap.__cacheBitmap != null) { openfl_display__$internal_DOMBitmap.clear(bitmap.__cacheBitmap,renderer); } if(bitmap.__image != null) { renderer.element.removeChild(bitmap.__image); bitmap.__image = null; bitmap.__style = null; } if(bitmap.__canvas != null) { renderer.element.removeChild(bitmap.__canvas); bitmap.__canvas = null; bitmap.__style = null; } }; openfl_display__$internal_DOMBitmap.render = function(bitmap,renderer) { if(bitmap.stage != null && bitmap.__worldVisible && bitmap.__renderable && bitmap.__bitmapData != null && bitmap.__bitmapData.__isValid && bitmap.__bitmapData.readable) { renderer.__pushMaskObject(bitmap); if(bitmap.__bitmapData.image.buffer.__srcImage != null) { openfl_display__$internal_DOMBitmap.renderImage(bitmap,renderer); } else { openfl_display__$internal_DOMBitmap.renderCanvas(bitmap,renderer); } renderer.__popMaskObject(bitmap); } else { openfl_display__$internal_DOMBitmap.clear(bitmap,renderer); } }; openfl_display__$internal_DOMBitmap.renderCanvas = function(bitmap,renderer) { if(bitmap.__image != null) { renderer.element.removeChild(bitmap.__image); bitmap.__image = null; } if(bitmap.__canvas == null) { bitmap.__canvas = window.document.createElement("canvas"); bitmap.__context = bitmap.__canvas.getContext("2d"); bitmap.__imageVersion = -1; if(!renderer.__allowSmoothing || !bitmap.smoothing) { bitmap.__context.imageSmoothingEnabled = false; } renderer.__initializeElement(bitmap,bitmap.__canvas); } if(bitmap.__imageVersion != bitmap.__bitmapData.image.version) { lime__$internal_graphics_ImageCanvasUtil.convertToCanvas(bitmap.__bitmapData.image); bitmap.__canvas.width = bitmap.__bitmapData.width + 1; bitmap.__canvas.width = bitmap.__bitmapData.width; bitmap.__canvas.height = bitmap.__bitmapData.height; bitmap.__context.drawImage(bitmap.__bitmapData.image.buffer.__srcCanvas,0,0); bitmap.__imageVersion = bitmap.__bitmapData.image.version; } renderer.__updateClip(bitmap); renderer.__applyStyle(bitmap,true,true,true); }; openfl_display__$internal_DOMBitmap.renderDrawable = function(bitmap,renderer) { renderer.__updateCacheBitmap(bitmap,false); if(bitmap.__cacheBitmap != null && !bitmap.__isCacheBitmapRender) { renderer.__renderDrawableClear(bitmap); bitmap.__cacheBitmap.stage = bitmap.stage; var bitmap1 = bitmap.__cacheBitmap; if(bitmap1.stage != null && bitmap1.__worldVisible && bitmap1.__renderable && bitmap1.__bitmapData != null && bitmap1.__bitmapData.__isValid && bitmap1.__bitmapData.readable) { renderer.__pushMaskObject(bitmap1); if(bitmap1.__bitmapData.image.buffer.__srcImage != null) { openfl_display__$internal_DOMBitmap.renderImage(bitmap1,renderer); } else { openfl_display__$internal_DOMBitmap.renderCanvas(bitmap1,renderer); } renderer.__popMaskObject(bitmap1); } else { openfl_display__$internal_DOMBitmap.clear(bitmap1,renderer); } } else { var tmp = bitmap.opaqueBackground != null && !bitmap.__isCacheBitmapRender && bitmap.get_width() > 0 && bitmap.get_height() > 0; var graphics = bitmap.__graphics; if(bitmap.stage != null && bitmap.__worldVisible && bitmap.__renderable && graphics != null) { openfl_display__$internal_CanvasGraphics.render(graphics,renderer.__canvasRenderer); if(graphics.__softwareDirty || bitmap.__worldAlphaChanged || bitmap.__canvas != graphics.__canvas) { if(graphics.__canvas != null) { if(bitmap.__canvas != graphics.__canvas) { if(bitmap.__canvas != null) { renderer.element.removeChild(bitmap.__canvas); } bitmap.__canvas = graphics.__canvas; bitmap.__context = graphics.__context; renderer.__initializeElement(bitmap,bitmap.__canvas); } } else { openfl_display__$internal_DOMShape.clear(bitmap,renderer); } } if(bitmap.__canvas != null) { renderer.__pushMaskObject(bitmap); var cacheTransform = bitmap.__renderTransform; bitmap.__renderTransform = graphics.__worldTransform; if(graphics.__transformDirty) { graphics.__transformDirty = false; bitmap.__renderTransformChanged = true; } renderer.__updateClip(bitmap); renderer.__applyStyle(bitmap,true,true,true); bitmap.__renderTransform = cacheTransform; renderer.__popMaskObject(bitmap); } } else { openfl_display__$internal_DOMShape.clear(bitmap,renderer); } if(bitmap.stage != null && bitmap.__worldVisible && bitmap.__renderable && bitmap.__bitmapData != null && bitmap.__bitmapData.__isValid && bitmap.__bitmapData.readable) { renderer.__pushMaskObject(bitmap); if(bitmap.__bitmapData.image.buffer.__srcImage != null) { openfl_display__$internal_DOMBitmap.renderImage(bitmap,renderer); } else { openfl_display__$internal_DOMBitmap.renderCanvas(bitmap,renderer); } renderer.__popMaskObject(bitmap); } else { openfl_display__$internal_DOMBitmap.clear(bitmap,renderer); } } renderer.__renderEvent(bitmap); }; openfl_display__$internal_DOMBitmap.renderDrawableClear = function(bitmap,renderer) { openfl_display__$internal_DOMBitmap.clear(bitmap,renderer); }; openfl_display__$internal_DOMBitmap.renderImage = function(bitmap,renderer) { if(bitmap.__canvas != null) { renderer.element.removeChild(bitmap.__canvas); bitmap.__canvas = null; } if(bitmap.__image == null) { bitmap.__image = window.document.createElement("img"); bitmap.__image.crossOrigin = "Anonymous"; bitmap.__image.src = bitmap.__bitmapData.image.buffer.__srcImage.src; renderer.__initializeElement(bitmap,bitmap.__image); } renderer.__updateClip(bitmap); renderer.__applyStyle(bitmap,true,true,true); }; var openfl_display__$internal_DOMDisplayObject = function() { }; $hxClasses["openfl.display._internal.DOMDisplayObject"] = openfl_display__$internal_DOMDisplayObject; openfl_display__$internal_DOMDisplayObject.__name__ = "openfl.display._internal.DOMDisplayObject"; openfl_display__$internal_DOMDisplayObject.clear = function(displayObject,renderer) { if(displayObject.__cacheBitmap != null) { openfl_display__$internal_DOMBitmap.clear(displayObject.__cacheBitmap,renderer); } openfl_display__$internal_DOMShape.clear(displayObject,renderer); }; openfl_display__$internal_DOMDisplayObject.render = function(displayObject,renderer) { var tmp = displayObject.opaqueBackground != null && !displayObject.__isCacheBitmapRender && displayObject.get_width() > 0 && displayObject.get_height() > 0; var graphics = displayObject.__graphics; if(displayObject.stage != null && displayObject.__worldVisible && displayObject.__renderable && graphics != null) { openfl_display__$internal_CanvasGraphics.render(graphics,renderer.__canvasRenderer); if(graphics.__softwareDirty || displayObject.__worldAlphaChanged || displayObject.__canvas != graphics.__canvas) { if(graphics.__canvas != null) { if(displayObject.__canvas != graphics.__canvas) { if(displayObject.__canvas != null) { renderer.element.removeChild(displayObject.__canvas); } displayObject.__canvas = graphics.__canvas; displayObject.__context = graphics.__context; renderer.__initializeElement(displayObject,displayObject.__canvas); } } else { openfl_display__$internal_DOMShape.clear(displayObject,renderer); } } if(displayObject.__canvas != null) { renderer.__pushMaskObject(displayObject); var cacheTransform = displayObject.__renderTransform; displayObject.__renderTransform = graphics.__worldTransform; if(graphics.__transformDirty) { graphics.__transformDirty = false; displayObject.__renderTransformChanged = true; } renderer.__updateClip(displayObject); renderer.__applyStyle(displayObject,true,true,true); displayObject.__renderTransform = cacheTransform; renderer.__popMaskObject(displayObject); } } else { openfl_display__$internal_DOMShape.clear(displayObject,renderer); } }; openfl_display__$internal_DOMDisplayObject.renderDrawable = function(displayObject,renderer) { renderer.__updateCacheBitmap(displayObject,false); if(displayObject.__cacheBitmap != null && !displayObject.__isCacheBitmapRender) { renderer.__renderDrawableClear(displayObject); displayObject.__cacheBitmap.stage = displayObject.stage; var bitmap = displayObject.__cacheBitmap; if(bitmap.stage != null && bitmap.__worldVisible && bitmap.__renderable && bitmap.__bitmapData != null && bitmap.__bitmapData.__isValid && bitmap.__bitmapData.readable) { renderer.__pushMaskObject(bitmap); if(bitmap.__bitmapData.image.buffer.__srcImage != null) { openfl_display__$internal_DOMBitmap.renderImage(bitmap,renderer); } else { openfl_display__$internal_DOMBitmap.renderCanvas(bitmap,renderer); } renderer.__popMaskObject(bitmap); } else { openfl_display__$internal_DOMBitmap.clear(bitmap,renderer); } } else { var tmp = displayObject.opaqueBackground != null && !displayObject.__isCacheBitmapRender && displayObject.get_width() > 0 && displayObject.get_height() > 0; var graphics = displayObject.__graphics; if(displayObject.stage != null && displayObject.__worldVisible && displayObject.__renderable && graphics != null) { openfl_display__$internal_CanvasGraphics.render(graphics,renderer.__canvasRenderer); if(graphics.__softwareDirty || displayObject.__worldAlphaChanged || displayObject.__canvas != graphics.__canvas) { if(graphics.__canvas != null) { if(displayObject.__canvas != graphics.__canvas) { if(displayObject.__canvas != null) { renderer.element.removeChild(displayObject.__canvas); } displayObject.__canvas = graphics.__canvas; displayObject.__context = graphics.__context; renderer.__initializeElement(displayObject,displayObject.__canvas); } } else { openfl_display__$internal_DOMShape.clear(displayObject,renderer); } } if(displayObject.__canvas != null) { renderer.__pushMaskObject(displayObject); var cacheTransform = displayObject.__renderTransform; displayObject.__renderTransform = graphics.__worldTransform; if(graphics.__transformDirty) { graphics.__transformDirty = false; displayObject.__renderTransformChanged = true; } renderer.__updateClip(displayObject); renderer.__applyStyle(displayObject,true,true,true); displayObject.__renderTransform = cacheTransform; renderer.__popMaskObject(displayObject); } } else { openfl_display__$internal_DOMShape.clear(displayObject,renderer); } } renderer.__renderEvent(displayObject); }; openfl_display__$internal_DOMDisplayObject.renderDrawableClear = function(displayObject,renderer) { openfl_display__$internal_DOMDisplayObject.clear(displayObject,renderer); }; var openfl_display__$internal_DOMDisplayObjectContainer = function() { }; $hxClasses["openfl.display._internal.DOMDisplayObjectContainer"] = openfl_display__$internal_DOMDisplayObjectContainer; openfl_display__$internal_DOMDisplayObjectContainer.__name__ = "openfl.display._internal.DOMDisplayObjectContainer"; openfl_display__$internal_DOMDisplayObjectContainer.renderDrawable = function(displayObjectContainer,renderer) { var orphan = displayObjectContainer.__removedChildren.iterator(); while(orphan.hasNext()) { var orphan1 = orphan.next(); if(orphan1.stage == null) { renderer.__renderDrawable(orphan1); } } var orphan2 = displayObjectContainer.__removedChildren.iterator(); while(orphan2.hasNext()) { var orphan3 = orphan2.next(); if(orphan3.stage == null) { orphan3.__cleanup(); } } displayObjectContainer.__removedChildren.set_length(0); openfl_display__$internal_DOMDisplayObject.renderDrawable(displayObjectContainer,renderer); if(displayObjectContainer.__cacheBitmap != null && !displayObjectContainer.__isCacheBitmapRender) { return; } renderer.__pushMaskObject(displayObjectContainer); if(renderer.__stage != null) { var _g = 0; var _g1 = displayObjectContainer.__children; while(_g < _g1.length) { var child = _g1[_g]; ++_g; renderer.__renderDrawable(child); child.__renderDirty = false; } displayObjectContainer.__renderDirty = false; } else { var _g2 = 0; var _g11 = displayObjectContainer.__children; while(_g2 < _g11.length) { var child1 = _g11[_g2]; ++_g2; renderer.__renderDrawable(child1); } } renderer.__popMaskObject(displayObjectContainer); }; openfl_display__$internal_DOMDisplayObjectContainer.renderDrawableClear = function(displayObjectContainer,renderer) { var orphan = displayObjectContainer.__removedChildren.iterator(); while(orphan.hasNext()) { var orphan1 = orphan.next(); if(orphan1.stage == null) { renderer.__renderDrawableClear(orphan1); } } var orphan2 = displayObjectContainer.__removedChildren.iterator(); while(orphan2.hasNext()) { var orphan3 = orphan2.next(); if(orphan3.stage == null) { orphan3.__cleanup(); } } displayObjectContainer.__removedChildren.set_length(0); var _g = 0; var _g1 = displayObjectContainer.__children; while(_g < _g1.length) { var child = _g1[_g]; ++_g; renderer.__renderDrawableClear(child); } }; var openfl_display__$internal_DOMShape = function() { }; $hxClasses["openfl.display._internal.DOMShape"] = openfl_display__$internal_DOMShape; openfl_display__$internal_DOMShape.__name__ = "openfl.display._internal.DOMShape"; openfl_display__$internal_DOMShape.clear = function(shape,renderer) { if(shape.__canvas != null) { renderer.element.removeChild(shape.__canvas); shape.__canvas = null; shape.__style = null; } }; openfl_display__$internal_DOMShape.render = function(shape,renderer) { var graphics = shape.__graphics; if(shape.stage != null && shape.__worldVisible && shape.__renderable && graphics != null) { openfl_display__$internal_CanvasGraphics.render(graphics,renderer.__canvasRenderer); if(graphics.__softwareDirty || shape.__worldAlphaChanged || shape.__canvas != graphics.__canvas) { if(graphics.__canvas != null) { if(shape.__canvas != graphics.__canvas) { if(shape.__canvas != null) { renderer.element.removeChild(shape.__canvas); } shape.__canvas = graphics.__canvas; shape.__context = graphics.__context; renderer.__initializeElement(shape,shape.__canvas); } } else { openfl_display__$internal_DOMShape.clear(shape,renderer); } } if(shape.__canvas != null) { renderer.__pushMaskObject(shape); var cacheTransform = shape.__renderTransform; shape.__renderTransform = graphics.__worldTransform; if(graphics.__transformDirty) { graphics.__transformDirty = false; shape.__renderTransformChanged = true; } renderer.__updateClip(shape); renderer.__applyStyle(shape,true,true,true); shape.__renderTransform = cacheTransform; renderer.__popMaskObject(shape); } } else { openfl_display__$internal_DOMShape.clear(shape,renderer); } }; var openfl_display__$internal_DOMSimpleButton = function() { }; $hxClasses["openfl.display._internal.DOMSimpleButton"] = openfl_display__$internal_DOMSimpleButton; openfl_display__$internal_DOMSimpleButton.__name__ = "openfl.display._internal.DOMSimpleButton"; openfl_display__$internal_DOMSimpleButton.renderDrawable = function(simpleButton,renderer) { renderer.__pushMaskObject(simpleButton); var previousState = simpleButton.__previousStates.iterator(); while(previousState.hasNext()) { var previousState1 = previousState.next(); renderer.__renderDrawable(previousState1); } simpleButton.__previousStates.set_length(0); if(simpleButton.__currentState != null) { if(simpleButton.__currentState.stage != simpleButton.stage) { simpleButton.__currentState.__setStageReference(simpleButton.stage); } renderer.__renderDrawable(simpleButton.__currentState); } renderer.__popMaskObject(simpleButton); renderer.__renderEvent(simpleButton); }; openfl_display__$internal_DOMSimpleButton.renderDrawableClear = function(simpleButton,renderer) { openfl_display__$internal_DOMDisplayObject.renderDrawableClear(simpleButton,renderer); }; var openfl_display__$internal_DOMTextField = function() { }; $hxClasses["openfl.display._internal.DOMTextField"] = openfl_display__$internal_DOMTextField; openfl_display__$internal_DOMTextField.__name__ = "openfl.display._internal.DOMTextField"; openfl_display__$internal_DOMTextField.clear = function(textField,renderer) { if(textField.__cacheBitmap != null) { openfl_display__$internal_DOMBitmap.clear(textField.__cacheBitmap,renderer); } if(textField.__div != null) { renderer.element.removeChild(textField.__div); textField.__div = null; textField.__style = null; } }; openfl_display__$internal_DOMTextField.measureText = function(textField) { var textEngine = textField.__textEngine; var div = textField.__div; if(div == null) { div = window.document.createElement("div"); var _this_r = new RegExp("\n","g".split("u").join("")); div.innerHTML = textEngine.text.replace(_this_r,"<br>"); div.style.setProperty("font",openfl_text__$internal_TextEngine.getFont(textField.__textFormat),null); div.style.setProperty("pointer-events","none",null); div.style.position = "absolute"; div.style.top = "110%"; window.document.body.appendChild(div); } textEngine.__measuredWidth = div.clientWidth; if(textField.__div == null) { div.style.width = Std.string(textEngine.width - 4) + "px"; } textEngine.__measuredHeight = div.clientHeight; if(textField.__div == null) { window.document.body.removeChild(div); } }; openfl_display__$internal_DOMTextField.render = function(textField,renderer) { var textEngine = textField.__textEngine; if(textField.stage != null && textField.__worldVisible && textField.__renderable) { if(textField.__dirty || textField.__renderTransformChanged || textField.__div == null) { if(textEngine.text != "" || textEngine.background || textEngine.border || textEngine.type == 1) { if(textField.__div == null) { textField.__div = window.document.createElement("div"); renderer.__initializeElement(textField,textField.__div); textField.__style.setProperty("outline","none",null); textField.__div.addEventListener("input",function(event) { event.preventDefault(); if(textField.get_htmlText() != textField.__div.innerHTML) { textField.set_htmlText(textField.__div.innerHTML); var textField1 = textField.__displayAsPassword; textField.__dirty = false; var tmp = textField.get_htmlText(); textField.dispatchEvent(new openfl_events_TextEvent("textInput",false,false,tmp)); } },true); } if(!textEngine.wordWrap) { textField.__style.setProperty("white-space","nowrap",null); } else { textField.__style.setProperty("word-wrap","break-word",null); } textField.__style.setProperty("overflow","hidden",null); if(textEngine.selectable) { textField.__style.setProperty("cursor","text",null); textField.__style.setProperty("-webkit-user-select","text",null); textField.__style.setProperty("-moz-user-select","text",null); textField.__style.setProperty("-ms-user-select","text",null); textField.__style.setProperty("-o-user-select","text",null); } else { textField.__style.setProperty("cursor","inherit",null); } var div = textField.__div; div.contentEditable = textEngine.type == 1; var style = textField.__style; if(textEngine.background) { style.setProperty("background-color","#" + StringTools.hex(textEngine.backgroundColor & 16777215,6),null); } else { style.removeProperty("background-color"); } var w = textEngine.width; var h = textEngine.height; var scale = 1; var unscaledSize = textField.__textFormat.size; var scaledSize = unscaledSize; var t = textField.__renderTransform; if(t.a != 1.0 || t.d != 1.0) { if(t.a == t.d) { scale = t.a; t.a = t.d = 1.0; } else if(t.a > t.d) { scale = t.a; t.d /= t.a; t.a = 1.0; } else { scale = t.d; t.a /= t.d; t.d = 1.0; } scaledSize *= scale; w = Math.ceil(w * scale); h = Math.ceil(h * scale); } textField.__textFormat.size = scaledSize; var text = textEngine.text; var adjustment = 0; if(!textField.__isHTML) { text = StringTools.htmlEscape(text); } else { var matchText = text; while(openfl_display__$internal_DOMTextField.__regexFont.match(matchText)) { var fontText = openfl_display__$internal_DOMTextField.__regexFont.matched(0); var style1 = ""; if(openfl_display__$internal_DOMTextField.__regexFace.match(fontText)) { style1 += "font-family:'" + openfl_display__$internal_DOMTextField.__getAttributeMatch(openfl_display__$internal_DOMTextField.__regexFace) + "';"; } if(openfl_display__$internal_DOMTextField.__regexColor.match(fontText)) { style1 += "color:#" + openfl_display__$internal_DOMTextField.__getAttributeMatch(openfl_display__$internal_DOMTextField.__regexColor) + ";"; } if(openfl_display__$internal_DOMTextField.__regexSize.match(fontText)) { var sizeAttr = openfl_display__$internal_DOMTextField.__getAttributeMatch(openfl_display__$internal_DOMTextField.__regexSize); var firstChar = HxOverrides.cca(sizeAttr,0); var size; adjustment = parseFloat(sizeAttr) * scale; if(firstChar == 43 || firstChar == 45) { size = scaledSize + adjustment; } else { size = adjustment; } style1 += "font-size:" + size + "px;"; } text = StringTools.replace(text,fontText,"<span style='" + style1 + "'>"); matchText = openfl_display__$internal_DOMTextField.__regexFont.matchedRight(); } text = text.replace(openfl_display__$internal_DOMTextField.__regexCloseFont.r,"</span>"); } text = StringTools.replace(text,"<p ","<p style='margin-top:0; margin-bottom:0;' "); var unscaledLeading = textField.__textFormat.leading; textField.__textFormat.leading += adjustment | 0; var _this_r = new RegExp("\r\n","g".split("u").join("")); var tmp1 = text.replace(_this_r,"<br>"); textField.__div.innerHTML = tmp1; var _this_r1 = new RegExp("\n","g".split("u").join("")); var tmp2 = textField.__div.innerHTML.replace(_this_r1,"<br>"); textField.__div.innerHTML = tmp2; var _this_r2 = new RegExp("\r","g".split("u").join("")); var tmp3 = textField.__div.innerHTML.replace(_this_r2,"<br>"); textField.__div.innerHTML = tmp3; style.setProperty("font",openfl_text__$internal_TextEngine.getFont(textField.__textFormat),null); textField.__textFormat.size = unscaledSize; textField.__textFormat.leading = unscaledLeading; style.setProperty("top","3px",null); if(textEngine.border) { style.setProperty("border","solid 1px #" + StringTools.hex(textEngine.borderColor & 16777215,6),null); textField.__renderTransform.translate(-1,-1); textField.__renderTransformChanged = true; textField.__transformDirty = true; } else if(style.border != "") { style.removeProperty("border"); textField.__renderTransformChanged = true; } style.setProperty("color","#" + StringTools.hex(textField.__textFormat.color & 16777215,6),null); style.setProperty("width",w + "px",null); style.setProperty("height",h + "px",null); switch(textField.__textFormat.align) { case 0: style.setProperty("text-align","center",null); break; case 4: style.setProperty("text-align","right",null); break; default: style.setProperty("text-align","left",null); } textField.__dirty = false; } else if(textField.__div != null) { renderer.element.removeChild(textField.__div); textField.__div = null; } } if(textField.__div != null) { var old = renderer.__roundPixels; renderer.__roundPixels = true; renderer.__updateClip(textField); renderer.__applyStyle(textField,true,true,true); renderer.__roundPixels = old; } } else { openfl_display__$internal_DOMTextField.clear(textField,renderer); } }; openfl_display__$internal_DOMTextField.renderDrawable = function(textField,renderer) { textField.__domRender = true; renderer.__updateCacheBitmap(textField,textField.__forceCachedBitmapUpdate); textField.__forceCachedBitmapUpdate = false; textField.__domRender = false; if(textField.__cacheBitmap != null && !textField.__isCacheBitmapRender) { renderer.__renderDrawableClear(textField); textField.__cacheBitmap.stage = textField.stage; var bitmap = textField.__cacheBitmap; if(bitmap.stage != null && bitmap.__worldVisible && bitmap.__renderable && bitmap.__bitmapData != null && bitmap.__bitmapData.__isValid && bitmap.__bitmapData.readable) { renderer.__pushMaskObject(bitmap); if(bitmap.__bitmapData.image.buffer.__srcImage != null) { openfl_display__$internal_DOMBitmap.renderImage(bitmap,renderer); } else { openfl_display__$internal_DOMBitmap.renderCanvas(bitmap,renderer); } renderer.__popMaskObject(bitmap); } else { openfl_display__$internal_DOMBitmap.clear(bitmap,renderer); } } else { if(textField.__renderedOnCanvasWhileOnDOM) { textField.__renderedOnCanvasWhileOnDOM = false; if(textField.__isHTML && textField.__rawHtmlText != null) { textField.__updateText(textField.__rawHtmlText); textField.__dirty = true; textField.__layoutDirty = true; if(!textField.__renderDirty) { textField.__renderDirty = true; textField.__setParentRenderDirty(); } } } var textField1 = textField; var textEngine = textField1.__textEngine; if(textField1.stage != null && textField1.__worldVisible && textField1.__renderable) { if(textField1.__dirty || textField1.__renderTransformChanged || textField1.__div == null) { if(textEngine.text != "" || textEngine.background || textEngine.border || textEngine.type == 1) { if(textField1.__div == null) { textField1.__div = window.document.createElement("div"); renderer.__initializeElement(textField1,textField1.__div); textField1.__style.setProperty("outline","none",null); textField1.__div.addEventListener("input",function(event) { event.preventDefault(); if(textField1.get_htmlText() != textField1.__div.innerHTML) { textField1.set_htmlText(textField1.__div.innerHTML); var textField2 = textField1.__displayAsPassword; textField1.__dirty = false; var tmp = textField1.get_htmlText(); textField1.dispatchEvent(new openfl_events_TextEvent("textInput",false,false,tmp)); } },true); } if(!textEngine.wordWrap) { textField1.__style.setProperty("white-space","nowrap",null); } else { textField1.__style.setProperty("word-wrap","break-word",null); } textField1.__style.setProperty("overflow","hidden",null); if(textEngine.selectable) { textField1.__style.setProperty("cursor","text",null); textField1.__style.setProperty("-webkit-user-select","text",null); textField1.__style.setProperty("-moz-user-select","text",null); textField1.__style.setProperty("-ms-user-select","text",null); textField1.__style.setProperty("-o-user-select","text",null); } else { textField1.__style.setProperty("cursor","inherit",null); } var div = textField1.__div; div.contentEditable = textEngine.type == 1; var style = textField1.__style; if(textEngine.background) { style.setProperty("background-color","#" + StringTools.hex(textEngine.backgroundColor & 16777215,6),null); } else { style.removeProperty("background-color"); } var w = textEngine.width; var h = textEngine.height; var scale = 1; var unscaledSize = textField1.__textFormat.size; var scaledSize = unscaledSize; var t = textField1.__renderTransform; if(t.a != 1.0 || t.d != 1.0) { if(t.a == t.d) { scale = t.a; t.a = t.d = 1.0; } else if(t.a > t.d) { scale = t.a; t.d /= t.a; t.a = 1.0; } else { scale = t.d; t.a /= t.d; t.d = 1.0; } scaledSize *= scale; w = Math.ceil(w * scale); h = Math.ceil(h * scale); } textField1.__textFormat.size = scaledSize; var text = textEngine.text; var adjustment = 0; if(!textField1.__isHTML) { text = StringTools.htmlEscape(text); } else { var matchText = text; while(openfl_display__$internal_DOMTextField.__regexFont.match(matchText)) { var fontText = openfl_display__$internal_DOMTextField.__regexFont.matched(0); var style1 = ""; if(openfl_display__$internal_DOMTextField.__regexFace.match(fontText)) { style1 += "font-family:'" + openfl_display__$internal_DOMTextField.__getAttributeMatch(openfl_display__$internal_DOMTextField.__regexFace) + "';"; } if(openfl_display__$internal_DOMTextField.__regexColor.match(fontText)) { style1 += "color:#" + openfl_display__$internal_DOMTextField.__getAttributeMatch(openfl_display__$internal_DOMTextField.__regexColor) + ";"; } if(openfl_display__$internal_DOMTextField.__regexSize.match(fontText)) { var sizeAttr = openfl_display__$internal_DOMTextField.__getAttributeMatch(openfl_display__$internal_DOMTextField.__regexSize); var firstChar = HxOverrides.cca(sizeAttr,0); var size; adjustment = parseFloat(sizeAttr) * scale; if(firstChar == 43 || firstChar == 45) { size = scaledSize + adjustment; } else { size = adjustment; } style1 += "font-size:" + size + "px;"; } text = StringTools.replace(text,fontText,"<span style='" + style1 + "'>"); matchText = openfl_display__$internal_DOMTextField.__regexFont.matchedRight(); } text = text.replace(openfl_display__$internal_DOMTextField.__regexCloseFont.r,"</span>"); } text = StringTools.replace(text,"<p ","<p style='margin-top:0; margin-bottom:0;' "); var unscaledLeading = textField1.__textFormat.leading; textField1.__textFormat.leading += adjustment | 0; var _this_r = new RegExp("\r\n","g".split("u").join("")); var tmp1 = text.replace(_this_r,"<br>"); textField1.__div.innerHTML = tmp1; var _this_r1 = new RegExp("\n","g".split("u").join("")); var tmp2 = textField1.__div.innerHTML.replace(_this_r1,"<br>"); textField1.__div.innerHTML = tmp2; var _this_r2 = new RegExp("\r","g".split("u").join("")); var tmp3 = textField1.__div.innerHTML.replace(_this_r2,"<br>"); textField1.__div.innerHTML = tmp3; style.setProperty("font",openfl_text__$internal_TextEngine.getFont(textField1.__textFormat),null); textField1.__textFormat.size = unscaledSize; textField1.__textFormat.leading = unscaledLeading; style.setProperty("top","3px",null); if(textEngine.border) { style.setProperty("border","solid 1px #" + StringTools.hex(textEngine.borderColor & 16777215,6),null); textField1.__renderTransform.translate(-1,-1); textField1.__renderTransformChanged = true; textField1.__transformDirty = true; } else if(style.border != "") { style.removeProperty("border"); textField1.__renderTransformChanged = true; } style.setProperty("color","#" + StringTools.hex(textField1.__textFormat.color & 16777215,6),null); style.setProperty("width",w + "px",null); style.setProperty("height",h + "px",null); switch(textField1.__textFormat.align) { case 0: style.setProperty("text-align","center",null); break; case 4: style.setProperty("text-align","right",null); break; default: style.setProperty("text-align","left",null); } textField1.__dirty = false; } else if(textField1.__div != null) { renderer.element.removeChild(textField1.__div); textField1.__div = null; } } if(textField1.__div != null) { var old = renderer.__roundPixels; renderer.__roundPixels = true; renderer.__updateClip(textField1); renderer.__applyStyle(textField1,true,true,true); renderer.__roundPixels = old; } } else { openfl_display__$internal_DOMTextField.clear(textField1,renderer); } } renderer.__renderEvent(textField); }; openfl_display__$internal_DOMTextField.renderDrawableClear = function(textField,renderer) { openfl_display__$internal_DOMTextField.clear(textField,renderer); }; openfl_display__$internal_DOMTextField.__getAttributeMatch = function(regex) { if(regex.matched(2) != null) { return regex.matched(2); } else { return regex.matched(3); } }; var openfl_display__$internal_DOMTilemap = function() { }; $hxClasses["openfl.display._internal.DOMTilemap"] = openfl_display__$internal_DOMTilemap; openfl_display__$internal_DOMTilemap.__name__ = "openfl.display._internal.DOMTilemap"; openfl_display__$internal_DOMTilemap.clear = function(tilemap,renderer) { if(tilemap.__cacheBitmap != null) { openfl_display__$internal_DOMBitmap.clear(tilemap.__cacheBitmap,renderer); } if(tilemap.__canvas != null) { renderer.element.removeChild(tilemap.__canvas); tilemap.__canvas = null; tilemap.__style = null; } }; openfl_display__$internal_DOMTilemap.render = function(tilemap,renderer) { if(tilemap.stage != null && tilemap.__worldVisible && tilemap.__renderable && tilemap.__group.__tiles.length > 0) { if(tilemap.__canvas == null) { tilemap.__canvas = window.document.createElement("canvas"); tilemap.__context = tilemap.__canvas.getContext("2d"); renderer.__initializeElement(tilemap,tilemap.__canvas); } tilemap.__canvas.width = tilemap.__width; tilemap.__canvas.height = tilemap.__height; renderer.__canvasRenderer.context = tilemap.__context; var renderer1 = renderer.__canvasRenderer; if(!(!tilemap.__renderable || tilemap.__group.__tiles.length == 0)) { var alpha = renderer1.__getAlpha(tilemap.__worldAlpha); if(!(alpha <= 0)) { var context = renderer1.context; renderer1.__setBlendMode(tilemap.__worldBlendMode); renderer1.__pushMaskObject(tilemap); var rect = openfl_geom_Rectangle.__pool.get(); rect.setTo(0,0,tilemap.__width,tilemap.__height); renderer1.__pushMaskRect(rect,tilemap.__renderTransform); if(!renderer1.__allowSmoothing || !tilemap.smoothing) { context.imageSmoothingEnabled = false; } openfl_display__$internal_CanvasTilemap.renderTileContainer(tilemap.__group,renderer1,tilemap.__renderTransform,tilemap.__tileset,renderer1.__allowSmoothing && tilemap.smoothing,tilemap.tileAlphaEnabled,alpha,tilemap.tileBlendModeEnabled,tilemap.__worldBlendMode,null,null,rect); if(!renderer1.__allowSmoothing || !tilemap.smoothing) { context.imageSmoothingEnabled = true; } renderer1.__popMaskRect(); renderer1.__popMaskObject(tilemap); openfl_geom_Rectangle.__pool.release(rect); } } renderer.__canvasRenderer.context = null; renderer.__updateClip(tilemap); renderer.__applyStyle(tilemap,true,false,true); } else { openfl_display__$internal_DOMTilemap.clear(tilemap,renderer); } }; openfl_display__$internal_DOMTilemap.renderDrawable = function(tilemap,renderer) { renderer.__updateCacheBitmap(tilemap,false); if(tilemap.__cacheBitmap != null && !tilemap.__isCacheBitmapRender) { renderer.__renderDrawableClear(tilemap); tilemap.__cacheBitmap.stage = tilemap.stage; var bitmap = tilemap.__cacheBitmap; if(bitmap.stage != null && bitmap.__worldVisible && bitmap.__renderable && bitmap.__bitmapData != null && bitmap.__bitmapData.__isValid && bitmap.__bitmapData.readable) { renderer.__pushMaskObject(bitmap); if(bitmap.__bitmapData.image.buffer.__srcImage != null) { openfl_display__$internal_DOMBitmap.renderImage(bitmap,renderer); } else { openfl_display__$internal_DOMBitmap.renderCanvas(bitmap,renderer); } renderer.__popMaskObject(bitmap); } else { openfl_display__$internal_DOMBitmap.clear(bitmap,renderer); } } else { var tmp = tilemap.opaqueBackground != null && !tilemap.__isCacheBitmapRender && tilemap.get_width() > 0 && tilemap.get_height() > 0; var graphics = tilemap.__graphics; if(tilemap.stage != null && tilemap.__worldVisible && tilemap.__renderable && graphics != null) { openfl_display__$internal_CanvasGraphics.render(graphics,renderer.__canvasRenderer); if(graphics.__softwareDirty || tilemap.__worldAlphaChanged || tilemap.__canvas != graphics.__canvas) { if(graphics.__canvas != null) { if(tilemap.__canvas != graphics.__canvas) { if(tilemap.__canvas != null) { renderer.element.removeChild(tilemap.__canvas); } tilemap.__canvas = graphics.__canvas; tilemap.__context = graphics.__context; renderer.__initializeElement(tilemap,tilemap.__canvas); } } else { openfl_display__$internal_DOMShape.clear(tilemap,renderer); } } if(tilemap.__canvas != null) { renderer.__pushMaskObject(tilemap); var cacheTransform = tilemap.__renderTransform; tilemap.__renderTransform = graphics.__worldTransform; if(graphics.__transformDirty) { graphics.__transformDirty = false; tilemap.__renderTransformChanged = true; } renderer.__updateClip(tilemap); renderer.__applyStyle(tilemap,true,true,true); tilemap.__renderTransform = cacheTransform; renderer.__popMaskObject(tilemap); } } else { openfl_display__$internal_DOMShape.clear(tilemap,renderer); } if(tilemap.stage != null && tilemap.__worldVisible && tilemap.__renderable && tilemap.__group.__tiles.length > 0) { if(tilemap.__canvas == null) { tilemap.__canvas = window.document.createElement("canvas"); tilemap.__context = tilemap.__canvas.getContext("2d"); renderer.__initializeElement(tilemap,tilemap.__canvas); } tilemap.__canvas.width = tilemap.__width; tilemap.__canvas.height = tilemap.__height; renderer.__canvasRenderer.context = tilemap.__context; var renderer1 = renderer.__canvasRenderer; if(!(!tilemap.__renderable || tilemap.__group.__tiles.length == 0)) { var alpha = renderer1.__getAlpha(tilemap.__worldAlpha); if(!(alpha <= 0)) { var context = renderer1.context; renderer1.__setBlendMode(tilemap.__worldBlendMode); renderer1.__pushMaskObject(tilemap); var rect = openfl_geom_Rectangle.__pool.get(); rect.setTo(0,0,tilemap.__width,tilemap.__height); renderer1.__pushMaskRect(rect,tilemap.__renderTransform); if(!renderer1.__allowSmoothing || !tilemap.smoothing) { context.imageSmoothingEnabled = false; } openfl_display__$internal_CanvasTilemap.renderTileContainer(tilemap.__group,renderer1,tilemap.__renderTransform,tilemap.__tileset,renderer1.__allowSmoothing && tilemap.smoothing,tilemap.tileAlphaEnabled,alpha,tilemap.tileBlendModeEnabled,tilemap.__worldBlendMode,null,null,rect); if(!renderer1.__allowSmoothing || !tilemap.smoothing) { context.imageSmoothingEnabled = true; } renderer1.__popMaskRect(); renderer1.__popMaskObject(tilemap); openfl_geom_Rectangle.__pool.release(rect); } } renderer.__canvasRenderer.context = null; renderer.__updateClip(tilemap); renderer.__applyStyle(tilemap,true,false,true); } else { openfl_display__$internal_DOMTilemap.clear(tilemap,renderer); } } renderer.__renderEvent(tilemap); }; openfl_display__$internal_DOMTilemap.renderDrawableClear = function(tilemap,renderer) { openfl_display__$internal_DOMTilemap.clear(tilemap,renderer); }; var openfl_display__$internal_DOMVideo = function() { }; $hxClasses["openfl.display._internal.DOMVideo"] = openfl_display__$internal_DOMVideo; openfl_display__$internal_DOMVideo.__name__ = "openfl.display._internal.DOMVideo"; openfl_display__$internal_DOMVideo.clear = function(video,renderer) { if(video.__active) { renderer.element.removeChild(video.__stream.__video); video.__active = false; } }; openfl_display__$internal_DOMVideo.render = function(video,renderer) { if(video.stage != null && video.__stream != null && video.__worldVisible && video.__renderable) { if(!video.__active) { renderer.__initializeElement(video,video.__stream.__video); video.__active = true; video.__dirty = true; } if(video.__dirty) { video.__stream.__video.width = video.__width | 0; video.__stream.__video.height = video.__height | 0; video.__dirty = false; } renderer.__updateClip(video); renderer.__applyStyle(video,true,true,true); } else { openfl_display__$internal_DOMVideo.clear(video,renderer); } }; openfl_display__$internal_DOMVideo.renderDrawable = function(video,renderer) { openfl_display__$internal_DOMVideo.render(video,renderer); renderer.__renderEvent(video); }; openfl_display__$internal_DOMVideo.renderDrawableClear = function(video,renderer) { openfl_display__$internal_DOMDisplayObject.renderDrawableClear(video,renderer); }; var openfl_display__$internal_DrawCommandReader = function(buffer) { this.buffer = buffer; this.bPos = this.iPos = this.fPos = this.oPos = this.ffPos = this.iiPos = this.tsPos = 0; this.prev = openfl_display__$internal_DrawCommandType.UNKNOWN; }; $hxClasses["openfl.display._internal.DrawCommandReader"] = openfl_display__$internal_DrawCommandReader; openfl_display__$internal_DrawCommandReader.__name__ = "openfl.display._internal.DrawCommandReader"; openfl_display__$internal_DrawCommandReader.prototype = { buffer: null ,bPos: null ,iiPos: null ,iPos: null ,ffPos: null ,fPos: null ,oPos: null ,prev: null ,tsPos: null ,advance: function() { switch(this.prev._hx_index) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 13: break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; break; case 21:case 22: break; default: } } ,bool: function(index) { return this.buffer.b[this.bPos + index]; } ,destroy: function() { this.buffer = null; this.reset(); } ,fArr: function(index) { return this.buffer.ff[this.ffPos + index]; } ,float: function(index) { return this.buffer.f[this.fPos + index]; } ,iArr: function(index) { return this.buffer.ii[this.iiPos + index]; } ,int: function(index) { return this.buffer.i[this.iPos + index]; } ,obj: function(index) { return this.buffer.o[this.oPos + index]; } ,readBeginBitmapFill: function() { switch(this.prev._hx_index) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 13: break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; break; case 21:case 22: break; default: } this.prev = openfl_display__$internal_DrawCommandType.BEGIN_BITMAP_FILL; var this1 = this; return this1; } ,readBeginFill: function() { switch(this.prev._hx_index) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 13: break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; break; case 21:case 22: break; default: } this.prev = openfl_display__$internal_DrawCommandType.BEGIN_FILL; var this1 = this; return this1; } ,readBeginGradientFill: function() { switch(this.prev._hx_index) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 13: break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; break; case 21:case 22: break; default: } this.prev = openfl_display__$internal_DrawCommandType.BEGIN_GRADIENT_FILL; var this1 = this; return this1; } ,readBeginShaderFill: function() { switch(this.prev._hx_index) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 13: break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; break; case 21:case 22: break; default: } this.prev = openfl_display__$internal_DrawCommandType.BEGIN_SHADER_FILL; var this1 = this; return this1; } ,readCubicCurveTo: function() { switch(this.prev._hx_index) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 13: break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; break; case 21:case 22: break; default: } this.prev = openfl_display__$internal_DrawCommandType.CUBIC_CURVE_TO; var this1 = this; return this1; } ,readCurveTo: function() { switch(this.prev._hx_index) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 13: break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; break; case 21:case 22: break; default: } this.prev = openfl_display__$internal_DrawCommandType.CURVE_TO; var this1 = this; return this1; } ,readDrawCircle: function() { switch(this.prev._hx_index) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 13: break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; break; case 21:case 22: break; default: } this.prev = openfl_display__$internal_DrawCommandType.DRAW_CIRCLE; var this1 = this; return this1; } ,readDrawEllipse: function() { switch(this.prev._hx_index) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 13: break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; break; case 21:case 22: break; default: } this.prev = openfl_display__$internal_DrawCommandType.DRAW_ELLIPSE; var this1 = this; return this1; } ,readDrawQuads: function() { switch(this.prev._hx_index) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 13: break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; break; case 21:case 22: break; default: } this.prev = openfl_display__$internal_DrawCommandType.DRAW_QUADS; var this1 = this; return this1; } ,readDrawRect: function() { switch(this.prev._hx_index) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 13: break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; break; case 21:case 22: break; default: } this.prev = openfl_display__$internal_DrawCommandType.DRAW_RECT; var this1 = this; return this1; } ,readDrawRoundRect: function() { switch(this.prev._hx_index) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 13: break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; break; case 21:case 22: break; default: } this.prev = openfl_display__$internal_DrawCommandType.DRAW_ROUND_RECT; var this1 = this; return this1; } ,readDrawTriangles: function() { switch(this.prev._hx_index) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 13: break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; break; case 21:case 22: break; default: } this.prev = openfl_display__$internal_DrawCommandType.DRAW_TRIANGLES; var this1 = this; return this1; } ,readEndFill: function() { switch(this.prev._hx_index) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 13: break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; break; case 21:case 22: break; default: } this.prev = openfl_display__$internal_DrawCommandType.END_FILL; var this1 = this; return this1; } ,readLineBitmapStyle: function() { switch(this.prev._hx_index) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 13: break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; break; case 21:case 22: break; default: } this.prev = openfl_display__$internal_DrawCommandType.LINE_BITMAP_STYLE; var this1 = this; return this1; } ,readLineGradientStyle: function() { switch(this.prev._hx_index) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 13: break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; break; case 21:case 22: break; default: } this.prev = openfl_display__$internal_DrawCommandType.LINE_GRADIENT_STYLE; var this1 = this; return this1; } ,readLineStyle: function() { switch(this.prev._hx_index) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 13: break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; break; case 21:case 22: break; default: } this.prev = openfl_display__$internal_DrawCommandType.LINE_STYLE; var this1 = this; return this1; } ,readLineTo: function() { switch(this.prev._hx_index) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 13: break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; break; case 21:case 22: break; default: } this.prev = openfl_display__$internal_DrawCommandType.LINE_TO; var this1 = this; return this1; } ,readMoveTo: function() { switch(this.prev._hx_index) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 13: break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; break; case 21:case 22: break; default: } this.prev = openfl_display__$internal_DrawCommandType.MOVE_TO; var this1 = this; return this1; } ,readOverrideBlendMode: function() { switch(this.prev._hx_index) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 13: break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; break; case 21:case 22: break; default: } this.prev = openfl_display__$internal_DrawCommandType.OVERRIDE_BLEND_MODE; var this1 = this; return this1; } ,readOverrideMatrix: function() { switch(this.prev._hx_index) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 13: break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; break; case 21:case 22: break; default: } this.prev = openfl_display__$internal_DrawCommandType.OVERRIDE_MATRIX; var this1 = this; return this1; } ,readWindingEvenOdd: function() { switch(this.prev._hx_index) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 13: break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; break; case 21:case 22: break; default: } this.prev = openfl_display__$internal_DrawCommandType.WINDING_EVEN_ODD; var this1 = this; return this1; } ,readWindingNonZero: function() { switch(this.prev._hx_index) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 13: break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; break; case 21:case 22: break; default: } this.prev = openfl_display__$internal_DrawCommandType.WINDING_NON_ZERO; var this1 = this; return this1; } ,reset: function() { this.bPos = this.iPos = this.fPos = this.oPos = this.ffPos = this.iiPos = this.tsPos = 0; } ,skip: function(type) { switch(this.prev._hx_index) { case 0: this.oPos += 2; this.bPos += 2; break; case 1: this.iPos += 1; this.fPos += 1; break; case 2: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 3: this.oPos += 1; break; case 4: this.fPos += 6; break; case 5: this.fPos += 4; break; case 6: this.fPos += 3; break; case 7: this.fPos += 4; break; case 8: this.oPos += 3; break; case 9: this.fPos += 4; break; case 10: this.fPos += 5; this.oPos += 1; break; case 12: this.oPos += 4; break; case 13: break; case 14: this.oPos += 2; this.bPos += 2; break; case 15: this.oPos += 4; this.iiPos += 2; this.ffPos += 1; this.fPos += 1; break; case 16: this.oPos += 4; this.iPos += 1; this.fPos += 2; this.bPos += 1; break; case 17: this.fPos += 2; break; case 18: this.fPos += 2; break; case 19: this.oPos += 1; break; case 20: this.oPos += 1; break; case 21:case 22: break; default: } this.prev = type; } ,__class__: openfl_display__$internal_DrawCommandReader }; var openfl_display__$internal__$DrawCommandReader_BeginBitmapFillView_$Impl_$ = {}; $hxClasses["openfl.display._internal._DrawCommandReader.BeginBitmapFillView_Impl_"] = openfl_display__$internal__$DrawCommandReader_BeginBitmapFillView_$Impl_$; openfl_display__$internal__$DrawCommandReader_BeginBitmapFillView_$Impl_$.__name__ = "openfl.display._internal._DrawCommandReader.BeginBitmapFillView_Impl_"; openfl_display__$internal__$DrawCommandReader_BeginBitmapFillView_$Impl_$.__properties__ = {get_smooth:"get_smooth",get_repeat:"get_repeat",get_matrix:"get_matrix",get_bitmap:"get_bitmap"}; openfl_display__$internal__$DrawCommandReader_BeginBitmapFillView_$Impl_$._new = function(d) { var this1 = d; return this1; }; openfl_display__$internal__$DrawCommandReader_BeginBitmapFillView_$Impl_$.get_bitmap = function(this1) { return this1.buffer.o[this1.oPos]; }; openfl_display__$internal__$DrawCommandReader_BeginBitmapFillView_$Impl_$.get_matrix = function(this1) { return this1.buffer.o[this1.oPos + 1]; }; openfl_display__$internal__$DrawCommandReader_BeginBitmapFillView_$Impl_$.get_repeat = function(this1) { return this1.buffer.b[this1.bPos]; }; openfl_display__$internal__$DrawCommandReader_BeginBitmapFillView_$Impl_$.get_smooth = function(this1) { return this1.buffer.b[this1.bPos + 1]; }; var openfl_display__$internal__$DrawCommandReader_BeginFillView_$Impl_$ = {}; $hxClasses["openfl.display._internal._DrawCommandReader.BeginFillView_Impl_"] = openfl_display__$internal__$DrawCommandReader_BeginFillView_$Impl_$; openfl_display__$internal__$DrawCommandReader_BeginFillView_$Impl_$.__name__ = "openfl.display._internal._DrawCommandReader.BeginFillView_Impl_"; openfl_display__$internal__$DrawCommandReader_BeginFillView_$Impl_$.__properties__ = {get_alpha:"get_alpha",get_color:"get_color"}; openfl_display__$internal__$DrawCommandReader_BeginFillView_$Impl_$._new = function(d) { var this1 = d; return this1; }; openfl_display__$internal__$DrawCommandReader_BeginFillView_$Impl_$.get_color = function(this1) { return this1.buffer.i[this1.iPos]; }; openfl_display__$internal__$DrawCommandReader_BeginFillView_$Impl_$.get_alpha = function(this1) { return this1.buffer.f[this1.fPos]; }; var openfl_display__$internal__$DrawCommandReader_BeginGradientFillView_$Impl_$ = {}; $hxClasses["openfl.display._internal._DrawCommandReader.BeginGradientFillView_Impl_"] = openfl_display__$internal__$DrawCommandReader_BeginGradientFillView_$Impl_$; openfl_display__$internal__$DrawCommandReader_BeginGradientFillView_$Impl_$.__name__ = "openfl.display._internal._DrawCommandReader.BeginGradientFillView_Impl_"; openfl_display__$internal__$DrawCommandReader_BeginGradientFillView_$Impl_$.__properties__ = {get_focalPointRatio:"get_focalPointRatio",get_interpolationMethod:"get_interpolationMethod",get_spreadMethod:"get_spreadMethod",get_matrix:"get_matrix",get_ratios:"get_ratios",get_alphas:"get_alphas",get_colors:"get_colors",get_type:"get_type"}; openfl_display__$internal__$DrawCommandReader_BeginGradientFillView_$Impl_$._new = function(d) { var this1 = d; return this1; }; openfl_display__$internal__$DrawCommandReader_BeginGradientFillView_$Impl_$.get_type = function(this1) { return this1.buffer.o[this1.oPos]; }; openfl_display__$internal__$DrawCommandReader_BeginGradientFillView_$Impl_$.get_colors = function(this1) { return this1.buffer.ii[this1.iiPos]; }; openfl_display__$internal__$DrawCommandReader_BeginGradientFillView_$Impl_$.get_alphas = function(this1) { return this1.buffer.ff[this1.ffPos]; }; openfl_display__$internal__$DrawCommandReader_BeginGradientFillView_$Impl_$.get_ratios = function(this1) { return this1.buffer.ii[this1.iiPos + 1]; }; openfl_display__$internal__$DrawCommandReader_BeginGradientFillView_$Impl_$.get_matrix = function(this1) { return this1.buffer.o[this1.oPos + 1]; }; openfl_display__$internal__$DrawCommandReader_BeginGradientFillView_$Impl_$.get_spreadMethod = function(this1) { return this1.buffer.o[this1.oPos + 2]; }; openfl_display__$internal__$DrawCommandReader_BeginGradientFillView_$Impl_$.get_interpolationMethod = function(this1) { return this1.buffer.o[this1.oPos + 3]; }; openfl_display__$internal__$DrawCommandReader_BeginGradientFillView_$Impl_$.get_focalPointRatio = function(this1) { return this1.buffer.f[this1.fPos]; }; var openfl_display__$internal__$DrawCommandReader_BeginShaderFillView_$Impl_$ = {}; $hxClasses["openfl.display._internal._DrawCommandReader.BeginShaderFillView_Impl_"] = openfl_display__$internal__$DrawCommandReader_BeginShaderFillView_$Impl_$; openfl_display__$internal__$DrawCommandReader_BeginShaderFillView_$Impl_$.__name__ = "openfl.display._internal._DrawCommandReader.BeginShaderFillView_Impl_"; openfl_display__$internal__$DrawCommandReader_BeginShaderFillView_$Impl_$.__properties__ = {get_shaderBuffer:"get_shaderBuffer"}; openfl_display__$internal__$DrawCommandReader_BeginShaderFillView_$Impl_$._new = function(d) { var this1 = d; return this1; }; openfl_display__$internal__$DrawCommandReader_BeginShaderFillView_$Impl_$.get_shaderBuffer = function(this1) { return this1.buffer.o[this1.oPos]; }; var openfl_display__$internal__$DrawCommandReader_CubicCurveToView_$Impl_$ = {}; $hxClasses["openfl.display._internal._DrawCommandReader.CubicCurveToView_Impl_"] = openfl_display__$internal__$DrawCommandReader_CubicCurveToView_$Impl_$; openfl_display__$internal__$DrawCommandReader_CubicCurveToView_$Impl_$.__name__ = "openfl.display._internal._DrawCommandReader.CubicCurveToView_Impl_"; openfl_display__$internal__$DrawCommandReader_CubicCurveToView_$Impl_$.__properties__ = {get_anchorY:"get_anchorY",get_anchorX:"get_anchorX",get_controlY2:"get_controlY2",get_controlX2:"get_controlX2",get_controlY1:"get_controlY1",get_controlX1:"get_controlX1"}; openfl_display__$internal__$DrawCommandReader_CubicCurveToView_$Impl_$._new = function(d) { var this1 = d; return this1; }; openfl_display__$internal__$DrawCommandReader_CubicCurveToView_$Impl_$.get_controlX1 = function(this1) { return this1.buffer.f[this1.fPos]; }; openfl_display__$internal__$DrawCommandReader_CubicCurveToView_$Impl_$.get_controlY1 = function(this1) { return this1.buffer.f[this1.fPos + 1]; }; openfl_display__$internal__$DrawCommandReader_CubicCurveToView_$Impl_$.get_controlX2 = function(this1) { return this1.buffer.f[this1.fPos + 2]; }; openfl_display__$internal__$DrawCommandReader_CubicCurveToView_$Impl_$.get_controlY2 = function(this1) { return this1.buffer.f[this1.fPos + 3]; }; openfl_display__$internal__$DrawCommandReader_CubicCurveToView_$Impl_$.get_anchorX = function(this1) { return this1.buffer.f[this1.fPos + 4]; }; openfl_display__$internal__$DrawCommandReader_CubicCurveToView_$Impl_$.get_anchorY = function(this1) { return this1.buffer.f[this1.fPos + 5]; }; var openfl_display__$internal__$DrawCommandReader_CurveToView_$Impl_$ = {}; $hxClasses["openfl.display._internal._DrawCommandReader.CurveToView_Impl_"] = openfl_display__$internal__$DrawCommandReader_CurveToView_$Impl_$; openfl_display__$internal__$DrawCommandReader_CurveToView_$Impl_$.__name__ = "openfl.display._internal._DrawCommandReader.CurveToView_Impl_"; openfl_display__$internal__$DrawCommandReader_CurveToView_$Impl_$.__properties__ = {get_anchorY:"get_anchorY",get_anchorX:"get_anchorX",get_controlY:"get_controlY",get_controlX:"get_controlX"}; openfl_display__$internal__$DrawCommandReader_CurveToView_$Impl_$._new = function(d) { var this1 = d; return this1; }; openfl_display__$internal__$DrawCommandReader_CurveToView_$Impl_$.get_controlX = function(this1) { return this1.buffer.f[this1.fPos]; }; openfl_display__$internal__$DrawCommandReader_CurveToView_$Impl_$.get_controlY = function(this1) { return this1.buffer.f[this1.fPos + 1]; }; openfl_display__$internal__$DrawCommandReader_CurveToView_$Impl_$.get_anchorX = function(this1) { return this1.buffer.f[this1.fPos + 2]; }; openfl_display__$internal__$DrawCommandReader_CurveToView_$Impl_$.get_anchorY = function(this1) { return this1.buffer.f[this1.fPos + 3]; }; var openfl_display__$internal__$DrawCommandReader_DrawCircleView_$Impl_$ = {}; $hxClasses["openfl.display._internal._DrawCommandReader.DrawCircleView_Impl_"] = openfl_display__$internal__$DrawCommandReader_DrawCircleView_$Impl_$; openfl_display__$internal__$DrawCommandReader_DrawCircleView_$Impl_$.__name__ = "openfl.display._internal._DrawCommandReader.DrawCircleView_Impl_"; openfl_display__$internal__$DrawCommandReader_DrawCircleView_$Impl_$.__properties__ = {get_radius:"get_radius",get_y:"get_y",get_x:"get_x"}; openfl_display__$internal__$DrawCommandReader_DrawCircleView_$Impl_$._new = function(d) { var this1 = d; return this1; }; openfl_display__$internal__$DrawCommandReader_DrawCircleView_$Impl_$.get_x = function(this1) { return this1.buffer.f[this1.fPos]; }; openfl_display__$internal__$DrawCommandReader_DrawCircleView_$Impl_$.get_y = function(this1) { return this1.buffer.f[this1.fPos + 1]; }; openfl_display__$internal__$DrawCommandReader_DrawCircleView_$Impl_$.get_radius = function(this1) { return this1.buffer.f[this1.fPos + 2]; }; var openfl_display__$internal__$DrawCommandReader_DrawEllipseView_$Impl_$ = {}; $hxClasses["openfl.display._internal._DrawCommandReader.DrawEllipseView_Impl_"] = openfl_display__$internal__$DrawCommandReader_DrawEllipseView_$Impl_$; openfl_display__$internal__$DrawCommandReader_DrawEllipseView_$Impl_$.__name__ = "openfl.display._internal._DrawCommandReader.DrawEllipseView_Impl_"; openfl_display__$internal__$DrawCommandReader_DrawEllipseView_$Impl_$.__properties__ = {get_height:"get_height",get_width:"get_width",get_y:"get_y",get_x:"get_x"}; openfl_display__$internal__$DrawCommandReader_DrawEllipseView_$Impl_$._new = function(d) { var this1 = d; return this1; }; openfl_display__$internal__$DrawCommandReader_DrawEllipseView_$Impl_$.get_x = function(this1) { return this1.buffer.f[this1.fPos]; }; openfl_display__$internal__$DrawCommandReader_DrawEllipseView_$Impl_$.get_y = function(this1) { return this1.buffer.f[this1.fPos + 1]; }; openfl_display__$internal__$DrawCommandReader_DrawEllipseView_$Impl_$.get_width = function(this1) { return this1.buffer.f[this1.fPos + 2]; }; openfl_display__$internal__$DrawCommandReader_DrawEllipseView_$Impl_$.get_height = function(this1) { return this1.buffer.f[this1.fPos + 3]; }; var openfl_display__$internal__$DrawCommandReader_DrawQuadsView_$Impl_$ = {}; $hxClasses["openfl.display._internal._DrawCommandReader.DrawQuadsView_Impl_"] = openfl_display__$internal__$DrawCommandReader_DrawQuadsView_$Impl_$; openfl_display__$internal__$DrawCommandReader_DrawQuadsView_$Impl_$.__name__ = "openfl.display._internal._DrawCommandReader.DrawQuadsView_Impl_"; openfl_display__$internal__$DrawCommandReader_DrawQuadsView_$Impl_$.__properties__ = {get_transforms:"get_transforms",get_indices:"get_indices",get_rects:"get_rects"}; openfl_display__$internal__$DrawCommandReader_DrawQuadsView_$Impl_$._new = function(d) { var this1 = d; return this1; }; openfl_display__$internal__$DrawCommandReader_DrawQuadsView_$Impl_$.get_rects = function(this1) { return this1.buffer.o[this1.oPos]; }; openfl_display__$internal__$DrawCommandReader_DrawQuadsView_$Impl_$.get_indices = function(this1) { return this1.buffer.o[this1.oPos + 1]; }; openfl_display__$internal__$DrawCommandReader_DrawQuadsView_$Impl_$.get_transforms = function(this1) { return this1.buffer.o[this1.oPos + 2]; }; var openfl_display__$internal__$DrawCommandReader_DrawRectView_$Impl_$ = {}; $hxClasses["openfl.display._internal._DrawCommandReader.DrawRectView_Impl_"] = openfl_display__$internal__$DrawCommandReader_DrawRectView_$Impl_$; openfl_display__$internal__$DrawCommandReader_DrawRectView_$Impl_$.__name__ = "openfl.display._internal._DrawCommandReader.DrawRectView_Impl_"; openfl_display__$internal__$DrawCommandReader_DrawRectView_$Impl_$.__properties__ = {get_height:"get_height",get_width:"get_width",get_y:"get_y",get_x:"get_x"}; openfl_display__$internal__$DrawCommandReader_DrawRectView_$Impl_$._new = function(d) { var this1 = d; return this1; }; openfl_display__$internal__$DrawCommandReader_DrawRectView_$Impl_$.get_x = function(this1) { return this1.buffer.f[this1.fPos]; }; openfl_display__$internal__$DrawCommandReader_DrawRectView_$Impl_$.get_y = function(this1) { return this1.buffer.f[this1.fPos + 1]; }; openfl_display__$internal__$DrawCommandReader_DrawRectView_$Impl_$.get_width = function(this1) { return this1.buffer.f[this1.fPos + 2]; }; openfl_display__$internal__$DrawCommandReader_DrawRectView_$Impl_$.get_height = function(this1) { return this1.buffer.f[this1.fPos + 3]; }; var openfl_display__$internal__$DrawCommandReader_DrawRoundRectView_$Impl_$ = {}; $hxClasses["openfl.display._internal._DrawCommandReader.DrawRoundRectView_Impl_"] = openfl_display__$internal__$DrawCommandReader_DrawRoundRectView_$Impl_$; openfl_display__$internal__$DrawCommandReader_DrawRoundRectView_$Impl_$.__name__ = "openfl.display._internal._DrawCommandReader.DrawRoundRectView_Impl_"; openfl_display__$internal__$DrawCommandReader_DrawRoundRectView_$Impl_$.__properties__ = {get_ellipseHeight:"get_ellipseHeight",get_ellipseWidth:"get_ellipseWidth",get_height:"get_height",get_width:"get_width",get_y:"get_y",get_x:"get_x"}; openfl_display__$internal__$DrawCommandReader_DrawRoundRectView_$Impl_$._new = function(d) { var this1 = d; return this1; }; openfl_display__$internal__$DrawCommandReader_DrawRoundRectView_$Impl_$.get_x = function(this1) { return this1.buffer.f[this1.fPos]; }; openfl_display__$internal__$DrawCommandReader_DrawRoundRectView_$Impl_$.get_y = function(this1) { return this1.buffer.f[this1.fPos + 1]; }; openfl_display__$internal__$DrawCommandReader_DrawRoundRectView_$Impl_$.get_width = function(this1) { return this1.buffer.f[this1.fPos + 2]; }; openfl_display__$internal__$DrawCommandReader_DrawRoundRectView_$Impl_$.get_height = function(this1) { return this1.buffer.f[this1.fPos + 3]; }; openfl_display__$internal__$DrawCommandReader_DrawRoundRectView_$Impl_$.get_ellipseWidth = function(this1) { return this1.buffer.f[this1.fPos + 4]; }; openfl_display__$internal__$DrawCommandReader_DrawRoundRectView_$Impl_$.get_ellipseHeight = function(this1) { return this1.buffer.o[this1.oPos]; }; var openfl_display__$internal__$DrawCommandReader_DrawTrianglesView_$Impl_$ = {}; $hxClasses["openfl.display._internal._DrawCommandReader.DrawTrianglesView_Impl_"] = openfl_display__$internal__$DrawCommandReader_DrawTrianglesView_$Impl_$; openfl_display__$internal__$DrawCommandReader_DrawTrianglesView_$Impl_$.__name__ = "openfl.display._internal._DrawCommandReader.DrawTrianglesView_Impl_"; openfl_display__$internal__$DrawCommandReader_DrawTrianglesView_$Impl_$.__properties__ = {get_culling:"get_culling",get_uvtData:"get_uvtData",get_indices:"get_indices",get_vertices:"get_vertices"}; openfl_display__$internal__$DrawCommandReader_DrawTrianglesView_$Impl_$._new = function(d) { var this1 = d; return this1; }; openfl_display__$internal__$DrawCommandReader_DrawTrianglesView_$Impl_$.get_vertices = function(this1) { return this1.buffer.o[this1.oPos]; }; openfl_display__$internal__$DrawCommandReader_DrawTrianglesView_$Impl_$.get_indices = function(this1) { return this1.buffer.o[this1.oPos + 1]; }; openfl_display__$internal__$DrawCommandReader_DrawTrianglesView_$Impl_$.get_uvtData = function(this1) { return this1.buffer.o[this1.oPos + 2]; }; openfl_display__$internal__$DrawCommandReader_DrawTrianglesView_$Impl_$.get_culling = function(this1) { return this1.buffer.o[this1.oPos + 3]; }; var openfl_display__$internal__$DrawCommandReader_EndFillView_$Impl_$ = {}; $hxClasses["openfl.display._internal._DrawCommandReader.EndFillView_Impl_"] = openfl_display__$internal__$DrawCommandReader_EndFillView_$Impl_$; openfl_display__$internal__$DrawCommandReader_EndFillView_$Impl_$.__name__ = "openfl.display._internal._DrawCommandReader.EndFillView_Impl_"; openfl_display__$internal__$DrawCommandReader_EndFillView_$Impl_$._new = function(d) { var this1 = d; return this1; }; var openfl_display__$internal__$DrawCommandReader_LineBitmapStyleView_$Impl_$ = {}; $hxClasses["openfl.display._internal._DrawCommandReader.LineBitmapStyleView_Impl_"] = openfl_display__$internal__$DrawCommandReader_LineBitmapStyleView_$Impl_$; openfl_display__$internal__$DrawCommandReader_LineBitmapStyleView_$Impl_$.__name__ = "openfl.display._internal._DrawCommandReader.LineBitmapStyleView_Impl_"; openfl_display__$internal__$DrawCommandReader_LineBitmapStyleView_$Impl_$.__properties__ = {get_smooth:"get_smooth",get_repeat:"get_repeat",get_matrix:"get_matrix",get_bitmap:"get_bitmap"}; openfl_display__$internal__$DrawCommandReader_LineBitmapStyleView_$Impl_$._new = function(d) { var this1 = d; return this1; }; openfl_display__$internal__$DrawCommandReader_LineBitmapStyleView_$Impl_$.get_bitmap = function(this1) { return this1.buffer.o[this1.oPos]; }; openfl_display__$internal__$DrawCommandReader_LineBitmapStyleView_$Impl_$.get_matrix = function(this1) { return this1.buffer.o[this1.oPos + 1]; }; openfl_display__$internal__$DrawCommandReader_LineBitmapStyleView_$Impl_$.get_repeat = function(this1) { return this1.buffer.b[this1.bPos]; }; openfl_display__$internal__$DrawCommandReader_LineBitmapStyleView_$Impl_$.get_smooth = function(this1) { return this1.buffer.b[this1.bPos + 1]; }; var openfl_display__$internal__$DrawCommandReader_LineGradientStyleView_$Impl_$ = {}; $hxClasses["openfl.display._internal._DrawCommandReader.LineGradientStyleView_Impl_"] = openfl_display__$internal__$DrawCommandReader_LineGradientStyleView_$Impl_$; openfl_display__$internal__$DrawCommandReader_LineGradientStyleView_$Impl_$.__name__ = "openfl.display._internal._DrawCommandReader.LineGradientStyleView_Impl_"; openfl_display__$internal__$DrawCommandReader_LineGradientStyleView_$Impl_$.__properties__ = {get_focalPointRatio:"get_focalPointRatio",get_interpolationMethod:"get_interpolationMethod",get_spreadMethod:"get_spreadMethod",get_matrix:"get_matrix",get_ratios:"get_ratios",get_alphas:"get_alphas",get_colors:"get_colors",get_type:"get_type"}; openfl_display__$internal__$DrawCommandReader_LineGradientStyleView_$Impl_$._new = function(d) { var this1 = d; return this1; }; openfl_display__$internal__$DrawCommandReader_LineGradientStyleView_$Impl_$.get_type = function(this1) { return this1.buffer.o[this1.oPos]; }; openfl_display__$internal__$DrawCommandReader_LineGradientStyleView_$Impl_$.get_colors = function(this1) { return this1.buffer.ii[this1.iiPos]; }; openfl_display__$internal__$DrawCommandReader_LineGradientStyleView_$Impl_$.get_alphas = function(this1) { return this1.buffer.ff[this1.ffPos]; }; openfl_display__$internal__$DrawCommandReader_LineGradientStyleView_$Impl_$.get_ratios = function(this1) { return this1.buffer.ii[this1.iiPos + 1]; }; openfl_display__$internal__$DrawCommandReader_LineGradientStyleView_$Impl_$.get_matrix = function(this1) { return this1.buffer.o[this1.oPos + 1]; }; openfl_display__$internal__$DrawCommandReader_LineGradientStyleView_$Impl_$.get_spreadMethod = function(this1) { return this1.buffer.o[this1.oPos + 2]; }; openfl_display__$internal__$DrawCommandReader_LineGradientStyleView_$Impl_$.get_interpolationMethod = function(this1) { return this1.buffer.o[this1.oPos + 3]; }; openfl_display__$internal__$DrawCommandReader_LineGradientStyleView_$Impl_$.get_focalPointRatio = function(this1) { return this1.buffer.f[this1.fPos]; }; var openfl_display__$internal__$DrawCommandReader_LineStyleView_$Impl_$ = {}; $hxClasses["openfl.display._internal._DrawCommandReader.LineStyleView_Impl_"] = openfl_display__$internal__$DrawCommandReader_LineStyleView_$Impl_$; openfl_display__$internal__$DrawCommandReader_LineStyleView_$Impl_$.__name__ = "openfl.display._internal._DrawCommandReader.LineStyleView_Impl_"; openfl_display__$internal__$DrawCommandReader_LineStyleView_$Impl_$.__properties__ = {get_miterLimit:"get_miterLimit",get_joints:"get_joints",get_caps:"get_caps",get_scaleMode:"get_scaleMode",get_pixelHinting:"get_pixelHinting",get_alpha:"get_alpha",get_color:"get_color",get_thickness:"get_thickness"}; openfl_display__$internal__$DrawCommandReader_LineStyleView_$Impl_$._new = function(d) { var this1 = d; return this1; }; openfl_display__$internal__$DrawCommandReader_LineStyleView_$Impl_$.get_thickness = function(this1) { return this1.buffer.o[this1.oPos]; }; openfl_display__$internal__$DrawCommandReader_LineStyleView_$Impl_$.get_color = function(this1) { return this1.buffer.i[this1.iPos]; }; openfl_display__$internal__$DrawCommandReader_LineStyleView_$Impl_$.get_alpha = function(this1) { return this1.buffer.f[this1.fPos]; }; openfl_display__$internal__$DrawCommandReader_LineStyleView_$Impl_$.get_pixelHinting = function(this1) { return this1.buffer.b[this1.bPos]; }; openfl_display__$internal__$DrawCommandReader_LineStyleView_$Impl_$.get_scaleMode = function(this1) { return this1.buffer.o[this1.oPos + 1]; }; openfl_display__$internal__$DrawCommandReader_LineStyleView_$Impl_$.get_caps = function(this1) { return this1.buffer.o[this1.oPos + 2]; }; openfl_display__$internal__$DrawCommandReader_LineStyleView_$Impl_$.get_joints = function(this1) { return this1.buffer.o[this1.oPos + 3]; }; openfl_display__$internal__$DrawCommandReader_LineStyleView_$Impl_$.get_miterLimit = function(this1) { return this1.buffer.f[this1.fPos + 1]; }; var openfl_display__$internal__$DrawCommandReader_LineToView_$Impl_$ = {}; $hxClasses["openfl.display._internal._DrawCommandReader.LineToView_Impl_"] = openfl_display__$internal__$DrawCommandReader_LineToView_$Impl_$; openfl_display__$internal__$DrawCommandReader_LineToView_$Impl_$.__name__ = "openfl.display._internal._DrawCommandReader.LineToView_Impl_"; openfl_display__$internal__$DrawCommandReader_LineToView_$Impl_$.__properties__ = {get_y:"get_y",get_x:"get_x"}; openfl_display__$internal__$DrawCommandReader_LineToView_$Impl_$._new = function(d) { var this1 = d; return this1; }; openfl_display__$internal__$DrawCommandReader_LineToView_$Impl_$.get_x = function(this1) { return this1.buffer.f[this1.fPos]; }; openfl_display__$internal__$DrawCommandReader_LineToView_$Impl_$.get_y = function(this1) { return this1.buffer.f[this1.fPos + 1]; }; var openfl_display__$internal__$DrawCommandReader_MoveToView_$Impl_$ = {}; $hxClasses["openfl.display._internal._DrawCommandReader.MoveToView_Impl_"] = openfl_display__$internal__$DrawCommandReader_MoveToView_$Impl_$; openfl_display__$internal__$DrawCommandReader_MoveToView_$Impl_$.__name__ = "openfl.display._internal._DrawCommandReader.MoveToView_Impl_"; openfl_display__$internal__$DrawCommandReader_MoveToView_$Impl_$.__properties__ = {get_y:"get_y",get_x:"get_x"}; openfl_display__$internal__$DrawCommandReader_MoveToView_$Impl_$._new = function(d) { var this1 = d; return this1; }; openfl_display__$internal__$DrawCommandReader_MoveToView_$Impl_$.get_x = function(this1) { return this1.buffer.f[this1.fPos]; }; openfl_display__$internal__$DrawCommandReader_MoveToView_$Impl_$.get_y = function(this1) { return this1.buffer.f[this1.fPos + 1]; }; var openfl_display__$internal__$DrawCommandReader_OverrideBlendModeView_$Impl_$ = {}; $hxClasses["openfl.display._internal._DrawCommandReader.OverrideBlendModeView_Impl_"] = openfl_display__$internal__$DrawCommandReader_OverrideBlendModeView_$Impl_$; openfl_display__$internal__$DrawCommandReader_OverrideBlendModeView_$Impl_$.__name__ = "openfl.display._internal._DrawCommandReader.OverrideBlendModeView_Impl_"; openfl_display__$internal__$DrawCommandReader_OverrideBlendModeView_$Impl_$.__properties__ = {get_blendMode:"get_blendMode"}; openfl_display__$internal__$DrawCommandReader_OverrideBlendModeView_$Impl_$._new = function(d) { var this1 = d; return this1; }; openfl_display__$internal__$DrawCommandReader_OverrideBlendModeView_$Impl_$.get_blendMode = function(this1) { return this1.buffer.o[this1.oPos]; }; var openfl_display__$internal__$DrawCommandReader_OverrideMatrixView_$Impl_$ = {}; $hxClasses["openfl.display._internal._DrawCommandReader.OverrideMatrixView_Impl_"] = openfl_display__$internal__$DrawCommandReader_OverrideMatrixView_$Impl_$; openfl_display__$internal__$DrawCommandReader_OverrideMatrixView_$Impl_$.__name__ = "openfl.display._internal._DrawCommandReader.OverrideMatrixView_Impl_"; openfl_display__$internal__$DrawCommandReader_OverrideMatrixView_$Impl_$.__properties__ = {get_matrix:"get_matrix"}; openfl_display__$internal__$DrawCommandReader_OverrideMatrixView_$Impl_$._new = function(d) { var this1 = d; return this1; }; openfl_display__$internal__$DrawCommandReader_OverrideMatrixView_$Impl_$.get_matrix = function(this1) { return this1.buffer.o[this1.oPos]; }; var openfl_display__$internal__$DrawCommandReader_WindingEvenOddView_$Impl_$ = {}; $hxClasses["openfl.display._internal._DrawCommandReader.WindingEvenOddView_Impl_"] = openfl_display__$internal__$DrawCommandReader_WindingEvenOddView_$Impl_$; openfl_display__$internal__$DrawCommandReader_WindingEvenOddView_$Impl_$.__name__ = "openfl.display._internal._DrawCommandReader.WindingEvenOddView_Impl_"; openfl_display__$internal__$DrawCommandReader_WindingEvenOddView_$Impl_$._new = function(d) { var this1 = d; return this1; }; var openfl_display__$internal__$DrawCommandReader_WindingNonZeroView_$Impl_$ = {}; $hxClasses["openfl.display._internal._DrawCommandReader.WindingNonZeroView_Impl_"] = openfl_display__$internal__$DrawCommandReader_WindingNonZeroView_$Impl_$; openfl_display__$internal__$DrawCommandReader_WindingNonZeroView_$Impl_$.__name__ = "openfl.display._internal._DrawCommandReader.WindingNonZeroView_Impl_"; openfl_display__$internal__$DrawCommandReader_WindingNonZeroView_$Impl_$._new = function(d) { var this1 = d; return this1; }; var openfl_display__$internal_DrawCommandType = $hxEnums["openfl.display._internal.DrawCommandType"] = { __ename__ : "openfl.display._internal.DrawCommandType", __constructs__ : ["BEGIN_BITMAP_FILL","BEGIN_FILL","BEGIN_GRADIENT_FILL","BEGIN_SHADER_FILL","CUBIC_CURVE_TO","CURVE_TO","DRAW_CIRCLE","DRAW_ELLIPSE","DRAW_QUADS","DRAW_RECT","DRAW_ROUND_RECT","DRAW_TILES","DRAW_TRIANGLES","END_FILL","LINE_BITMAP_STYLE","LINE_GRADIENT_STYLE","LINE_STYLE","LINE_TO","MOVE_TO","OVERRIDE_BLEND_MODE","OVERRIDE_MATRIX","WINDING_EVEN_ODD","WINDING_NON_ZERO","UNKNOWN"] ,BEGIN_BITMAP_FILL: {_hx_index:0,__enum__:"openfl.display._internal.DrawCommandType",toString:$estr} ,BEGIN_FILL: {_hx_index:1,__enum__:"openfl.display._internal.DrawCommandType",toString:$estr} ,BEGIN_GRADIENT_FILL: {_hx_index:2,__enum__:"openfl.display._internal.DrawCommandType",toString:$estr} ,BEGIN_SHADER_FILL: {_hx_index:3,__enum__:"openfl.display._internal.DrawCommandType",toString:$estr} ,CUBIC_CURVE_TO: {_hx_index:4,__enum__:"openfl.display._internal.DrawCommandType",toString:$estr} ,CURVE_TO: {_hx_index:5,__enum__:"openfl.display._internal.DrawCommandType",toString:$estr} ,DRAW_CIRCLE: {_hx_index:6,__enum__:"openfl.display._internal.DrawCommandType",toString:$estr} ,DRAW_ELLIPSE: {_hx_index:7,__enum__:"openfl.display._internal.DrawCommandType",toString:$estr} ,DRAW_QUADS: {_hx_index:8,__enum__:"openfl.display._internal.DrawCommandType",toString:$estr} ,DRAW_RECT: {_hx_index:9,__enum__:"openfl.display._internal.DrawCommandType",toString:$estr} ,DRAW_ROUND_RECT: {_hx_index:10,__enum__:"openfl.display._internal.DrawCommandType",toString:$estr} ,DRAW_TILES: {_hx_index:11,__enum__:"openfl.display._internal.DrawCommandType",toString:$estr} ,DRAW_TRIANGLES: {_hx_index:12,__enum__:"openfl.display._internal.DrawCommandType",toString:$estr} ,END_FILL: {_hx_index:13,__enum__:"openfl.display._internal.DrawCommandType",toString:$estr} ,LINE_BITMAP_STYLE: {_hx_index:14,__enum__:"openfl.display._internal.DrawCommandType",toString:$estr} ,LINE_GRADIENT_STYLE: {_hx_index:15,__enum__:"openfl.display._internal.DrawCommandType",toString:$estr} ,LINE_STYLE: {_hx_index:16,__enum__:"openfl.display._internal.DrawCommandType",toString:$estr} ,LINE_TO: {_hx_index:17,__enum__:"openfl.display._internal.DrawCommandType",toString:$estr} ,MOVE_TO: {_hx_index:18,__enum__:"openfl.display._internal.DrawCommandType",toString:$estr} ,OVERRIDE_BLEND_MODE: {_hx_index:19,__enum__:"openfl.display._internal.DrawCommandType",toString:$estr} ,OVERRIDE_MATRIX: {_hx_index:20,__enum__:"openfl.display._internal.DrawCommandType",toString:$estr} ,WINDING_EVEN_ODD: {_hx_index:21,__enum__:"openfl.display._internal.DrawCommandType",toString:$estr} ,WINDING_NON_ZERO: {_hx_index:22,__enum__:"openfl.display._internal.DrawCommandType",toString:$estr} ,UNKNOWN: {_hx_index:23,__enum__:"openfl.display._internal.DrawCommandType",toString:$estr} }; var openfl_display__$internal_FlashRenderer = function() { }; $hxClasses["openfl.display._internal.FlashRenderer"] = openfl_display__$internal_FlashRenderer; openfl_display__$internal_FlashRenderer.__name__ = "openfl.display._internal.FlashRenderer"; openfl_display__$internal_FlashRenderer.instances = null; openfl_display__$internal_FlashRenderer.register = function(renderObject) { if(openfl_display__$internal_FlashRenderer.instances == null) { openfl_display__$internal_FlashRenderer.instances = openfl_utils__$Dictionary_Dictionary_$Impl_$.toObjectMap(null,true); openfl_Lib.get_current().stage.addEventListener("enterFrame",openfl_display__$internal_FlashRenderer.render,false,-2147483648); } openfl_display__$internal_FlashRenderer.instances.set(renderObject,true); }; openfl_display__$internal_FlashRenderer.render = function(_) { var instance = openfl_display__$internal_FlashRenderer.instances.keys(); while(instance.hasNext()) { var instance1 = instance.next(); instance1.__renderFlash(); } }; var openfl_display__$internal_IDisplayObject = function() { }; $hxClasses["openfl.display._internal.IDisplayObject"] = openfl_display__$internal_IDisplayObject; openfl_display__$internal_IDisplayObject.__name__ = "openfl.display._internal.IDisplayObject"; openfl_display__$internal_IDisplayObject.__isInterface__ = true; openfl_display__$internal_IDisplayObject.prototype = { __renderFlash: null ,__class__: openfl_display__$internal_IDisplayObject }; var openfl_display__$internal_FlashTilemap = function() { }; $hxClasses["openfl.display._internal.FlashTilemap"] = openfl_display__$internal_FlashTilemap; openfl_display__$internal_FlashTilemap.__name__ = "openfl.display._internal.FlashTilemap"; openfl_display__$internal_FlashTilemap.render = function(tilemap) { }; openfl_display__$internal_FlashTilemap.renderTileContainer = function(group,bitmapData,parentTransform,defaultTileset,smooth,alphaEnabled,worldAlpha,colorTransformEnabled,defaultColorTransform,blendModeEnabled,defaultBlendMode,cacheBitmapData) { }; var openfl_display__$internal_PerlinNoise = function(seed,octaves,channels,grayScale,falloff,stitch,stitch_threshold) { if(stitch_threshold == null) { stitch_threshold = 0.05; } if(stitch == null) { stitch = false; } openfl_display__$internal_AbstractNoise.call(this,seed,octaves,channels,grayScale,falloff,stitch,stitch_threshold); this.p_perm = []; var _g = 0; while(_g < 512) { var i = _g++; this.p_perm[i] = openfl_display__$internal_PerlinNoise.P[i & 255]; } this.base_factor = 0.03125; this.setSeed(seed); }; $hxClasses["openfl.display._internal.PerlinNoise"] = openfl_display__$internal_PerlinNoise; openfl_display__$internal_PerlinNoise.__name__ = "openfl.display._internal.PerlinNoise"; openfl_display__$internal_PerlinNoise.__super__ = openfl_display__$internal_AbstractNoise; openfl_display__$internal_PerlinNoise.prototype = $extend(openfl_display__$internal_AbstractNoise.prototype,{ p_perm: null ,x_offset: null ,y_offset: null ,z_offset: null ,base_factor: null ,fill: function(bitmap,_scale_x,_scale_y,_scale_z) { var width = bitmap.width; var height = bitmap.height; var octaves = this.octaves; var octaves_frequencies = this.octaves_frequencies; var octaves_persistences = this.octaves_persistences; var isRed = (1 & this.channels) == 1; var isGreen = (2 & this.channels) == 2; var isBlue = (4 & this.channels) == 4; var channels = 0; if(isRed) { ++channels; } if(isGreen) { ++channels; } if(isBlue) { ++channels; } var grayscale = this.grayscale; var stitch_w = this.stitch_threshold * width | 0; var stitch_h = this.stitch_threshold * height | 0; var base_x = _scale_x * this.base_factor + this.x_offset; _scale_y = _scale_y * this.base_factor + this.y_offset; _scale_z = _scale_z * this.base_factor + this.z_offset; var g_offset = 1.0; var b_offset = 2.0; var _g = 0; var _g1 = height; while(_g < _g1) { var py = _g++; _scale_x = base_x; var _g2 = 0; var _g11 = width; while(_g2 < _g11) { var px = _g2++; var color1 = 0.0; var color2 = 0.0; var color3 = 0.0; var _g3 = 0; var _g12 = octaves; while(_g3 < _g12) { var i = _g3++; var frequency = octaves_frequencies[i]; var persistence = octaves_persistences[i]; color1 += this.noise(_scale_x * frequency,_scale_y * frequency,_scale_z * frequency) * persistence; if(!grayscale) { if(1 < channels) { color2 += this.noise((_scale_x + g_offset) * frequency,(_scale_y + g_offset) * frequency,_scale_z * frequency) * persistence; } if(2 < channels) { color3 += this.noise((_scale_x + b_offset) * frequency,(_scale_y + b_offset) * frequency,_scale_z * frequency) * persistence; } } } var color = 0; if(grayscale) { color = this.color(color1,color1,color1); } else if(isRed && isGreen && isBlue) { color = this.color(color1,color2,color3); } else if(isRed && isGreen) { color = this.color(color1,color2,null); } else if(isRed && isBlue) { color = this.color(color1,null,color2); } else if(isGreen && isBlue) { color = this.color(null,color1,color2); } else if(isRed) { color = this.color(color1,null,null); } else if(isGreen) { color = this.color(null,color1,null); } else if(isBlue) { color = this.color(null,null,color1); } if(this.stitch) { color = this.stitching(bitmap,color,px,py,stitch_w,stitch_h,width,height); } bitmap.setPixel32(px,py,color); _scale_x += this.base_factor; } _scale_y += this.base_factor; } } ,noise: function(x,y,z) { var xf = x - x % 1; var yf = y - y % 1; var zf = z - z % 1; x -= xf; y -= yf; z -= zf; var X = (xf | 0) & 255; var Y = (yf | 0) & 255; var Z = (zf | 0) & 255; var u = this.fade(x); var v = this.fade(y); var w = this.fade(z); var A = this.p_perm[X] + Y; var AA = this.p_perm[A] + Z; var AB = this.p_perm[A + 1] + Z; var B = this.p_perm[X + 1] + Y; var BA = this.p_perm[B] + Z; var BB = this.p_perm[B + 1] + Z; var x1 = x - 1; var y1 = y - 1; var z1 = z - 1; var hash = this.p_perm[BB + 1] & 15; var g1 = ((hash & 1) == 0 ? hash < 8 ? x1 : y1 : hash < 8 ? -x1 : -y1) + ((hash & 2) == 0 ? hash < 4 ? y1 : hash == 12 ? x1 : z1 : hash < 4 ? -y1 : hash == 14 ? -x1 : -z1); hash = this.p_perm[AB + 1] & 15; var g2 = ((hash & 1) == 0 ? hash < 8 ? x : y1 : hash < 8 ? -x : -y1) + ((hash & 2) == 0 ? hash < 4 ? y1 : hash == 12 ? x : z1 : hash < 4 ? -y1 : hash == 14 ? -x : -z1); hash = this.p_perm[BA + 1] & 15; var g3 = ((hash & 1) == 0 ? hash < 8 ? x1 : y : hash < 8 ? -x1 : -y) + ((hash & 2) == 0 ? hash < 4 ? y : hash == 12 ? x1 : z1 : hash < 4 ? -y : hash == 14 ? -x1 : -z1); hash = this.p_perm[AA + 1] & 15; var g4 = ((hash & 1) == 0 ? hash < 8 ? x : y : hash < 8 ? -x : -y) + ((hash & 2) == 0 ? hash < 4 ? y : hash == 12 ? x : z1 : hash < 4 ? -y : hash == 14 ? -x : -z1); hash = this.p_perm[BB] & 15; var g5 = ((hash & 1) == 0 ? hash < 8 ? x1 : y1 : hash < 8 ? -x1 : -y1) + ((hash & 2) == 0 ? hash < 4 ? y1 : hash == 12 ? x1 : z : hash < 4 ? -y1 : hash == 14 ? -x1 : -z); hash = this.p_perm[AB] & 15; var g6 = ((hash & 1) == 0 ? hash < 8 ? x : y1 : hash < 8 ? -x : -y1) + ((hash & 2) == 0 ? hash < 4 ? y1 : hash == 12 ? x : z : hash < 4 ? -y1 : hash == 14 ? -x : -z); hash = this.p_perm[BA] & 15; var g7 = ((hash & 1) == 0 ? hash < 8 ? x1 : y : hash < 8 ? -x1 : -y) + ((hash & 2) == 0 ? hash < 4 ? y : hash == 12 ? x1 : z : hash < 4 ? -y : hash == 14 ? -x1 : -z); hash = this.p_perm[AA] & 15; var g8 = ((hash & 1) == 0 ? hash < 8 ? x : y : hash < 8 ? -x : -y) + ((hash & 2) == 0 ? hash < 4 ? y : hash == 12 ? x : z : hash < 4 ? -y : hash == 14 ? -x : -z); g2 += u * (g1 - g2); g4 += u * (g3 - g4); g6 += u * (g5 - g6); g8 += u * (g7 - g8); g4 += v * (g2 - g4); g8 += v * (g6 - g8); return g8 + w * (g4 - g8); } ,setSeed: function(seed) { seed = seed * 16807.0 % 2147483647 | 0; this.x_offset = seed; seed = seed * 16807.0 % 2147483647 | 0; this.y_offset = seed; seed = seed * 16807.0 % 2147483647 | 0; this.z_offset = seed; } ,__class__: openfl_display__$internal_PerlinNoise }); var openfl_display__$internal_SamplerState = function(wrap,filter,mipfilter,lodBias,ignoreSampler,centroid,textureAlpha) { if(textureAlpha == null) { textureAlpha = false; } if(centroid == null) { centroid = false; } if(ignoreSampler == null) { ignoreSampler = false; } if(lodBias == null) { lodBias = 0.0; } if(mipfilter == null) { mipfilter = 2; } if(filter == null) { filter = 5; } if(wrap == null) { wrap = 0; } this.wrap = wrap; this.filter = filter; this.mipfilter = mipfilter; this.lodBias = lodBias; this.ignoreSampler = ignoreSampler; this.centroid = centroid; this.textureAlpha = textureAlpha; }; $hxClasses["openfl.display._internal.SamplerState"] = openfl_display__$internal_SamplerState; openfl_display__$internal_SamplerState.__name__ = "openfl.display._internal.SamplerState"; openfl_display__$internal_SamplerState.prototype = { centroid: null ,filter: null ,ignoreSampler: null ,lodBias: null ,mipfilter: null ,mipmapGenerated: null ,textureAlpha: null ,wrap: null ,clone: function() { var copy = new openfl_display__$internal_SamplerState(this.wrap,this.filter,this.mipfilter,this.lodBias,this.ignoreSampler,this.centroid,this.textureAlpha); copy.mipmapGenerated = this.mipmapGenerated; return copy; } ,copyFrom: function(other) { if(other == null || other.ignoreSampler) { return; } this.wrap = other.wrap; this.filter = other.filter; this.mipfilter = other.mipfilter; this.lodBias = other.lodBias; this.centroid = other.centroid; this.textureAlpha = other.textureAlpha; } ,equals: function(other) { if(other == null) { return false; } if(this.wrap == other.wrap && this.filter == other.filter && this.mipfilter == other.mipfilter && this.lodBias == other.lodBias) { return this.textureAlpha == other.textureAlpha; } else { return false; } } ,__class__: openfl_display__$internal_SamplerState }; var openfl_display__$internal_ShaderBuffer = function() { this.inputRefs = []; this.inputFilter = []; this.inputMipFilter = []; this.inputs = []; this.inputWrap = []; this.overrideIntNames = []; this.overrideIntValues = []; this.overrideFloatNames = []; this.overrideFloatValues = []; this.overrideBoolNames = []; this.overrideBoolValues = []; this.paramLengths = []; this.paramPositions = []; this.paramRefs_Bool = []; this.paramRefs_Float = []; this.paramRefs_Int = []; this.paramTypes = []; }; $hxClasses["openfl.display._internal.ShaderBuffer"] = openfl_display__$internal_ShaderBuffer; openfl_display__$internal_ShaderBuffer.__name__ = "openfl.display._internal.ShaderBuffer"; openfl_display__$internal_ShaderBuffer.prototype = { inputCount: null ,inputRefs: null ,inputFilter: null ,inputMipFilter: null ,inputs: null ,inputWrap: null ,overrideBoolCount: null ,overrideBoolNames: null ,overrideBoolValues: null ,overrideFloatCount: null ,overrideFloatNames: null ,overrideFloatValues: null ,overrideIntCount: null ,overrideIntNames: null ,overrideIntValues: null ,paramBoolCount: null ,paramCount: null ,paramData: null ,paramDataBuffer: null ,paramDataLength: null ,paramFloatCount: null ,paramIntCount: null ,paramLengths: null ,paramPositions: null ,paramRefs_Bool: null ,paramRefs_Float: null ,paramRefs_Int: null ,paramTypes: null ,shader: null ,addBoolOverride: function(name,values) { this.overrideBoolNames[this.overrideBoolCount] = name; this.overrideBoolValues[this.overrideBoolCount] = values; this.overrideBoolCount++; } ,addFloatOverride: function(name,values) { this.overrideFloatNames[this.overrideFloatCount] = name; this.overrideFloatValues[this.overrideFloatCount] = values; this.overrideFloatCount++; } ,addIntOverride: function(name,values) { this.overrideIntNames[this.overrideIntCount] = name; this.overrideIntValues[this.overrideIntCount] = values; this.overrideIntCount++; } ,clearOverride: function() { this.overrideIntCount = 0; this.overrideFloatCount = 0; this.overrideBoolCount = 0; } ,update: function(shader) { this.inputCount = 0; this.overrideIntCount = 0; this.overrideFloatCount = 0; this.overrideBoolCount = 0; this.paramBoolCount = 0; this.paramCount = 0; this.paramDataLength = 0; this.paramFloatCount = 0; this.paramIntCount = 0; this.shader = null; if(shader == null) { return; } shader.__init(); this.inputCount = shader.__inputBitmapData.length; var input; var _g = 0; var _g1 = this.inputCount; while(_g < _g1) { var i = _g++; input = shader.__inputBitmapData[i]; this.inputs[i] = input.input; this.inputFilter[i] = input.filter; this.inputMipFilter[i] = input.mipFilter; this.inputRefs[i] = input; this.inputWrap[i] = input.wrap; } var boolCount = shader.__paramBool.length; var floatCount = shader.__paramFloat.length; var intCount = shader.__paramInt.length; this.paramCount = boolCount + floatCount + intCount; this.paramBoolCount = boolCount; this.paramFloatCount = floatCount; this.paramIntCount = intCount; var length = 0; var p = 0; var param; var _g2 = 0; var _g3 = boolCount; while(_g2 < _g3) { var i1 = _g2++; param = shader.__paramBool[i1]; this.paramPositions[p] = this.paramDataLength; length = param.value != null ? param.value.length : 0; this.paramLengths[p] = length; this.paramDataLength += length; this.paramTypes[p] = 0; this.paramRefs_Bool[i1] = param; ++p; } var param1; var _g4 = 0; var _g5 = floatCount; while(_g4 < _g5) { var i2 = _g4++; param1 = shader.__paramFloat[i2]; this.paramPositions[p] = this.paramDataLength; length = param1.value != null ? param1.value.length : 0; this.paramLengths[p] = length; this.paramDataLength += length; this.paramTypes[p] = 1; this.paramRefs_Float[i2] = param1; ++p; } var param2; var _g6 = 0; var _g7 = intCount; while(_g6 < _g7) { var i3 = _g6++; param2 = shader.__paramInt[i3]; this.paramPositions[p] = this.paramDataLength; length = param2.value != null ? param2.value.length : 0; this.paramLengths[p] = length; this.paramDataLength += length; this.paramTypes[p] = 2; this.paramRefs_Int[i3] = param2; ++p; } if(this.paramDataLength > 0) { if(this.paramData == null) { var elements = this.paramDataLength; var array = null; var vector = null; var view = null; var buffer = null; var len = null; var this1; if(elements != null) { this1 = new Float32Array(elements); } else if(array != null) { this1 = new Float32Array(array); } else if(vector != null) { this1 = new Float32Array(vector.__array); } else if(view != null) { this1 = new Float32Array(view); } else if(buffer != null) { if(len == null) { this1 = new Float32Array(buffer,0); } else { this1 = new Float32Array(buffer,0,len); } } else { this1 = null; } this.paramData = this1; } else if(this.paramDataLength > this.paramData.length) { var elements1 = this.paramDataLength; var array1 = null; var vector1 = null; var view1 = null; var buffer1 = null; var len1 = null; var this2; if(elements1 != null) { this2 = new Float32Array(elements1); } else if(array1 != null) { this2 = new Float32Array(array1); } else if(vector1 != null) { this2 = new Float32Array(vector1.__array); } else if(view1 != null) { this2 = new Float32Array(view1); } else if(buffer1 != null) { if(len1 == null) { this2 = new Float32Array(buffer1,0); } else { this2 = new Float32Array(buffer1,0,len1); } } else { this2 = null; } var data = this2; data.set(this.paramData); this.paramData = data; } } var boolIndex = 0; var floatIndex = 0; var intIndex = 0; var paramPosition = 0; var boolParam; var floatParam; var intParam; var length1; var _g8 = 0; var _g9 = this.paramCount; while(_g8 < _g9) { var i4 = _g8++; length1 = this.paramLengths[i4]; if(i4 < boolCount) { boolParam = this.paramRefs_Bool[boolIndex]; ++boolIndex; var _g81 = 0; var _g91 = length1; while(_g81 < _g91) { var j = _g81++; this.paramData[paramPosition] = boolParam.value[j] ? 1 : 0; ++paramPosition; } } else if(i4 < boolCount + floatCount) { floatParam = this.paramRefs_Float[floatIndex]; ++floatIndex; var _g82 = 0; var _g92 = length1; while(_g82 < _g92) { var j1 = _g82++; this.paramData[paramPosition] = floatParam.value[j1]; ++paramPosition; } } else { intParam = this.paramRefs_Int[intIndex]; ++intIndex; var _g83 = 0; var _g93 = length1; while(_g83 < _g93) { var j2 = _g83++; this.paramData[paramPosition] = intParam.value[j2]; ++paramPosition; } } } this.shader = shader; } ,__class__: openfl_display__$internal_ShaderBuffer }; var openfl_display3D_Context3D = function(stage,contextState,stage3D) { this.profile = 3; this.driverInfo = "OpenGL (Direct blitting)"; this.backBufferWidth = 0; this.backBufferHeight = 0; openfl_events_EventDispatcher.call(this); this.__stage = stage; this.__contextState = contextState; this.__stage3D = stage3D; this.__context = stage.window.context; this.gl = this.__context.webgl; if(this.__contextState == null) { this.__contextState = new openfl_display3D__$internal_Context3DState(); } this.__state = new openfl_display3D__$internal_Context3DState(); var array = null; var vector = null; var view = null; var buffer = null; var len = null; var this1 = new Float32Array(512); this.__vertexConstants = this1; var array1 = null; var vector1 = null; var view1 = null; var buffer1 = null; var len1 = null; var this2 = new Float32Array(512); this.__fragmentConstants = this2; var elements = null; var array2 = [1.0,1.0,1.0,1.0]; var vector2 = null; var view2 = null; var buffer2 = null; var len2 = null; var this3; if(elements != null) { this3 = new Float32Array(elements); } else if(array2 != null) { this3 = new Float32Array(array2); } else if(vector2 != null) { this3 = new Float32Array(vector2.__array); } else if(view2 != null) { this3 = new Float32Array(view2); } else if(buffer2 != null) { if(len2 == null) { this3 = new Float32Array(buffer2,0); } else { this3 = new Float32Array(buffer2,0,len2); } } else { this3 = null; } this.__positionScale = this3; this.__programs = new haxe_ds_StringMap(); if(openfl_display3D_Context3D.__glMaxViewportDims == -1) { openfl_display3D_Context3D.__glMaxViewportDims = this.gl.getParameter(this.gl.MAX_VIEWPORT_DIMS); } this.maxBackBufferWidth = openfl_display3D_Context3D.__glMaxViewportDims; this.maxBackBufferHeight = openfl_display3D_Context3D.__glMaxViewportDims; if(openfl_display3D_Context3D.__glMaxTextureMaxAnisotropy == -1) { var extension = this.gl.getExtension("EXT_texture_filter_anisotropic"); if(extension == null || !Object.prototype.hasOwnProperty.call(extension,"MAX_TEXTURE_MAX_ANISOTROPY_EXT")) { extension = this.gl.getExtension("MOZ_EXT_texture_filter_anisotropic"); } if(extension == null || !Object.prototype.hasOwnProperty.call(extension,"MAX_TEXTURE_MAX_ANISOTROPY_EXT")) { extension = this.gl.getExtension("WEBKIT_EXT_texture_filter_anisotropic"); } if(extension != null) { openfl_display3D_Context3D.__glTextureMaxAnisotropy = extension.TEXTURE_MAX_ANISOTROPY_EXT; openfl_display3D_Context3D.__glMaxTextureMaxAnisotropy = this.gl.getParameter(extension.MAX_TEXTURE_MAX_ANISOTROPY_EXT); } else { openfl_display3D_Context3D.__glTextureMaxAnisotropy = 0; openfl_display3D_Context3D.__glMaxTextureMaxAnisotropy = 0; } } if(openfl_display3D_Context3D.__glDepthStencil == -1) { openfl_display3D_Context3D.__glDepthStencil = this.gl.DEPTH_STENCIL; } if(openfl_display3D_Context3D.__glMemoryTotalAvailable == -1) { var extension1 = this.gl.getExtension("NVX_gpu_memory_info"); if(extension1 != null) { openfl_display3D_Context3D.__glMemoryTotalAvailable = extension1.GPU_MEMORY_INFO_DEDICATED_VIDMEM_NVX; openfl_display3D_Context3D.__glMemoryCurrentAvailable = extension1.GPU_MEMORY_INFO_CURRENT_AVAILABLE_VIDMEM_NVX; } } if(openfl_display3D_Context3D.__driverInfo == null) { var vendor = this.gl.getParameter(this.gl.VENDOR); var version = this.gl.getParameter(this.gl.VERSION); var renderer = this.gl.getParameter(this.gl.RENDERER); var glslVersion = this.gl.getParameter(this.gl.SHADING_LANGUAGE_VERSION); openfl_display3D_Context3D.__driverInfo = "OpenGL Vendor=" + vendor + " Version=" + version + " Renderer=" + renderer + " GLSL=" + glslVersion; } this.driverInfo = openfl_display3D_Context3D.__driverInfo; this.__quadIndexBufferElements = 16383; this.__quadIndexBufferCount = this.__quadIndexBufferElements * 6; var elements1 = this.__quadIndexBufferCount; var array3 = null; var vector3 = null; var view3 = null; var buffer3 = null; var len3 = null; var this4; if(elements1 != null) { this4 = new Uint16Array(elements1); } else if(array3 != null) { this4 = new Uint16Array(array3); } else if(vector3 != null) { this4 = new Uint16Array(vector3.__array); } else if(view3 != null) { this4 = new Uint16Array(view3); } else if(buffer3 != null) { if(len3 == null) { this4 = new Uint16Array(buffer3,0); } else { this4 = new Uint16Array(buffer3,0,len3); } } else { this4 = null; } var data = this4; var index = 0; var vertex = 0; var _g = 0; var _g1 = this.__quadIndexBufferElements; while(_g < _g1) { var i = _g++; data[index] = vertex; data[index + 1] = vertex + 1; data[index + 2] = vertex + 2; data[index + 3] = vertex + 2; data[index + 4] = vertex + 1; data[index + 5] = vertex + 3; index = index + 6; vertex = vertex + 4; } this.__quadIndexBuffer = this.createIndexBuffer(this.__quadIndexBufferCount); this.__quadIndexBuffer.uploadFromTypedArray(data); }; $hxClasses["openfl.display3D.Context3D"] = openfl_display3D_Context3D; openfl_display3D_Context3D.__name__ = "openfl.display3D.Context3D"; openfl_display3D_Context3D.__driverInfo = null; openfl_display3D_Context3D.__super__ = openfl_events_EventDispatcher; openfl_display3D_Context3D.prototype = $extend(openfl_events_EventDispatcher.prototype,{ backBufferHeight: null ,backBufferWidth: null ,driverInfo: null ,maxBackBufferHeight: null ,maxBackBufferWidth: null ,profile: null ,gl: null ,__backBufferAntiAlias: null ,__backBufferTexture: null ,__backBufferWantsBestResolution: null ,__backBufferWantsBestResolutionOnBrowserZoom: null ,__cleared: null ,__context: null ,__contextState: null ,__renderStage3DProgram: null ,__enableErrorChecking: null ,__fragmentConstants: null ,__frontBufferTexture: null ,__positionScale: null ,__present: null ,__programs: null ,__quadIndexBuffer: null ,__quadIndexBufferCount: null ,__quadIndexBufferElements: null ,__stage: null ,__stage3D: null ,__state: null ,__vertexConstants: null ,clear: function(red,green,blue,alpha,depth,stencil,mask) { if(mask == null) { mask = 7; } if(stencil == null) { stencil = 0; } if(depth == null) { depth = 1; } if(alpha == null) { alpha = 1; } if(blue == null) { blue = 0; } if(green == null) { green = 0; } if(red == null) { red = 0; } this.__flushGLFramebuffer(); this.__flushGLViewport(); var clearMask = 0; if((mask & 1) != 0) { if(this.__state.renderToTexture == null) { if(this.__stage.context3D == this && !this.__stage.__renderer.__cleared) { this.__stage.__renderer.__cleared = true; } this.__cleared = true; } clearMask |= this.gl.COLOR_BUFFER_BIT; if(this.__contextState.colorMaskRed != true || this.__contextState.colorMaskGreen != true || this.__contextState.colorMaskBlue != true || this.__contextState.colorMaskAlpha != true) { this.gl.colorMask(true,true,true,true); this.__contextState.colorMaskRed = true; this.__contextState.colorMaskGreen = true; this.__contextState.colorMaskBlue = true; this.__contextState.colorMaskAlpha = true; } this.gl.clearColor(red,green,blue,alpha); } if((mask & 2) != 0) { clearMask |= this.gl.DEPTH_BUFFER_BIT; if(this.__contextState.depthMask != true) { this.gl.depthMask(true); this.__contextState.depthMask = true; } this.gl.clearDepth(depth); } if((mask & 4) != 0) { clearMask |= this.gl.STENCIL_BUFFER_BIT; if(this.__contextState.stencilWriteMask != 255) { this.gl.stencilMask(255); this.__contextState.stencilWriteMask = 255; } this.gl.clearStencil(stencil); this.__contextState.stencilWriteMask = 255; } if(clearMask == 0) { return; } this.__setGLScissorTest(false); this.gl.clear(clearMask); } ,configureBackBuffer: function(width,height,antiAlias,enableDepthAndStencil,wantsBestResolution,wantsBestResolutionOnBrowserZoom) { if(wantsBestResolutionOnBrowserZoom == null) { wantsBestResolutionOnBrowserZoom = false; } if(wantsBestResolution == null) { wantsBestResolution = false; } if(enableDepthAndStencil == null) { enableDepthAndStencil = true; } if(this.__stage3D == null) { this.backBufferWidth = width; this.backBufferHeight = height; this.__backBufferAntiAlias = antiAlias; this.__state.backBufferEnableDepthAndStencil = enableDepthAndStencil; this.__backBufferWantsBestResolution = wantsBestResolution; this.__backBufferWantsBestResolutionOnBrowserZoom = wantsBestResolutionOnBrowserZoom; } else { if(this.__backBufferTexture == null || this.backBufferWidth != width || this.backBufferHeight != height) { if(this.__backBufferTexture != null) { this.__backBufferTexture.dispose(); } if(this.__frontBufferTexture != null) { this.__frontBufferTexture.dispose(); } this.__backBufferTexture = this.createRectangleTexture(width,height,1,true); this.__frontBufferTexture = this.createRectangleTexture(width,height,1,true); if(this.__stage3D.__vertexBuffer == null) { this.__stage3D.__vertexBuffer = this.createVertexBuffer(4,5); } var vertexData = openfl__$Vector_Vector_$Impl_$.toFloatVector(null,null,null,[width,height,0,1,1,0,height,0,0,1,width,0,0,1,0,0,0,0,0,0.0]); this.__stage3D.__vertexBuffer.uploadFromVector(vertexData,0,20); if(this.__stage3D.__indexBuffer == null) { this.__stage3D.__indexBuffer = this.createIndexBuffer(6); var indexData = openfl__$Vector_Vector_$Impl_$.toIntVector(null,null,null,[0,1,2,2,1,3]); this.__stage3D.__indexBuffer.uploadFromVector(indexData,0,6); } } this.backBufferWidth = width; this.backBufferHeight = height; this.__backBufferAntiAlias = antiAlias; this.__state.backBufferEnableDepthAndStencil = enableDepthAndStencil; this.__backBufferWantsBestResolution = wantsBestResolution; this.__backBufferWantsBestResolutionOnBrowserZoom = wantsBestResolutionOnBrowserZoom; this.__state.__primaryGLFramebuffer = this.__backBufferTexture.__getGLFramebuffer(enableDepthAndStencil,antiAlias,0); this.__frontBufferTexture.__getGLFramebuffer(enableDepthAndStencil,antiAlias,0); } } ,createCubeTexture: function(size,format,optimizeForRenderToTexture,streamingLevels) { if(streamingLevels == null) { streamingLevels = 0; } return new openfl_display3D_textures_CubeTexture(this,size,format,optimizeForRenderToTexture,streamingLevels); } ,createIndexBuffer: function(numIndices,bufferUsage) { if(bufferUsage == null) { bufferUsage = 1; } return new openfl_display3D_IndexBuffer3D(this,numIndices,bufferUsage); } ,createProgram: function(format) { if(format == null) { format = 0; } return new openfl_display3D_Program3D(this,format); } ,createRectangleTexture: function(width,height,format,optimizeForRenderToTexture) { return new openfl_display3D_textures_RectangleTexture(this,width,height,openfl_display3D__$Context3DTextureFormat_Context3DTextureFormat_$Impl_$.toString(format),optimizeForRenderToTexture); } ,createTexture: function(width,height,format,optimizeForRenderToTexture,streamingLevels) { if(streamingLevels == null) { streamingLevels = 0; } return new openfl_display3D_textures_Texture(this,width,height,format,optimizeForRenderToTexture,streamingLevels); } ,createVertexBuffer: function(numVertices,data32PerVertex,bufferUsage) { if(bufferUsage == null) { bufferUsage = 1; } return new openfl_display3D_VertexBuffer3D(this,numVertices,data32PerVertex,openfl_display3D__$Context3DBufferUsage_Context3DBufferUsage_$Impl_$.toString(bufferUsage)); } ,createVideoTexture: function() { return new openfl_display3D_textures_VideoTexture(this); } ,dispose: function(recreate) { if(recreate == null) { recreate = true; } this.gl = null; this.__dispose(); } ,drawToBitmapData: function(destination,srcRect,destPoint) { if(destination == null) { return; } var sourceRect = srcRect != null ? srcRect.__toLimeRectangle() : new lime_math_Rectangle(0,0,this.backBufferWidth,this.backBufferHeight); var destVector = destPoint != null ? destPoint.__toLimeVector2() : new lime_math_Vector2(); if(this.__stage.context3D == this) { if(this.__stage.window != null) { if(this.__stage3D != null) { var xa = -this.__stage3D.get_x() | 0; var ya = -this.__stage3D.get_y() | 0; destVector.x = xa; destVector.y = ya; } var image = this.__stage.window.readPixels(); destination.image.copyPixels(image,sourceRect,destVector); } } else if(this.__backBufferTexture != null) { var cacheRenderToTexture = this.__state.renderToTexture; this.setRenderToBackBuffer(); this.__flushGLFramebuffer(); this.__flushGLViewport(); var elements = this.backBufferWidth * this.backBufferHeight * 4; var array = null; var vector = null; var view = null; var buffer = null; var len = null; var this1; if(elements != null) { this1 = new Uint8Array(elements); } else if(array != null) { this1 = new Uint8Array(array); } else if(vector != null) { this1 = new Uint8Array(vector.__array); } else if(view != null) { this1 = new Uint8Array(view); } else if(buffer != null) { if(len == null) { this1 = new Uint8Array(buffer,0); } else { this1 = new Uint8Array(buffer,0,len); } } else { this1 = null; } var data = this1; var this2 = this.gl; var width = this.backBufferWidth; var height = this.backBufferHeight; var format = this.__backBufferTexture.__format; var type = this.gl.UNSIGNED_BYTE; var pixels = data; var dstOffset = null; if(dstOffset != null) { this2.readPixels(0,0,width,height,format,type,pixels,dstOffset); } else { this2.readPixels(0,0,width,height,format,type,pixels); } var image1 = new lime_graphics_Image(new lime_graphics_ImageBuffer(data,this.backBufferWidth,this.backBufferHeight,32,2)); destination.image.copyPixels(image1,sourceRect,destVector); if(cacheRenderToTexture != null) { this.setRenderToTexture(cacheRenderToTexture,this.__state.renderToTextureDepthStencil,this.__state.renderToTextureAntiAlias,this.__state.renderToTextureSurfaceSelector); } } } ,drawTriangles: function(indexBuffer,firstIndex,numTriangles) { if(numTriangles == null) { numTriangles = -1; } if(firstIndex == null) { firstIndex = 0; } if(this.__state.renderToTexture == null) { if(this.__stage.context3D == this && !this.__stage.__renderer.__cleared) { this.__stage.__renderer.__clear(); } else if(!this.__cleared) { this.clear(0,0,0,0,1,0,1); } } this.__flushGL(); if(this.__state.program != null) { this.__state.program.__flush(); } var count = numTriangles == -1 ? indexBuffer.__numIndices : numTriangles * 3; this.__bindGLElementArrayBuffer(indexBuffer.__id); this.gl.drawElements(this.gl.TRIANGLES,count,this.gl.UNSIGNED_SHORT,firstIndex * 2); } ,present: function() { this.setRenderToBackBuffer(); if(this.__stage3D != null && this.__backBufferTexture != null) { if(!this.__cleared) { this.clear(0,0,0,0,1,0,1); } var cacheBuffer = this.__backBufferTexture; this.__backBufferTexture = this.__frontBufferTexture; this.__frontBufferTexture = cacheBuffer; this.__state.__primaryGLFramebuffer = this.__backBufferTexture.__getGLFramebuffer(this.__state.backBufferEnableDepthAndStencil,this.__backBufferAntiAlias,0); this.__cleared = false; } this.__present = true; } ,setBlendFactors: function(sourceFactor,destinationFactor) { this.setBlendFactorsSeparate(sourceFactor,destinationFactor,sourceFactor,destinationFactor); } ,setBlendFactorsSeparate: function(sourceRGBFactor,destinationRGBFactor,sourceAlphaFactor,destinationAlphaFactor) { this.__state.blendSourceRGBFactor = sourceRGBFactor; this.__state.blendDestinationRGBFactor = destinationRGBFactor; this.__state.blendSourceAlphaFactor = sourceAlphaFactor; this.__state.blendDestinationAlphaFactor = destinationAlphaFactor; this.__setGLBlendEquation(this.gl.FUNC_ADD); } ,setColorMask: function(red,green,blue,alpha) { this.__state.colorMaskRed = red; this.__state.colorMaskGreen = green; this.__state.colorMaskBlue = blue; this.__state.colorMaskAlpha = alpha; } ,setCulling: function(triangleFaceToCull) { this.__state.culling = triangleFaceToCull; } ,setDepthTest: function(depthMask,passCompareMode) { this.__state.depthMask = depthMask; this.__state.depthCompareMode = passCompareMode; } ,setProgram: function(program) { this.__state.program = program; this.__state.shader = null; if(program != null) { var _g = 0; var _g1 = program.__samplerStates.length; while(_g < _g1) { var i = _g++; if(this.__state.samplerStates[i] == null) { this.__state.samplerStates[i] = program.__samplerStates[i].clone(); } else { this.__state.samplerStates[i].copyFrom(program.__samplerStates[i]); } } } } ,setProgramConstantsFromByteArray: function(programType,firstRegister,numRegisters,data,byteArrayOffset) { if(numRegisters == 0 || this.__state.program == null) { return; } if(!(this.__state.program != null && this.__state.program.__format == 1)) { if(numRegisters == -1) { numRegisters = (openfl_utils__$ByteArray_ByteArray_$Impl_$.get_length(data) >>> 2) - byteArrayOffset; } var isVertex = programType == 1; var dest = isVertex ? this.__vertexConstants : this.__fragmentConstants; var bytes = openfl_utils__$ByteArray_ByteArray_$Impl_$.toBytes(data); var byteOffset = 0; var len = openfl_utils__$ByteArray_ByteArray_$Impl_$.get_length(data); if(byteOffset == null) { byteOffset = 0; } var floatData = byteOffset == null ? new Float32Array(bytes.b.bufferValue) : len == null ? new Float32Array(bytes.b.bufferValue,byteOffset) : new Float32Array(bytes.b.bufferValue,byteOffset,len); var outOffset = firstRegister * 4; var inOffset = _$UInt_UInt_$Impl_$.toFloat(byteArrayOffset) / _$UInt_UInt_$Impl_$.toFloat(4) | 0; var _g = 0; var _g1 = numRegisters * 4; while(_g < _g1) { var i = _g++; dest[outOffset + i] = floatData[inOffset + i]; } if(this.__state.program != null) { this.__state.program.__markDirty(isVertex,firstRegister,numRegisters); } } } ,setProgramConstantsFromMatrix: function(programType,firstRegister,matrix,transposedMatrix) { if(transposedMatrix == null) { transposedMatrix = false; } if(this.__state.program != null && this.__state.program.__format == 1) { this.__flushGLProgram(); var array = null; var vector = null; var view = null; var buffer = null; var len = null; var this1 = new Float32Array(16); var data = this1; data[0] = matrix.rawData.get(0); data[1] = matrix.rawData.get(1); data[2] = matrix.rawData.get(2); data[3] = matrix.rawData.get(3); data[4] = matrix.rawData.get(4); data[5] = matrix.rawData.get(5); data[6] = matrix.rawData.get(6); data[7] = matrix.rawData.get(7); data[8] = matrix.rawData.get(8); data[9] = matrix.rawData.get(9); data[10] = matrix.rawData.get(10); data[11] = matrix.rawData.get(11); data[12] = matrix.rawData.get(12); data[13] = matrix.rawData.get(13); data[14] = matrix.rawData.get(14); data[15] = matrix.rawData.get(15); lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.uniformMatrix4fv(this.gl,firstRegister,transposedMatrix,data); } else { var isVertex = programType == 1; var dest = isVertex ? this.__vertexConstants : this.__fragmentConstants; var source = matrix.rawData; var i = firstRegister * 4; if(transposedMatrix) { dest[i++] = source.get(0); dest[i++] = source.get(4); dest[i++] = source.get(8); dest[i++] = source.get(12); dest[i++] = source.get(1); dest[i++] = source.get(5); dest[i++] = source.get(9); dest[i++] = source.get(13); dest[i++] = source.get(2); dest[i++] = source.get(6); dest[i++] = source.get(10); dest[i++] = source.get(14); dest[i++] = source.get(3); dest[i++] = source.get(7); dest[i++] = source.get(11); dest[i++] = source.get(15); } else { dest[i++] = source.get(0); dest[i++] = source.get(1); dest[i++] = source.get(2); dest[i++] = source.get(3); dest[i++] = source.get(4); dest[i++] = source.get(5); dest[i++] = source.get(6); dest[i++] = source.get(7); dest[i++] = source.get(8); dest[i++] = source.get(9); dest[i++] = source.get(10); dest[i++] = source.get(11); dest[i++] = source.get(12); dest[i++] = source.get(13); dest[i++] = source.get(14); dest[i++] = source.get(15); } if(this.__state.program != null) { this.__state.program.__markDirty(isVertex,firstRegister,4); } } } ,setProgramConstantsFromVector: function(programType,firstRegister,data,numRegisters) { if(numRegisters == null) { numRegisters = -1; } if(numRegisters == 0) { return; } if(!(this.__state.program != null && this.__state.program.__format == 1)) { if(numRegisters == -1) { numRegisters = data.get_length() >> 2; } var isVertex = programType == 1; var dest = isVertex ? this.__vertexConstants : this.__fragmentConstants; var source = data; var sourceIndex = 0; var destIndex = firstRegister * 4; var _g = 0; var _g1 = numRegisters; while(_g < _g1) { var i = _g++; dest[destIndex++] = source.get(sourceIndex++); dest[destIndex++] = source.get(sourceIndex++); dest[destIndex++] = source.get(sourceIndex++); dest[destIndex++] = source.get(sourceIndex++); } if(this.__state.program != null) { this.__state.program.__markDirty(isVertex,firstRegister,numRegisters); } } } ,setRenderToBackBuffer: function() { this.__state.renderToTexture = null; } ,setRenderToTexture: function(texture,enableDepthAndStencil,antiAlias,surfaceSelector) { if(surfaceSelector == null) { surfaceSelector = 0; } if(antiAlias == null) { antiAlias = 0; } if(enableDepthAndStencil == null) { enableDepthAndStencil = false; } this.__state.renderToTexture = texture; this.__state.renderToTextureDepthStencil = enableDepthAndStencil; this.__state.renderToTextureAntiAlias = antiAlias; this.__state.renderToTextureSurfaceSelector = surfaceSelector; } ,setSamplerStateAt: function(sampler,wrap,filter,mipfilter) { if(this.__state.samplerStates[sampler] == null) { this.__state.samplerStates[sampler] = new openfl_display__$internal_SamplerState(); } var state = this.__state.samplerStates[sampler]; state.wrap = wrap; state.filter = filter; state.mipfilter = mipfilter; } ,setScissorRectangle: function(rectangle) { if(rectangle != null) { this.__state.scissorEnabled = true; this.__state.scissorRectangle.copyFrom(rectangle); } else { this.__state.scissorEnabled = false; } } ,setStencilActions: function(triangleFace,compareMode,actionOnBothPass,actionOnDepthFail,actionOnDepthPassStencilFail) { if(actionOnDepthPassStencilFail == null) { actionOnDepthPassStencilFail = 5; } if(actionOnDepthFail == null) { actionOnDepthFail = 5; } if(actionOnBothPass == null) { actionOnBothPass = 5; } if(compareMode == null) { compareMode = 0; } if(triangleFace == null) { triangleFace = 2; } this.__state.stencilTriangleFace = triangleFace; this.__state.stencilCompareMode = compareMode; this.__state.stencilPass = actionOnBothPass; this.__state.stencilDepthFail = actionOnDepthFail; this.__state.stencilFail = actionOnDepthPassStencilFail; } ,setStencilReferenceValue: function(referenceValue,readMask,writeMask) { if(writeMask == null) { writeMask = 255; } if(readMask == null) { readMask = 255; } this.__state.stencilReferenceValue = referenceValue; this.__state.stencilReadMask = readMask; this.__state.stencilWriteMask = writeMask; } ,setTextureAt: function(sampler,texture) { this.__state.textures[sampler] = texture; } ,setVertexBufferAt: function(index,buffer,bufferOffset,format) { if(format == null) { format = 4; } if(bufferOffset == null) { bufferOffset = 0; } if(buffer == null) { this.gl.disableVertexAttribArray(index); this.__bindGLArrayBuffer(null); return; } this.__bindGLArrayBuffer(buffer.__id); this.gl.enableVertexAttribArray(index); var byteOffset = bufferOffset * 4; switch(format) { case 0: this.gl.vertexAttribPointer(index,4,this.gl.UNSIGNED_BYTE,true,buffer.__stride,byteOffset); break; case 1: this.gl.vertexAttribPointer(index,1,this.gl.FLOAT,false,buffer.__stride,byteOffset); break; case 2: this.gl.vertexAttribPointer(index,2,this.gl.FLOAT,false,buffer.__stride,byteOffset); break; case 3: this.gl.vertexAttribPointer(index,3,this.gl.FLOAT,false,buffer.__stride,byteOffset); break; case 4: this.gl.vertexAttribPointer(index,4,this.gl.FLOAT,false,buffer.__stride,byteOffset); break; default: throw new js__$Boot_HaxeError(new openfl_errors_IllegalOperationError()); } } ,__bindGLArrayBuffer: function(buffer) { if(this.__contextState.__currentGLArrayBuffer != buffer) { this.gl.bindBuffer(this.gl.ARRAY_BUFFER,buffer); this.__contextState.__currentGLArrayBuffer = buffer; } } ,__bindGLElementArrayBuffer: function(buffer) { if(this.__contextState.__currentGLElementArrayBuffer != buffer) { this.gl.bindBuffer(this.gl.ELEMENT_ARRAY_BUFFER,buffer); this.__contextState.__currentGLElementArrayBuffer = buffer; } } ,__bindGLFramebuffer: function(framebuffer) { if(this.__contextState.__currentGLFramebuffer != framebuffer) { this.gl.bindFramebuffer(this.gl.FRAMEBUFFER,framebuffer); this.__contextState.__currentGLFramebuffer = framebuffer; } } ,__bindGLTexture2D: function(texture) { this.gl.bindTexture(this.gl.TEXTURE_2D,texture); this.__contextState.__currentGLTexture2D = texture; } ,__bindGLTextureCubeMap: function(texture) { this.gl.bindTexture(this.gl.TEXTURE_CUBE_MAP,texture); this.__contextState.__currentGLTextureCubeMap = texture; } ,__dispose: function() { this.driverInfo += " (Disposed)"; if(this.__stage3D != null) { this.__stage3D.__indexBuffer = null; this.__stage3D.__vertexBuffer = null; this.__stage3D.context3D = null; this.__stage3D = null; } this.__backBufferTexture = null; this.__context = null; this.__renderStage3DProgram = null; this.__fragmentConstants = null; this.__frontBufferTexture = null; this.__positionScale = null; this.__present = false; this.__quadIndexBuffer = null; this.__stage = null; this.__vertexConstants = null; } ,__drawTriangles: function(firstIndex,count) { if(firstIndex == null) { firstIndex = 0; } if(this.__state.renderToTexture == null) { if(this.__stage.context3D == this && !this.__stage.__renderer.__cleared) { this.__stage.__renderer.__clear(); } else if(!this.__cleared) { this.clear(0,0,0,0,1,0,1); } } this.__flushGL(); if(this.__state.program != null) { this.__state.program.__flush(); } this.gl.drawArrays(this.gl.TRIANGLES,firstIndex,count); } ,__flushGL: function() { this.__flushGLProgram(); this.__flushGLFramebuffer(); this.__flushGLViewport(); this.__flushGLBlend(); if(this.__contextState.colorMaskRed != this.__state.colorMaskRed || this.__contextState.colorMaskGreen != this.__state.colorMaskGreen || this.__contextState.colorMaskBlue != this.__state.colorMaskBlue || this.__contextState.colorMaskAlpha != this.__state.colorMaskAlpha) { this.gl.colorMask(this.__state.colorMaskRed,this.__state.colorMaskGreen,this.__state.colorMaskBlue,this.__state.colorMaskAlpha); this.__contextState.colorMaskRed = this.__state.colorMaskRed; this.__contextState.colorMaskGreen = this.__state.colorMaskGreen; this.__contextState.colorMaskBlue = this.__state.colorMaskBlue; this.__contextState.colorMaskAlpha = this.__state.colorMaskAlpha; } this.__flushGLCulling(); this.__flushGLDepth(); this.__flushGLScissor(); this.__flushGLStencil(); this.__flushGLTextures(); } ,__flushGLBlend: function() { if(this.__contextState.blendDestinationRGBFactor != this.__state.blendDestinationRGBFactor || this.__contextState.blendSourceRGBFactor != this.__state.blendSourceRGBFactor || this.__contextState.blendDestinationAlphaFactor != this.__state.blendDestinationAlphaFactor || this.__contextState.blendSourceAlphaFactor != this.__state.blendSourceAlphaFactor) { this.__setGLBlend(true); if(this.__state.blendDestinationRGBFactor == this.__state.blendDestinationAlphaFactor && this.__state.blendSourceRGBFactor == this.__state.blendSourceAlphaFactor) { this.gl.blendFunc(this.__getGLBlend(this.__state.blendSourceRGBFactor),this.__getGLBlend(this.__state.blendDestinationRGBFactor)); } else { this.gl.blendFuncSeparate(this.__getGLBlend(this.__state.blendSourceRGBFactor),this.__getGLBlend(this.__state.blendDestinationRGBFactor),this.__getGLBlend(this.__state.blendSourceAlphaFactor),this.__getGLBlend(this.__state.blendDestinationAlphaFactor)); } this.__contextState.blendDestinationRGBFactor = this.__state.blendDestinationRGBFactor; this.__contextState.blendSourceRGBFactor = this.__state.blendSourceRGBFactor; this.__contextState.blendDestinationAlphaFactor = this.__state.blendDestinationAlphaFactor; this.__contextState.blendSourceAlphaFactor = this.__state.blendSourceAlphaFactor; } } ,__flushGLColor: function() { if(this.__contextState.colorMaskRed != this.__state.colorMaskRed || this.__contextState.colorMaskGreen != this.__state.colorMaskGreen || this.__contextState.colorMaskBlue != this.__state.colorMaskBlue || this.__contextState.colorMaskAlpha != this.__state.colorMaskAlpha) { this.gl.colorMask(this.__state.colorMaskRed,this.__state.colorMaskGreen,this.__state.colorMaskBlue,this.__state.colorMaskAlpha); this.__contextState.colorMaskRed = this.__state.colorMaskRed; this.__contextState.colorMaskGreen = this.__state.colorMaskGreen; this.__contextState.colorMaskBlue = this.__state.colorMaskBlue; this.__contextState.colorMaskAlpha = this.__state.colorMaskAlpha; } } ,__flushGLCulling: function() { if(this.__contextState.culling != this.__state.culling) { if(this.__state.culling == 3) { this.__setGLCullFace(false); } else { this.__setGLCullFace(true); switch(this.__state.culling) { case 0: this.gl.cullFace(this.gl.BACK); break; case 1: this.gl.cullFace(this.gl.FRONT); break; case 2: this.gl.cullFace(this.gl.FRONT_AND_BACK); break; case 3: break; default: throw new js__$Boot_HaxeError(new openfl_errors_IllegalOperationError()); } } this.__contextState.culling = this.__state.culling; } } ,__flushGLDepth: function() { var depthMask = this.__state.depthMask && (this.__state.renderToTexture != null ? this.__state.renderToTextureDepthStencil : this.__state.backBufferEnableDepthAndStencil); if(this.__contextState.depthMask != depthMask) { this.gl.depthMask(depthMask); this.__contextState.depthMask = depthMask; } if(this.__contextState.depthCompareMode != this.__state.depthCompareMode) { switch(this.__state.depthCompareMode) { case 0: this.gl.depthFunc(this.gl.ALWAYS); break; case 1: this.gl.depthFunc(this.gl.EQUAL); break; case 2: this.gl.depthFunc(this.gl.GREATER); break; case 3: this.gl.depthFunc(this.gl.GEQUAL); break; case 4: this.gl.depthFunc(this.gl.LESS); break; case 5: this.gl.depthFunc(this.gl.LEQUAL); break; case 6: this.gl.depthFunc(this.gl.NEVER); break; case 7: this.gl.depthFunc(this.gl.NOTEQUAL); break; default: throw new js__$Boot_HaxeError(new openfl_errors_IllegalOperationError()); } this.__contextState.depthCompareMode = this.__state.depthCompareMode; } } ,__flushGLFramebuffer: function() { if(this.__state.renderToTexture != null) { if(this.__contextState.renderToTexture != this.__state.renderToTexture || this.__contextState.renderToTextureSurfaceSelector != this.__state.renderToTextureSurfaceSelector) { var framebuffer = this.__state.renderToTexture.__getGLFramebuffer(this.__state.renderToTextureDepthStencil,this.__state.renderToTextureAntiAlias,this.__state.renderToTextureSurfaceSelector); this.__bindGLFramebuffer(framebuffer); this.__contextState.renderToTexture = this.__state.renderToTexture; this.__contextState.renderToTextureAntiAlias = this.__state.renderToTextureAntiAlias; this.__contextState.renderToTextureDepthStencil = this.__state.renderToTextureDepthStencil; this.__contextState.renderToTextureSurfaceSelector = this.__state.renderToTextureSurfaceSelector; } this.__setGLDepthTest(this.__state.renderToTextureDepthStencil); this.__setGLStencilTest(this.__state.renderToTextureDepthStencil); this.__setGLFrontFace(true); } else { if(this.__stage == null && this.backBufferWidth == 0 && this.backBufferHeight == 0) { throw new js__$Boot_HaxeError(new openfl_errors_Error("Context3D backbuffer has not been configured")); } if(this.__contextState.renderToTexture != null || this.__contextState.__currentGLFramebuffer != this.__state.__primaryGLFramebuffer || this.__contextState.backBufferEnableDepthAndStencil != this.__state.backBufferEnableDepthAndStencil) { this.__bindGLFramebuffer(this.__state.__primaryGLFramebuffer); this.__contextState.renderToTexture = null; this.__contextState.backBufferEnableDepthAndStencil = this.__state.backBufferEnableDepthAndStencil; } this.__setGLDepthTest(this.__state.backBufferEnableDepthAndStencil); this.__setGLStencilTest(this.__state.backBufferEnableDepthAndStencil); this.__setGLFrontFace(this.__stage.context3D != this); } } ,__flushGLProgram: function() { var shader = this.__state.shader; var program = this.__state.program; if(this.__contextState.shader != shader) { if(this.__contextState.shader != null) { this.__contextState.shader.__disable(); } if(shader != null) { shader.__enable(); } this.__contextState.shader = shader; } if(this.__contextState.program != program) { if(this.__contextState.program != null) { this.__contextState.program.__disable(); } if(program != null) { program.__enable(); } this.__contextState.program = program; } if(program != null && program.__format == 0) { this.__positionScale[1] = this.__stage.context3D == this && this.__state.renderToTexture == null ? 1.0 : -1.0; program.__setPositionScale(this.__positionScale); } } ,__flushGLScissor: function() { if(!this.__state.scissorEnabled) { if(this.__contextState.scissorEnabled != this.__state.scissorEnabled) { this.__setGLScissorTest(false); this.__contextState.scissorEnabled = false; } } else { this.__setGLScissorTest(true); this.__contextState.scissorEnabled = true; var scissorX = this.__state.scissorRectangle.x | 0; var scissorY = this.__state.scissorRectangle.y | 0; var scissorWidth = this.__state.scissorRectangle.width | 0; var scissorHeight = this.__state.scissorRectangle.height | 0; if(this.__state.renderToTexture == null && this.__stage3D == null) { var contextHeight = this.__stage.window.__height * this.__stage.window.__scale | 0; scissorY = contextHeight - (this.__state.scissorRectangle.height | 0) - scissorY; } if(this.__contextState.scissorRectangle.x != scissorX || this.__contextState.scissorRectangle.y != scissorY || this.__contextState.scissorRectangle.width != scissorWidth || this.__contextState.scissorRectangle.height != scissorHeight) { this.gl.scissor(scissorX,scissorY,scissorWidth,scissorHeight); this.__contextState.scissorRectangle.setTo(scissorX,scissorY,scissorWidth,scissorHeight); } } } ,__flushGLStencil: function() { if(this.__contextState.stencilTriangleFace != this.__state.stencilTriangleFace || this.__contextState.stencilPass != this.__state.stencilPass || this.__contextState.stencilDepthFail != this.__state.stencilDepthFail || this.__contextState.stencilFail != this.__state.stencilFail) { this.gl.stencilOpSeparate(this.__getGLTriangleFace(this.__state.stencilTriangleFace),this.__getGLStencilAction(this.__state.stencilFail),this.__getGLStencilAction(this.__state.stencilDepthFail),this.__getGLStencilAction(this.__state.stencilPass)); this.__contextState.stencilTriangleFace = this.__state.stencilTriangleFace; this.__contextState.stencilPass = this.__state.stencilPass; this.__contextState.stencilDepthFail = this.__state.stencilDepthFail; this.__contextState.stencilFail = this.__state.stencilFail; } if(this.__contextState.stencilWriteMask != this.__state.stencilWriteMask) { this.gl.stencilMask(this.__state.stencilWriteMask); this.__contextState.stencilWriteMask = this.__state.stencilWriteMask; } if(this.__contextState.stencilCompareMode != this.__state.stencilCompareMode || this.__contextState.stencilReferenceValue != this.__state.stencilReferenceValue || this.__contextState.stencilReadMask != this.__state.stencilReadMask) { this.gl.stencilFunc(this.__getGLCompareMode(this.__state.stencilCompareMode),this.__state.stencilReferenceValue,this.__state.stencilReadMask); this.__contextState.stencilCompareMode = this.__state.stencilCompareMode; this.__contextState.stencilReferenceValue = this.__state.stencilReferenceValue; this.__contextState.stencilReadMask = this.__state.stencilReadMask; } } ,__flushGLTextures: function() { var sampler = 0; var texture; var samplerState; var _g = 0; var _g1 = this.__state.textures.length; while(_g < _g1) { var i = _g++; texture = this.__state.textures[i]; samplerState = this.__state.samplerStates[i]; if(samplerState == null) { this.__state.samplerStates[i] = new openfl_display__$internal_SamplerState(); samplerState = this.__state.samplerStates[i]; } this.gl.activeTexture(this.gl.TEXTURE0 + sampler); if(texture != null) { if(texture.__textureTarget == this.gl.TEXTURE_2D) { this.__bindGLTexture2D(texture.__getTexture()); } else { this.__bindGLTextureCubeMap(texture.__getTexture()); } this.__contextState.textures[i] = texture; texture.__setSamplerState(samplerState); } else { this.__bindGLTexture2D(null); } if(this.__state.program != null && this.__state.program.__format == 0 && samplerState.textureAlpha) { this.gl.activeTexture(this.gl.TEXTURE0 + sampler + 4); if(texture != null && texture.__alphaTexture != null) { if(texture.__alphaTexture.__textureTarget == this.gl.TEXTURE_2D) { this.__bindGLTexture2D(texture.__alphaTexture.__getTexture()); } else { this.__bindGLTextureCubeMap(texture.__alphaTexture.__getTexture()); } texture.__alphaTexture.__setSamplerState(samplerState); this.gl.uniform1i(this.__state.program.__agalAlphaSamplerEnabled[sampler].location,1); } else { this.__bindGLTexture2D(null); if(this.__state.program.__agalAlphaSamplerEnabled[sampler] != null) { this.gl.uniform1i(this.__state.program.__agalAlphaSamplerEnabled[sampler].location,0); } } } ++sampler; } } ,__flushGLViewport: function() { if(this.__state.renderToTexture == null) { if(this.__stage.context3D == this) { var x = this.__stage3D == null ? 0 : this.__stage3D.get_x() | 0; var y = this.__stage.window.__height * this.__stage.window.__scale - this.backBufferHeight - (this.__stage3D == null ? 0 : this.__stage3D.get_y()) | 0; this.gl.viewport(x,y,this.backBufferWidth,this.backBufferHeight); } else { this.gl.viewport(0,0,this.backBufferWidth,this.backBufferHeight); } } else { var width = 0; var height = 0; if(((this.__state.renderToTexture) instanceof openfl_display3D_textures_Texture)) { var texture2D = this.__state.renderToTexture; width = texture2D.__width; height = texture2D.__height; } else if(((this.__state.renderToTexture) instanceof openfl_display3D_textures_RectangleTexture)) { var rectTexture = this.__state.renderToTexture; width = rectTexture.__width; height = rectTexture.__height; } else if(((this.__state.renderToTexture) instanceof openfl_display3D_textures_CubeTexture)) { var cubeTexture = this.__state.renderToTexture; width = cubeTexture.__size; height = cubeTexture.__size; } this.gl.viewport(0,0,width,height); } } ,__getGLBlend: function(blendFactor) { switch(blendFactor) { case 0: return this.gl.DST_ALPHA; case 1: return this.gl.DST_COLOR; case 2: return this.gl.ONE; case 3: return this.gl.ONE_MINUS_DST_ALPHA; case 4: return this.gl.ONE_MINUS_DST_COLOR; case 5: return this.gl.ONE_MINUS_SRC_ALPHA; case 6: return this.gl.ONE_MINUS_SRC_COLOR; case 7: return this.gl.SRC_ALPHA; case 8: return this.gl.SRC_COLOR; case 9: return this.gl.ZERO; default: throw new js__$Boot_HaxeError(new openfl_errors_IllegalOperationError()); } } ,__getGLCompareMode: function(mode) { switch(mode) { case 0: return this.gl.ALWAYS; case 1: return this.gl.EQUAL; case 2: return this.gl.GREATER; case 3: return this.gl.GEQUAL; case 4: return this.gl.LESS; case 5: return this.gl.LEQUAL; case 6: return this.gl.NEVER; case 7: return this.gl.NOTEQUAL; default: return this.gl.EQUAL; } } ,__getGLStencilAction: function(action) { switch(action) { case 0: return this.gl.DECR; case 1: return this.gl.DECR_WRAP; case 2: return this.gl.INCR; case 3: return this.gl.INCR_WRAP; case 4: return this.gl.INVERT; case 5: return this.gl.KEEP; case 6: return this.gl.REPLACE; case 7: return this.gl.ZERO; default: return this.gl.KEEP; } } ,__getGLTriangleFace: function(face) { switch(face) { case 0: return this.gl.BACK; case 1: return this.gl.FRONT; case 2: return this.gl.FRONT_AND_BACK; case 3: return this.gl.NONE; default: return this.gl.FRONT_AND_BACK; } } ,__renderStage3D: function(stage3D) { var context = stage3D.context3D; if(context != null && context != this && context.__frontBufferTexture != null && stage3D.visible && this.backBufferHeight > 0 && this.backBufferWidth > 0) { if(this.__renderStage3DProgram == null) { var vertexAssembler = new openfl_utils_AGALMiniAssembler(); vertexAssembler.assemble(openfl_display3D__$Context3DProgramType_Context3DProgramType_$Impl_$.toString(1),"m44 op, va0, vc0\n" + "mov v0, va1"); var fragmentAssembler = new openfl_utils_AGALMiniAssembler(); fragmentAssembler.assemble(openfl_display3D__$Context3DProgramType_Context3DProgramType_$Impl_$.toString(0),"tex ft1, v0, fs0 <2d,nearest,nomip>\n" + "mov oc, ft1"); this.__renderStage3DProgram = this.createProgram(); this.__renderStage3DProgram.upload(vertexAssembler.agalcode,fragmentAssembler.agalcode); } this.setProgram(this.__renderStage3DProgram); this.setBlendFactors(2,9); this.setColorMask(true,true,true,true); this.setCulling(3); this.setDepthTest(false,0); this.setStencilActions(); this.setStencilReferenceValue(0,0,0); this.setScissorRectangle(null); this.setTextureAt(0,context.__frontBufferTexture); this.setVertexBufferAt(0,stage3D.__vertexBuffer,0,3); this.setVertexBufferAt(1,stage3D.__vertexBuffer,3,2); this.setProgramConstantsFromMatrix(1,0,stage3D.__renderTransform,true); this.drawTriangles(stage3D.__indexBuffer); this.__present = true; } } ,__setGLBlend: function(enable) { if(this.__contextState.__enableGLBlend != enable) { if(enable) { this.gl.enable(this.gl.BLEND); } else { this.gl.disable(this.gl.BLEND); } this.__contextState.__enableGLBlend = enable; } } ,__setGLBlendEquation: function(value) { if(this.__contextState.__glBlendEquation != value) { this.gl.blendEquation(value); this.__contextState.__glBlendEquation = value; } } ,__setGLCullFace: function(enable) { if(this.__contextState.__enableGLCullFace != enable) { if(enable) { this.gl.enable(this.gl.CULL_FACE); } else { this.gl.disable(this.gl.CULL_FACE); } this.__contextState.__enableGLCullFace = enable; } } ,__setGLDepthTest: function(enable) { if(this.__contextState.__enableGLDepthTest != enable) { if(enable) { this.gl.enable(this.gl.DEPTH_TEST); } else { this.gl.disable(this.gl.DEPTH_TEST); } this.__contextState.__enableGLDepthTest = enable; } } ,__setGLFrontFace: function(counterClockWise) { if(this.__contextState.__frontFaceGLCCW != counterClockWise) { this.gl.frontFace(counterClockWise ? this.gl.CCW : this.gl.CW); this.__contextState.__frontFaceGLCCW = counterClockWise; } } ,__setGLScissorTest: function(enable) { if(this.__contextState.__enableGLScissorTest != enable) { if(enable) { this.gl.enable(this.gl.SCISSOR_TEST); } else { this.gl.disable(this.gl.SCISSOR_TEST); } this.__contextState.__enableGLScissorTest = enable; } } ,__setGLStencilTest: function(enable) { if(this.__contextState.__enableGLStencilTest != enable) { if(enable) { this.gl.enable(this.gl.STENCIL_TEST); } else { this.gl.disable(this.gl.STENCIL_TEST); } this.__contextState.__enableGLStencilTest = enable; } } ,get_enableErrorChecking: function() { return this.__enableErrorChecking; } ,set_enableErrorChecking: function(value) { return this.__enableErrorChecking = value; } ,get_totalGPUMemory: function() { if(openfl_display3D_Context3D.__glMemoryCurrentAvailable != -1) { var current = this.gl.getParameter(openfl_display3D_Context3D.__glMemoryCurrentAvailable); var total = this.gl.getParameter(openfl_display3D_Context3D.__glMemoryTotalAvailable); if(total > 0) { return (total - current) * 1024; } } return 0; } ,__class__: openfl_display3D_Context3D ,__properties__: {get_totalGPUMemory:"get_totalGPUMemory",set_enableErrorChecking:"set_enableErrorChecking",get_enableErrorChecking:"get_enableErrorChecking"} }); var openfl_display3D__$Context3DBlendFactor_Context3DBlendFactor_$Impl_$ = {}; $hxClasses["openfl.display3D._Context3DBlendFactor.Context3DBlendFactor_Impl_"] = openfl_display3D__$Context3DBlendFactor_Context3DBlendFactor_$Impl_$; openfl_display3D__$Context3DBlendFactor_Context3DBlendFactor_$Impl_$.__name__ = "openfl.display3D._Context3DBlendFactor.Context3DBlendFactor_Impl_"; openfl_display3D__$Context3DBlendFactor_Context3DBlendFactor_$Impl_$.fromString = function(value) { switch(value) { case "destinationAlpha": return 0; case "destinationColor": return 1; case "one": return 2; case "oneMinusDestinationAlpha": return 3; case "oneMinusDestinationColor": return 4; case "oneMinusSourceAlpha": return 5; case "oneMinusSourceColor": return 6; case "sourceAlpha": return 7; case "sourceColor": return 8; case "zero": return 9; default: return null; } }; openfl_display3D__$Context3DBlendFactor_Context3DBlendFactor_$Impl_$.toString = function(this1) { switch(this1) { case 0: return "destinationAlpha"; case 1: return "destinationColor"; case 2: return "one"; case 3: return "oneMinusDestinationAlpha"; case 4: return "oneMinusDestinationColor"; case 5: return "oneMinusSourceAlpha"; case 6: return "oneMinusSourceColor"; case 7: return "sourceAlpha"; case 8: return "sourceColor"; case 9: return "zero"; default: return null; } }; var openfl_display3D__$Context3DBufferUsage_Context3DBufferUsage_$Impl_$ = {}; $hxClasses["openfl.display3D._Context3DBufferUsage.Context3DBufferUsage_Impl_"] = openfl_display3D__$Context3DBufferUsage_Context3DBufferUsage_$Impl_$; openfl_display3D__$Context3DBufferUsage_Context3DBufferUsage_$Impl_$.__name__ = "openfl.display3D._Context3DBufferUsage.Context3DBufferUsage_Impl_"; openfl_display3D__$Context3DBufferUsage_Context3DBufferUsage_$Impl_$.fromString = function(value) { switch(value) { case "dynamicDraw": return 0; case "staticDraw": return 1; default: return null; } }; openfl_display3D__$Context3DBufferUsage_Context3DBufferUsage_$Impl_$.toString = function(this1) { switch(this1) { case 0: return "dynamicDraw"; case 1: return "staticDraw"; default: return null; } }; var openfl_display3D__$Context3DCompareMode_Context3DCompareMode_$Impl_$ = {}; $hxClasses["openfl.display3D._Context3DCompareMode.Context3DCompareMode_Impl_"] = openfl_display3D__$Context3DCompareMode_Context3DCompareMode_$Impl_$; openfl_display3D__$Context3DCompareMode_Context3DCompareMode_$Impl_$.__name__ = "openfl.display3D._Context3DCompareMode.Context3DCompareMode_Impl_"; openfl_display3D__$Context3DCompareMode_Context3DCompareMode_$Impl_$.fromString = function(value) { switch(value) { case "always": return 0; case "equal": return 1; case "greater": return 2; case "greaterEqual": return 3; case "less": return 4; case "lessEqual": return 5; case "never": return 6; case "notEqual": return 7; default: return null; } }; openfl_display3D__$Context3DCompareMode_Context3DCompareMode_$Impl_$.toString = function(this1) { switch(this1) { case 0: return "always"; case 1: return "equal"; case 2: return "greater"; case 3: return "greaterEqual"; case 4: return "less"; case 5: return "lessEqual"; case 6: return "never"; case 7: return "notEqual"; default: return null; } }; var openfl_display3D__$Context3DMipFilter_Context3DMipFilter_$Impl_$ = {}; $hxClasses["openfl.display3D._Context3DMipFilter.Context3DMipFilter_Impl_"] = openfl_display3D__$Context3DMipFilter_Context3DMipFilter_$Impl_$; openfl_display3D__$Context3DMipFilter_Context3DMipFilter_$Impl_$.__name__ = "openfl.display3D._Context3DMipFilter.Context3DMipFilter_Impl_"; openfl_display3D__$Context3DMipFilter_Context3DMipFilter_$Impl_$.fromString = function(value) { switch(value) { case "miplinear": return 0; case "mipnearest": return 1; case "mipnone": return 2; default: return null; } }; openfl_display3D__$Context3DMipFilter_Context3DMipFilter_$Impl_$.toString = function(this1) { switch(this1) { case 0: return "miplinear"; case 1: return "mipnearest"; case 2: return "mipnone"; default: return null; } }; var openfl_display3D__$Context3DProfile_Context3DProfile_$Impl_$ = {}; $hxClasses["openfl.display3D._Context3DProfile.Context3DProfile_Impl_"] = openfl_display3D__$Context3DProfile_Context3DProfile_$Impl_$; openfl_display3D__$Context3DProfile_Context3DProfile_$Impl_$.__name__ = "openfl.display3D._Context3DProfile.Context3DProfile_Impl_"; openfl_display3D__$Context3DProfile_Context3DProfile_$Impl_$.fromString = function(value) { switch(value) { case "baseline": return 0; case "baselineConstrained": return 1; case "baselineExtended": return 2; case "standard": return 3; case "standardConstrained": return 4; case "standardExtended": return 5; default: return null; } }; openfl_display3D__$Context3DProfile_Context3DProfile_$Impl_$.toString = function(this1) { switch(this1) { case 0: return "baseline"; case 1: return "baselineConstrained"; case 2: return "baselineExtended"; case 3: return "standard"; case 4: return "standardConstrained"; case 5: return "standardExtended"; default: return null; } }; var openfl_display3D__$Context3DProgramFormat_Context3DProgramFormat_$Impl_$ = {}; $hxClasses["openfl.display3D._Context3DProgramFormat.Context3DProgramFormat_Impl_"] = openfl_display3D__$Context3DProgramFormat_Context3DProgramFormat_$Impl_$; openfl_display3D__$Context3DProgramFormat_Context3DProgramFormat_$Impl_$.__name__ = "openfl.display3D._Context3DProgramFormat.Context3DProgramFormat_Impl_"; openfl_display3D__$Context3DProgramFormat_Context3DProgramFormat_$Impl_$.fromString = function(value) { switch(value) { case "agal": return 0; case "glsl": return 1; default: return null; } }; openfl_display3D__$Context3DProgramFormat_Context3DProgramFormat_$Impl_$.toString = function(this1) { switch(this1) { case 0: return "agal"; case 1: return "glsl"; default: return null; } }; var openfl_display3D__$Context3DProgramType_Context3DProgramType_$Impl_$ = {}; $hxClasses["openfl.display3D._Context3DProgramType.Context3DProgramType_Impl_"] = openfl_display3D__$Context3DProgramType_Context3DProgramType_$Impl_$; openfl_display3D__$Context3DProgramType_Context3DProgramType_$Impl_$.__name__ = "openfl.display3D._Context3DProgramType.Context3DProgramType_Impl_"; openfl_display3D__$Context3DProgramType_Context3DProgramType_$Impl_$.fromString = function(value) { switch(value) { case "fragment": return 0; case "vertex": return 1; default: return null; } }; openfl_display3D__$Context3DProgramType_Context3DProgramType_$Impl_$.toString = function(this1) { switch(this1) { case 0: return "fragment"; case 1: return "vertex"; default: return null; } }; var openfl_display3D__$Context3DRenderMode_Context3DRenderMode_$Impl_$ = {}; $hxClasses["openfl.display3D._Context3DRenderMode.Context3DRenderMode_Impl_"] = openfl_display3D__$Context3DRenderMode_Context3DRenderMode_$Impl_$; openfl_display3D__$Context3DRenderMode_Context3DRenderMode_$Impl_$.__name__ = "openfl.display3D._Context3DRenderMode.Context3DRenderMode_Impl_"; openfl_display3D__$Context3DRenderMode_Context3DRenderMode_$Impl_$.fromString = function(value) { switch(value) { case "auto": return 0; case "software": return 1; default: return null; } }; openfl_display3D__$Context3DRenderMode_Context3DRenderMode_$Impl_$.toString = function(this1) { switch(this1) { case 0: return "auto"; case 1: return "software"; default: return null; } }; var openfl_display3D__$Context3DStencilAction_Context3DStencilAction_$Impl_$ = {}; $hxClasses["openfl.display3D._Context3DStencilAction.Context3DStencilAction_Impl_"] = openfl_display3D__$Context3DStencilAction_Context3DStencilAction_$Impl_$; openfl_display3D__$Context3DStencilAction_Context3DStencilAction_$Impl_$.__name__ = "openfl.display3D._Context3DStencilAction.Context3DStencilAction_Impl_"; openfl_display3D__$Context3DStencilAction_Context3DStencilAction_$Impl_$.fromString = function(value) { switch(value) { case "decrementSaturate": return 0; case "decrementWrap": return 1; case "incrementSaturate": return 2; case "incrementWrap": return 3; case "invert": return 4; case "keep": return 5; case "set": return 6; case "zero": return 7; default: return null; } }; openfl_display3D__$Context3DStencilAction_Context3DStencilAction_$Impl_$.toString = function(this1) { switch(this1) { case 0: return "decrementSaturate"; case 1: return "decrementWrap"; case 2: return "incrementSaturate"; case 3: return "incrementWrap"; case 4: return "invert"; case 5: return "keep"; case 6: return "set"; case 7: return "zero"; default: return null; } }; var openfl_display3D__$Context3DTextureFilter_Context3DTextureFilter_$Impl_$ = {}; $hxClasses["openfl.display3D._Context3DTextureFilter.Context3DTextureFilter_Impl_"] = openfl_display3D__$Context3DTextureFilter_Context3DTextureFilter_$Impl_$; openfl_display3D__$Context3DTextureFilter_Context3DTextureFilter_$Impl_$.__name__ = "openfl.display3D._Context3DTextureFilter.Context3DTextureFilter_Impl_"; openfl_display3D__$Context3DTextureFilter_Context3DTextureFilter_$Impl_$.fromString = function(value) { switch(value) { case "anisotropic16x": return 0; case "anisotropic2x": return 1; case "anisotropic4x": return 2; case "anisotropic8x": return 3; case "linear": return 4; case "nearest": return 5; default: return null; } }; openfl_display3D__$Context3DTextureFilter_Context3DTextureFilter_$Impl_$.toString = function(this1) { switch(this1) { case 0: return "anisotropic16x"; case 1: return "anisotropic2x"; case 2: return "anisotropic4x"; case 3: return "anisotropic8x"; case 4: return "linear"; case 5: return "nearest"; default: return null; } }; var openfl_display3D__$Context3DTextureFormat_Context3DTextureFormat_$Impl_$ = {}; $hxClasses["openfl.display3D._Context3DTextureFormat.Context3DTextureFormat_Impl_"] = openfl_display3D__$Context3DTextureFormat_Context3DTextureFormat_$Impl_$; openfl_display3D__$Context3DTextureFormat_Context3DTextureFormat_$Impl_$.__name__ = "openfl.display3D._Context3DTextureFormat.Context3DTextureFormat_Impl_"; openfl_display3D__$Context3DTextureFormat_Context3DTextureFormat_$Impl_$.fromString = function(value) { switch(value) { case "bgrPacked565": return 0; case "bgra": return 1; case "bgraPacked4444": return 2; case "compressed": return 3; case "compressedAlpha": return 4; case "rgbaHalfFloat": return 5; default: return null; } }; openfl_display3D__$Context3DTextureFormat_Context3DTextureFormat_$Impl_$.toString = function(this1) { switch(this1) { case 0: return "bgrPacked565"; case 1: return "bgra"; case 2: return "bgraPacked4444"; case 3: return "compressed"; case 4: return "compressedAlpha"; case 5: return "rgbaHalfFloat"; default: return null; } }; var openfl_display3D__$Context3DTriangleFace_Context3DTriangleFace_$Impl_$ = {}; $hxClasses["openfl.display3D._Context3DTriangleFace.Context3DTriangleFace_Impl_"] = openfl_display3D__$Context3DTriangleFace_Context3DTriangleFace_$Impl_$; openfl_display3D__$Context3DTriangleFace_Context3DTriangleFace_$Impl_$.__name__ = "openfl.display3D._Context3DTriangleFace.Context3DTriangleFace_Impl_"; openfl_display3D__$Context3DTriangleFace_Context3DTriangleFace_$Impl_$.fromString = function(value) { switch(value) { case "back": return 0; case "front": return 1; case "frontAndBack": return 2; case "none": return 3; default: return null; } }; openfl_display3D__$Context3DTriangleFace_Context3DTriangleFace_$Impl_$.toString = function(this1) { switch(this1) { case 0: return "back"; case 1: return "front"; case 2: return "frontAndBack"; case 3: return "none"; default: return null; } }; var openfl_display3D__$Context3DVertexBufferFormat_Context3DVertexBufferFormat_$Impl_$ = {}; $hxClasses["openfl.display3D._Context3DVertexBufferFormat.Context3DVertexBufferFormat_Impl_"] = openfl_display3D__$Context3DVertexBufferFormat_Context3DVertexBufferFormat_$Impl_$; openfl_display3D__$Context3DVertexBufferFormat_Context3DVertexBufferFormat_$Impl_$.__name__ = "openfl.display3D._Context3DVertexBufferFormat.Context3DVertexBufferFormat_Impl_"; openfl_display3D__$Context3DVertexBufferFormat_Context3DVertexBufferFormat_$Impl_$.fromString = function(value) { switch(value) { case "bytes4": return 0; case "float1": return 1; case "float2": return 2; case "float3": return 3; case "float4": return 4; default: return null; } }; openfl_display3D__$Context3DVertexBufferFormat_Context3DVertexBufferFormat_$Impl_$.toString = function(this1) { switch(this1) { case 0: return "bytes4"; case 1: return "float1"; case 2: return "float2"; case 3: return "float3"; case 4: return "float4"; default: return null; } }; var openfl_display3D__$Context3DWrapMode_Context3DWrapMode_$Impl_$ = {}; $hxClasses["openfl.display3D._Context3DWrapMode.Context3DWrapMode_Impl_"] = openfl_display3D__$Context3DWrapMode_Context3DWrapMode_$Impl_$; openfl_display3D__$Context3DWrapMode_Context3DWrapMode_$Impl_$.__name__ = "openfl.display3D._Context3DWrapMode.Context3DWrapMode_Impl_"; openfl_display3D__$Context3DWrapMode_Context3DWrapMode_$Impl_$.fromString = function(value) { switch(value) { case "clamp": return 0; case "clamp_u_repeat_v": return 1; case "repeat": return 2; case "repeat_u_clamp_v": return 3; default: return null; } }; openfl_display3D__$Context3DWrapMode_Context3DWrapMode_$Impl_$.toString = function(this1) { switch(this1) { case 0: return "clamp"; case 1: return "clamp_u_repeat_v"; case 2: return "repeat"; case 3: return "repeat_u_clamp_v"; default: return null; } }; var openfl_display3D_IndexBuffer3D = function(context3D,numIndices,bufferUsage) { this.__context = context3D; this.__numIndices = numIndices; var gl = this.__context.gl; this.__id = gl.createBuffer(); this.__usage = bufferUsage == 0 ? gl.DYNAMIC_DRAW : gl.STATIC_DRAW; }; $hxClasses["openfl.display3D.IndexBuffer3D"] = openfl_display3D_IndexBuffer3D; openfl_display3D_IndexBuffer3D.__name__ = "openfl.display3D.IndexBuffer3D"; openfl_display3D_IndexBuffer3D.prototype = { __context: null ,__id: null ,__memoryUsage: null ,__numIndices: null ,__tempUInt16Array: null ,__usage: null ,dispose: function() { var gl = this.__context.gl; gl.deleteBuffer(this.__id); } ,uploadFromByteArray: function(data,byteArrayOffset,startOffset,count) { var offset = byteArrayOffset + startOffset * 2; var elements = null; var array = null; var vector = null; var view = null; var buffer = openfl_utils__$ByteArray_ByteArray_$Impl_$.toArrayBuffer(data); var byteoffset = offset; if(byteoffset == null) { byteoffset = 0; } var this1; if(elements != null) { this1 = new Uint16Array(elements); } else if(array != null) { this1 = new Uint16Array(array); } else if(vector != null) { this1 = new Uint16Array(vector.__array); } else if(view != null) { this1 = new Uint16Array(view); } else if(buffer != null) { if(count == null) { this1 = new Uint16Array(buffer,byteoffset); } else { this1 = new Uint16Array(buffer,byteoffset,count); } } else { this1 = null; } this.uploadFromTypedArray(this1); } ,uploadFromTypedArray: function(data,byteLength) { if(byteLength == null) { byteLength = -1; } if(data == null) { return; } var gl = this.__context.gl; this.__context.__bindGLElementArrayBuffer(this.__id); lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.bufferData(gl,gl.ELEMENT_ARRAY_BUFFER,data,this.__usage); } ,uploadFromVector: function(data,startOffset,count) { if(data == null) { return; } var gl = this.__context.gl; var length = startOffset + count; var existingUInt16Array = this.__tempUInt16Array; if(this.__tempUInt16Array == null || this.__tempUInt16Array.length < count) { var array = null; var vector = null; var view = null; var buffer = null; var len = null; var this1; if(count != null) { this1 = new Uint16Array(count); } else if(array != null) { this1 = new Uint16Array(array); } else if(vector != null) { this1 = new Uint16Array(vector.__array); } else if(view != null) { this1 = new Uint16Array(view); } else if(buffer != null) { if(len == null) { this1 = new Uint16Array(buffer,0); } else { this1 = new Uint16Array(buffer,0,len); } } else { this1 = null; } this.__tempUInt16Array = this1; if(existingUInt16Array != null) { this.__tempUInt16Array.set(existingUInt16Array); } } var _g = startOffset; var _g1 = length; while(_g < _g1) { var i = _g++; this.__tempUInt16Array[i - startOffset] = data.get(i); } this.uploadFromTypedArray(this.__tempUInt16Array); } ,__class__: openfl_display3D_IndexBuffer3D }; var openfl_display3D_Program3D = function(context3D,format) { this.__context = context3D; this.__format = format; if(this.__format == 0) { this.__agalSamplerUsageMask = 0; this.__agalUniforms = new haxe_ds_List(); this.__agalSamplerUniforms = new haxe_ds_List(); this.__agalAlphaSamplerUniforms = new haxe_ds_List(); this.__agalAlphaSamplerEnabled = []; } else { this.__glslAttribNames = []; this.__glslAttribTypes = []; this.__glslSamplerNames = []; this.__glslUniformLocations = []; this.__glslUniformNames = []; this.__glslUniformTypes = []; } this.__samplerStates = []; }; $hxClasses["openfl.display3D.Program3D"] = openfl_display3D_Program3D; openfl_display3D_Program3D.__name__ = "openfl.display3D.Program3D"; openfl_display3D_Program3D.prototype = { __agalAlphaSamplerEnabled: null ,__agalAlphaSamplerUniforms: null ,__agalFragmentUniformMap: null ,__agalPositionScale: null ,__agalSamplerUniforms: null ,__agalSamplerUsageMask: null ,__agalUniforms: null ,__agalVertexUniformMap: null ,__context: null ,__format: null ,__glFragmentShader: null ,__glFragmentSource: null ,__glProgram: null ,__glslAttribNames: null ,__glslAttribTypes: null ,__glslSamplerNames: null ,__glslUniformLocations: null ,__glslUniformNames: null ,__glslUniformTypes: null ,__glVertexShader: null ,__glVertexSource: null ,__samplerStates: null ,dispose: function() { this.__deleteShaders(); } ,getAttributeIndex: function(name) { if(this.__format == 0) { if(StringTools.startsWith(name,"va")) { return Std.parseInt(name.substring(2)); } else { return -1; } } else { var _g = 0; var _g1 = this.__glslAttribNames.length; while(_g < _g1) { var i = _g++; if(this.__glslAttribNames[i] == name) { return i; } } return -1; } } ,getConstantIndex: function(name) { if(this.__format == 0) { if(StringTools.startsWith(name,"vc")) { return Std.parseInt(name.substring(2)); } else if(StringTools.startsWith(name,"fc")) { return Std.parseInt(name.substring(2)); } else { return -1; } } else { var _g = 0; var _g1 = this.__glslUniformNames.length; while(_g < _g1) { var i = _g++; if(this.__glslUniformNames[i] == name) { return this.__glslUniformLocations[i]; } } return -1; } } ,upload: function(vertexProgram,fragmentProgram) { if(this.__format != 0) { return; } var samplerStates = []; var glslVertex = openfl_display3D__$internal_AGALConverter.convertToGLSL(vertexProgram,null); var glslFragment = openfl_display3D__$internal_AGALConverter.convertToGLSL(fragmentProgram,samplerStates); if(lime_utils_Log.level == 5) { lime_utils_Log.info(glslVertex,{ fileName : "openfl/display3D/Program3D.hx", lineNumber : 399, className : "openfl.display3D.Program3D", methodName : "upload"}); lime_utils_Log.info(glslFragment,{ fileName : "openfl/display3D/Program3D.hx", lineNumber : 400, className : "openfl.display3D.Program3D", methodName : "upload"}); } this.__deleteShaders(); this.__uploadFromGLSL(glslVertex,glslFragment); this.__buildAGALUniformList(); var _g = 0; var _g1 = samplerStates.length; while(_g < _g1) { var i = _g++; this.__samplerStates[i] = samplerStates[i]; } } ,uploadSources: function(vertexSource,fragmentSource) { if(this.__format != 1) { return; } var prefix = "#ifdef GL_ES\n\t\t\t#ifdef GL_FRAGMENT_PRECISION_HIGH\n\t\t\tprecision highp float;\n\t\t\t#else\n\t\t\tprecision mediump float;\n\t\t\t#endif\n\t\t\t#endif\n\t\t\t"; var vertex = prefix + vertexSource; var fragment = prefix + fragmentSource; if(vertex == this.__glVertexSource && fragment == this.__glFragmentSource) { return; } this.__processGLSLData(vertexSource,"attribute"); this.__processGLSLData(vertexSource,"uniform"); this.__processGLSLData(fragmentSource,"uniform"); this.__deleteShaders(); this.__uploadFromGLSL(vertex,fragment); var samplerNames = this.__glslSamplerNames; var attribNames = this.__glslAttribNames; var attribTypes = this.__glslAttribTypes; var uniformNames = this.__glslUniformNames; this.__glslSamplerNames = []; this.__glslAttribNames = []; this.__glslAttribTypes = []; this.__glslUniformLocations = []; var gl = this.__context.gl; var index; var location; var _g = 0; while(_g < samplerNames.length) { var name = samplerNames[_g]; ++_g; index = gl.getUniformLocation(this.__glProgram,name); this.__glslSamplerNames[index] = name; } var _g1 = 0; var _g2 = attribNames.length; while(_g1 < _g2) { var i = _g1++; index = gl.getAttribLocation(this.__glProgram,attribNames[i]); this.__glslAttribNames[index] = attribNames[i]; this.__glslAttribTypes[index] = attribTypes[i]; } var _g3 = 0; var _g4 = uniformNames.length; while(_g3 < _g4) { var i1 = _g3++; location = gl.getUniformLocation(this.__glProgram,uniformNames[i1]); this.__glslUniformLocations[i1] = location; } } ,__buildAGALUniformList: function() { if(this.__format == 1) { return; } var gl = this.__context.gl; this.__agalUniforms.clear(); this.__agalSamplerUniforms.clear(); this.__agalAlphaSamplerUniforms.clear(); this.__agalAlphaSamplerEnabled = []; this.__agalSamplerUsageMask = 0; var numActive = 0; numActive = gl.getProgramParameter(this.__glProgram,gl.ACTIVE_UNIFORMS); var vertexUniforms = new haxe_ds_List(); var fragmentUniforms = new haxe_ds_List(); var _g = 0; var _g1 = numActive; while(_g < _g1) { var i = _g++; var info = gl.getActiveUniform(this.__glProgram,i); var name = info.name; var size = info.size; var uniformType = info.type; var uniform = new openfl_display3D_Uniform(this.__context); uniform.name = name; uniform.size = size; uniform.type = uniformType; uniform.location = gl.getUniformLocation(this.__glProgram,uniform.name); var indexBracket = uniform.name.indexOf("["); if(indexBracket >= 0) { uniform.name = uniform.name.substring(0,indexBracket); } switch(uniform.type) { case 35674: uniform.regCount = 2; break; case 35675: uniform.regCount = 3; break; case 35676: uniform.regCount = 4; break; default: uniform.regCount = 1; } uniform.regCount *= uniform.size; this.__agalUniforms.add(uniform); if(uniform.name == "vcPositionScale") { this.__agalPositionScale = uniform; } else if(StringTools.startsWith(uniform.name,"vc")) { uniform.regIndex = Std.parseInt(uniform.name.substring(2)); uniform.regData = this.__context.__vertexConstants; vertexUniforms.add(uniform); } else if(StringTools.startsWith(uniform.name,"fc")) { uniform.regIndex = Std.parseInt(uniform.name.substring(2)); uniform.regData = this.__context.__fragmentConstants; fragmentUniforms.add(uniform); } else if(StringTools.startsWith(uniform.name,"sampler") && uniform.name.indexOf("alpha") == -1) { uniform.regIndex = Std.parseInt(uniform.name.substring(7)); this.__agalSamplerUniforms.add(uniform); var _g11 = 0; var _g2 = uniform.regCount; while(_g11 < _g2) { var reg = _g11++; this.__agalSamplerUsageMask |= 1 << uniform.regIndex + reg; } } else if(StringTools.startsWith(uniform.name,"sampler") && StringTools.endsWith(uniform.name,"_alpha")) { var len = uniform.name.indexOf("_") - 7; uniform.regIndex = Std.parseInt(uniform.name.substring(7,7 + len)) + 4; this.__agalAlphaSamplerUniforms.add(uniform); } else if(StringTools.startsWith(uniform.name,"sampler") && StringTools.endsWith(uniform.name,"_alphaEnabled")) { uniform.regIndex = Std.parseInt(uniform.name.substring(7)); this.__agalAlphaSamplerEnabled[uniform.regIndex] = uniform; } if(lime_utils_Log.level == 5) { lime_utils_Log.verbose("" + i + " name:" + uniform.name + " type:" + uniform.type + " size:" + uniform.size + " location:" + Std.string(uniform.location),{ fileName : "openfl/display3D/Program3D.hx", lineNumber : 577, className : "openfl.display3D.Program3D", methodName : "__buildAGALUniformList"}); } } this.__agalVertexUniformMap = new openfl_display3D_UniformMap(Lambda.array(vertexUniforms)); this.__agalFragmentUniformMap = new openfl_display3D_UniformMap(Lambda.array(fragmentUniforms)); } ,__deleteShaders: function() { var gl = this.__context.gl; if(this.__glProgram != null) { this.__glProgram = null; } if(this.__glVertexShader != null) { gl.deleteShader(this.__glVertexShader); this.__glVertexShader = null; } if(this.__glFragmentShader != null) { gl.deleteShader(this.__glFragmentShader); this.__glFragmentShader = null; } } ,__disable: function() { var tmp = this.__format == 1; } ,__enable: function() { var gl = this.__context.gl; gl.useProgram(this.__glProgram); if(this.__format == 0) { this.__agalVertexUniformMap.markAllDirty(); this.__agalFragmentUniformMap.markAllDirty(); var _g_head = this.__agalSamplerUniforms.h; while(_g_head != null) { var val = _g_head.item; _g_head = _g_head.next; var sampler = val; if(sampler.regCount == 1) { gl.uniform1i(sampler.location,sampler.regIndex); } else { throw new js__$Boot_HaxeError(new openfl_errors_IllegalOperationError("!!! TODO: uniform location on webgl")); } } var _g1_head = this.__agalAlphaSamplerUniforms.h; while(_g1_head != null) { var val1 = _g1_head.item; _g1_head = _g1_head.next; var sampler1 = val1; if(sampler1.regCount == 1) { gl.uniform1i(sampler1.location,sampler1.regIndex); } else { throw new js__$Boot_HaxeError(new openfl_errors_IllegalOperationError("!!! TODO: uniform location on webgl")); } } } } ,__flush: function() { if(this.__format == 0) { this.__agalVertexUniformMap.flush(); this.__agalFragmentUniformMap.flush(); } else { return; } } ,__getSamplerState: function(sampler) { return this.__samplerStates[sampler]; } ,__markDirty: function(isVertex,index,count) { if(this.__format == 1) { return; } if(isVertex) { this.__agalVertexUniformMap.markDirty(index,count); } else { this.__agalFragmentUniformMap.markDirty(index,count); } } ,__processGLSLData: function(source,storageType) { var lastMatch = 0; var position; var regex; var name; var type; if(storageType == "uniform") { regex = new EReg("uniform ([A-Za-z0-9]+) ([A-Za-z0-9_]+)",""); } else { regex = new EReg("attribute ([A-Za-z0-9]+) ([A-Za-z0-9_]+)",""); } while(regex.matchSub(source,lastMatch)) { type = regex.matched(1); name = regex.matched(2); if(StringTools.startsWith(name,"gl_")) { continue; } if(StringTools.startsWith(type,"sampler")) { this.__glslSamplerNames.push(name); } else { var parameterType; switch(type) { case "bool": parameterType = 0; break; case "bvec2": parameterType = 1; break; case "bvec3": parameterType = 2; break; case "bvec4": parameterType = 3; break; case "dvec2":case "vec2": parameterType = 5; break; case "dvec3":case "vec3": parameterType = 6; break; case "double":case "float": parameterType = 4; break; case "ivec3":case "uvec3": parameterType = 10; break; case "ivec4":case "uvec4": parameterType = 11; break; case "mat2":case "mat2x2": parameterType = 12; break; case "mat2x3": parameterType = 13; break; case "mat2x4": parameterType = 14; break; case "mat3x2": parameterType = 15; break; case "mat3":case "mat3x3": parameterType = 16; break; case "mat3x4": parameterType = 17; break; case "mat4":case "mat4x4": parameterType = 20; break; case "mat4x2": parameterType = 18; break; case "mat4x3": parameterType = 19; break; case "int":case "uint": parameterType = 8; break; case "ivec2":case "uvec2": parameterType = 9; break; case "dvec4":case "vec4": parameterType = 7; break; default: parameterType = null; } if(storageType == "uniform") { this.__glslUniformNames.push(name); this.__glslUniformTypes.push(parameterType); } else { this.__glslAttribNames.push(name); this.__glslAttribTypes.push(parameterType); } } position = regex.matchedPos(); lastMatch = position.pos + position.len; } } ,__setPositionScale: function(positionScale) { if(this.__format == 1) { return; } if(this.__agalPositionScale != null) { var gl = this.__context.gl; var location = this.__agalPositionScale.location; var data = positionScale; var srcOffset = null; if(srcOffset != null) { gl.uniform4fv(location,data,srcOffset,null); } else { gl.uniform4fv(location,data); } } } ,__setSamplerState: function(sampler,state) { this.__samplerStates[sampler] = state; } ,__uploadFromGLSL: function(vertexShaderSource,fragmentShaderSource) { var gl = this.__context.gl; this.__glVertexSource = vertexShaderSource; this.__glFragmentSource = fragmentShaderSource; this.__glVertexShader = gl.createShader(gl.VERTEX_SHADER); gl.shaderSource(this.__glVertexShader,vertexShaderSource); gl.compileShader(this.__glVertexShader); if(gl.getShaderParameter(this.__glVertexShader,gl.COMPILE_STATUS) == 0) { var message = "Error compiling vertex shader"; message += "\n" + gl.getShaderInfoLog(this.__glVertexShader); message += "\n" + vertexShaderSource; lime_utils_Log.error(message,{ fileName : "openfl/display3D/Program3D.hx", lineNumber : 869, className : "openfl.display3D.Program3D", methodName : "__uploadFromGLSL"}); } this.__glFragmentShader = gl.createShader(gl.FRAGMENT_SHADER); gl.shaderSource(this.__glFragmentShader,fragmentShaderSource); gl.compileShader(this.__glFragmentShader); if(gl.getShaderParameter(this.__glFragmentShader,gl.COMPILE_STATUS) == 0) { var message1 = "Error compiling fragment shader"; message1 += "\n" + gl.getShaderInfoLog(this.__glFragmentShader); message1 += "\n" + fragmentShaderSource; lime_utils_Log.error(message1,{ fileName : "openfl/display3D/Program3D.hx", lineNumber : 881, className : "openfl.display3D.Program3D", methodName : "__uploadFromGLSL"}); } this.__glProgram = gl.createProgram(); if(this.__format == 0) { var _g = 0; while(_g < 16) { var i = _g++; var name = "va" + i; if(vertexShaderSource.indexOf(" " + name) != -1) { gl.bindAttribLocation(this.__glProgram,i,name); } } } else { var _g1 = 0; var _g11 = this.__glslAttribNames; while(_g1 < _g11.length) { var name1 = _g11[_g1]; ++_g1; if(name1.indexOf("Position") > -1 && StringTools.startsWith(name1,"openfl_")) { gl.bindAttribLocation(this.__glProgram,0,name1); break; } } } gl.attachShader(this.__glProgram,this.__glVertexShader); gl.attachShader(this.__glProgram,this.__glFragmentShader); gl.linkProgram(this.__glProgram); if(gl.getProgramParameter(this.__glProgram,gl.LINK_STATUS) == 0) { var message2 = "Unable to initialize the shader program"; message2 += "\n" + gl.getProgramInfoLog(this.__glProgram); lime_utils_Log.error(message2,{ fileName : "openfl/display3D/Program3D.hx", lineNumber : 922, className : "openfl.display3D.Program3D", methodName : "__uploadFromGLSL"}); } } ,__class__: openfl_display3D_Program3D }; var openfl_display3D_Uniform = function(context) { this.context = context; this.isDirty = true; var this1 = new lime_utils_BytePointerData(null,0); this.regDataPointer = this1; }; $hxClasses["openfl.display3D.Uniform"] = openfl_display3D_Uniform; openfl_display3D_Uniform.__name__ = "openfl.display3D.Uniform"; openfl_display3D_Uniform.prototype = { name: null ,location: null ,type: null ,size: null ,regData: null ,regIndex: null ,regCount: null ,isDirty: null ,context: null ,regDataPointer: null ,flush: function() { var gl = this.context.gl; var index = this.regIndex * 4; switch(this.type) { case 35664: lime_graphics__$WebGL2RenderContext_WebGL2RenderContext_$Impl_$.uniform2fv(gl,this.location,this.regData.subarray(index,index + this.regCount * 2)); break; case 35665: var location = this.location; var data = this.regData.subarray(index,index + this.regCount * 3); var srcOffset = null; if(srcOffset != null) { gl.uniform3fv(location,data,srcOffset,null); } else { gl.uniform3fv(location,data); } break; case 35666: var location1 = this.location; var data1 = this.regData.subarray(index,index + this.regCount * 4); var srcOffset1 = null; if(srcOffset1 != null) { gl.uniform4fv(location1,data1,srcOffset1,null); } else { gl.uniform4fv(location1,data1); } break; case 35674: lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.uniformMatrix2fv(gl,this.location,false,this.regData.subarray(index,index + this.size * 2 * 2)); break; case 35675: lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.uniformMatrix3fv(gl,this.location,false,this.regData.subarray(index,index + this.size * 3 * 3)); break; case 35676: lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.uniformMatrix4fv(gl,this.location,false,this.regData.subarray(index,index + this.size * 4 * 4)); break; default: var location2 = this.location; var data2 = this.regData.subarray(index,index + this.regCount * 4); var srcOffset2 = null; if(srcOffset2 != null) { gl.uniform4fv(location2,data2,srcOffset2,null); } else { gl.uniform4fv(location2,data2); } } } ,__getUniformRegisters: function(index,size) { return this.regData.subarray(index,index + size); } ,__class__: openfl_display3D_Uniform }; var openfl_display3D_UniformMap = function(list) { this.__uniforms = list; this.__uniforms.sort(function(a,b) { return Reflect.compare(a.regIndex,b.regIndex); }); var total = 0; var _g = 0; var _g1 = this.__uniforms; while(_g < _g1.length) { var uniform = _g1[_g]; ++_g; if(uniform.regIndex + uniform.regCount > total) { total = uniform.regIndex + uniform.regCount; } } this.__registerLookup = openfl__$Vector_Vector_$Impl_$.toObjectVector(null,total); var _g2 = 0; var _g3 = this.__uniforms; while(_g2 < _g3.length) { var uniform1 = _g3[_g2]; ++_g2; var _g21 = 0; var _g31 = uniform1.regCount; while(_g21 < _g31) { var i = _g21++; this.__registerLookup.set(uniform1.regIndex + i,uniform1); } } this.__anyDirty = this.__allDirty = true; }; $hxClasses["openfl.display3D.UniformMap"] = openfl_display3D_UniformMap; openfl_display3D_UniformMap.__name__ = "openfl.display3D.UniformMap"; openfl_display3D_UniformMap.prototype = { __allDirty: null ,__anyDirty: null ,__registerLookup: null ,__uniforms: null ,flush: function() { if(this.__anyDirty) { var _g = 0; var _g1 = this.__uniforms; while(_g < _g1.length) { var uniform = _g1[_g]; ++_g; if(this.__allDirty || uniform.isDirty) { uniform.flush(); uniform.isDirty = false; } } this.__anyDirty = this.__allDirty = false; } } ,markAllDirty: function() { this.__allDirty = true; this.__anyDirty = true; } ,markDirty: function(start,count) { if(this.__allDirty) { return; } var end = start + count; if(end > this.__registerLookup.get_length()) { end = this.__registerLookup.get_length(); } var index = start; while(index < end) { var uniform = this.__registerLookup.get(index); if(uniform != null) { uniform.isDirty = true; this.__anyDirty = true; index = uniform.regIndex + uniform.regCount; } else { ++index; } } } ,__class__: openfl_display3D_UniformMap }; var openfl_display3D_VertexBuffer3D = function(context3D,numVertices,dataPerVertex,bufferUsage) { this.__context = context3D; this.__numVertices = numVertices; this.__vertexSize = dataPerVertex; var gl = this.__context.gl; this.__id = gl.createBuffer(); this.__stride = this.__vertexSize * 4; this.__usage = openfl_display3D__$Context3DBufferUsage_Context3DBufferUsage_$Impl_$.fromString(bufferUsage) == 0 ? gl.DYNAMIC_DRAW : gl.STATIC_DRAW; }; $hxClasses["openfl.display3D.VertexBuffer3D"] = openfl_display3D_VertexBuffer3D; openfl_display3D_VertexBuffer3D.__name__ = "openfl.display3D.VertexBuffer3D"; openfl_display3D_VertexBuffer3D.prototype = { __context: null ,__data: null ,__id: null ,__memoryUsage: null ,__numVertices: null ,__stride: null ,__tempFloat32Array: null ,__usage: null ,__vertexSize: null ,dispose: function() { var gl = this.__context.gl; gl.deleteBuffer(this.__id); } ,uploadFromByteArray: function(data,byteArrayOffset,startVertex,numVertices) { var offset = byteArrayOffset + startVertex * this.__stride; var length = numVertices * this.__vertexSize; var elements = null; var array = null; var vector = null; var view = null; var buffer = openfl_utils__$ByteArray_ByteArray_$Impl_$.toArrayBuffer(data); var byteoffset = offset; if(byteoffset == null) { byteoffset = 0; } var this1; if(elements != null) { this1 = new Float32Array(elements); } else if(array != null) { this1 = new Float32Array(array); } else if(vector != null) { this1 = new Float32Array(vector.__array); } else if(view != null) { this1 = new Float32Array(view); } else if(buffer != null) { if(length == null) { this1 = new Float32Array(buffer,byteoffset); } else { this1 = new Float32Array(buffer,byteoffset,length); } } else { this1 = null; } this.uploadFromTypedArray(lime_utils__$Float32Array_Float32Array_$Impl_$.toArrayBufferView(this1)); } ,uploadFromTypedArray: function(data,byteLength) { if(byteLength == null) { byteLength = -1; } if(data == null) { return; } var gl = this.__context.gl; this.__context.__bindGLArrayBuffer(this.__id); lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.bufferData(gl,gl.ARRAY_BUFFER,data,this.__usage); } ,uploadFromVector: function(data,startVertex,numVertices) { if(data == null) { return; } var gl = this.__context.gl; var start = startVertex * this.__vertexSize; var count = numVertices * this.__vertexSize; var length = start + count; var existingFloat32Array = this.__tempFloat32Array; if(this.__tempFloat32Array == null || this.__tempFloat32Array.length < count) { var array = null; var vector = null; var view = null; var buffer = null; var len = null; var this1; if(count != null) { this1 = new Float32Array(count); } else if(array != null) { this1 = new Float32Array(array); } else if(vector != null) { this1 = new Float32Array(vector.__array); } else if(view != null) { this1 = new Float32Array(view); } else if(buffer != null) { if(len == null) { this1 = new Float32Array(buffer,0); } else { this1 = new Float32Array(buffer,0,len); } } else { this1 = null; } this.__tempFloat32Array = this1; if(existingFloat32Array != null) { this.__tempFloat32Array.set(existingFloat32Array); } } var _g = start; var _g1 = length; while(_g < _g1) { var i = _g++; this.__tempFloat32Array[i - start] = data.get(i); } this.uploadFromTypedArray(lime_utils__$Float32Array_Float32Array_$Impl_$.toArrayBufferView(this.__tempFloat32Array)); } ,__class__: openfl_display3D_VertexBuffer3D }; var openfl_display3D__$internal_AGALConverter = function() { }; $hxClasses["openfl.display3D._internal.AGALConverter"] = openfl_display3D__$internal_AGALConverter; openfl_display3D__$internal_AGALConverter.__name__ = "openfl.display3D._internal.AGALConverter"; openfl_display3D__$internal_AGALConverter.prefixFromType = function(regType,programType) { switch(regType) { case 0: return "va"; case 1: if(programType == openfl_display3D__$internal__$AGALConverter_ProgramType.VERTEX) { return "vc"; } else { return "fc"; } break; case 2: if(programType == openfl_display3D__$internal__$AGALConverter_ProgramType.VERTEX) { return "vt"; } else { return "ft"; } break; case 3: return "output_"; case 4: return "v"; case 5: return "sampler"; default: throw new js__$Boot_HaxeError(new openfl_errors_IllegalOperationError("Invalid data!")); } }; openfl_display3D__$internal_AGALConverter.readUInt64 = function(byteArray) { var low = byteArray.readInt(); var high = byteArray.readInt(); var this1 = new haxe__$Int64__$_$_$Int64(high,low); return this1; }; openfl_display3D__$internal_AGALConverter.convertToGLSL = function(agal,samplerState) { agal.position = 0; agal.__endian = 1; var magic = agal.readByte() & 255; if(magic == 176) { return agal.readUTF(); } if(magic != 160) { throw new js__$Boot_HaxeError(new openfl_errors_IllegalOperationError("Magic value must be 0xA0, may not be AGAL")); } var version = agal.readInt(); if(version != 1) { throw new js__$Boot_HaxeError(new openfl_errors_IllegalOperationError("Version must be 1")); } var shaderTypeID = agal.readByte() & 255; if(shaderTypeID != 161) { throw new js__$Boot_HaxeError(new openfl_errors_IllegalOperationError("Shader type ID must be 0xA1")); } var programType = (agal.readByte() & 255) == 0 ? openfl_display3D__$internal__$AGALConverter_ProgramType.VERTEX : openfl_display3D__$internal__$AGALConverter_ProgramType.FRAGMENT; var map = new openfl_display3D__$internal_RegisterMap(); var sb_b = ""; while(true) { var a = agal.position; if(!_$UInt_UInt_$Impl_$.gt(openfl_utils__$ByteArray_ByteArray_$Impl_$.get_length(agal),a)) { break; } var opcode = agal.readInt(); var dest = agal.readUnsignedInt(); var source1 = openfl_display3D__$internal_AGALConverter.readUInt64(agal); var source2 = openfl_display3D__$internal_AGALConverter.readUInt64(agal); var dr = openfl_display3D__$internal__$AGALConverter_DestRegister.parse(dest,programType); var sr1 = openfl_display3D__$internal__$AGALConverter_SourceRegister.parse(source1,programType,dr.mask); var sr2 = openfl_display3D__$internal__$AGALConverter_SourceRegister.parse(source2,programType,dr.mask); sb_b += "\t"; switch(opcode) { case 0: sb_b += Std.string(dr.toGLSL() + " = " + sr1.toGLSL() + "; // mov"); map.addDR(dr,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 1: sb_b += Std.string(dr.toGLSL() + " = " + sr1.toGLSL() + " + " + sr2.toGLSL() + "; // add"); map.addDR(dr,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr2,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 2: sb_b += Std.string(dr.toGLSL() + " = " + sr1.toGLSL() + " - " + sr2.toGLSL() + "; // sub"); map.addDR(dr,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr2,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 3: sb_b += Std.string(dr.toGLSL() + " = " + sr1.toGLSL() + " * " + sr2.toGLSL() + "; // mul"); map.addDR(dr,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr2,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 4: sb_b += Std.string(dr.toGLSL() + " = " + sr1.toGLSL() + " / " + sr2.toGLSL() + "; // div"); map.addDR(dr,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr2,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 5: var sr = sr1.toGLSL(); if(sr.indexOf(".") > -1) { sb_b += Std.string(dr.toGLSL() + " = 1.0 / " + sr1.toGLSL() + "; // rcp"); } else { sb_b += Std.string(dr.toGLSL() + " = vec4(1) / " + sr1.toGLSL() + "; // rcp"); } map.addDR(dr,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 6: sb_b += Std.string(dr.toGLSL() + " = min(" + sr1.toGLSL() + ", " + sr2.toGLSL() + "); // min"); map.addDR(dr,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr2,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 7: sb_b += Std.string(dr.toGLSL() + " = max(" + sr1.toGLSL() + ", " + sr2.toGLSL() + "); // max"); map.addDR(dr,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr2,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 8: sb_b += Std.string(dr.toGLSL() + " = fract(" + sr1.toGLSL() + "); // frc"); map.addDR(dr,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 9: sb_b += Std.string(dr.toGLSL() + " = sqrt(" + sr1.toGLSL() + "); // sqrt"); map.addDR(dr,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 10: sb_b += Std.string(dr.toGLSL() + " = inversesqrt(" + sr1.toGLSL() + "); // rsq"); map.addDR(dr,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 11: sb_b += Std.string(dr.toGLSL() + " = pow(" + sr1.toGLSL() + ", " + sr2.toGLSL() + "); // pow"); map.addDR(dr,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr2,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 12: sb_b += Std.string(dr.toGLSL() + " = log2(" + sr1.toGLSL() + "); // log"); map.addDR(dr,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 13: sb_b += Std.string(dr.toGLSL() + " = exp2(" + sr1.toGLSL() + "); // exp"); map.addDR(dr,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 14: sb_b += Std.string(dr.toGLSL() + " = normalize(" + sr1.toGLSL() + "); // normalize"); map.addDR(dr,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 15: sb_b += Std.string(dr.toGLSL() + " = sin(" + sr1.toGLSL() + "); // sin"); map.addDR(dr,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 16: sb_b += Std.string(dr.toGLSL() + " = cos(" + sr1.toGLSL() + "); // cos"); map.addDR(dr,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 17: sr1.sourceMask = sr2.sourceMask = 7; sb_b += Std.string(dr.toGLSL() + " = cross(vec3(" + sr1.toGLSL() + "), vec3(" + sr2.toGLSL() + ")); // crs"); map.addDR(dr,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr2,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 18: sr1.sourceMask = sr2.sourceMask = 7; sb_b += Std.string(dr.toGLSL() + " = vec4(dot(vec3(" + sr1.toGLSL() + "), vec3(" + sr2.toGLSL() + ")))" + dr.getWriteMask() + "; // dp3"); map.addDR(dr,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr2,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 19: sr1.sourceMask = sr2.sourceMask = 15; sb_b += Std.string(dr.toGLSL() + " = vec4(dot(vec4(" + sr1.toGLSL() + "), vec4(" + sr2.toGLSL() + ")))" + dr.getWriteMask() + "; // dp4"); map.addDR(dr,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr2,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 20: sb_b += Std.string(dr.toGLSL() + " = abs(" + sr1.toGLSL() + "); // abs"); map.addDR(dr,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 21: sb_b += Std.string(dr.toGLSL() + " = -" + sr1.toGLSL() + "; // neg"); map.addDR(dr,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 22: sb_b += Std.string(dr.toGLSL() + " = clamp(" + sr1.toGLSL() + ", 0.0, 1.0); // saturate"); map.addDR(dr,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 23: var existingUsage = map.getRegisterUsage(sr2); if(existingUsage != openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4 && existingUsage != openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4_ARRAY) { sb_b += Std.string(dr.toGLSL() + " = " + sr1.toGLSL() + " * mat3(" + sr2.toGLSL(false) + "); // m33"); map.addDR(dr,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr2,openfl_display3D__$internal__$AGALConverter_RegisterUsage.MATRIX_4_4); } else { sr1.sourceMask = sr2.sourceMask = 7; sb_b += Std.string(dr.toGLSL() + " = vec3(" + "dot(" + sr1.toGLSL(true) + "," + sr2.toGLSL(true,0) + "), " + "dot(" + sr1.toGLSL(true) + "," + sr2.toGLSL(true,1) + ")," + "dot(" + sr1.toGLSL(true) + "," + sr2.toGLSL(true,2) + ")); // m33"); map.addDR(dr,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr2,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4,0); map.addSR(sr2,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4,1); map.addSR(sr2,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4,2); } break; case 24: var existingUsage1 = map.getRegisterUsage(sr2); if(existingUsage1 != openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4 && existingUsage1 != openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4_ARRAY) { sb_b += Std.string(dr.toGLSL() + " = " + sr1.toGLSL() + " * " + sr2.toGLSL(false) + "; // m44"); map.addDR(dr,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr2,openfl_display3D__$internal__$AGALConverter_RegisterUsage.MATRIX_4_4); } else { sr1.sourceMask = sr2.sourceMask = 15; sb_b += Std.string(dr.toGLSL() + " = vec4(" + "dot(" + sr1.toGLSL(true) + "," + sr2.toGLSL(true,0) + "), " + "dot(" + sr1.toGLSL(true) + "," + sr2.toGLSL(true,1) + "), " + "dot(" + sr1.toGLSL(true) + "," + sr2.toGLSL(true,2) + "), " + "dot(" + sr1.toGLSL(true) + "," + sr2.toGLSL(true,3) + ")); // m44"); map.addDR(dr,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr2,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4,0); map.addSR(sr2,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4,1); map.addSR(sr2,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4,2); map.addSR(sr2,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4,3); } break; case 25: dr.mask &= 7; var existingUsage2 = map.getRegisterUsage(sr2); if(existingUsage2 != openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4 && existingUsage2 != openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4_ARRAY) { sb_b += Std.string(dr.toGLSL() + " = " + sr1.toGLSL() + " * " + sr2.toGLSL(false) + "; // m34"); map.addDR(dr,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr2,openfl_display3D__$internal__$AGALConverter_RegisterUsage.MATRIX_4_4); } else { sr1.sourceMask = sr2.sourceMask = 15; sb_b += Std.string(dr.toGLSL() + " = vec3(" + "dot(" + sr1.toGLSL(true) + "," + sr2.toGLSL(true,0) + "), " + "dot(" + sr1.toGLSL(true) + "," + sr2.toGLSL(true,1) + ")," + "dot(" + sr1.toGLSL(true) + "," + sr2.toGLSL(true,2) + ")); // m34"); map.addDR(dr,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr2,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4,0); map.addSR(sr2,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4,1); map.addSR(sr2,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4,2); } break; case 39: sr1.sourceMask = 15; sb_b += Std.string("if (any(lessThan(" + sr1.toGLSL() + ", vec4(0)))) discard;"); map.addSR(sr1,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 40: var sampler = openfl_display3D__$internal__$AGALConverter_SamplerRegister.parse(source2,programType); switch(sampler.d) { case 0: if(sampler.t == 2) { sr1.sourceMask = 3; map.addSaR(sampler,openfl_display3D__$internal__$AGALConverter_RegisterUsage.SAMPLER_2D_ALPHA); sb_b += Std.string("if (" + sampler.toGLSL() + "_alphaEnabled) {\n"); sb_b += Std.string("\t\t" + dr.toGLSL() + " = vec4(texture2D(" + sampler.toGLSL() + ", " + sr1.toGLSL() + ").xyz, texture2D(" + sampler.toGLSL() + "_alpha, " + sr1.toGLSL() + ").x); // tex + alpha\n"); sb_b += "\t} else {\n"; sb_b += Std.string("\t\t" + dr.toGLSL() + " = texture2D(" + sampler.toGLSL() + ", " + sr1.toGLSL() + "); // tex\n"); sb_b += "\t}"; } else { sr1.sourceMask = 3; map.addSaR(sampler,openfl_display3D__$internal__$AGALConverter_RegisterUsage.SAMPLER_2D); sb_b += Std.string(dr.toGLSL() + " = texture2D(" + sampler.toGLSL() + ", " + sr1.toGLSL() + "); // tex"); } break; case 1: if(sampler.t == 2) { sr1.sourceMask = 7; map.addSaR(sampler,openfl_display3D__$internal__$AGALConverter_RegisterUsage.SAMPLER_CUBE_ALPHA); sb_b += Std.string("if (" + sampler.toGLSL() + "_alphaEnabled) {\n"); sb_b += Std.string("\t\t" + dr.toGLSL() + " = vec4(textureCube(" + sampler.toGLSL() + ", " + sr1.toGLSL() + ").xyz, textureCube(" + sampler.toGLSL() + "_alpha, " + sr1.toGLSL() + ").x); // tex + alpha\n"); sb_b += "\t} else {\n"; sb_b += Std.string("\t\t" + dr.toGLSL() + " = textureCube(" + sampler.toGLSL() + ", " + sr1.toGLSL() + "); // tex"); sb_b += "\t}"; } else { sr1.sourceMask = 7; sb_b += Std.string(dr.toGLSL() + " = textureCube(" + sampler.toGLSL() + ", " + sr1.toGLSL() + "); // tex"); map.addSaR(sampler,openfl_display3D__$internal__$AGALConverter_RegisterUsage.SAMPLER_CUBE); } break; } map.addDR(dr,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); if(samplerState != null) { samplerState[sampler.n] = sampler.toSamplerState(); } break; case 41: sr1.sourceMask = sr2.sourceMask = 15; sb_b += Std.string(dr.toGLSL() + " = vec4(greaterThanEqual(" + sr1.toGLSL() + ", " + sr2.toGLSL() + "))" + dr.getWriteMask() + "; // ste"); map.addDR(dr,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr2,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 42: sr1.sourceMask = sr2.sourceMask = 15; sb_b += Std.string(dr.toGLSL() + " = vec4(lessThan(" + sr1.toGLSL() + ", " + sr2.toGLSL() + "))" + dr.getWriteMask() + "; // slt"); map.addDR(dr,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr2,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 44: sr1.sourceMask = sr2.sourceMask = 15; sb_b += Std.string(dr.toGLSL() + " = vec4(equal(" + sr1.toGLSL() + ", " + sr2.toGLSL() + "))" + dr.getWriteMask() + "; // seq"); map.addDR(dr,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr2,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); break; case 45: sr1.sourceMask = sr2.sourceMask = 15; sb_b += Std.string(dr.toGLSL() + " = vec4(notEqual(" + sr1.toGLSL() + ", " + sr2.toGLSL() + "))" + dr.getWriteMask() + "; // sne"); map.addDR(dr,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr1,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); map.addSR(sr2,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); break; default: throw new js__$Boot_HaxeError(new openfl_errors_IllegalOperationError("Opcode " + opcode)); } sb_b += "\n"; } if(openfl_display3D__$internal_AGALConverter.limitedProfile == null) { var version1 = lime_graphics_opengl_GL.context.getParameter(7938); openfl_display3D__$internal_AGALConverter.limitedProfile = version1.indexOf("OpenGL ES") > -1 || version1.indexOf("WebGL") > -1; } var glsl_b = ""; glsl_b += Std.string("// AGAL " + (programType == openfl_display3D__$internal__$AGALConverter_ProgramType.VERTEX ? "vertex" : "fragment") + " shader\n"); if(openfl_display3D__$internal_AGALConverter.limitedProfile) { glsl_b += "#version 100\n"; glsl_b += "#ifdef GL_FRAGMENT_PRECISION_HIGH\n"; glsl_b += "precision highp float;\n"; glsl_b += "#else\n"; glsl_b += "precision mediump float;\n"; glsl_b += "#endif\n"; } else { glsl_b += "#version 120\n"; } glsl_b += Std.string(map.toGLSL(false)); if(programType == openfl_display3D__$internal__$AGALConverter_ProgramType.VERTEX) { glsl_b += "uniform vec4 vcPositionScale;\n"; } glsl_b += "void main() {\n"; glsl_b += Std.string(map.toGLSL(true)); glsl_b += Std.string(sb_b); if(programType == openfl_display3D__$internal__$AGALConverter_ProgramType.VERTEX) { glsl_b += "\tgl_Position *= vcPositionScale;\n"; } glsl_b += "}\n"; return glsl_b; }; var openfl_display3D__$internal__$AGALConverter_DestRegister = function() { }; $hxClasses["openfl.display3D._internal._AGALConverter.DestRegister"] = openfl_display3D__$internal__$AGALConverter_DestRegister; openfl_display3D__$internal__$AGALConverter_DestRegister.__name__ = "openfl.display3D._internal._AGALConverter.DestRegister"; openfl_display3D__$internal__$AGALConverter_DestRegister.parse = function(v,programType) { var dr = new openfl_display3D__$internal__$AGALConverter_DestRegister(); dr.programType = programType; dr.type = v >>> 24 & 15; dr.mask = v >>> 16 & 15; dr.n = v & 65535; return dr; }; openfl_display3D__$internal__$AGALConverter_DestRegister.prototype = { mask: null ,n: null ,programType: null ,type: null ,getWriteMask: function() { var str = "."; if((this.mask & 1) != 0) { str += "x"; } if((this.mask & 2) != 0) { str += "y"; } if((this.mask & 4) != 0) { str += "z"; } if((this.mask & 8) != 0) { str += "w"; } return str; } ,toGLSL: function(useMask) { if(useMask == null) { useMask = true; } var str; if(this.type == 3) { str = this.programType == openfl_display3D__$internal__$AGALConverter_ProgramType.VERTEX ? "gl_Position" : "gl_FragColor"; } else { str = openfl_display3D__$internal_AGALConverter.prefixFromType(this.type,this.programType) + this.n; } if(useMask && this.mask != 15) { str += this.getWriteMask(); } return str; } ,__class__: openfl_display3D__$internal__$AGALConverter_DestRegister }; var openfl_display3D__$internal__$AGALConverter_ProgramType = $hxEnums["openfl.display3D._internal._AGALConverter.ProgramType"] = { __ename__ : "openfl.display3D._internal._AGALConverter.ProgramType", __constructs__ : ["VERTEX","FRAGMENT"] ,VERTEX: {_hx_index:0,__enum__:"openfl.display3D._internal._AGALConverter.ProgramType",toString:$estr} ,FRAGMENT: {_hx_index:1,__enum__:"openfl.display3D._internal._AGALConverter.ProgramType",toString:$estr} }; var openfl_display3D__$internal_RegisterMap = function() { this.mEntries = []; }; $hxClasses["openfl.display3D._internal.RegisterMap"] = openfl_display3D__$internal_RegisterMap; openfl_display3D__$internal_RegisterMap.__name__ = "openfl.display3D._internal.RegisterMap"; openfl_display3D__$internal_RegisterMap.prototype = { mEntries: null ,add: function(type,name,number,usage) { var _g = 0; var _g1 = this.mEntries; while(_g < _g1.length) { var entry = _g1[_g]; ++_g; if(entry.type == type && entry.name == name && entry.number == number) { if(entry.usage != usage) { throw new js__$Boot_HaxeError(new openfl_errors_IllegalOperationError("Cannot use register in multiple ways yet (mat4/vec4)")); } return; } } var entry1 = new openfl_display3D__$internal__$AGALConverter_RegisterMapEntry(); entry1.type = type; entry1.name = name; entry1.number = number; entry1.usage = usage; this.mEntries.push(entry1); } ,addDR: function(dr,usage) { this.add(dr.type,dr.toGLSL(false),dr.n,usage); } ,addSaR: function(sr,usage) { this.add(sr.type,sr.toGLSL(),sr.n,usage); } ,addSR: function(sr,usage,offset) { if(offset == null) { offset = 0; } if(sr.d != 0) { this.add(sr.itype,openfl_display3D__$internal_AGALConverter.prefixFromType(sr.itype,sr.programType) + sr.n,sr.n,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4); this.add(sr.type,openfl_display3D__$internal_AGALConverter.prefixFromType(sr.type,sr.programType) + sr.o,sr.o,openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4_ARRAY); return; } this.add(sr.type,sr.toGLSL(false,offset),sr.n + offset,usage); } ,getRegisterUsage: function(sr) { if(sr.d != 0) { return openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4_ARRAY; } return this.getUsage(sr.type,sr.toGLSL(false),sr.n); } ,getUsage: function(type,name,number) { var _g = 0; var _g1 = this.mEntries; while(_g < _g1.length) { var entry = _g1[_g]; ++_g; if(entry.type == type && entry.name == name && entry.number == number) { return entry.usage; } } return openfl_display3D__$internal__$AGALConverter_RegisterUsage.UNUSED; } ,toGLSL: function(tempRegistersOnly) { this.mEntries.sort(function(a,b) { return a.number - b.number; }); var entry; this.mEntries.sort(function(a1,b1) { return js_Boot.__cast(a1.type , Int) - js_Boot.__cast(b1.type , Int); }); var sb_b = ""; var _g = 0; var _g1 = this.mEntries.length; while(_g < _g1) { var i = _g++; entry = this.mEntries[i]; if(tempRegistersOnly && entry.type != 2 || !tempRegistersOnly && entry.type == 2) { continue; } if(entry.type == 3) { continue; } switch(entry.type) { case 0: sb_b += "attribute "; break; case 1: sb_b += "uniform "; break; case 2: sb_b += "\t"; break; case 3: break; case 4: sb_b += "varying "; break; case 5: sb_b += "uniform "; break; default: throw new js__$Boot_HaxeError(new openfl_errors_IllegalOperationError()); } switch(entry.usage._hx_index) { case 0: lime_utils_Log.info("Missing switch patten: RegisterUsage.UNUSED",{ fileName : "openfl/display3D/_internal/AGALConverter.hx", lineNumber : 750, className : "openfl.display3D._internal.RegisterMap", methodName : "toGLSL"}); break; case 1: sb_b += "vec4 "; break; case 2: sb_b += "mat4 "; break; case 3: sb_b += "sampler2D "; break; case 4: break; case 5: sb_b += "samplerCube "; break; case 6: break; case 7: sb_b += "vec4 "; break; } if(entry.usage == openfl_display3D__$internal__$AGALConverter_RegisterUsage.SAMPLER_2D_ALPHA) { sb_b += "sampler2D "; sb_b += Std.string(entry.name); sb_b += ";\n"; sb_b += "uniform "; sb_b += "sampler2D "; sb_b += Std.string(entry.name + "_alpha"); sb_b += ";\n"; sb_b += "uniform "; sb_b += "bool "; sb_b += Std.string(entry.name + "_alphaEnabled"); sb_b += ";\n"; } else if(entry.usage == openfl_display3D__$internal__$AGALConverter_RegisterUsage.SAMPLER_CUBE_ALPHA) { sb_b += "samplerCube "; sb_b += Std.string(entry.name); sb_b += ";\n"; sb_b += "uniform "; sb_b += "samplerCube "; sb_b += Std.string(entry.name + "_alpha"); sb_b += ";\n"; sb_b += "uniform "; sb_b += "bool "; sb_b += Std.string(entry.name + "_alphaEnabled"); sb_b += ";\n"; } else if(entry.usage == openfl_display3D__$internal__$AGALConverter_RegisterUsage.VECTOR_4_ARRAY) { sb_b += Std.string(entry.name + "[128]"); sb_b += ";\n"; } else { sb_b += Std.string(entry.name); sb_b += ";\n"; } } return sb_b; } ,__class__: openfl_display3D__$internal_RegisterMap }; var openfl_display3D__$internal__$AGALConverter_RegisterMapEntry = function() { }; $hxClasses["openfl.display3D._internal._AGALConverter.RegisterMapEntry"] = openfl_display3D__$internal__$AGALConverter_RegisterMapEntry; openfl_display3D__$internal__$AGALConverter_RegisterMapEntry.__name__ = "openfl.display3D._internal._AGALConverter.RegisterMapEntry"; openfl_display3D__$internal__$AGALConverter_RegisterMapEntry.prototype = { name: null ,number: null ,type: null ,usage: null ,__class__: openfl_display3D__$internal__$AGALConverter_RegisterMapEntry }; var openfl_display3D__$internal__$AGALConverter_RegisterUsage = $hxEnums["openfl.display3D._internal._AGALConverter.RegisterUsage"] = { __ename__ : "openfl.display3D._internal._AGALConverter.RegisterUsage", __constructs__ : ["UNUSED","VECTOR_4","MATRIX_4_4","SAMPLER_2D","SAMPLER_2D_ALPHA","SAMPLER_CUBE","SAMPLER_CUBE_ALPHA","VECTOR_4_ARRAY"] ,UNUSED: {_hx_index:0,__enum__:"openfl.display3D._internal._AGALConverter.RegisterUsage",toString:$estr} ,VECTOR_4: {_hx_index:1,__enum__:"openfl.display3D._internal._AGALConverter.RegisterUsage",toString:$estr} ,MATRIX_4_4: {_hx_index:2,__enum__:"openfl.display3D._internal._AGALConverter.RegisterUsage",toString:$estr} ,SAMPLER_2D: {_hx_index:3,__enum__:"openfl.display3D._internal._AGALConverter.RegisterUsage",toString:$estr} ,SAMPLER_2D_ALPHA: {_hx_index:4,__enum__:"openfl.display3D._internal._AGALConverter.RegisterUsage",toString:$estr} ,SAMPLER_CUBE: {_hx_index:5,__enum__:"openfl.display3D._internal._AGALConverter.RegisterUsage",toString:$estr} ,SAMPLER_CUBE_ALPHA: {_hx_index:6,__enum__:"openfl.display3D._internal._AGALConverter.RegisterUsage",toString:$estr} ,VECTOR_4_ARRAY: {_hx_index:7,__enum__:"openfl.display3D._internal._AGALConverter.RegisterUsage",toString:$estr} }; var openfl_display3D__$internal__$AGALConverter_SamplerRegister = function() { }; $hxClasses["openfl.display3D._internal._AGALConverter.SamplerRegister"] = openfl_display3D__$internal__$AGALConverter_SamplerRegister; openfl_display3D__$internal__$AGALConverter_SamplerRegister.__name__ = "openfl.display3D._internal._AGALConverter.SamplerRegister"; openfl_display3D__$internal__$AGALConverter_SamplerRegister.parse = function(v,programType) { var sr = new openfl_display3D__$internal__$AGALConverter_SamplerRegister(); sr.programType = programType; var b = 60; b &= 63; var a; if(b == 0) { var this1 = new haxe__$Int64__$_$_$Int64(v.high,v.low); a = this1; } else if(b < 32) { var this2 = new haxe__$Int64__$_$_$Int64(v.high >> b,v.high << 32 - b | v.low >>> b); a = this2; } else { var this3 = new haxe__$Int64__$_$_$Int64(v.high >> 31,v.high >> b - 32); a = this3; } var b_high = 0; var b_low = 15; var this_high = a.high & b_high; var this_low = a.low & b_low; sr.f = this_low; var b1 = 56; b1 &= 63; var a1; if(b1 == 0) { var this4 = new haxe__$Int64__$_$_$Int64(v.high,v.low); a1 = this4; } else if(b1 < 32) { var this5 = new haxe__$Int64__$_$_$Int64(v.high >> b1,v.high << 32 - b1 | v.low >>> b1); a1 = this5; } else { var this6 = new haxe__$Int64__$_$_$Int64(v.high >> 31,v.high >> b1 - 32); a1 = this6; } var b_high1 = 0; var b_low1 = 15; var this_high1 = a1.high & b_high1; var this_low1 = a1.low & b_low1; sr.m = this_low1; var b2 = 52; b2 &= 63; var a2; if(b2 == 0) { var this7 = new haxe__$Int64__$_$_$Int64(v.high,v.low); a2 = this7; } else if(b2 < 32) { var this8 = new haxe__$Int64__$_$_$Int64(v.high >> b2,v.high << 32 - b2 | v.low >>> b2); a2 = this8; } else { var this9 = new haxe__$Int64__$_$_$Int64(v.high >> 31,v.high >> b2 - 32); a2 = this9; } var b_high2 = 0; var b_low2 = 15; var this_high2 = a2.high & b_high2; var this_low2 = a2.low & b_low2; sr.w = this_low2; var b3 = 48; b3 &= 63; var a3; if(b3 == 0) { var this10 = new haxe__$Int64__$_$_$Int64(v.high,v.low); a3 = this10; } else if(b3 < 32) { var this11 = new haxe__$Int64__$_$_$Int64(v.high >> b3,v.high << 32 - b3 | v.low >>> b3); a3 = this11; } else { var this12 = new haxe__$Int64__$_$_$Int64(v.high >> 31,v.high >> b3 - 32); a3 = this12; } var b_high3 = 0; var b_low3 = 15; var this_high3 = a3.high & b_high3; var this_low3 = a3.low & b_low3; sr.s = this_low3; var b4 = 44; b4 &= 63; var a4; if(b4 == 0) { var this13 = new haxe__$Int64__$_$_$Int64(v.high,v.low); a4 = this13; } else if(b4 < 32) { var this14 = new haxe__$Int64__$_$_$Int64(v.high >> b4,v.high << 32 - b4 | v.low >>> b4); a4 = this14; } else { var this15 = new haxe__$Int64__$_$_$Int64(v.high >> 31,v.high >> b4 - 32); a4 = this15; } var b_high4 = 0; var b_low4 = 15; var this_high4 = a4.high & b_high4; var this_low4 = a4.low & b_low4; sr.d = this_low4; var b5 = 40; b5 &= 63; var a5; if(b5 == 0) { var this16 = new haxe__$Int64__$_$_$Int64(v.high,v.low); a5 = this16; } else if(b5 < 32) { var this17 = new haxe__$Int64__$_$_$Int64(v.high >> b5,v.high << 32 - b5 | v.low >>> b5); a5 = this17; } else { var this18 = new haxe__$Int64__$_$_$Int64(v.high >> 31,v.high >> b5 - 32); a5 = this18; } var b_high5 = 0; var b_low5 = 15; var this_high5 = a5.high & b_high5; var this_low5 = a5.low & b_low5; sr.t = this_low5; var b6 = 32; b6 &= 63; var a6; if(b6 == 0) { var this19 = new haxe__$Int64__$_$_$Int64(v.high,v.low); a6 = this19; } else if(b6 < 32) { var this20 = new haxe__$Int64__$_$_$Int64(v.high >> b6,v.high << 32 - b6 | v.low >>> b6); a6 = this20; } else { var this21 = new haxe__$Int64__$_$_$Int64(v.high >> 31,v.high >> b6 - 32); a6 = this21; } var b_high6 = 0; var b_low6 = 15; var this_high6 = a6.high & b_high6; var this_low6 = a6.low & b_low6; sr.type = this_low6; var b7 = 16; b7 &= 63; var a7; if(b7 == 0) { var this22 = new haxe__$Int64__$_$_$Int64(v.high,v.low); a7 = this22; } else if(b7 < 32) { var this23 = new haxe__$Int64__$_$_$Int64(v.high >> b7,v.high << 32 - b7 | v.low >>> b7); a7 = this23; } else { var this24 = new haxe__$Int64__$_$_$Int64(v.high >> 31,v.high >> b7 - 32); a7 = this24; } var b_high7 = 0; var b_low7 = 255; var this_high7 = a7.high & b_high7; var this_low7 = a7.low & b_low7; sr.b = this_low7; var b_high8 = 0; var b_low8 = 65535; var this_high8 = v.high & b_high8; var this_low8 = v.low & b_low8; sr.n = this_low8; return sr; }; openfl_display3D__$internal__$AGALConverter_SamplerRegister.prototype = { b: null ,d: null ,f: null ,m: null ,n: null ,programType: null ,s: null ,t: null ,type: null ,w: null ,toGLSL: function() { var str = openfl_display3D__$internal_AGALConverter.prefixFromType(this.type,this.programType) + this.n; return str; } ,toSamplerState: function() { var wrap; var filter; var mipfilter; switch(this.f) { case 0: filter = 5; break; case 1: filter = 4; break; default: throw new js__$Boot_HaxeError(new openfl_errors_IllegalOperationError()); } switch(this.m) { case 0: mipfilter = 2; break; case 1: mipfilter = 1; break; case 2: mipfilter = 0; break; default: throw new js__$Boot_HaxeError(new openfl_errors_IllegalOperationError()); } switch(this.w) { case 0: wrap = 0; break; case 1: wrap = 2; break; default: throw new js__$Boot_HaxeError(new openfl_errors_IllegalOperationError()); } var ignoreSampler = (this.s & 4) == 4; var centroid = (this.s & 1) == 1; var textureAlpha = this.t == 2; var lodBias = (this.b << 24 >> 24) / 8.0; return new openfl_display__$internal_SamplerState(wrap,filter,mipfilter,lodBias,ignoreSampler,centroid,textureAlpha); } ,__class__: openfl_display3D__$internal__$AGALConverter_SamplerRegister }; var openfl_display3D__$internal__$AGALConverter_SourceRegister = function() { }; $hxClasses["openfl.display3D._internal._AGALConverter.SourceRegister"] = openfl_display3D__$internal__$AGALConverter_SourceRegister; openfl_display3D__$internal__$AGALConverter_SourceRegister.__name__ = "openfl.display3D._internal._AGALConverter.SourceRegister"; openfl_display3D__$internal__$AGALConverter_SourceRegister.parse = function(v,programType,sourceMask) { var sr = new openfl_display3D__$internal__$AGALConverter_SourceRegister(); sr.programType = programType; var b = 63; b &= 63; var a; if(b == 0) { var this1 = new haxe__$Int64__$_$_$Int64(v.high,v.low); a = this1; } else if(b < 32) { var this2 = new haxe__$Int64__$_$_$Int64(v.high >> b,v.high << 32 - b | v.low >>> b); a = this2; } else { var this3 = new haxe__$Int64__$_$_$Int64(v.high >> 31,v.high >> b - 32); a = this3; } var b_high = 0; var b_low = 1; var this_high = a.high & b_high; var this_low = a.low & b_low; sr.d = this_low; var b1 = 48; b1 &= 63; var a1; if(b1 == 0) { var this4 = new haxe__$Int64__$_$_$Int64(v.high,v.low); a1 = this4; } else if(b1 < 32) { var this5 = new haxe__$Int64__$_$_$Int64(v.high >> b1,v.high << 32 - b1 | v.low >>> b1); a1 = this5; } else { var this6 = new haxe__$Int64__$_$_$Int64(v.high >> 31,v.high >> b1 - 32); a1 = this6; } var b_high1 = 0; var b_low1 = 3; var this_high1 = a1.high & b_high1; var this_low1 = a1.low & b_low1; sr.q = this_low1; var b2 = 40; b2 &= 63; var a2; if(b2 == 0) { var this7 = new haxe__$Int64__$_$_$Int64(v.high,v.low); a2 = this7; } else if(b2 < 32) { var this8 = new haxe__$Int64__$_$_$Int64(v.high >> b2,v.high << 32 - b2 | v.low >>> b2); a2 = this8; } else { var this9 = new haxe__$Int64__$_$_$Int64(v.high >> 31,v.high >> b2 - 32); a2 = this9; } var b_high2 = 0; var b_low2 = 15; var this_high2 = a2.high & b_high2; var this_low2 = a2.low & b_low2; sr.itype = this_low2; var b3 = 32; b3 &= 63; var a3; if(b3 == 0) { var this10 = new haxe__$Int64__$_$_$Int64(v.high,v.low); a3 = this10; } else if(b3 < 32) { var this11 = new haxe__$Int64__$_$_$Int64(v.high >> b3,v.high << 32 - b3 | v.low >>> b3); a3 = this11; } else { var this12 = new haxe__$Int64__$_$_$Int64(v.high >> 31,v.high >> b3 - 32); a3 = this12; } var b_high3 = 0; var b_low3 = 15; var this_high3 = a3.high & b_high3; var this_low3 = a3.low & b_low3; sr.type = this_low3; var b4 = 24; b4 &= 63; var a4; if(b4 == 0) { var this13 = new haxe__$Int64__$_$_$Int64(v.high,v.low); a4 = this13; } else if(b4 < 32) { var this14 = new haxe__$Int64__$_$_$Int64(v.high >> b4,v.high << 32 - b4 | v.low >>> b4); a4 = this14; } else { var this15 = new haxe__$Int64__$_$_$Int64(v.high >> 31,v.high >> b4 - 32); a4 = this15; } var b_high4 = 0; var b_low4 = 255; var this_high4 = a4.high & b_high4; var this_low4 = a4.low & b_low4; sr.s = this_low4; var b5 = 16; b5 &= 63; var a5; if(b5 == 0) { var this16 = new haxe__$Int64__$_$_$Int64(v.high,v.low); a5 = this16; } else if(b5 < 32) { var this17 = new haxe__$Int64__$_$_$Int64(v.high >> b5,v.high << 32 - b5 | v.low >>> b5); a5 = this17; } else { var this18 = new haxe__$Int64__$_$_$Int64(v.high >> 31,v.high >> b5 - 32); a5 = this18; } var b_high5 = 0; var b_low5 = 255; var this_high5 = a5.high & b_high5; var this_low5 = a5.low & b_low5; sr.o = this_low5; var b_high6 = 0; var b_low6 = 65535; var this_high6 = v.high & b_high6; var this_low6 = v.low & b_low6; sr.n = this_low6; sr.sourceMask = sourceMask; return sr; }; openfl_display3D__$internal__$AGALConverter_SourceRegister.prototype = { d: null ,itype: null ,n: null ,o: null ,programType: null ,q: null ,s: null ,sourceMask: null ,type: null ,toGLSL: function(emitSwizzle,offset) { if(offset == null) { offset = 0; } if(emitSwizzle == null) { emitSwizzle = true; } if(this.type == 3) { if(this.programType == openfl_display3D__$internal__$AGALConverter_ProgramType.VERTEX) { return "gl_Position"; } else { return "gl_FragColor"; } } var fullxyzw = this.s == 228 && this.sourceMask == 15; var swizzle = ""; if(this.type != 5 && !fullxyzw) { if((this.sourceMask & 1) != 0) { switch(this.s & 3) { case 0: swizzle += "x"; break; case 1: swizzle += "y"; break; case 2: swizzle += "z"; break; case 3: swizzle += "w"; break; } } if((this.sourceMask & 2) != 0) { switch(this.s >> 2 & 3) { case 0: swizzle += "x"; break; case 1: swizzle += "y"; break; case 2: swizzle += "z"; break; case 3: swizzle += "w"; break; } } if((this.sourceMask & 4) != 0) { switch(this.s >> 4 & 3) { case 0: swizzle += "x"; break; case 1: swizzle += "y"; break; case 2: swizzle += "z"; break; case 3: swizzle += "w"; break; } } if((this.sourceMask & 8) != 0) { switch(this.s >> 6 & 3) { case 0: swizzle += "x"; break; case 1: swizzle += "y"; break; case 2: swizzle += "z"; break; case 3: swizzle += "w"; break; } } } var str = openfl_display3D__$internal_AGALConverter.prefixFromType(this.type,this.programType); if(this.d == 0) { str += this.n + offset; } else { str += this.o; var indexComponent = ""; switch(this.q) { case 0: indexComponent = "x"; break; case 1: indexComponent = "y"; break; case 2: indexComponent = "z"; break; case 3: indexComponent = "w"; break; } var indexRegister = openfl_display3D__$internal_AGALConverter.prefixFromType(this.itype,this.programType) + this.n + "." + indexComponent; str += "[ int(" + indexRegister + ") +" + offset + "]"; } if(emitSwizzle && swizzle != "") { str += "." + swizzle; } return str; } ,__class__: openfl_display3D__$internal__$AGALConverter_SourceRegister }; var openfl_display3D__$internal_ATFReader = function(data,byteArrayOffset) { this.version = 0; data.position = byteArrayOffset; var signature = data.readUTFBytes(3); data.position = byteArrayOffset; if(signature != "ATF") { throw new js__$Boot_HaxeError(new openfl_errors_IllegalOperationError("ATF signature not found")); } var length = 0; if(data.b[byteArrayOffset + 6] == 255) { this.version = data.b[byteArrayOffset + 7]; data.position = byteArrayOffset + 8; length = this.__readUInt32(data); } else { this.version = 0; data.position = byteArrayOffset + 3; length = this.__readUInt24(data); } if(_$UInt_UInt_$Impl_$.gt(js_Boot.__cast(byteArrayOffset + length , Int),openfl_utils__$ByteArray_ByteArray_$Impl_$.get_length(data))) { throw new js__$Boot_HaxeError(new openfl_errors_IllegalOperationError("ATF length exceeds byte array length")); } this.data = data; }; $hxClasses["openfl.display3D._internal.ATFReader"] = openfl_display3D__$internal_ATFReader; openfl_display3D__$internal_ATFReader.__name__ = "openfl.display3D._internal.ATFReader"; openfl_display3D__$internal_ATFReader.prototype = { atfFormat: null ,cubeMap: null ,data: null ,height: null ,mipCount: null ,version: null ,width: null ,readHeader: function(__width,__height,cubeMap) { var tdata = this.data.readUnsignedByte(); var type = tdata >>> 7; if(!cubeMap && type != 0) { throw new js__$Boot_HaxeError(new openfl_errors_IllegalOperationError("ATF Cube map not expected")); } if(cubeMap && type != 1) { throw new js__$Boot_HaxeError(new openfl_errors_IllegalOperationError("ATF Cube map expected")); } this.cubeMap = cubeMap; this.atfFormat = tdata & 127; if(this.atfFormat != 3 && this.atfFormat != 5) { lime_utils_Log.warn("Only ATF block compressed textures without JPEG-XR+LZMA are supported",{ fileName : "openfl/display3D/_internal/ATFReader.hx", lineNumber : 96, className : "openfl.display3D._internal.ATFReader", methodName : "readHeader"}); } this.width = 1 << this.data.readUnsignedByte(); this.height = 1 << this.data.readUnsignedByte(); if(this.width != __width || this.height != __height) { throw new js__$Boot_HaxeError(new openfl_errors_IllegalOperationError("ATF width and height dont match")); } this.mipCount = this.data.readUnsignedByte(); return this.atfFormat == 5; } ,readTextures: function(uploadCallback) { var gpuFormats = this.version < 3 ? 3 : 4; var sideCount = this.cubeMap ? 6 : 1; var _g = 0; var _g1 = sideCount; while(_g < _g1) { var side = _g++; var _g2 = 0; var _g11 = this.mipCount; while(_g2 < _g11) { var level = _g2++; var _g3 = 0; var _g12 = gpuFormats; while(_g3 < _g12) { var gpuFormat = _g3++; var blockLength = this.version == 0 ? this.__readUInt24(this.data) : this.__readUInt32(this.data); if(_$UInt_UInt_$Impl_$.gt(this.data.position + blockLength,openfl_utils__$ByteArray_ByteArray_$Impl_$.get_length(this.data))) { throw new js__$Boot_HaxeError(new openfl_errors_IllegalOperationError("Block length exceeds ATF file length")); } if(_$UInt_UInt_$Impl_$.gt(blockLength,0)) { var bytes = new haxe_io_Bytes(new ArrayBuffer(blockLength)); var this1 = this.data; var bytes1 = openfl_utils__$ByteArray_ByteArray_$Impl_$.fromBytes(bytes); var offset = 0; var length = blockLength; if(length == null) { length = 0; } if(offset == null) { offset = 0; } this1.readBytes(bytes1,offset,length); uploadCallback(side,level,gpuFormat,this.width >> level,this.height >> level,blockLength,bytes); } } } } } ,__readUInt24: function(data) { var value = data.readUnsignedByte() << 16; value = value | data.readUnsignedByte() << 8; value = value | data.readUnsignedByte(); return value; } ,__readUInt32: function(data) { var value = data.readUnsignedByte() << 24; value = value | data.readUnsignedByte() << 16; value = value | data.readUnsignedByte() << 8; value = value | data.readUnsignedByte(); return value; } ,__class__: openfl_display3D__$internal_ATFReader }; var openfl_display3D__$internal_Context3DState = function() { this.backBufferEnableDepthAndStencil = false; this.blendDestinationAlphaFactor = 9; this.blendSourceAlphaFactor = 2; this.blendDestinationRGBFactor = 9; this.blendSourceRGBFactor = 2; this.colorMaskRed = true; this.colorMaskGreen = true; this.colorMaskBlue = true; this.colorMaskAlpha = true; this.culling = 3; this.depthCompareMode = 4; this.depthMask = true; this.samplerStates = []; this.scissorRectangle = new openfl_geom_Rectangle(); this.stencilCompareMode = 0; this.stencilDepthFail = 5; this.stencilFail = 5; this.stencilPass = 5; this.stencilReadMask = 255; this.stencilReferenceValue = 0; this.stencilTriangleFace = 2; this.stencilWriteMask = 255; this.textures = []; this.__frontFaceGLCCW = true; this.__glBlendEquation = 32774; }; $hxClasses["openfl.display3D._internal.Context3DState"] = openfl_display3D__$internal_Context3DState; openfl_display3D__$internal_Context3DState.__name__ = "openfl.display3D._internal.Context3DState"; openfl_display3D__$internal_Context3DState.prototype = { backBufferEnableDepthAndStencil: null ,blendDestinationAlphaFactor: null ,blendSourceAlphaFactor: null ,blendDestinationRGBFactor: null ,blendSourceRGBFactor: null ,colorMaskRed: null ,colorMaskGreen: null ,colorMaskBlue: null ,colorMaskAlpha: null ,culling: null ,depthCompareMode: null ,depthMask: null ,program: null ,renderToTexture: null ,renderToTextureAntiAlias: null ,renderToTextureDepthStencil: null ,renderToTextureSurfaceSelector: null ,samplerStates: null ,scissorEnabled: null ,scissorRectangle: null ,stencilCompareMode: null ,stencilDepthFail: null ,stencilFail: null ,stencilPass: null ,stencilReadMask: null ,stencilReferenceValue: null ,stencilTriangleFace: null ,stencilWriteMask: null ,textures: null ,shader: null ,__currentGLArrayBuffer: null ,__currentGLElementArrayBuffer: null ,__currentGLFramebuffer: null ,__currentGLTexture2D: null ,__currentGLTextureCubeMap: null ,__enableGLBlend: null ,__enableGLCullFace: null ,__enableGLDepthTest: null ,__enableGLScissorTest: null ,__enableGLStencilTest: null ,__frontFaceGLCCW: null ,__glBlendEquation: null ,__primaryGLFramebuffer: null ,__rttDepthGLRenderbuffer: null ,__rttGLFramebuffer: null ,__rttGLRenderbuffer: null ,__rttStencilGLRenderbuffer: null ,__class__: openfl_display3D__$internal_Context3DState }; var openfl_display3D_textures_TextureBase = function(context) { openfl_events_EventDispatcher.call(this); this.__context = context; var gl = this.__context.gl; this.__textureID = gl.createTexture(); this.__textureContext = this.__context.__context; if(openfl_display3D_textures_TextureBase.__supportsBGRA == null) { openfl_display3D_textures_TextureBase.__textureInternalFormat = gl.RGBA; var bgraExtension = null; if(bgraExtension != null) { openfl_display3D_textures_TextureBase.__supportsBGRA = true; openfl_display3D_textures_TextureBase.__textureFormat = bgraExtension.BGRA_EXT; if(context.__context.type == "opengles") { openfl_display3D_textures_TextureBase.__textureInternalFormat = bgraExtension.BGRA_EXT; } } else { openfl_display3D_textures_TextureBase.__supportsBGRA = false; openfl_display3D_textures_TextureBase.__textureFormat = gl.RGBA; } openfl_display3D_textures_TextureBase.__compressedFormats = new haxe_ds_IntMap(); openfl_display3D_textures_TextureBase.__compressedFormatsAlpha = new haxe_ds_IntMap(); var dxtExtension = gl.getExtension("WEBGL_compressed_texture_s3tc"); var etc1Extension = gl.getExtension("WEBGL_compressed_texture_etc1"); var pvrtcExtension = gl.getExtension("WEBKIT_WEBGL_compressed_texture_pvrtc"); if(dxtExtension != null) { var v = dxtExtension.COMPRESSED_RGBA_S3TC_DXT1_EXT; openfl_display3D_textures_TextureBase.__compressedFormats.h[0] = v; var v1 = dxtExtension.COMPRESSED_RGBA_S3TC_DXT5_EXT; openfl_display3D_textures_TextureBase.__compressedFormatsAlpha.h[0] = v1; } if(etc1Extension != null) { var v2 = etc1Extension.COMPRESSED_RGB_ETC1_WEBGL; openfl_display3D_textures_TextureBase.__compressedFormats.h[2] = v2; var v3 = etc1Extension.COMPRESSED_RGB_ETC1_WEBGL; openfl_display3D_textures_TextureBase.__compressedFormatsAlpha.h[2] = v3; } if(pvrtcExtension != null) { var v4 = pvrtcExtension.COMPRESSED_RGB_PVRTC_4BPPV1_IMG; openfl_display3D_textures_TextureBase.__compressedFormats.h[1] = v4; var v5 = pvrtcExtension.COMPRESSED_RGBA_PVRTC_4BPPV1_IMG; openfl_display3D_textures_TextureBase.__compressedFormatsAlpha.h[1] = v5; } } this.__internalFormat = openfl_display3D_textures_TextureBase.__textureInternalFormat; this.__format = openfl_display3D_textures_TextureBase.__textureFormat; }; $hxClasses["openfl.display3D.textures.TextureBase"] = openfl_display3D_textures_TextureBase; openfl_display3D_textures_TextureBase.__name__ = "openfl.display3D.textures.TextureBase"; openfl_display3D_textures_TextureBase.__compressedFormats = null; openfl_display3D_textures_TextureBase.__compressedFormatsAlpha = null; openfl_display3D_textures_TextureBase.__textureFormat = null; openfl_display3D_textures_TextureBase.__textureInternalFormat = null; openfl_display3D_textures_TextureBase.__super__ = openfl_events_EventDispatcher; openfl_display3D_textures_TextureBase.prototype = $extend(openfl_events_EventDispatcher.prototype,{ __alphaTexture: null ,__context: null ,__format: null ,__glDepthRenderbuffer: null ,__glFramebuffer: null ,__glStencilRenderbuffer: null ,__height: null ,__internalFormat: null ,__optimizeForRenderToTexture: null ,__samplerState: null ,__streamingLevels: null ,__textureContext: null ,__textureID: null ,__textureTarget: null ,__width: null ,dispose: function() { var gl = this.__context.gl; if(this.__alphaTexture != null) { this.__alphaTexture.dispose(); this.__alphaTexture = null; } if(this.__textureID != null) { gl.deleteTexture(this.__textureID); this.__textureID = null; } if(this.__glFramebuffer != null) { gl.deleteFramebuffer(this.__glFramebuffer); this.__glFramebuffer = null; } if(this.__glDepthRenderbuffer != null) { gl.deleteRenderbuffer(this.__glDepthRenderbuffer); this.__glDepthRenderbuffer = null; } if(this.__glStencilRenderbuffer != null) { gl.deleteRenderbuffer(this.__glStencilRenderbuffer); this.__glStencilRenderbuffer = null; } } ,__getGLFramebuffer: function(enableDepthAndStencil,antiAlias,surfaceSelector) { var gl = this.__context.gl; if(this.__glFramebuffer == null) { this.__glFramebuffer = gl.createFramebuffer(); this.__context.__bindGLFramebuffer(this.__glFramebuffer); gl.framebufferTexture2D(gl.FRAMEBUFFER,gl.COLOR_ATTACHMENT0,gl.TEXTURE_2D,this.__textureID,0); if(this.__context.__enableErrorChecking) { var code = gl.checkFramebufferStatus(gl.FRAMEBUFFER); if(code != gl.FRAMEBUFFER_COMPLETE) { lime_utils_Log.warn("Error: Context3D.setRenderToTexture status:" + code + " width:" + this.__width + " height:" + this.__height,{ fileName : "openfl/display3D/textures/TextureBase.hx", lineNumber : 201, className : "openfl.display3D.textures.TextureBase", methodName : "__getGLFramebuffer"}); } } } if(enableDepthAndStencil && this.__glDepthRenderbuffer == null) { this.__context.__bindGLFramebuffer(this.__glFramebuffer); if(openfl_display3D_Context3D.__glDepthStencil != 0) { this.__glDepthRenderbuffer = gl.createRenderbuffer(); this.__glStencilRenderbuffer = this.__glDepthRenderbuffer; gl.bindRenderbuffer(gl.RENDERBUFFER,this.__glDepthRenderbuffer); gl.renderbufferStorage(gl.RENDERBUFFER,openfl_display3D_Context3D.__glDepthStencil,this.__width,this.__height); gl.framebufferRenderbuffer(gl.FRAMEBUFFER,gl.DEPTH_STENCIL_ATTACHMENT,gl.RENDERBUFFER,this.__glDepthRenderbuffer); } else { this.__glDepthRenderbuffer = gl.createRenderbuffer(); this.__glStencilRenderbuffer = gl.createRenderbuffer(); gl.bindRenderbuffer(gl.RENDERBUFFER,this.__glDepthRenderbuffer); gl.renderbufferStorage(gl.RENDERBUFFER,gl.DEPTH_COMPONENT16,this.__width,this.__height); gl.bindRenderbuffer(gl.RENDERBUFFER,this.__glStencilRenderbuffer); gl.renderbufferStorage(gl.RENDERBUFFER,gl.STENCIL_INDEX8,this.__width,this.__height); gl.framebufferRenderbuffer(gl.FRAMEBUFFER,gl.DEPTH_ATTACHMENT,gl.RENDERBUFFER,this.__glDepthRenderbuffer); gl.framebufferRenderbuffer(gl.FRAMEBUFFER,gl.STENCIL_ATTACHMENT,gl.RENDERBUFFER,this.__glStencilRenderbuffer); } if(this.__context.__enableErrorChecking) { var code1 = gl.checkFramebufferStatus(gl.FRAMEBUFFER); if(code1 != gl.FRAMEBUFFER_COMPLETE) { lime_utils_Log.warn("Error: Context3D.setRenderToTexture status:" + code1 + " width:" + this.__width + " height:" + this.__height,{ fileName : "openfl/display3D/textures/TextureBase.hx", lineNumber : 239, className : "openfl.display3D.textures.TextureBase", methodName : "__getGLFramebuffer"}); } } gl.bindRenderbuffer(gl.RENDERBUFFER,null); } return this.__glFramebuffer; } ,__getImage: function(bitmapData) { var image = bitmapData.image; if(!bitmapData.__isValid || image == null) { return null; } lime__$internal_graphics_ImageCanvasUtil.sync(image,false); var gl = this.__context.gl; if(image.type != lime_graphics_ImageType.DATA && !image.get_premultiplied()) { gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL,1); } else if(!image.get_premultiplied() && image.get_transparent()) { gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL,0); image = image.clone(); image.set_premultiplied(true); } if(image.get_format() != 0) { image = image.clone(); image.set_format(0); image.buffer.premultiplied = true; } return image; } ,__getTexture: function() { return this.__textureID; } ,__setSamplerState: function(state) { if(!state.equals(this.__samplerState)) { var gl = this.__context.gl; if(this.__textureTarget == this.__context.gl.TEXTURE_CUBE_MAP) { this.__context.__bindGLTextureCubeMap(this.__textureID); } else { this.__context.__bindGLTexture2D(this.__textureID); } var wrapModeS = 0; var wrapModeT = 0; switch(state.wrap) { case 0: wrapModeS = gl.CLAMP_TO_EDGE; wrapModeT = gl.CLAMP_TO_EDGE; break; case 1: wrapModeS = gl.CLAMP_TO_EDGE; wrapModeT = gl.REPEAT; break; case 2: wrapModeS = gl.REPEAT; wrapModeT = gl.REPEAT; break; case 3: wrapModeS = gl.REPEAT; wrapModeT = gl.CLAMP_TO_EDGE; break; default: throw new js__$Boot_HaxeError(new openfl_errors_Error("wrap bad enum")); } var magFilter = 0; var minFilter = 0; if(state.filter == 5) { magFilter = gl.NEAREST; } else { magFilter = gl.LINEAR; } switch(state.mipfilter) { case 0: minFilter = state.filter == 5 ? gl.NEAREST_MIPMAP_LINEAR : gl.LINEAR_MIPMAP_LINEAR; break; case 1: minFilter = state.filter == 5 ? gl.NEAREST_MIPMAP_NEAREST : gl.LINEAR_MIPMAP_NEAREST; break; case 2: minFilter = state.filter == 5 ? gl.NEAREST : gl.LINEAR; break; default: throw new js__$Boot_HaxeError(new openfl_errors_Error("mipfiter bad enum")); } gl.texParameteri(this.__textureTarget,gl.TEXTURE_MIN_FILTER,minFilter); gl.texParameteri(this.__textureTarget,gl.TEXTURE_MAG_FILTER,magFilter); gl.texParameteri(this.__textureTarget,gl.TEXTURE_WRAP_S,wrapModeS); gl.texParameteri(this.__textureTarget,gl.TEXTURE_WRAP_T,wrapModeT); var tmp = state.lodBias != 0.0; if(this.__samplerState == null) { this.__samplerState = state.clone(); } this.__samplerState.copyFrom(state); return true; } return false; } ,__uploadFromImage: function(image) { var gl = this.__context.gl; var internalFormat; var format; if(this.__textureTarget != gl.TEXTURE_2D) { return; } if(image.buffer.bitsPerPixel == 1) { internalFormat = gl.ALPHA; format = gl.ALPHA; } else { internalFormat = openfl_display3D_textures_TextureBase.__textureInternalFormat; format = openfl_display3D_textures_TextureBase.__textureFormat; } this.__context.__bindGLTexture2D(this.__textureID); if(image.type != lime_graphics_ImageType.DATA && !image.get_premultiplied()) { gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL,1); } else if(!image.get_premultiplied() && image.get_transparent()) { gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL,1); } if(image.type == lime_graphics_ImageType.DATA) { lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.texImage2D(gl,gl.TEXTURE_2D,0,internalFormat,image.buffer.width,image.buffer.height,0,format,gl.UNSIGNED_BYTE,image.get_data()); } else { lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.texImage2D(gl,gl.TEXTURE_2D,0,internalFormat,format,gl.UNSIGNED_BYTE,image.get_src()); } this.__context.__bindGLTexture2D(null); } ,__class__: openfl_display3D_textures_TextureBase }); var openfl_display3D_textures_CubeTexture = function(context,size,format,optimizeForRenderToTexture,streamingLevels) { openfl_display3D_textures_TextureBase.call(this,context); this.__size = size; this.__width = this.__height = this.__size; this.__optimizeForRenderToTexture = optimizeForRenderToTexture; this.__streamingLevels = streamingLevels; this.__textureTarget = this.__context.gl.TEXTURE_CUBE_MAP; this.__uploadedSides = 0; }; $hxClasses["openfl.display3D.textures.CubeTexture"] = openfl_display3D_textures_CubeTexture; openfl_display3D_textures_CubeTexture.__name__ = "openfl.display3D.textures.CubeTexture"; openfl_display3D_textures_CubeTexture.__super__ = openfl_display3D_textures_TextureBase; openfl_display3D_textures_CubeTexture.prototype = $extend(openfl_display3D_textures_TextureBase.prototype,{ __framebufferSurface: null ,__size: null ,__uploadedSides: null ,uploadCompressedTextureFromByteArray: function(data,byteArrayOffset,async) { if(async == null) { async = false; } var _gthis = this; if(!async) { this.__uploadCompressedTextureFromByteArray(data,byteArrayOffset); } else { haxe_Timer.delay(function() { _gthis.__uploadCompressedTextureFromByteArray(data,byteArrayOffset); var event = null; event = new openfl_events_Event("textureReady"); _gthis.dispatchEvent(event); },1); } } ,uploadFromBitmapData: function(source,side,miplevel,generateMipmap) { if(generateMipmap == null) { generateMipmap = false; } if(miplevel == null) { miplevel = 0; } if(source == null) { return; } var size = this.__size >> miplevel; if(size == 0) { return; } var image = this.__getImage(source); if(image == null) { return; } if(miplevel == 0 && image.buffer != null && image.buffer.data == null && image.buffer.get_src() != null) { var gl = this.__context.gl; var size1 = this.__size >> miplevel; if(size1 == 0) { return; } var target = this.__sideToTarget(side); this.__context.__bindGLTextureCubeMap(this.__textureID); lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.texImage2D(gl,target,miplevel,this.__internalFormat,this.__format,gl.UNSIGNED_BYTE,image.buffer.get_src()); this.__context.__bindGLTextureCubeMap(null); this.__uploadedSides |= 1 << side; return; } this.uploadFromTypedArray(image.get_data(),side,miplevel); } ,uploadFromByteArray: function(data,byteArrayOffset,side,miplevel) { if(miplevel == null) { miplevel = 0; } if(byteArrayOffset == 0) { this.uploadFromTypedArray(data.b,side,miplevel); return; } var elements = null; var array = null; var vector = null; var view = null; var buffer = openfl_utils__$ByteArray_ByteArray_$Impl_$.toArrayBuffer(data); var byteoffset = byteArrayOffset; var len = null; if(byteoffset == null) { byteoffset = 0; } var this1; if(elements != null) { this1 = new Uint8Array(elements); } else if(array != null) { this1 = new Uint8Array(array); } else if(vector != null) { this1 = new Uint8Array(vector.__array); } else if(view != null) { this1 = new Uint8Array(view); } else if(buffer != null) { if(len == null) { this1 = new Uint8Array(buffer,byteoffset); } else { this1 = new Uint8Array(buffer,byteoffset,len); } } else { this1 = null; } this.uploadFromTypedArray(this1,side,miplevel); } ,uploadFromTypedArray: function(data,side,miplevel) { if(miplevel == null) { miplevel = 0; } if(data == null) { return; } var gl = this.__context.gl; var size = this.__size >> miplevel; if(size == 0) { return; } var target = this.__sideToTarget(side); this.__context.__bindGLTextureCubeMap(this.__textureID); lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.texImage2D(gl,target,miplevel,this.__internalFormat,size,size,0,this.__format,gl.UNSIGNED_BYTE,data); this.__context.__bindGLTextureCubeMap(null); this.__uploadedSides |= 1 << side; } ,__getGLFramebuffer: function(enableDepthAndStencil,antiAlias,surfaceSelector) { var gl = this.__context.gl; if(this.__glFramebuffer == null) { this.__glFramebuffer = gl.createFramebuffer(); this.__framebufferSurface = -1; } if(this.__framebufferSurface != surfaceSelector) { this.__framebufferSurface = surfaceSelector; this.__context.__bindGLFramebuffer(this.__glFramebuffer); gl.framebufferTexture2D(gl.FRAMEBUFFER,gl.COLOR_ATTACHMENT0,gl.TEXTURE_CUBE_MAP_POSITIVE_X + surfaceSelector,this.__textureID,0); if(this.__context.__enableErrorChecking) { var code = gl.checkFramebufferStatus(gl.FRAMEBUFFER); if(code != gl.FRAMEBUFFER_COMPLETE) { lime_utils_Log.error("Error: Context3D.setRenderToTexture status:" + code + " width:" + this.__width + " height:" + this.__height,{ fileName : "openfl/display3D/textures/CubeTexture.hx", lineNumber : 278, className : "openfl.display3D.textures.CubeTexture", methodName : "__getGLFramebuffer"}); } } } return openfl_display3D_textures_TextureBase.prototype.__getGLFramebuffer.call(this,enableDepthAndStencil,antiAlias,surfaceSelector); } ,__setSamplerState: function(state) { if(openfl_display3D_textures_TextureBase.prototype.__setSamplerState.call(this,state)) { var gl = this.__context.gl; if(state.mipfilter != 2 && !this.__samplerState.mipmapGenerated) { gl.generateMipmap(gl.TEXTURE_CUBE_MAP); this.__samplerState.mipmapGenerated = true; } if(openfl_display3D_Context3D.__glMaxTextureMaxAnisotropy != 0) { var aniso; switch(state.filter) { case 0: aniso = 16; break; case 1: aniso = 2; break; case 2: aniso = 4; break; case 3: aniso = 8; break; default: aniso = 1; } if(aniso > openfl_display3D_Context3D.__glMaxTextureMaxAnisotropy) { aniso = openfl_display3D_Context3D.__glMaxTextureMaxAnisotropy; } gl.texParameterf(gl.TEXTURE_CUBE_MAP,openfl_display3D_Context3D.__glTextureMaxAnisotropy,aniso); } return true; } return false; } ,__sideToTarget: function(side) { var gl = this.__context.gl; switch(side) { case 0: return gl.TEXTURE_CUBE_MAP_POSITIVE_X; case 1: return gl.TEXTURE_CUBE_MAP_NEGATIVE_X; case 2: return gl.TEXTURE_CUBE_MAP_POSITIVE_Y; case 3: return gl.TEXTURE_CUBE_MAP_NEGATIVE_Y; case 4: return gl.TEXTURE_CUBE_MAP_POSITIVE_Z; case 5: return gl.TEXTURE_CUBE_MAP_NEGATIVE_Z; default: throw new js__$Boot_HaxeError(new openfl_errors_IllegalOperationError()); } } ,__uploadCompressedTextureFromByteArray: function(data,byteArrayOffset) { var _gthis = this; var reader = new openfl_display3D__$internal_ATFReader(data,byteArrayOffset); var alpha = reader.readHeader(this.__size,this.__size,true); var gl = this.__context.gl; this.__context.__bindGLTextureCubeMap(this.__textureID); var hasTexture = false; reader.readTextures(function(side,level,gpuFormat,width,height,blockLength,bytes) { var format = alpha ? openfl_display3D_textures_TextureBase.__compressedFormatsAlpha.h[gpuFormat] : openfl_display3D_textures_TextureBase.__compressedFormats.h[gpuFormat]; if(format == 0) { return; } hasTexture = true; var target = _gthis.__sideToTarget(side); _gthis.__format = format; _gthis.__internalFormat = format; if(alpha && gpuFormat == 2) { var size = blockLength / 2 | 0; var elements = null; var array = null; var vector = null; var view = null; var buffer = bytes.b.buffer; var byteoffset = 0; if(byteoffset == null) { byteoffset = 0; } var this1; if(elements != null) { this1 = new Uint8Array(elements); } else if(array != null) { this1 = new Uint8Array(array); } else if(vector != null) { this1 = new Uint8Array(vector.__array); } else if(view != null) { this1 = new Uint8Array(view); } else if(buffer != null) { if(size == null) { this1 = new Uint8Array(buffer,byteoffset); } else { this1 = new Uint8Array(buffer,byteoffset,size); } } else { this1 = null; } lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.compressedTexImage2D(gl,target,level,_gthis.__internalFormat,width,height,0,this1); var alphaTexture = new openfl_display3D_textures_CubeTexture(_gthis.__context,_gthis.__size,3,_gthis.__optimizeForRenderToTexture,_gthis.__streamingLevels); alphaTexture.__format = format; alphaTexture.__internalFormat = format; _gthis.__context.__bindGLTextureCubeMap(alphaTexture.__textureID); var elements1 = null; var array1 = null; var vector1 = null; var view1 = null; var buffer1 = bytes.b.buffer; var byteoffset1 = size; if(byteoffset1 == null) { byteoffset1 = 0; } var this2; if(elements1 != null) { this2 = new Uint8Array(elements1); } else if(array1 != null) { this2 = new Uint8Array(array1); } else if(vector1 != null) { this2 = new Uint8Array(vector1.__array); } else if(view1 != null) { this2 = new Uint8Array(view1); } else if(buffer1 != null) { if(size == null) { this2 = new Uint8Array(buffer1,byteoffset1); } else { this2 = new Uint8Array(buffer1,byteoffset1,size); } } else { this2 = null; } lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.compressedTexImage2D(gl,target,level,alphaTexture.__internalFormat,width,height,0,this2); _gthis.__alphaTexture = alphaTexture; } else { var elements2 = null; var array2 = null; var vector2 = null; var view2 = null; var buffer2 = bytes.b.buffer; var byteoffset2 = 0; if(byteoffset2 == null) { byteoffset2 = 0; } var this3; if(elements2 != null) { this3 = new Uint8Array(elements2); } else if(array2 != null) { this3 = new Uint8Array(array2); } else if(vector2 != null) { this3 = new Uint8Array(vector2.__array); } else if(view2 != null) { this3 = new Uint8Array(view2); } else if(buffer2 != null) { if(blockLength == null) { this3 = new Uint8Array(buffer2,byteoffset2); } else { this3 = new Uint8Array(buffer2,byteoffset2,blockLength); } } else { this3 = null; } lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.compressedTexImage2D(gl,target,level,_gthis.__internalFormat,width,height,0,this3); } }); if(!hasTexture) { var elements3 = this.__size * this.__size * 4; var array3 = null; var vector3 = null; var view3 = null; var buffer3 = null; var len = null; var this4; if(elements3 != null) { this4 = new Uint8Array(elements3); } else if(array3 != null) { this4 = new Uint8Array(array3); } else if(vector3 != null) { this4 = new Uint8Array(vector3.__array); } else if(view3 != null) { this4 = new Uint8Array(view3); } else if(buffer3 != null) { if(len == null) { this4 = new Uint8Array(buffer3,0); } else { this4 = new Uint8Array(buffer3,0,len); } } else { this4 = null; } var data1 = this4; var tmp = this.__sideToTarget(0); lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.texImage2D(gl,tmp,0,this.__internalFormat,this.__size,this.__size,0,this.__format,gl.UNSIGNED_BYTE,data1); var elements4 = this.__size * this.__size * 4; var array4 = null; var vector4 = null; var view4 = null; var buffer4 = null; var len1 = null; var this5; if(elements4 != null) { this5 = new Uint8Array(elements4); } else if(array4 != null) { this5 = new Uint8Array(array4); } else if(vector4 != null) { this5 = new Uint8Array(vector4.__array); } else if(view4 != null) { this5 = new Uint8Array(view4); } else if(buffer4 != null) { if(len1 == null) { this5 = new Uint8Array(buffer4,0); } else { this5 = new Uint8Array(buffer4,0,len1); } } else { this5 = null; } var data2 = this5; var tmp1 = this.__sideToTarget(1); lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.texImage2D(gl,tmp1,0,this.__internalFormat,this.__size,this.__size,0,this.__format,gl.UNSIGNED_BYTE,data2); var elements5 = this.__size * this.__size * 4; var array5 = null; var vector5 = null; var view5 = null; var buffer5 = null; var len2 = null; var this6; if(elements5 != null) { this6 = new Uint8Array(elements5); } else if(array5 != null) { this6 = new Uint8Array(array5); } else if(vector5 != null) { this6 = new Uint8Array(vector5.__array); } else if(view5 != null) { this6 = new Uint8Array(view5); } else if(buffer5 != null) { if(len2 == null) { this6 = new Uint8Array(buffer5,0); } else { this6 = new Uint8Array(buffer5,0,len2); } } else { this6 = null; } var data3 = this6; var tmp2 = this.__sideToTarget(2); lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.texImage2D(gl,tmp2,0,this.__internalFormat,this.__size,this.__size,0,this.__format,gl.UNSIGNED_BYTE,data3); var elements6 = this.__size * this.__size * 4; var array6 = null; var vector6 = null; var view6 = null; var buffer6 = null; var len3 = null; var this7; if(elements6 != null) { this7 = new Uint8Array(elements6); } else if(array6 != null) { this7 = new Uint8Array(array6); } else if(vector6 != null) { this7 = new Uint8Array(vector6.__array); } else if(view6 != null) { this7 = new Uint8Array(view6); } else if(buffer6 != null) { if(len3 == null) { this7 = new Uint8Array(buffer6,0); } else { this7 = new Uint8Array(buffer6,0,len3); } } else { this7 = null; } var data4 = this7; var tmp3 = this.__sideToTarget(3); lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.texImage2D(gl,tmp3,0,this.__internalFormat,this.__size,this.__size,0,this.__format,gl.UNSIGNED_BYTE,data4); var elements7 = this.__size * this.__size * 4; var array7 = null; var vector7 = null; var view7 = null; var buffer7 = null; var len4 = null; var this8; if(elements7 != null) { this8 = new Uint8Array(elements7); } else if(array7 != null) { this8 = new Uint8Array(array7); } else if(vector7 != null) { this8 = new Uint8Array(vector7.__array); } else if(view7 != null) { this8 = new Uint8Array(view7); } else if(buffer7 != null) { if(len4 == null) { this8 = new Uint8Array(buffer7,0); } else { this8 = new Uint8Array(buffer7,0,len4); } } else { this8 = null; } var data5 = this8; var tmp4 = this.__sideToTarget(4); lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.texImage2D(gl,tmp4,0,this.__internalFormat,this.__size,this.__size,0,this.__format,gl.UNSIGNED_BYTE,data5); var elements8 = this.__size * this.__size * 4; var array8 = null; var vector8 = null; var view8 = null; var buffer8 = null; var len5 = null; var this9; if(elements8 != null) { this9 = new Uint8Array(elements8); } else if(array8 != null) { this9 = new Uint8Array(array8); } else if(vector8 != null) { this9 = new Uint8Array(vector8.__array); } else if(view8 != null) { this9 = new Uint8Array(view8); } else if(buffer8 != null) { if(len5 == null) { this9 = new Uint8Array(buffer8,0); } else { this9 = new Uint8Array(buffer8,0,len5); } } else { this9 = null; } var data6 = this9; var tmp5 = this.__sideToTarget(5); lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.texImage2D(gl,tmp5,0,this.__internalFormat,this.__size,this.__size,0,this.__format,gl.UNSIGNED_BYTE,data6); } this.__context.__bindGLTextureCubeMap(null); } ,__class__: openfl_display3D_textures_CubeTexture }); var openfl_display3D_textures_RectangleTexture = function(context,width,height,format,optimizeForRenderToTexture) { openfl_display3D_textures_TextureBase.call(this,context); this.__width = width; this.__height = height; this.__optimizeForRenderToTexture = optimizeForRenderToTexture; this.__textureTarget = this.__context.gl.TEXTURE_2D; this.uploadFromTypedArray(null); if(optimizeForRenderToTexture) { this.__getGLFramebuffer(true,0,0); } }; $hxClasses["openfl.display3D.textures.RectangleTexture"] = openfl_display3D_textures_RectangleTexture; openfl_display3D_textures_RectangleTexture.__name__ = "openfl.display3D.textures.RectangleTexture"; openfl_display3D_textures_RectangleTexture.__super__ = openfl_display3D_textures_TextureBase; openfl_display3D_textures_RectangleTexture.prototype = $extend(openfl_display3D_textures_TextureBase.prototype,{ uploadFromBitmapData: function(source) { if(source == null) { return; } var image = this.__getImage(source); if(image == null) { return; } if(image.buffer != null && image.buffer.data == null && image.buffer.get_src() != null) { var gl = this.__context.gl; this.__context.__bindGLTexture2D(this.__textureID); lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.texImage2D(gl,this.__textureTarget,0,this.__internalFormat,this.__format,gl.UNSIGNED_BYTE,image.buffer.get_src()); this.__context.__bindGLTexture2D(null); return; } this.uploadFromTypedArray(image.get_data()); } ,uploadFromByteArray: function(data,byteArrayOffset) { if(byteArrayOffset == 0) { this.uploadFromTypedArray(data.b); return; } var elements = null; var array = null; var vector = null; var view = null; var buffer = openfl_utils__$ByteArray_ByteArray_$Impl_$.toArrayBuffer(data); var byteoffset = byteArrayOffset; var len = null; if(byteoffset == null) { byteoffset = 0; } var this1; if(elements != null) { this1 = new Uint8Array(elements); } else if(array != null) { this1 = new Uint8Array(array); } else if(vector != null) { this1 = new Uint8Array(vector.__array); } else if(view != null) { this1 = new Uint8Array(view); } else if(buffer != null) { if(len == null) { this1 = new Uint8Array(buffer,byteoffset); } else { this1 = new Uint8Array(buffer,byteoffset,len); } } else { this1 = null; } this.uploadFromTypedArray(this1); } ,uploadFromTypedArray: function(data) { var gl = this.__context.gl; this.__context.__bindGLTexture2D(this.__textureID); lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.texImage2D(gl,this.__textureTarget,0,this.__internalFormat,this.__width,this.__height,0,this.__format,gl.UNSIGNED_BYTE,data); this.__context.__bindGLTexture2D(null); } ,__setSamplerState: function(state) { if(openfl_display3D_textures_TextureBase.prototype.__setSamplerState.call(this,state)) { var gl = this.__context.gl; if(openfl_display3D_Context3D.__glMaxTextureMaxAnisotropy != 0) { var aniso; switch(state.filter) { case 0: aniso = 16; break; case 1: aniso = 2; break; case 2: aniso = 4; break; case 3: aniso = 8; break; default: aniso = 1; } if(aniso > openfl_display3D_Context3D.__glMaxTextureMaxAnisotropy) { aniso = openfl_display3D_Context3D.__glMaxTextureMaxAnisotropy; } gl.texParameterf(gl.TEXTURE_2D,openfl_display3D_Context3D.__glTextureMaxAnisotropy,aniso); } return true; } return false; } ,__class__: openfl_display3D_textures_RectangleTexture }); var openfl_display3D_textures_Texture = function(context,width,height,format,optimizeForRenderToTexture,streamingLevels) { openfl_display3D_textures_TextureBase.call(this,context); this.__width = width; this.__height = height; this.__optimizeForRenderToTexture = optimizeForRenderToTexture; this.__streamingLevels = streamingLevels; var gl = this.__context.gl; this.__textureTarget = gl.TEXTURE_2D; this.__context.__bindGLTexture2D(this.__textureID); lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.texImage2D(gl,this.__textureTarget,0,this.__internalFormat,this.__width,this.__height,0,this.__format,gl.UNSIGNED_BYTE,null); this.__context.__bindGLTexture2D(null); if(optimizeForRenderToTexture) { this.__getGLFramebuffer(true,0,0); } }; $hxClasses["openfl.display3D.textures.Texture"] = openfl_display3D_textures_Texture; openfl_display3D_textures_Texture.__name__ = "openfl.display3D.textures.Texture"; openfl_display3D_textures_Texture.__super__ = openfl_display3D_textures_TextureBase; openfl_display3D_textures_Texture.prototype = $extend(openfl_display3D_textures_TextureBase.prototype,{ uploadCompressedTextureFromByteArray: function(data,byteArrayOffset,async) { if(async == null) { async = false; } var _gthis = this; if(!async) { this.__uploadCompressedTextureFromByteArray(data,byteArrayOffset); } else { haxe_Timer.delay(function() { _gthis.__uploadCompressedTextureFromByteArray(data,byteArrayOffset); var event = null; event = new openfl_events_Event("textureReady"); _gthis.dispatchEvent(event); },1); } } ,uploadFromBitmapData: function(source,miplevel,generateMipmap) { if(generateMipmap == null) { generateMipmap = false; } if(miplevel == null) { miplevel = 0; } if(source == null) { return; } var width = this.__width >> miplevel; var height = this.__height >> miplevel; if(width == 0 && height == 0) { return; } if(width == 0) { width = 1; } if(height == 0) { height = 1; } if(source.width != width || source.height != height) { var copy = new openfl_display_BitmapData(width,height,true,0); copy.draw(source); source = copy; } var image = this.__getImage(source); if(image == null) { return; } if(miplevel == 0 && image.buffer != null && image.buffer.data == null && image.buffer.get_src() != null) { var gl = this.__context.gl; var width1 = this.__width >> miplevel; var height1 = this.__height >> miplevel; if(width1 == 0 && height1 == 0) { return; } if(width1 == 0) { width1 = 1; } if(height1 == 0) { height1 = 1; } this.__context.__bindGLTexture2D(this.__textureID); lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.texImage2D(gl,this.__textureTarget,miplevel,this.__internalFormat,this.__format,gl.UNSIGNED_BYTE,image.buffer.get_src()); this.__context.__bindGLTexture2D(null); return; } this.uploadFromTypedArray(image.get_data(),miplevel); } ,uploadFromByteArray: function(data,byteArrayOffset,miplevel) { if(miplevel == null) { miplevel = 0; } if(byteArrayOffset == 0) { this.uploadFromTypedArray(data.b,miplevel); return; } var elements = null; var array = null; var vector = null; var view = null; var buffer = openfl_utils__$ByteArray_ByteArray_$Impl_$.toArrayBuffer(data); var byteoffset = byteArrayOffset; var len = null; if(byteoffset == null) { byteoffset = 0; } var this1; if(elements != null) { this1 = new Uint8Array(elements); } else if(array != null) { this1 = new Uint8Array(array); } else if(vector != null) { this1 = new Uint8Array(vector.__array); } else if(view != null) { this1 = new Uint8Array(view); } else if(buffer != null) { if(len == null) { this1 = new Uint8Array(buffer,byteoffset); } else { this1 = new Uint8Array(buffer,byteoffset,len); } } else { this1 = null; } this.uploadFromTypedArray(this1,miplevel); } ,uploadFromTypedArray: function(data,miplevel) { if(miplevel == null) { miplevel = 0; } if(data == null) { return; } var gl = this.__context.gl; var width = this.__width >> miplevel; var height = this.__height >> miplevel; if(width == 0 && height == 0) { return; } if(width == 0) { width = 1; } if(height == 0) { height = 1; } this.__context.__bindGLTexture2D(this.__textureID); lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.texImage2D(gl,this.__textureTarget,miplevel,this.__internalFormat,width,height,0,this.__format,gl.UNSIGNED_BYTE,data); this.__context.__bindGLTexture2D(null); } ,__setSamplerState: function(state) { if(openfl_display3D_textures_TextureBase.prototype.__setSamplerState.call(this,state)) { var gl = this.__context.gl; if(state.mipfilter != 2 && !this.__samplerState.mipmapGenerated) { gl.generateMipmap(gl.TEXTURE_2D); this.__samplerState.mipmapGenerated = true; } if(openfl_display3D_Context3D.__glMaxTextureMaxAnisotropy != 0) { var aniso; switch(state.filter) { case 0: aniso = 16; break; case 1: aniso = 2; break; case 2: aniso = 4; break; case 3: aniso = 8; break; default: aniso = 1; } if(aniso > openfl_display3D_Context3D.__glMaxTextureMaxAnisotropy) { aniso = openfl_display3D_Context3D.__glMaxTextureMaxAnisotropy; } gl.texParameterf(gl.TEXTURE_2D,openfl_display3D_Context3D.__glTextureMaxAnisotropy,aniso); } return true; } return false; } ,__uploadCompressedTextureFromByteArray: function(data,byteArrayOffset) { var _gthis = this; var reader = new openfl_display3D__$internal_ATFReader(data,byteArrayOffset); var alpha = reader.readHeader(this.__width,this.__height,false); var context = this.__context; var gl = context.gl; this.__context.__bindGLTexture2D(this.__textureID); var hasTexture = false; reader.readTextures(function(target,level,gpuFormat,width,height,blockLength,bytes) { var format = alpha ? openfl_display3D_textures_TextureBase.__compressedFormatsAlpha.h[gpuFormat] : openfl_display3D_textures_TextureBase.__compressedFormats.h[gpuFormat]; if(format == 0) { return; } hasTexture = true; _gthis.__format = format; _gthis.__internalFormat = format; if(alpha && gpuFormat == 2) { var size = blockLength / 2 | 0; var elements = null; var array = null; var vector = null; var view = null; var buffer = bytes.b.buffer; var byteoffset = 0; if(byteoffset == null) { byteoffset = 0; } var this1; if(elements != null) { this1 = new Uint8Array(elements); } else if(array != null) { this1 = new Uint8Array(array); } else if(vector != null) { this1 = new Uint8Array(vector.__array); } else if(view != null) { this1 = new Uint8Array(view); } else if(buffer != null) { if(size == null) { this1 = new Uint8Array(buffer,byteoffset); } else { this1 = new Uint8Array(buffer,byteoffset,size); } } else { this1 = null; } lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.compressedTexImage2D(gl,_gthis.__textureTarget,level,_gthis.__internalFormat,width,height,0,this1); var alphaTexture = new openfl_display3D_textures_Texture(_gthis.__context,_gthis.__width,_gthis.__height,3,_gthis.__optimizeForRenderToTexture,_gthis.__streamingLevels); alphaTexture.__format = format; alphaTexture.__internalFormat = format; _gthis.__context.__bindGLTexture2D(alphaTexture.__textureID); var elements1 = null; var array1 = null; var vector1 = null; var view1 = null; var buffer1 = bytes.b.buffer; var byteoffset1 = size; if(byteoffset1 == null) { byteoffset1 = 0; } var this2; if(elements1 != null) { this2 = new Uint8Array(elements1); } else if(array1 != null) { this2 = new Uint8Array(array1); } else if(vector1 != null) { this2 = new Uint8Array(vector1.__array); } else if(view1 != null) { this2 = new Uint8Array(view1); } else if(buffer1 != null) { if(size == null) { this2 = new Uint8Array(buffer1,byteoffset1); } else { this2 = new Uint8Array(buffer1,byteoffset1,size); } } else { this2 = null; } lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.compressedTexImage2D(gl,alphaTexture.__textureTarget,level,alphaTexture.__internalFormat,width,height,0,this2); _gthis.__alphaTexture = alphaTexture; } else { var elements2 = null; var array2 = null; var vector2 = null; var view2 = null; var buffer2 = bytes.b.buffer; var byteoffset2 = 0; if(byteoffset2 == null) { byteoffset2 = 0; } var this3; if(elements2 != null) { this3 = new Uint8Array(elements2); } else if(array2 != null) { this3 = new Uint8Array(array2); } else if(vector2 != null) { this3 = new Uint8Array(vector2.__array); } else if(view2 != null) { this3 = new Uint8Array(view2); } else if(buffer2 != null) { if(blockLength == null) { this3 = new Uint8Array(buffer2,byteoffset2); } else { this3 = new Uint8Array(buffer2,byteoffset2,blockLength); } } else { this3 = null; } lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.compressedTexImage2D(gl,_gthis.__textureTarget,level,_gthis.__internalFormat,width,height,0,this3); } }); if(!hasTexture) { var elements3 = this.__width * this.__height * 4; var array3 = null; var vector3 = null; var view3 = null; var buffer3 = null; var len = null; var this4; if(elements3 != null) { this4 = new Uint8Array(elements3); } else if(array3 != null) { this4 = new Uint8Array(array3); } else if(vector3 != null) { this4 = new Uint8Array(vector3.__array); } else if(view3 != null) { this4 = new Uint8Array(view3); } else if(buffer3 != null) { if(len == null) { this4 = new Uint8Array(buffer3,0); } else { this4 = new Uint8Array(buffer3,0,len); } } else { this4 = null; } var data1 = this4; lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.texImage2D(gl,this.__textureTarget,0,this.__internalFormat,this.__width,this.__height,0,this.__format,gl.UNSIGNED_BYTE,data1); } this.__context.__bindGLTexture2D(null); } ,__class__: openfl_display3D_textures_Texture }); var openfl_display3D_textures_VideoTexture = function(context) { openfl_display3D_textures_TextureBase.call(this,context); this.__textureTarget = this.__context.gl.TEXTURE_2D; }; $hxClasses["openfl.display3D.textures.VideoTexture"] = openfl_display3D_textures_VideoTexture; openfl_display3D_textures_VideoTexture.__name__ = "openfl.display3D.textures.VideoTexture"; openfl_display3D_textures_VideoTexture.__super__ = openfl_display3D_textures_TextureBase; openfl_display3D_textures_VideoTexture.prototype = $extend(openfl_display3D_textures_TextureBase.prototype,{ videoHeight: null ,videoWidth: null ,__cacheTime: null ,__netStream: null ,attachNetStream: function(netStream) { var _gthis = this; if(this.__netStream != null) { this.__netStream.__video.removeEventListener("canplay",$bind(this,this.__onCanPlay),false); } this.__cacheTime = -1; this.__netStream = netStream; if(this.__netStream != null) { if(this.__netStream.__video.readyState >= 2) { haxe_Timer.delay(function() { _gthis.__textureReady(); },0); } else { this.__netStream.__video.addEventListener("canplay",$bind(this,this.__onCanPlay),false); } } } ,dispose: function() { if(this.__netStream != null && this.__netStream.__video != null) { this.__netStream.__video.removeEventListener("timeupdate",$bind(this,this.__onTimeUpdate)); } openfl_display3D_textures_TextureBase.prototype.dispose.call(this); } ,__onCanPlay: function(_) { this.__netStream.__video.addEventListener("timeupdate",$bind(this,this.__onTimeUpdate)); this.__textureReady(); } ,__onTimeUpdate: function(_) { if(this.__netStream != null && this.__netStream.__video.currentTime != this.__cacheTime && this.__netStream.__video.readyState >= 2) { this.__textureReady(); } } ,__getTexture: function() { if(this.__netStream.__video.currentTime != this.__cacheTime && this.__netStream.__video.readyState >= 2) { var gl = this.__context.gl; this.__context.__bindGLTexture2D(this.__textureID); lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.texImage2D(gl,gl.TEXTURE_2D,0,gl.RGBA,gl.RGBA,gl.UNSIGNED_BYTE,this.__netStream.__video); this.__cacheTime = this.__netStream.__video.currentTime; } return this.__textureID; } ,__textureReady: function() { this.videoWidth = this.__netStream.__video.videoWidth; this.videoHeight = this.__netStream.__video.videoHeight; var event = null; event = new openfl_events_Event("textureReady"); this.dispatchEvent(event); } ,__class__: openfl_display3D_textures_VideoTexture }); var openfl_errors_Error = function(message,id) { if(id == null) { id = 0; } if(message == null) { message = ""; } this.message = message; this.errorID = id; this.name = "Error"; }; $hxClasses["openfl.errors.Error"] = openfl_errors_Error; openfl_errors_Error.__name__ = "openfl.errors.Error"; openfl_errors_Error.prototype = { errorID: null ,message: null ,name: null ,getStackTrace: function() { return haxe_CallStack.toString(haxe_CallStack.exceptionStack()); } ,toString: function() { if(this.message != null) { return this.message; } else { return "Error"; } } ,__class__: openfl_errors_Error }; var openfl_errors_ArgumentError = function(message) { if(message == null) { message = ""; } openfl_errors_Error.call(this,message); this.name = "ArgumentError"; }; $hxClasses["openfl.errors.ArgumentError"] = openfl_errors_ArgumentError; openfl_errors_ArgumentError.__name__ = "openfl.errors.ArgumentError"; openfl_errors_ArgumentError.__super__ = openfl_errors_Error; openfl_errors_ArgumentError.prototype = $extend(openfl_errors_Error.prototype,{ __class__: openfl_errors_ArgumentError }); var openfl_errors_IOError = function(message) { if(message == null) { message = ""; } openfl_errors_Error.call(this,message); this.name = "IOError"; }; $hxClasses["openfl.errors.IOError"] = openfl_errors_IOError; openfl_errors_IOError.__name__ = "openfl.errors.IOError"; openfl_errors_IOError.__super__ = openfl_errors_Error; openfl_errors_IOError.prototype = $extend(openfl_errors_Error.prototype,{ __class__: openfl_errors_IOError }); var openfl_errors_EOFError = function(message,id) { if(id == null) { id = 0; } openfl_errors_IOError.call(this,"End of file was encountered"); this.name = "EOFError"; this.errorID = 2030; }; $hxClasses["openfl.errors.EOFError"] = openfl_errors_EOFError; openfl_errors_EOFError.__name__ = "openfl.errors.EOFError"; openfl_errors_EOFError.__super__ = openfl_errors_IOError; openfl_errors_EOFError.prototype = $extend(openfl_errors_IOError.prototype,{ __class__: openfl_errors_EOFError }); var openfl_errors_IllegalOperationError = function(message) { if(message == null) { message = ""; } openfl_errors_Error.call(this,message,0); this.name = "IllegalOperationError"; }; $hxClasses["openfl.errors.IllegalOperationError"] = openfl_errors_IllegalOperationError; openfl_errors_IllegalOperationError.__name__ = "openfl.errors.IllegalOperationError"; openfl_errors_IllegalOperationError.__super__ = openfl_errors_Error; openfl_errors_IllegalOperationError.prototype = $extend(openfl_errors_Error.prototype,{ __class__: openfl_errors_IllegalOperationError }); var openfl_errors_RangeError = function(message) { if(message == null) { message = ""; } openfl_errors_Error.call(this,message,0); this.name = "RangeError"; }; $hxClasses["openfl.errors.RangeError"] = openfl_errors_RangeError; openfl_errors_RangeError.__name__ = "openfl.errors.RangeError"; openfl_errors_RangeError.__super__ = openfl_errors_Error; openfl_errors_RangeError.prototype = $extend(openfl_errors_Error.prototype,{ __class__: openfl_errors_RangeError }); var openfl_errors_TypeError = function(message) { if(message == null) { message = ""; } openfl_errors_Error.call(this,message,0); this.name = "TypeError"; }; $hxClasses["openfl.errors.TypeError"] = openfl_errors_TypeError; openfl_errors_TypeError.__name__ = "openfl.errors.TypeError"; openfl_errors_TypeError.__super__ = openfl_errors_Error; openfl_errors_TypeError.prototype = $extend(openfl_errors_Error.prototype,{ __class__: openfl_errors_TypeError }); var openfl_events_Event = function(type,bubbles,cancelable) { if(cancelable == null) { cancelable = false; } if(bubbles == null) { bubbles = false; } this.type = type; this.bubbles = bubbles; this.cancelable = cancelable; this.eventPhase = 2; }; $hxClasses["openfl.events.Event"] = openfl_events_Event; openfl_events_Event.__name__ = "openfl.events.Event"; openfl_events_Event.prototype = { bubbles: null ,cancelable: null ,currentTarget: null ,eventPhase: null ,target: null ,type: null ,__isCanceled: null ,__isCanceledNow: null ,__preventDefault: null ,clone: function() { var event = new openfl_events_Event(this.type,this.bubbles,this.cancelable); event.eventPhase = this.eventPhase; event.target = this.target; event.currentTarget = this.currentTarget; return event; } ,formatToString: function(className,p1,p2,p3,p4,p5) { var parameters = []; if(p1 != null) { parameters.push(p1); } if(p2 != null) { parameters.push(p2); } if(p3 != null) { parameters.push(p3); } if(p4 != null) { parameters.push(p4); } if(p5 != null) { parameters.push(p5); } return $bind(this,this.__formatToString).apply(this,[className,parameters]); } ,isDefaultPrevented: function() { return this.__preventDefault; } ,preventDefault: function() { if(this.cancelable) { this.__preventDefault = true; } } ,stopImmediatePropagation: function() { this.__isCanceled = true; this.__isCanceledNow = true; } ,stopPropagation: function() { this.__isCanceled = true; } ,toString: function() { return this.__formatToString("Event",["type","bubbles","cancelable"]); } ,__formatToString: function(className,parameters) { var output = "[" + className; var arg = null; var _g = 0; while(_g < parameters.length) { var param = parameters[_g]; ++_g; arg = Reflect.field(this,param); if(typeof(arg) == "string") { output += " " + param + "=\"" + Std.string(arg) + "\""; } else { output += " " + param + "=" + Std.string(arg); } } output += "]"; return output; } ,__init: function() { this.target = null; this.currentTarget = null; this.bubbles = false; this.cancelable = false; this.eventPhase = 2; this.__isCanceled = false; this.__isCanceledNow = false; this.__preventDefault = false; } ,__class__: openfl_events_Event }; var openfl_events_AccelerometerEvent = function(type,bubbles,cancelable,timestamp,accelerationX,accelerationY,accelerationZ) { if(accelerationZ == null) { accelerationZ = 0; } if(accelerationY == null) { accelerationY = 0; } if(accelerationX == null) { accelerationX = 0; } if(timestamp == null) { timestamp = 0; } if(cancelable == null) { cancelable = false; } if(bubbles == null) { bubbles = false; } openfl_events_Event.call(this,type,bubbles,cancelable); this.timestamp = timestamp; this.accelerationX = accelerationX; this.accelerationY = accelerationY; this.accelerationZ = accelerationZ; }; $hxClasses["openfl.events.AccelerometerEvent"] = openfl_events_AccelerometerEvent; openfl_events_AccelerometerEvent.__name__ = "openfl.events.AccelerometerEvent"; openfl_events_AccelerometerEvent.__super__ = openfl_events_Event; openfl_events_AccelerometerEvent.prototype = $extend(openfl_events_Event.prototype,{ accelerationX: null ,accelerationY: null ,accelerationZ: null ,timestamp: null ,clone: function() { var event = new openfl_events_AccelerometerEvent(this.type,this.bubbles,this.cancelable,this.timestamp,this.accelerationX,this.accelerationY,this.accelerationZ); event.target = this.target; event.currentTarget = this.currentTarget; event.eventPhase = this.eventPhase; return event; } ,toString: function() { return this.__formatToString("AccelerometerEvent",["type","bubbles","cancelable","timestamp","accelerationX","accelerationY","accelerationZ"]); } ,__init: function() { openfl_events_Event.prototype.__init.call(this); this.timestamp = 0; this.accelerationX = 0; this.accelerationY = 0; this.accelerationZ = 0; } ,__class__: openfl_events_AccelerometerEvent }); var openfl_events_ActivityEvent = function(type,bubbles,cancelable,activating) { if(activating == null) { activating = false; } if(cancelable == null) { cancelable = false; } if(bubbles == null) { bubbles = false; } openfl_events_Event.call(this,type,bubbles,cancelable); this.activating = activating; }; $hxClasses["openfl.events.ActivityEvent"] = openfl_events_ActivityEvent; openfl_events_ActivityEvent.__name__ = "openfl.events.ActivityEvent"; openfl_events_ActivityEvent.__super__ = openfl_events_Event; openfl_events_ActivityEvent.prototype = $extend(openfl_events_Event.prototype,{ activating: null ,clone: function() { var event = new openfl_events_ActivityEvent(this.type,this.bubbles,this.cancelable,this.activating); event.target = this.target; event.currentTarget = this.currentTarget; event.eventPhase = this.eventPhase; return event; } ,toString: function() { return this.__formatToString("ActivityEvent",["type","bubbles","cancelable","activating"]); } ,__init: function() { openfl_events_Event.prototype.__init.call(this); this.activating = false; } ,__class__: openfl_events_ActivityEvent }); var openfl_events_TextEvent = function(type,bubbles,cancelable,text) { if(text == null) { text = ""; } if(cancelable == null) { cancelable = false; } if(bubbles == null) { bubbles = false; } openfl_events_Event.call(this,type,bubbles,cancelable); this.text = text; }; $hxClasses["openfl.events.TextEvent"] = openfl_events_TextEvent; openfl_events_TextEvent.__name__ = "openfl.events.TextEvent"; openfl_events_TextEvent.__super__ = openfl_events_Event; openfl_events_TextEvent.prototype = $extend(openfl_events_Event.prototype,{ text: null ,clone: function() { var event = new openfl_events_TextEvent(this.type,this.bubbles,this.cancelable,this.text); event.target = this.target; event.currentTarget = this.currentTarget; event.eventPhase = this.eventPhase; return event; } ,toString: function() { return this.__formatToString("TextEvent",["type","bubbles","cancelable","text"]); } ,__init: function() { openfl_events_Event.prototype.__init.call(this); this.text = ""; } ,__class__: openfl_events_TextEvent }); var openfl_events_ErrorEvent = function(type,bubbles,cancelable,text,id) { if(id == null) { id = 0; } if(text == null) { text = ""; } if(cancelable == null) { cancelable = false; } if(bubbles == null) { bubbles = false; } openfl_events_TextEvent.call(this,type,bubbles,cancelable,text); this.errorID = id; }; $hxClasses["openfl.events.ErrorEvent"] = openfl_events_ErrorEvent; openfl_events_ErrorEvent.__name__ = "openfl.events.ErrorEvent"; openfl_events_ErrorEvent.__super__ = openfl_events_TextEvent; openfl_events_ErrorEvent.prototype = $extend(openfl_events_TextEvent.prototype,{ errorID: null ,clone: function() { var event = new openfl_events_ErrorEvent(this.type,this.bubbles,this.cancelable,this.text,this.errorID); event.target = this.target; event.currentTarget = this.currentTarget; event.eventPhase = this.eventPhase; return event; } ,toString: function() { return this.__formatToString("ErrorEvent",["type","bubbles","cancelable","text","errorID"]); } ,__init: function() { openfl_events_TextEvent.prototype.__init.call(this); this.errorID = 0; } ,__class__: openfl_events_ErrorEvent }); var openfl_events__$EventDispatcher_DispatchIterator = function(list) { this.active = false; this.reset(list); }; $hxClasses["openfl.events._EventDispatcher.DispatchIterator"] = openfl_events__$EventDispatcher_DispatchIterator; openfl_events__$EventDispatcher_DispatchIterator.__name__ = "openfl.events._EventDispatcher.DispatchIterator"; openfl_events__$EventDispatcher_DispatchIterator.prototype = { active: null ,index: null ,isCopy: null ,list: null ,copy: function() { if(!this.isCopy) { this.list = this.list.slice(); this.isCopy = true; } } ,hasNext: function() { return this.index < this.list.length; } ,next: function() { return this.list[this.index++]; } ,remove: function(listener,listIndex) { if(this.active) { if(!this.isCopy) { if(listIndex < this.index) { this.index--; } } else { var _g = this.index; var _g1 = this.list.length; while(_g < _g1) { var i = _g++; if(this.list[i] == listener) { this.list.splice(i,1); break; } } } } } ,reset: function(list) { this.list = list; this.isCopy = false; this.index = 0; } ,start: function() { this.active = true; } ,stop: function() { this.active = false; } ,__class__: openfl_events__$EventDispatcher_DispatchIterator }; var openfl_events__$EventDispatcher_Listener = function(callback,useCapture,priority) { this.callback = callback; this.useCapture = useCapture; this.priority = priority; }; $hxClasses["openfl.events._EventDispatcher.Listener"] = openfl_events__$EventDispatcher_Listener; openfl_events__$EventDispatcher_Listener.__name__ = "openfl.events._EventDispatcher.Listener"; openfl_events__$EventDispatcher_Listener.prototype = { callback: null ,priority: null ,useCapture: null ,match: function(callback,useCapture) { if(Reflect.compareMethods(this.callback,callback)) { return this.useCapture == useCapture; } else { return false; } } ,__class__: openfl_events__$EventDispatcher_Listener }; var openfl_events__$EventType_EventType_$Impl_$ = {}; $hxClasses["openfl.events._EventType.EventType_Impl_"] = openfl_events__$EventType_EventType_$Impl_$; openfl_events__$EventType_EventType_$Impl_$.__name__ = "openfl.events._EventType.EventType_Impl_"; openfl_events__$EventType_EventType_$Impl_$.equals = function(a,b) { return a == b; }; openfl_events__$EventType_EventType_$Impl_$.notEquals = function(a,b) { return a != b; }; var openfl_events_FocusEvent = function(type,bubbles,cancelable,relatedObject,shiftKey,keyCode) { if(keyCode == null) { keyCode = 0; } if(shiftKey == null) { shiftKey = false; } if(cancelable == null) { cancelable = false; } if(bubbles == null) { bubbles = false; } openfl_events_Event.call(this,type,bubbles,cancelable); this.keyCode = keyCode; this.shiftKey = shiftKey; this.relatedObject = relatedObject; }; $hxClasses["openfl.events.FocusEvent"] = openfl_events_FocusEvent; openfl_events_FocusEvent.__name__ = "openfl.events.FocusEvent"; openfl_events_FocusEvent.__super__ = openfl_events_Event; openfl_events_FocusEvent.prototype = $extend(openfl_events_Event.prototype,{ keyCode: null ,relatedObject: null ,shiftKey: null ,clone: function() { var event = new openfl_events_FocusEvent(this.type,this.bubbles,this.cancelable,this.relatedObject,this.shiftKey,this.keyCode); event.target = this.target; event.currentTarget = this.currentTarget; event.eventPhase = this.eventPhase; return event; } ,toString: function() { return this.__formatToString("FocusEvent",["type","bubbles","cancelable","relatedObject","shiftKey","keyCode"]); } ,__init: function() { openfl_events_Event.prototype.__init.call(this); this.keyCode = 0; this.shiftKey = false; this.relatedObject = null; } ,__class__: openfl_events_FocusEvent }); var openfl_events_FullScreenEvent = function(type,bubbles,cancelable,fullScreen,interactive) { if(interactive == null) { interactive = false; } if(fullScreen == null) { fullScreen = false; } if(cancelable == null) { cancelable = false; } if(bubbles == null) { bubbles = false; } openfl_events_ActivityEvent.call(this,type,bubbles,cancelable); this.fullScreen = fullScreen; this.interactive = interactive; }; $hxClasses["openfl.events.FullScreenEvent"] = openfl_events_FullScreenEvent; openfl_events_FullScreenEvent.__name__ = "openfl.events.FullScreenEvent"; openfl_events_FullScreenEvent.__super__ = openfl_events_ActivityEvent; openfl_events_FullScreenEvent.prototype = $extend(openfl_events_ActivityEvent.prototype,{ fullScreen: null ,interactive: null ,clone: function() { var event = new openfl_events_FullScreenEvent(this.type,this.bubbles,this.cancelable,this.fullScreen,this.interactive); event.target = this.target; event.currentTarget = this.currentTarget; event.eventPhase = this.eventPhase; return event; } ,toString: function() { return this.__formatToString("FullscreenEvent",["type","bubbles","cancelable","fullscreen","interactive"]); } ,__init: function() { openfl_events_ActivityEvent.prototype.__init.call(this); this.fullScreen = false; this.interactive = false; } ,__class__: openfl_events_FullScreenEvent }); var openfl_events_GameInputEvent = function(type,bubbles,cancelable,device) { if(cancelable == null) { cancelable = false; } if(bubbles == null) { bubbles = true; } openfl_events_Event.call(this,type,bubbles,cancelable); this.device = device; }; $hxClasses["openfl.events.GameInputEvent"] = openfl_events_GameInputEvent; openfl_events_GameInputEvent.__name__ = "openfl.events.GameInputEvent"; openfl_events_GameInputEvent.__super__ = openfl_events_Event; openfl_events_GameInputEvent.prototype = $extend(openfl_events_Event.prototype,{ device: null ,clone: function() { var event = new openfl_events_GameInputEvent(this.type,this.bubbles,this.cancelable,this.device); event.target = this.target; event.currentTarget = this.currentTarget; event.eventPhase = this.eventPhase; return event; } ,toString: function() { return this.__formatToString("GameInputEvent",["type","bubbles","cancelable","device"]); } ,__init: function() { openfl_events_Event.prototype.__init.call(this); this.device = null; } ,__class__: openfl_events_GameInputEvent }); var openfl_events_HTTPStatusEvent = function(type,bubbles,cancelable,status,redirected) { if(redirected == null) { redirected = false; } if(status == null) { status = 0; } if(cancelable == null) { cancelable = false; } if(bubbles == null) { bubbles = false; } this.status = status; this.redirected = redirected; openfl_events_Event.call(this,type,bubbles,cancelable); }; $hxClasses["openfl.events.HTTPStatusEvent"] = openfl_events_HTTPStatusEvent; openfl_events_HTTPStatusEvent.__name__ = "openfl.events.HTTPStatusEvent"; openfl_events_HTTPStatusEvent.__super__ = openfl_events_Event; openfl_events_HTTPStatusEvent.prototype = $extend(openfl_events_Event.prototype,{ redirected: null ,responseHeaders: null ,responseURL: null ,status: null ,clone: function() { var event = new openfl_events_HTTPStatusEvent(this.type,this.bubbles,this.cancelable,this.status,this.redirected); event.target = this.target; event.currentTarget = this.currentTarget; event.eventPhase = this.eventPhase; return event; } ,toString: function() { return this.__formatToString("HTTPStatusEvent",["type","bubbles","cancelable","status","redirected"]); } ,__init: function() { openfl_events_Event.prototype.__init.call(this); this.status = 0; this.redirected = false; } ,__class__: openfl_events_HTTPStatusEvent }); var openfl_events_IOErrorEvent = function(type,bubbles,cancelable,text,id) { if(id == null) { id = 0; } if(text == null) { text = ""; } if(cancelable == null) { cancelable = false; } if(bubbles == null) { bubbles = true; } openfl_events_ErrorEvent.call(this,type,bubbles,cancelable,text,id); }; $hxClasses["openfl.events.IOErrorEvent"] = openfl_events_IOErrorEvent; openfl_events_IOErrorEvent.__name__ = "openfl.events.IOErrorEvent"; openfl_events_IOErrorEvent.__super__ = openfl_events_ErrorEvent; openfl_events_IOErrorEvent.prototype = $extend(openfl_events_ErrorEvent.prototype,{ clone: function() { var event = new openfl_events_IOErrorEvent(this.type,this.bubbles,this.cancelable,this.text,this.errorID); event.target = this.target; event.currentTarget = this.currentTarget; event.eventPhase = this.eventPhase; return event; } ,toString: function() { return this.__formatToString("IOErrorEvent",["type","bubbles","cancelable","text","errorID"]); } ,__class__: openfl_events_IOErrorEvent }); var openfl_events_KeyboardEvent = function(type,bubbles,cancelable,charCodeValue,keyCodeValue,keyLocationValue,ctrlKeyValue,altKeyValue,shiftKeyValue,controlKeyValue,commandKeyValue) { if(commandKeyValue == null) { commandKeyValue = false; } if(controlKeyValue == null) { controlKeyValue = false; } if(shiftKeyValue == null) { shiftKeyValue = false; } if(altKeyValue == null) { altKeyValue = false; } if(ctrlKeyValue == null) { ctrlKeyValue = false; } if(keyCodeValue == null) { keyCodeValue = 0; } if(charCodeValue == null) { charCodeValue = 0; } if(cancelable == null) { cancelable = false; } if(bubbles == null) { bubbles = false; } openfl_events_Event.call(this,type,bubbles,cancelable); this.charCode = charCodeValue; this.keyCode = keyCodeValue; this.keyLocation = keyLocationValue != null ? keyLocationValue : 0; this.ctrlKey = ctrlKeyValue; this.altKey = altKeyValue; this.shiftKey = shiftKeyValue; this.controlKey = controlKeyValue; this.commandKey = commandKeyValue; }; $hxClasses["openfl.events.KeyboardEvent"] = openfl_events_KeyboardEvent; openfl_events_KeyboardEvent.__name__ = "openfl.events.KeyboardEvent"; openfl_events_KeyboardEvent.__super__ = openfl_events_Event; openfl_events_KeyboardEvent.prototype = $extend(openfl_events_Event.prototype,{ altKey: null ,charCode: null ,commandKey: null ,controlKey: null ,ctrlKey: null ,keyCode: null ,keyLocation: null ,shiftKey: null ,clone: function() { var event = new openfl_events_KeyboardEvent(this.type,this.bubbles,this.cancelable,this.charCode,this.keyCode,this.keyLocation,this.ctrlKey,this.altKey,this.shiftKey,this.controlKey,this.commandKey); event.target = this.target; event.currentTarget = this.currentTarget; event.eventPhase = this.eventPhase; return event; } ,toString: function() { return this.__formatToString("KeyboardEvent",["type","bubbles","cancelable","charCode","keyCode","keyLocation","ctrlKey","altKey","shiftKey"]); } ,__init: function() { openfl_events_Event.prototype.__init.call(this); this.charCode = 0; this.keyCode = 0; this.keyLocation = 0; this.ctrlKey = false; this.altKey = false; this.shiftKey = false; this.controlKey = false; this.commandKey = false; } ,__class__: openfl_events_KeyboardEvent }); var openfl_events_MouseEvent = function(type,bubbles,cancelable,localX,localY,relatedObject,ctrlKey,altKey,shiftKey,buttonDown,delta,commandKey,clickCount) { if(clickCount == null) { clickCount = 0; } if(commandKey == null) { commandKey = false; } if(delta == null) { delta = 0; } if(buttonDown == null) { buttonDown = false; } if(shiftKey == null) { shiftKey = false; } if(altKey == null) { altKey = false; } if(ctrlKey == null) { ctrlKey = false; } if(localY == null) { localY = 0; } if(localX == null) { localX = 0; } if(cancelable == null) { cancelable = false; } if(bubbles == null) { bubbles = true; } openfl_events_Event.call(this,type,bubbles,cancelable); this.shiftKey = shiftKey; this.altKey = altKey; this.ctrlKey = ctrlKey; this.bubbles = bubbles; this.relatedObject = relatedObject; this.delta = delta; this.localX = localX; this.localY = localY; this.buttonDown = buttonDown; this.commandKey = commandKey; this.clickCount = clickCount; this.isRelatedObjectInaccessible = false; this.stageX = NaN; this.stageY = NaN; }; $hxClasses["openfl.events.MouseEvent"] = openfl_events_MouseEvent; openfl_events_MouseEvent.__name__ = "openfl.events.MouseEvent"; openfl_events_MouseEvent.__altKey = null; openfl_events_MouseEvent.__buttonDown = null; openfl_events_MouseEvent.__commandKey = null; openfl_events_MouseEvent.__ctrlKey = null; openfl_events_MouseEvent.__shiftKey = null; openfl_events_MouseEvent.__create = function(type,button,stageX,stageY,local,target,delta) { if(delta == null) { delta = 0; } var event = new openfl_events_MouseEvent(type,true,false,local.x,local.y,null,openfl_events_MouseEvent.__ctrlKey,openfl_events_MouseEvent.__altKey,openfl_events_MouseEvent.__shiftKey,openfl_events_MouseEvent.__buttonDown,delta,openfl_events_MouseEvent.__commandKey); event.stageX = stageX; event.stageY = stageY; event.target = target; return event; }; openfl_events_MouseEvent.__super__ = openfl_events_Event; openfl_events_MouseEvent.prototype = $extend(openfl_events_Event.prototype,{ altKey: null ,buttonDown: null ,commandKey: null ,clickCount: null ,ctrlKey: null ,delta: null ,isRelatedObjectInaccessible: null ,localX: null ,localY: null ,relatedObject: null ,shiftKey: null ,stageX: null ,stageY: null ,clone: function() { var event = new openfl_events_MouseEvent(this.type,this.bubbles,this.cancelable,this.localX,this.localY,this.relatedObject,this.ctrlKey,this.altKey,this.shiftKey,this.buttonDown,this.delta,this.commandKey,this.clickCount); event.target = this.target; event.currentTarget = this.currentTarget; event.eventPhase = this.eventPhase; return event; } ,toString: function() { return this.__formatToString("MouseEvent",["type","bubbles","cancelable","localX","localY","relatedObject","ctrlKey","altKey","shiftKey","buttonDown","delta"]); } ,updateAfterEvent: function() { } ,__init: function() { openfl_events_Event.prototype.__init.call(this); this.shiftKey = false; this.altKey = false; this.ctrlKey = false; this.bubbles = false; this.relatedObject = null; this.delta = 0; this.localX = 0; this.localY = 0; this.buttonDown = false; this.commandKey = false; this.clickCount = 0; this.isRelatedObjectInaccessible = false; this.stageX = NaN; this.stageY = NaN; } ,__class__: openfl_events_MouseEvent }); var openfl_events_NetStatusEvent = function(type,bubbles,cancelable,info) { if(cancelable == null) { cancelable = false; } if(bubbles == null) { bubbles = false; } this.info = info; openfl_events_Event.call(this,type,bubbles,cancelable); }; $hxClasses["openfl.events.NetStatusEvent"] = openfl_events_NetStatusEvent; openfl_events_NetStatusEvent.__name__ = "openfl.events.NetStatusEvent"; openfl_events_NetStatusEvent.__super__ = openfl_events_Event; openfl_events_NetStatusEvent.prototype = $extend(openfl_events_Event.prototype,{ info: null ,clone: function() { var event = new openfl_events_NetStatusEvent(this.type,this.bubbles,this.cancelable,this.info); event.target = this.target; event.currentTarget = this.currentTarget; event.eventPhase = this.eventPhase; return event; } ,toString: function() { return this.__formatToString("NetStatusEvent",["type","bubbles","cancelable","info"]); } ,__init: function() { openfl_events_Event.prototype.__init.call(this); this.info = null; } ,__class__: openfl_events_NetStatusEvent }); var openfl_events_ProgressEvent = function(type,bubbles,cancelable,bytesLoaded,bytesTotal) { if(bytesTotal == null) { bytesTotal = 0; } if(bytesLoaded == null) { bytesLoaded = 0; } if(cancelable == null) { cancelable = false; } if(bubbles == null) { bubbles = false; } openfl_events_Event.call(this,type,bubbles,cancelable); this.bytesLoaded = bytesLoaded; this.bytesTotal = bytesTotal; }; $hxClasses["openfl.events.ProgressEvent"] = openfl_events_ProgressEvent; openfl_events_ProgressEvent.__name__ = "openfl.events.ProgressEvent"; openfl_events_ProgressEvent.__super__ = openfl_events_Event; openfl_events_ProgressEvent.prototype = $extend(openfl_events_Event.prototype,{ bytesLoaded: null ,bytesTotal: null ,clone: function() { var event = new openfl_events_ProgressEvent(this.type,this.bubbles,this.cancelable,this.bytesLoaded,this.bytesTotal); event.target = this.target; event.currentTarget = this.currentTarget; event.eventPhase = this.eventPhase; return event; } ,toString: function() { return this.__formatToString("ProgressEvent",["type","bubbles","cancelable","bytesLoaded","bytesTotal"]); } ,__init: function() { openfl_events_Event.prototype.__init.call(this); this.bytesLoaded = 0; this.bytesTotal = 0; } ,__class__: openfl_events_ProgressEvent }); var openfl_events_RenderEvent = function(type,bubbles,cancelable,objectMatrix,objectColorTransform,allowSmoothing) { if(allowSmoothing == null) { allowSmoothing = true; } if(cancelable == null) { cancelable = false; } if(bubbles == null) { bubbles = false; } openfl_events_Event.call(this,type,bubbles,cancelable); this.objectMatrix = objectMatrix; this.objectColorTransform = objectColorTransform; this.allowSmoothing = allowSmoothing; }; $hxClasses["openfl.events.RenderEvent"] = openfl_events_RenderEvent; openfl_events_RenderEvent.__name__ = "openfl.events.RenderEvent"; openfl_events_RenderEvent.__super__ = openfl_events_Event; openfl_events_RenderEvent.prototype = $extend(openfl_events_Event.prototype,{ allowSmoothing: null ,objectColorTransform: null ,objectMatrix: null ,renderer: null ,clone: function() { var event = new openfl_events_RenderEvent(this.type,this.bubbles,this.cancelable,this.objectMatrix.clone(),this.objectColorTransform.__clone(),this.allowSmoothing); event.target = this.target; event.currentTarget = this.currentTarget; event.eventPhase = this.eventPhase; return event; } ,toString: function() { return this.__formatToString("RenderEvent",["type","bubbles","cancelable"]); } ,__init: function() { openfl_events_Event.prototype.__init.call(this); this.objectMatrix = null; this.objectColorTransform = null; this.allowSmoothing = false; this.renderer = null; } ,__class__: openfl_events_RenderEvent }); var openfl_events_SecurityErrorEvent = function(type,bubbles,cancelable,text,id) { if(id == null) { id = 0; } if(text == null) { text = ""; } if(cancelable == null) { cancelable = false; } if(bubbles == null) { bubbles = false; } openfl_events_ErrorEvent.call(this,type,bubbles,cancelable,text,id); }; $hxClasses["openfl.events.SecurityErrorEvent"] = openfl_events_SecurityErrorEvent; openfl_events_SecurityErrorEvent.__name__ = "openfl.events.SecurityErrorEvent"; openfl_events_SecurityErrorEvent.__super__ = openfl_events_ErrorEvent; openfl_events_SecurityErrorEvent.prototype = $extend(openfl_events_ErrorEvent.prototype,{ clone: function() { var event = new openfl_events_SecurityErrorEvent(this.type,this.bubbles,this.cancelable,this.text,this.errorID); event.target = this.target; event.currentTarget = this.currentTarget; event.eventPhase = this.eventPhase; return event; } ,toString: function() { return this.__formatToString("SecurityErrorEvent",["type","bubbles","cancelable","text","errorID"]); } ,__class__: openfl_events_SecurityErrorEvent }); var openfl_events_TouchEvent = function(type,bubbles,cancelable,touchPointID,isPrimaryTouchPoint,localX,localY,sizeX,sizeY,pressure,relatedObject,ctrlKey,altKey,shiftKey,commandKey,controlKey,timestamp,touchIntent,samples,isTouchPointCanceled) { if(isTouchPointCanceled == null) { isTouchPointCanceled = false; } if(timestamp == null) { timestamp = 0; } if(controlKey == null) { controlKey = false; } if(commandKey == null) { commandKey = false; } if(shiftKey == null) { shiftKey = false; } if(altKey == null) { altKey = false; } if(ctrlKey == null) { ctrlKey = false; } if(pressure == null) { pressure = 0; } if(sizeY == null) { sizeY = 0; } if(sizeX == null) { sizeX = 0; } if(localY == null) { localY = 0; } if(localX == null) { localX = 0; } if(isPrimaryTouchPoint == null) { isPrimaryTouchPoint = false; } if(touchPointID == null) { touchPointID = 0; } if(cancelable == null) { cancelable = false; } if(bubbles == null) { bubbles = true; } openfl_events_Event.call(this,type,bubbles,cancelable); this.touchPointID = touchPointID; this.isPrimaryTouchPoint = isPrimaryTouchPoint; this.localX = localX; this.localY = localY; this.sizeX = sizeX; this.sizeY = sizeY; this.pressure = pressure; this.relatedObject = relatedObject; this.ctrlKey = ctrlKey; this.altKey = altKey; this.shiftKey = shiftKey; this.commandKey = commandKey; this.controlKey = controlKey; this.stageX = NaN; this.stageY = NaN; }; $hxClasses["openfl.events.TouchEvent"] = openfl_events_TouchEvent; openfl_events_TouchEvent.__name__ = "openfl.events.TouchEvent"; openfl_events_TouchEvent.__create = function(type,touch,stageX,stageY,local,target) { var evt = new openfl_events_TouchEvent(type,true,false,0,true,local.x,local.y,1,1,1); evt.stageX = stageX; evt.stageY = stageY; evt.target = target; return evt; }; openfl_events_TouchEvent.__super__ = openfl_events_Event; openfl_events_TouchEvent.prototype = $extend(openfl_events_Event.prototype,{ altKey: null ,commandKey: null ,controlKey: null ,ctrlKey: null ,delta: null ,isPrimaryTouchPoint: null ,localX: null ,localY: null ,pressure: null ,relatedObject: null ,shiftKey: null ,sizeX: null ,sizeY: null ,stageX: null ,stageY: null ,touchPointID: null ,clone: function() { var event = new openfl_events_TouchEvent(this.type,this.bubbles,this.cancelable,this.touchPointID,this.isPrimaryTouchPoint,this.localX,this.localY,this.sizeX,this.sizeY,this.pressure,this.relatedObject,this.ctrlKey,this.altKey,this.shiftKey,this.commandKey,this.controlKey); event.target = this.target; event.currentTarget = this.currentTarget; event.eventPhase = this.eventPhase; return event; } ,toString: function() { return this.__formatToString("TouchEvent",["type","bubbles","cancelable","touchPointID","isPrimaryTouchPoint","localX","localY","sizeX","sizeY","pressure","relatedObject","ctrlKey","altKey","shiftKey","commandKey","controlKey"]); } ,updateAfterEvent: function() { } ,__init: function() { openfl_events_Event.prototype.__init.call(this); this.touchPointID = 0; this.isPrimaryTouchPoint = false; this.localX = 0; this.localY = 0; this.sizeX = 0; this.sizeY = 0; this.pressure = 0; this.relatedObject = null; this.ctrlKey = false; this.altKey = false; this.shiftKey = false; this.commandKey = false; this.controlKey = false; this.stageX = NaN; this.stageY = NaN; } ,__class__: openfl_events_TouchEvent }); var openfl_events_UncaughtErrorEvent = function(type,bubbles,cancelable,error) { if(cancelable == null) { cancelable = true; } if(bubbles == null) { bubbles = true; } openfl_events_ErrorEvent.call(this,type,bubbles,cancelable); this.error = error; }; $hxClasses["openfl.events.UncaughtErrorEvent"] = openfl_events_UncaughtErrorEvent; openfl_events_UncaughtErrorEvent.__name__ = "openfl.events.UncaughtErrorEvent"; openfl_events_UncaughtErrorEvent.__super__ = openfl_events_ErrorEvent; openfl_events_UncaughtErrorEvent.prototype = $extend(openfl_events_ErrorEvent.prototype,{ error: null ,clone: function() { var event = new openfl_events_UncaughtErrorEvent(this.type,this.bubbles,this.cancelable,this.error); event.target = this.target; event.currentTarget = this.currentTarget; event.eventPhase = this.eventPhase; return event; } ,toString: function() { return this.__formatToString("UncaughtErrorEvent",["type","bubbles","cancelable","error"]); } ,__init: function() { openfl_events_ErrorEvent.prototype.__init.call(this); this.error = null; } ,__class__: openfl_events_UncaughtErrorEvent }); var openfl_events_UncaughtErrorEvents = function() { openfl_events_EventDispatcher.call(this); }; $hxClasses["openfl.events.UncaughtErrorEvents"] = openfl_events_UncaughtErrorEvents; openfl_events_UncaughtErrorEvents.__name__ = "openfl.events.UncaughtErrorEvents"; openfl_events_UncaughtErrorEvents.__super__ = openfl_events_EventDispatcher; openfl_events_UncaughtErrorEvents.prototype = $extend(openfl_events_EventDispatcher.prototype,{ __class__: openfl_events_UncaughtErrorEvents }); var openfl_filters_BitmapFilter = function() { this.__bottomExtension = 0; this.__leftExtension = 0; this.__needSecondBitmapData = true; this.__numShaderPasses = 0; this.__preserveObject = false; this.__rightExtension = 0; this.__shaderBlendMode = 10; this.__topExtension = 0; this.__smooth = true; }; $hxClasses["openfl.filters.BitmapFilter"] = openfl_filters_BitmapFilter; openfl_filters_BitmapFilter.__name__ = "openfl.filters.BitmapFilter"; openfl_filters_BitmapFilter.prototype = { __bottomExtension: null ,__leftExtension: null ,__needSecondBitmapData: null ,__numShaderPasses: null ,__preserveObject: null ,__renderDirty: null ,__rightExtension: null ,__shaderBlendMode: null ,__smooth: null ,__topExtension: null ,clone: function() { return new openfl_filters_BitmapFilter(); } ,__applyFilter: function(bitmapData,sourceBitmapData,sourceRect,destPoint) { return sourceBitmapData; } ,__initShader: function(renderer,pass,sourceBitmapData) { return null; } ,__class__: openfl_filters_BitmapFilter }; var openfl_filters_ShaderFilter = function(shader) { openfl_filters_BitmapFilter.call(this); this.shader = shader; this.__numShaderPasses = 1; }; $hxClasses["openfl.filters.ShaderFilter"] = openfl_filters_ShaderFilter; openfl_filters_ShaderFilter.__name__ = "openfl.filters.ShaderFilter"; openfl_filters_ShaderFilter.__super__ = openfl_filters_BitmapFilter; openfl_filters_ShaderFilter.prototype = $extend(openfl_filters_BitmapFilter.prototype,{ blendMode: null ,bottomExtension: null ,leftExtension: null ,rightExtension: null ,shader: null ,topExtension: null ,clone: function() { var filter = new openfl_filters_ShaderFilter(this.shader); filter.bottomExtension = this.bottomExtension; filter.leftExtension = this.leftExtension; filter.rightExtension = this.rightExtension; filter.topExtension = this.topExtension; return filter; } ,invalidate: function() { this.__renderDirty = true; } ,__initShader: function(renderer,pass,sourceBitmapData) { this.__shaderBlendMode = this.blendMode; return this.shader; } ,__class__: openfl_filters_ShaderFilter }); var openfl_geom_Matrix3D = function(v) { if(v != null && v.get_length() == 16) { this.rawData = v.concat(null); } else { this.rawData = openfl__$Vector_Vector_$Impl_$.toFloatVector(null,null,null,[1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0]); } }; $hxClasses["openfl.geom.Matrix3D"] = openfl_geom_Matrix3D; openfl_geom_Matrix3D.__name__ = "openfl.geom.Matrix3D"; openfl_geom_Matrix3D.create2D = function(x,y,scale,rotation) { if(rotation == null) { rotation = 0; } if(scale == null) { scale = 1; } var theta = rotation * Math.PI / 180.0; var c = Math.cos(theta); var s = Math.sin(theta); return new openfl_geom_Matrix3D(openfl__$Vector_Vector_$Impl_$.toFloatVector(null,null,null,[c * scale,-s * scale,0,0,s * scale,c * scale,0,0,0,0,1,0,x,y,0,1])); }; openfl_geom_Matrix3D.createABCD = function(a,b,c,d,tx,ty) { return new openfl_geom_Matrix3D(openfl__$Vector_Vector_$Impl_$.toFloatVector(null,null,null,[a,b,0,0,c,d,0,0,0,0,1,0,tx,ty,0,1])); }; openfl_geom_Matrix3D.createOrtho = function(x0,x1,y0,y1,zNear,zFar) { var sx = 1.0 / (x1 - x0); var sy = 1.0 / (y1 - y0); var sz = 1.0 / (zFar - zNear); return new openfl_geom_Matrix3D(openfl__$Vector_Vector_$Impl_$.toFloatVector(null,null,null,[2.0 * sx,0,0,0,0,2.0 * sy,0,0,0,0,-2.0 * sz,0,-(x0 + x1) * sx,-(y0 + y1) * sy,-(zNear + zFar) * sz,1])); }; openfl_geom_Matrix3D.interpolate = function(thisMat,toMat,percent) { var m = new openfl_geom_Matrix3D(); var _g = 0; while(_g < 16) { var i = _g++; m.rawData.set(i,thisMat.rawData.get(i) + (toMat.rawData.get(i) - thisMat.rawData.get(i)) * percent); } return m; }; openfl_geom_Matrix3D.__getAxisRotation = function(x,y,z,degrees) { var m = new openfl_geom_Matrix3D(); var a1 = new openfl_geom_Vector3D(x,y,z); var rad = -degrees * (Math.PI / 180); var c = Math.cos(rad); var s = Math.sin(rad); var t = 1.0 - c; m.rawData.set(0,c + a1.x * a1.x * t); m.rawData.set(5,c + a1.y * a1.y * t); m.rawData.set(10,c + a1.z * a1.z * t); var tmp1 = a1.x * a1.y * t; var tmp2 = a1.z * s; m.rawData.set(4,tmp1 + tmp2); m.rawData.set(1,tmp1 - tmp2); tmp1 = a1.x * a1.z * t; tmp2 = a1.y * s; m.rawData.set(8,tmp1 - tmp2); m.rawData.set(2,tmp1 + tmp2); tmp1 = a1.y * a1.z * t; tmp2 = a1.x * s; m.rawData.set(9,tmp1 + tmp2); m.rawData.set(6,tmp1 - tmp2); return m; }; openfl_geom_Matrix3D.prototype = { rawData: null ,append: function(lhs) { var m111 = this.rawData.get(0); var m121 = this.rawData.get(4); var m131 = this.rawData.get(8); var m141 = this.rawData.get(12); var m112 = this.rawData.get(1); var m122 = this.rawData.get(5); var m132 = this.rawData.get(9); var m142 = this.rawData.get(13); var m113 = this.rawData.get(2); var m123 = this.rawData.get(6); var m133 = this.rawData.get(10); var m143 = this.rawData.get(14); var m114 = this.rawData.get(3); var m124 = this.rawData.get(7); var m134 = this.rawData.get(11); var m144 = this.rawData.get(15); var m211 = lhs.rawData.get(0); var m221 = lhs.rawData.get(4); var m231 = lhs.rawData.get(8); var m241 = lhs.rawData.get(12); var m212 = lhs.rawData.get(1); var m222 = lhs.rawData.get(5); var m232 = lhs.rawData.get(9); var m242 = lhs.rawData.get(13); var m213 = lhs.rawData.get(2); var m223 = lhs.rawData.get(6); var m233 = lhs.rawData.get(10); var m243 = lhs.rawData.get(14); var m214 = lhs.rawData.get(3); var m224 = lhs.rawData.get(7); var m234 = lhs.rawData.get(11); var m244 = lhs.rawData.get(15); this.rawData.set(0,m111 * m211 + m112 * m221 + m113 * m231 + m114 * m241); this.rawData.set(1,m111 * m212 + m112 * m222 + m113 * m232 + m114 * m242); this.rawData.set(2,m111 * m213 + m112 * m223 + m113 * m233 + m114 * m243); this.rawData.set(3,m111 * m214 + m112 * m224 + m113 * m234 + m114 * m244); this.rawData.set(4,m121 * m211 + m122 * m221 + m123 * m231 + m124 * m241); this.rawData.set(5,m121 * m212 + m122 * m222 + m123 * m232 + m124 * m242); this.rawData.set(6,m121 * m213 + m122 * m223 + m123 * m233 + m124 * m243); this.rawData.set(7,m121 * m214 + m122 * m224 + m123 * m234 + m124 * m244); this.rawData.set(8,m131 * m211 + m132 * m221 + m133 * m231 + m134 * m241); this.rawData.set(9,m131 * m212 + m132 * m222 + m133 * m232 + m134 * m242); this.rawData.set(10,m131 * m213 + m132 * m223 + m133 * m233 + m134 * m243); this.rawData.set(11,m131 * m214 + m132 * m224 + m133 * m234 + m134 * m244); this.rawData.set(12,m141 * m211 + m142 * m221 + m143 * m231 + m144 * m241); this.rawData.set(13,m141 * m212 + m142 * m222 + m143 * m232 + m144 * m242); this.rawData.set(14,m141 * m213 + m142 * m223 + m143 * m233 + m144 * m243); this.rawData.set(15,m141 * m214 + m142 * m224 + m143 * m234 + m144 * m244); } ,appendRotation: function(degrees,axis,pivotPoint) { var tz = 0; var ty = tz; var tx = ty; if(pivotPoint != null) { tx = pivotPoint.x; ty = pivotPoint.y; tz = pivotPoint.z; } var radian = degrees * Math.PI / 180; var cos = Math.cos(radian); var sin = Math.sin(radian); var x = axis.x; var y = axis.y; var z = axis.z; var x2 = x * x; var y2 = y * y; var z2 = z * z; var ls = x2 + y2 + z2; if(ls != 0) { var l = Math.sqrt(ls); x /= l; y /= l; z /= l; x2 /= ls; y2 /= ls; z2 /= ls; } var ccos = 1 - cos; var m = new openfl_geom_Matrix3D(); var d = m.rawData; d.set(0,x2 + (y2 + z2) * cos); d.set(1,x * y * ccos + z * sin); d.set(2,x * z * ccos - y * sin); d.set(4,x * y * ccos - z * sin); d.set(5,y2 + (x2 + z2) * cos); d.set(6,y * z * ccos + x * sin); d.set(8,x * z * ccos + y * sin); d.set(9,y * z * ccos - x * sin); d.set(10,z2 + (x2 + y2) * cos); d.set(12,(tx * (y2 + z2) - x * (ty * y + tz * z)) * ccos + (ty * z - tz * y) * sin); d.set(13,(ty * (x2 + z2) - y * (tx * x + tz * z)) * ccos + (tz * x - tx * z) * sin); d.set(14,(tz * (x2 + y2) - z * (tx * x + ty * y)) * ccos + (tx * y - ty * x) * sin); this.append(m); } ,appendScale: function(xScale,yScale,zScale) { this.append(new openfl_geom_Matrix3D(openfl__$Vector_Vector_$Impl_$.toFloatVector(null,null,null,[xScale,0.0,0.0,0.0,0.0,yScale,0.0,0.0,0.0,0.0,zScale,0.0,0.0,0.0,0.0,1.0]))); } ,appendTranslation: function(x,y,z) { var _g = this.rawData; _g.set(12,_g.get(12) + x); var _g1 = this.rawData; _g1.set(13,_g1.get(13) + y); var _g2 = this.rawData; _g2.set(14,_g2.get(14) + z); } ,clone: function() { return new openfl_geom_Matrix3D(this.rawData.copy()); } ,copyColumnFrom: function(column,vector3D) { switch(column) { case 0: this.rawData.set(0,vector3D.x); this.rawData.set(1,vector3D.y); this.rawData.set(2,vector3D.z); this.rawData.set(3,vector3D.w); break; case 1: this.rawData.set(4,vector3D.x); this.rawData.set(5,vector3D.y); this.rawData.set(6,vector3D.z); this.rawData.set(7,vector3D.w); break; case 2: this.rawData.set(8,vector3D.x); this.rawData.set(9,vector3D.y); this.rawData.set(10,vector3D.z); this.rawData.set(11,vector3D.w); break; case 3: this.rawData.set(12,vector3D.x); this.rawData.set(13,vector3D.y); this.rawData.set(14,vector3D.z); this.rawData.set(15,vector3D.w); break; default: } } ,copyColumnTo: function(column,vector3D) { switch(column) { case 0: vector3D.x = this.rawData.get(0); vector3D.y = this.rawData.get(1); vector3D.z = this.rawData.get(2); vector3D.w = this.rawData.get(3); break; case 1: vector3D.x = this.rawData.get(4); vector3D.y = this.rawData.get(5); vector3D.z = this.rawData.get(6); vector3D.w = this.rawData.get(7); break; case 2: vector3D.x = this.rawData.get(8); vector3D.y = this.rawData.get(9); vector3D.z = this.rawData.get(10); vector3D.w = this.rawData.get(11); break; case 3: vector3D.x = this.rawData.get(12); vector3D.y = this.rawData.get(13); vector3D.z = this.rawData.get(14); vector3D.w = this.rawData.get(15); break; default: } } ,copyFrom: function(other) { this.rawData = other.rawData.copy(); } ,copyRawDataFrom: function(vector,index,transpose) { if(transpose == null) { transpose = false; } if(index == null) { index = 0; } if(transpose) { this.transpose(); } var length = vector.get_length() - index; var _g = 0; var _g1 = length; while(_g < _g1) { var i = _g++; this.rawData.set(i,vector.get(i + index)); } if(transpose) { this.transpose(); } } ,copyRawDataTo: function(vector,index,transpose) { if(transpose == null) { transpose = false; } if(index == null) { index = 0; } if(transpose) { this.transpose(); } var _g = 0; var _g1 = this.rawData.get_length(); while(_g < _g1) { var i = _g++; vector.set(i + index,this.rawData.get(i)); } if(transpose) { this.transpose(); } } ,copyRowFrom: function(row,vector3D) { switch(row) { case 0: this.rawData.set(0,vector3D.x); this.rawData.set(4,vector3D.y); this.rawData.set(8,vector3D.z); this.rawData.set(12,vector3D.w); break; case 1: this.rawData.set(1,vector3D.x); this.rawData.set(5,vector3D.y); this.rawData.set(9,vector3D.z); this.rawData.set(13,vector3D.w); break; case 2: this.rawData.set(2,vector3D.x); this.rawData.set(6,vector3D.y); this.rawData.set(10,vector3D.z); this.rawData.set(14,vector3D.w); break; case 3: this.rawData.set(3,vector3D.x); this.rawData.set(7,vector3D.y); this.rawData.set(11,vector3D.z); this.rawData.set(15,vector3D.w); break; default: } } ,copyRowTo: function(row,vector3D) { switch(row) { case 0: vector3D.x = this.rawData.get(0); vector3D.y = this.rawData.get(4); vector3D.z = this.rawData.get(8); vector3D.w = this.rawData.get(12); break; case 1: vector3D.x = this.rawData.get(1); vector3D.y = this.rawData.get(5); vector3D.z = this.rawData.get(9); vector3D.w = this.rawData.get(13); break; case 2: vector3D.x = this.rawData.get(2); vector3D.y = this.rawData.get(6); vector3D.z = this.rawData.get(10); vector3D.w = this.rawData.get(14); break; case 3: vector3D.x = this.rawData.get(3); vector3D.y = this.rawData.get(7); vector3D.z = this.rawData.get(11); vector3D.w = this.rawData.get(15); break; default: } } ,copyToMatrix3D: function(other) { other.rawData = this.rawData.copy(); } ,decompose: function(orientationStyle) { if(orientationStyle == null) { orientationStyle = 1; } var vec = openfl__$Vector_Vector_$Impl_$.toObjectVector(null); var m = this.clone(); var mr = m.rawData.copy(); var pos = new openfl_geom_Vector3D(mr.get(12),mr.get(13),mr.get(14)); mr.set(12,0); mr.set(13,0); mr.set(14,0); var scale = new openfl_geom_Vector3D(); scale.x = Math.sqrt(mr.get(0) * mr.get(0) + mr.get(1) * mr.get(1) + mr.get(2) * mr.get(2)); scale.y = Math.sqrt(mr.get(4) * mr.get(4) + mr.get(5) * mr.get(5) + mr.get(6) * mr.get(6)); scale.z = Math.sqrt(mr.get(8) * mr.get(8) + mr.get(9) * mr.get(9) + mr.get(10) * mr.get(10)); if(mr.get(0) * (mr.get(5) * mr.get(10) - mr.get(6) * mr.get(9)) - mr.get(1) * (mr.get(4) * mr.get(10) - mr.get(6) * mr.get(8)) + mr.get(2) * (mr.get(4) * mr.get(9) - mr.get(5) * mr.get(8)) < 0) { scale.z = -scale.z; } var _g = mr; _g.set(0,_g.get(0) / scale.x); var _g1 = mr; _g1.set(1,_g1.get(1) / scale.x); var _g2 = mr; _g2.set(2,_g2.get(2) / scale.x); var _g3 = mr; _g3.set(4,_g3.get(4) / scale.y); var _g4 = mr; _g4.set(5,_g4.get(5) / scale.y); var _g5 = mr; _g5.set(6,_g5.get(6) / scale.y); var _g6 = mr; _g6.set(8,_g6.get(8) / scale.z); var _g7 = mr; _g7.set(9,_g7.get(9) / scale.z); var _g8 = mr; _g8.set(10,_g8.get(10) / scale.z); var rot = new openfl_geom_Vector3D(); switch(orientationStyle) { case 0: rot.w = Math.acos((mr.get(0) + mr.get(5) + mr.get(10) - 1) / 2); var len = Math.sqrt((mr.get(6) - mr.get(9)) * (mr.get(6) - mr.get(9)) + (mr.get(8) - mr.get(2)) * (mr.get(8) - mr.get(2)) + (mr.get(1) - mr.get(4)) * (mr.get(1) - mr.get(4))); if(len != 0) { rot.x = (mr.get(6) - mr.get(9)) / len; rot.y = (mr.get(8) - mr.get(2)) / len; rot.z = (mr.get(1) - mr.get(4)) / len; } else { rot.x = rot.y = rot.z = 0; } break; case 1: rot.y = Math.asin(-mr.get(2)); if(mr.get(2) != 1 && mr.get(2) != -1) { rot.x = Math.atan2(mr.get(6),mr.get(10)); rot.z = Math.atan2(mr.get(1),mr.get(0)); } else { rot.z = 0; rot.x = Math.atan2(mr.get(4),mr.get(5)); } break; case 2: var tr = mr.get(0) + mr.get(5) + mr.get(10); if(tr > 0) { rot.w = Math.sqrt(1 + tr) / 2; rot.x = (mr.get(6) - mr.get(9)) / (4 * rot.w); rot.y = (mr.get(8) - mr.get(2)) / (4 * rot.w); rot.z = (mr.get(1) - mr.get(4)) / (4 * rot.w); } else if(mr.get(0) > mr.get(5) && mr.get(0) > mr.get(10)) { rot.x = Math.sqrt(1 + mr.get(0) - mr.get(5) - mr.get(10)) / 2; rot.w = (mr.get(6) - mr.get(9)) / (4 * rot.x); rot.y = (mr.get(1) + mr.get(4)) / (4 * rot.x); rot.z = (mr.get(8) + mr.get(2)) / (4 * rot.x); } else if(mr.get(5) > mr.get(10)) { rot.y = Math.sqrt(1 + mr.get(5) - mr.get(0) - mr.get(10)) / 2; rot.x = (mr.get(1) + mr.get(4)) / (4 * rot.y); rot.w = (mr.get(8) - mr.get(2)) / (4 * rot.y); rot.z = (mr.get(6) + mr.get(9)) / (4 * rot.y); } else { rot.z = Math.sqrt(1 + mr.get(10) - mr.get(0) - mr.get(5)) / 2; rot.x = (mr.get(8) + mr.get(2)) / (4 * rot.z); rot.y = (mr.get(6) + mr.get(9)) / (4 * rot.z); rot.w = (mr.get(1) - mr.get(4)) / (4 * rot.z); } break; } vec.push(pos); vec.push(rot); vec.push(scale); return vec; } ,deltaTransformVector: function(v) { var x = v.x; var y = v.y; var z = v.z; return new openfl_geom_Vector3D(x * this.rawData.get(0) + y * this.rawData.get(4) + z * this.rawData.get(8),x * this.rawData.get(1) + y * this.rawData.get(5) + z * this.rawData.get(9),x * this.rawData.get(2) + y * this.rawData.get(6) + z * this.rawData.get(10),x * this.rawData.get(3) + y * this.rawData.get(7) + z * this.rawData.get(11)); } ,identity: function() { this.rawData = openfl__$Vector_Vector_$Impl_$.toFloatVector(null,null,null,[1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0]); } ,interpolateTo: function(toMat,percent) { var _g = 0; while(_g < 16) { var i = _g++; this.rawData.set(i,this.rawData.get(i) + (toMat.rawData.get(i) - this.rawData.get(i)) * percent); } } ,invert: function() { var d = this.get_determinant(); var invertable = Math.abs(d) > 0.00000000001; if(invertable) { d = 1 / d; var m11 = this.rawData.get(0); var m21 = this.rawData.get(4); var m31 = this.rawData.get(8); var m41 = this.rawData.get(12); var m12 = this.rawData.get(1); var m22 = this.rawData.get(5); var m32 = this.rawData.get(9); var m42 = this.rawData.get(13); var m13 = this.rawData.get(2); var m23 = this.rawData.get(6); var m33 = this.rawData.get(10); var m43 = this.rawData.get(14); var m14 = this.rawData.get(3); var m24 = this.rawData.get(7); var m34 = this.rawData.get(11); var m44 = this.rawData.get(15); this.rawData.set(0,d * (m22 * (m33 * m44 - m43 * m34) - m32 * (m23 * m44 - m43 * m24) + m42 * (m23 * m34 - m33 * m24))); this.rawData.set(1,-d * (m12 * (m33 * m44 - m43 * m34) - m32 * (m13 * m44 - m43 * m14) + m42 * (m13 * m34 - m33 * m14))); this.rawData.set(2,d * (m12 * (m23 * m44 - m43 * m24) - m22 * (m13 * m44 - m43 * m14) + m42 * (m13 * m24 - m23 * m14))); this.rawData.set(3,-d * (m12 * (m23 * m34 - m33 * m24) - m22 * (m13 * m34 - m33 * m14) + m32 * (m13 * m24 - m23 * m14))); this.rawData.set(4,-d * (m21 * (m33 * m44 - m43 * m34) - m31 * (m23 * m44 - m43 * m24) + m41 * (m23 * m34 - m33 * m24))); this.rawData.set(5,d * (m11 * (m33 * m44 - m43 * m34) - m31 * (m13 * m44 - m43 * m14) + m41 * (m13 * m34 - m33 * m14))); this.rawData.set(6,-d * (m11 * (m23 * m44 - m43 * m24) - m21 * (m13 * m44 - m43 * m14) + m41 * (m13 * m24 - m23 * m14))); this.rawData.set(7,d * (m11 * (m23 * m34 - m33 * m24) - m21 * (m13 * m34 - m33 * m14) + m31 * (m13 * m24 - m23 * m14))); this.rawData.set(8,d * (m21 * (m32 * m44 - m42 * m34) - m31 * (m22 * m44 - m42 * m24) + m41 * (m22 * m34 - m32 * m24))); this.rawData.set(9,-d * (m11 * (m32 * m44 - m42 * m34) - m31 * (m12 * m44 - m42 * m14) + m41 * (m12 * m34 - m32 * m14))); this.rawData.set(10,d * (m11 * (m22 * m44 - m42 * m24) - m21 * (m12 * m44 - m42 * m14) + m41 * (m12 * m24 - m22 * m14))); this.rawData.set(11,-d * (m11 * (m22 * m34 - m32 * m24) - m21 * (m12 * m34 - m32 * m14) + m31 * (m12 * m24 - m22 * m14))); this.rawData.set(12,-d * (m21 * (m32 * m43 - m42 * m33) - m31 * (m22 * m43 - m42 * m23) + m41 * (m22 * m33 - m32 * m23))); this.rawData.set(13,d * (m11 * (m32 * m43 - m42 * m33) - m31 * (m12 * m43 - m42 * m13) + m41 * (m12 * m33 - m32 * m13))); this.rawData.set(14,-d * (m11 * (m22 * m43 - m42 * m23) - m21 * (m12 * m43 - m42 * m13) + m41 * (m12 * m23 - m22 * m13))); this.rawData.set(15,d * (m11 * (m22 * m33 - m32 * m23) - m21 * (m12 * m33 - m32 * m13) + m31 * (m12 * m23 - m22 * m13))); } return invertable; } ,pointAt: function(pos,at,up) { if(at == null) { at = new openfl_geom_Vector3D(0,0,-1); } if(up == null) { up = new openfl_geom_Vector3D(0,-1,0); } var dir = at.subtract(pos); var vup = up.clone(); dir.normalize(); vup.normalize(); var dir2 = dir.clone(); dir2.scaleBy(vup.dotProduct(dir)); vup = vup.subtract(dir2); if(vup.get_length() > 0) { vup.normalize(); } else if(dir.x != 0) { vup = new openfl_geom_Vector3D(-dir.y,dir.x,0); } else { vup = new openfl_geom_Vector3D(1,0,0); } var right = vup.crossProduct(dir); right.normalize(); this.rawData.set(0,right.x); this.rawData.set(4,right.y); this.rawData.set(8,right.z); this.rawData.set(12,0.0); this.rawData.set(1,vup.x); this.rawData.set(5,vup.y); this.rawData.set(9,vup.z); this.rawData.set(13,0.0); this.rawData.set(2,dir.x); this.rawData.set(6,dir.y); this.rawData.set(10,dir.z); this.rawData.set(14,0.0); this.rawData.set(3,pos.x); this.rawData.set(7,pos.y); this.rawData.set(11,pos.z); this.rawData.set(15,1.0); } ,prepend: function(rhs) { var m111 = rhs.rawData.get(0); var m121 = rhs.rawData.get(4); var m131 = rhs.rawData.get(8); var m141 = rhs.rawData.get(12); var m112 = rhs.rawData.get(1); var m122 = rhs.rawData.get(5); var m132 = rhs.rawData.get(9); var m142 = rhs.rawData.get(13); var m113 = rhs.rawData.get(2); var m123 = rhs.rawData.get(6); var m133 = rhs.rawData.get(10); var m143 = rhs.rawData.get(14); var m114 = rhs.rawData.get(3); var m124 = rhs.rawData.get(7); var m134 = rhs.rawData.get(11); var m144 = rhs.rawData.get(15); var m211 = this.rawData.get(0); var m221 = this.rawData.get(4); var m231 = this.rawData.get(8); var m241 = this.rawData.get(12); var m212 = this.rawData.get(1); var m222 = this.rawData.get(5); var m232 = this.rawData.get(9); var m242 = this.rawData.get(13); var m213 = this.rawData.get(2); var m223 = this.rawData.get(6); var m233 = this.rawData.get(10); var m243 = this.rawData.get(14); var m214 = this.rawData.get(3); var m224 = this.rawData.get(7); var m234 = this.rawData.get(11); var m244 = this.rawData.get(15); this.rawData.set(0,m111 * m211 + m112 * m221 + m113 * m231 + m114 * m241); this.rawData.set(1,m111 * m212 + m112 * m222 + m113 * m232 + m114 * m242); this.rawData.set(2,m111 * m213 + m112 * m223 + m113 * m233 + m114 * m243); this.rawData.set(3,m111 * m214 + m112 * m224 + m113 * m234 + m114 * m244); this.rawData.set(4,m121 * m211 + m122 * m221 + m123 * m231 + m124 * m241); this.rawData.set(5,m121 * m212 + m122 * m222 + m123 * m232 + m124 * m242); this.rawData.set(6,m121 * m213 + m122 * m223 + m123 * m233 + m124 * m243); this.rawData.set(7,m121 * m214 + m122 * m224 + m123 * m234 + m124 * m244); this.rawData.set(8,m131 * m211 + m132 * m221 + m133 * m231 + m134 * m241); this.rawData.set(9,m131 * m212 + m132 * m222 + m133 * m232 + m134 * m242); this.rawData.set(10,m131 * m213 + m132 * m223 + m133 * m233 + m134 * m243); this.rawData.set(11,m131 * m214 + m132 * m224 + m133 * m234 + m134 * m244); this.rawData.set(12,m141 * m211 + m142 * m221 + m143 * m231 + m144 * m241); this.rawData.set(13,m141 * m212 + m142 * m222 + m143 * m232 + m144 * m242); this.rawData.set(14,m141 * m213 + m142 * m223 + m143 * m233 + m144 * m243); this.rawData.set(15,m141 * m214 + m142 * m224 + m143 * m234 + m144 * m244); } ,prependRotation: function(degrees,axis,pivotPoint) { var tz = 0; var ty = tz; var tx = ty; if(pivotPoint != null) { tx = pivotPoint.x; ty = pivotPoint.y; tz = pivotPoint.z; } var radian = degrees * Math.PI / 180; var cos = Math.cos(radian); var sin = Math.sin(radian); var x = axis.x; var y = axis.y; var z = axis.z; var x2 = x * x; var y2 = y * y; var z2 = z * z; var ls = x2 + y2 + z2; if(ls != 0) { var l = Math.sqrt(ls); x /= l; y /= l; z /= l; x2 /= ls; y2 /= ls; z2 /= ls; } var ccos = 1 - cos; var m = new openfl_geom_Matrix3D(); var d = m.rawData; d.set(0,x2 + (y2 + z2) * cos); d.set(1,x * y * ccos + z * sin); d.set(2,x * z * ccos - y * sin); d.set(4,x * y * ccos - z * sin); d.set(5,y2 + (x2 + z2) * cos); d.set(6,y * z * ccos + x * sin); d.set(8,x * z * ccos + y * sin); d.set(9,y * z * ccos - x * sin); d.set(10,z2 + (x2 + y2) * cos); d.set(12,(tx * (y2 + z2) - x * (ty * y + tz * z)) * ccos + (ty * z - tz * y) * sin); d.set(13,(ty * (x2 + z2) - y * (tx * x + tz * z)) * ccos + (tz * x - tx * z) * sin); d.set(14,(tz * (x2 + y2) - z * (tx * x + ty * y)) * ccos + (tx * y - ty * x) * sin); this.prepend(m); } ,prependScale: function(xScale,yScale,zScale) { this.prepend(new openfl_geom_Matrix3D(openfl__$Vector_Vector_$Impl_$.toFloatVector(null,null,null,[xScale,0.0,0.0,0.0,0.0,yScale,0.0,0.0,0.0,0.0,zScale,0.0,0.0,0.0,0.0,1.0]))); } ,prependTranslation: function(x,y,z) { var m = new openfl_geom_Matrix3D(); m.set_position(new openfl_geom_Vector3D(x,y,z)); this.prepend(m); } ,recompose: function(components,orientationStyle) { if(orientationStyle == null) { orientationStyle = 1; } if(components.get_length() < 3 || components.get(2).x == 0 || components.get(2).y == 0 || components.get(2).z == 0) { return false; } this.identity(); var scale = []; scale[0] = scale[1] = scale[2] = components.get(2).x; scale[4] = scale[5] = scale[6] = components.get(2).y; scale[8] = scale[9] = scale[10] = components.get(2).z; if(orientationStyle == 1) { var cx = Math.cos(components.get(1).x); var cy = Math.cos(components.get(1).y); var cz = Math.cos(components.get(1).z); var sx = Math.sin(components.get(1).x); var sy = Math.sin(components.get(1).y); var sz = Math.sin(components.get(1).z); this.rawData.set(0,cy * cz * scale[0]); this.rawData.set(1,cy * sz * scale[1]); this.rawData.set(2,-sy * scale[2]); this.rawData.set(3,0); this.rawData.set(4,(sx * sy * cz - cx * sz) * scale[4]); this.rawData.set(5,(sx * sy * sz + cx * cz) * scale[5]); this.rawData.set(6,sx * cy * scale[6]); this.rawData.set(7,0); this.rawData.set(8,(cx * sy * cz + sx * sz) * scale[8]); this.rawData.set(9,(cx * sy * sz - sx * cz) * scale[9]); this.rawData.set(10,cx * cy * scale[10]); this.rawData.set(11,0); this.rawData.set(12,components.get(0).x); this.rawData.set(13,components.get(0).y); this.rawData.set(14,components.get(0).z); this.rawData.set(15,1); } else { var x = components.get(1).x; var y = components.get(1).y; var z = components.get(1).z; var w = components.get(1).w; if(orientationStyle == 0) { x *= Math.sin(w / 2); y *= Math.sin(w / 2); z *= Math.sin(w / 2); w = Math.cos(w / 2); } this.rawData.set(0,(1 - 2 * y * y - 2 * z * z) * scale[0]); this.rawData.set(1,(2 * x * y + 2 * w * z) * scale[1]); this.rawData.set(2,(2 * x * z - 2 * w * y) * scale[2]); this.rawData.set(3,0); this.rawData.set(4,(2 * x * y - 2 * w * z) * scale[4]); this.rawData.set(5,(1 - 2 * x * x - 2 * z * z) * scale[5]); this.rawData.set(6,(2 * y * z + 2 * w * x) * scale[6]); this.rawData.set(7,0); this.rawData.set(8,(2 * x * z + 2 * w * y) * scale[8]); this.rawData.set(9,(2 * y * z - 2 * w * x) * scale[9]); this.rawData.set(10,(1 - 2 * x * x - 2 * y * y) * scale[10]); this.rawData.set(11,0); this.rawData.set(12,components.get(0).x); this.rawData.set(13,components.get(0).y); this.rawData.set(14,components.get(0).z); this.rawData.set(15,1); } if(components.get(2).x == 0) { this.rawData.set(0,1e-15); } if(components.get(2).y == 0) { this.rawData.set(5,1e-15); } if(components.get(2).z == 0) { this.rawData.set(10,1e-15); } return !(components.get(2).x == 0 || components.get(2).y == 0 || components.get(2).y == 0); } ,transformVector: function(v) { var x = v.x; var y = v.y; var z = v.z; return new openfl_geom_Vector3D(x * this.rawData.get(0) + y * this.rawData.get(4) + z * this.rawData.get(8) + this.rawData.get(12),x * this.rawData.get(1) + y * this.rawData.get(5) + z * this.rawData.get(9) + this.rawData.get(13),x * this.rawData.get(2) + y * this.rawData.get(6) + z * this.rawData.get(10) + this.rawData.get(14),x * this.rawData.get(3) + y * this.rawData.get(7) + z * this.rawData.get(11) + this.rawData.get(15)); } ,transformVectors: function(vin,vout) { var i = 0; var x; var y; var z; while(i + 3 <= vin.get_length()) { x = vin.get(i); y = vin.get(i + 1); z = vin.get(i + 2); vout.set(i,x * this.rawData.get(0) + y * this.rawData.get(4) + z * this.rawData.get(8) + this.rawData.get(12)); vout.set(i + 1,x * this.rawData.get(1) + y * this.rawData.get(5) + z * this.rawData.get(9) + this.rawData.get(13)); vout.set(i + 2,x * this.rawData.get(2) + y * this.rawData.get(6) + z * this.rawData.get(10) + this.rawData.get(14)); i += 3; } } ,transpose: function() { var oRawData = this.rawData.copy(); this.rawData.set(1,oRawData.get(4)); this.rawData.set(2,oRawData.get(8)); this.rawData.set(3,oRawData.get(12)); this.rawData.set(4,oRawData.get(1)); this.rawData.set(6,oRawData.get(9)); this.rawData.set(7,oRawData.get(13)); this.rawData.set(8,oRawData.get(2)); this.rawData.set(9,oRawData.get(6)); this.rawData.set(11,oRawData.get(14)); this.rawData.set(12,oRawData.get(3)); this.rawData.set(13,oRawData.get(7)); this.rawData.set(14,oRawData.get(11)); } ,get_determinant: function() { return (this.rawData.get(0) * this.rawData.get(5) - this.rawData.get(4) * this.rawData.get(1)) * (this.rawData.get(10) * this.rawData.get(15) - this.rawData.get(14) * this.rawData.get(11)) - (this.rawData.get(0) * this.rawData.get(9) - this.rawData.get(8) * this.rawData.get(1)) * (this.rawData.get(6) * this.rawData.get(15) - this.rawData.get(14) * this.rawData.get(7)) + (this.rawData.get(0) * this.rawData.get(13) - this.rawData.get(12) * this.rawData.get(1)) * (this.rawData.get(6) * this.rawData.get(11) - this.rawData.get(10) * this.rawData.get(7)) + (this.rawData.get(4) * this.rawData.get(9) - this.rawData.get(8) * this.rawData.get(5)) * (this.rawData.get(2) * this.rawData.get(15) - this.rawData.get(14) * this.rawData.get(3)) - (this.rawData.get(4) * this.rawData.get(13) - this.rawData.get(12) * this.rawData.get(5)) * (this.rawData.get(2) * this.rawData.get(11) - this.rawData.get(10) * this.rawData.get(3)) + (this.rawData.get(8) * this.rawData.get(13) - this.rawData.get(12) * this.rawData.get(9)) * (this.rawData.get(2) * this.rawData.get(7) - this.rawData.get(6) * this.rawData.get(3)); } ,get_position: function() { return new openfl_geom_Vector3D(this.rawData.get(12),this.rawData.get(13),this.rawData.get(14)); } ,set_position: function(val) { this.rawData.set(12,val.x); this.rawData.set(13,val.y); this.rawData.set(14,val.z); return val; } ,__class__: openfl_geom_Matrix3D ,__properties__: {set_position:"set_position",get_position:"get_position",get_determinant:"get_determinant"} }; var openfl_geom__$Orientation3D_Orientation3D_$Impl_$ = {}; $hxClasses["openfl.geom._Orientation3D.Orientation3D_Impl_"] = openfl_geom__$Orientation3D_Orientation3D_$Impl_$; openfl_geom__$Orientation3D_Orientation3D_$Impl_$.__name__ = "openfl.geom._Orientation3D.Orientation3D_Impl_"; openfl_geom__$Orientation3D_Orientation3D_$Impl_$.fromString = function(value) { switch(value) { case "axisAngle": return 0; case "eulerAngles": return 1; case "quaternion": return 2; default: return null; } }; openfl_geom__$Orientation3D_Orientation3D_$Impl_$.toString = function(this1) { switch(this1) { case 0: return "axisAngle"; case 1: return "eulerAngles"; case 2: return "quaternion"; default: return null; } }; var openfl_geom_Transform = function(displayObject) { this.__colorTransform = new openfl_geom_ColorTransform(); this.concatenatedColorTransform = new openfl_geom_ColorTransform(); this.pixelBounds = new openfl_geom_Rectangle(); this.__displayObject = displayObject; this.__hasMatrix = true; }; $hxClasses["openfl.geom.Transform"] = openfl_geom_Transform; openfl_geom_Transform.__name__ = "openfl.geom.Transform"; openfl_geom_Transform.prototype = { concatenatedColorTransform: null ,pixelBounds: null ,__colorTransform: null ,__displayObject: null ,__hasMatrix: null ,__hasMatrix3D: null ,get_colorTransform: function() { return this.__colorTransform.__clone(); } ,set_colorTransform: function(value) { if(!this.__colorTransform.__equals(value,false)) { this.__colorTransform.__copyFrom(value); if(value != null) { this.__displayObject.set_alpha(value.alphaMultiplier); } var _this = this.__displayObject; if(!_this.__renderDirty) { _this.__renderDirty = true; _this.__setParentRenderDirty(); } } return this.__colorTransform; } ,get_concatenatedMatrix: function() { if(this.__hasMatrix) { return this.__displayObject.__getWorldTransform().clone(); } return null; } ,get_matrix: function() { if(this.__hasMatrix) { return this.__displayObject.__transform.clone(); } return null; } ,set_matrix: function(value) { if(value == null) { this.__hasMatrix = false; return null; } this.__hasMatrix = true; this.__hasMatrix3D = false; if(this.__displayObject != null) { this.__setTransform(value.a,value.b,value.c,value.d,value.tx,value.ty); } return value; } ,get_matrix3D: function() { if(this.__hasMatrix3D) { var matrix = this.__displayObject.__transform; return new openfl_geom_Matrix3D(openfl__$Vector_Vector_$Impl_$.toFloatVector(null,null,null,[matrix.a,matrix.b,0.0,0.0,matrix.c,matrix.d,0.0,0.0,0.0,0.0,1.0,0.0,matrix.tx,matrix.ty,0.0,1.0])); } return null; } ,set_matrix3D: function(value) { if(value == null) { this.__hasMatrix3D = false; return null; } this.__hasMatrix = false; this.__hasMatrix3D = true; this.__setTransform(value.rawData.get(0),value.rawData.get(1),value.rawData.get(5),value.rawData.get(6),value.rawData.get(12),value.rawData.get(13)); return value; } ,__setTransform: function(a,b,c,d,tx,ty) { if(this.__displayObject != null) { var transform = this.__displayObject.__transform; if(transform.a == a && transform.b == b && transform.c == c && transform.d == d && transform.tx == tx && transform.ty == ty) { return; } var scaleX = 0.0; var scaleY = 0.0; if(b == 0) { scaleX = a; } else { scaleX = Math.sqrt(a * a + b * b); } if(c == 0) { scaleY = d; } else { scaleY = Math.sqrt(c * c + d * d); } this.__displayObject.__scaleX = scaleX; this.__displayObject.__scaleY = scaleY; var rotation = 180 / Math.PI * Math.atan2(d,c) - 90; if(rotation != this.__displayObject.__rotation) { this.__displayObject.__rotation = rotation; var radians = rotation * (Math.PI / 180); this.__displayObject.__rotationSine = Math.sin(radians); this.__displayObject.__rotationCosine = Math.cos(radians); } transform.a = a; transform.b = b; transform.c = c; transform.d = d; transform.tx = tx; transform.ty = ty; this.__displayObject.__setTransformDirty(); } } ,__class__: openfl_geom_Transform ,__properties__: {set_matrix3D:"set_matrix3D",get_matrix3D:"get_matrix3D",set_matrix:"set_matrix",get_matrix:"get_matrix",get_concatenatedMatrix:"get_concatenatedMatrix",set_colorTransform:"set_colorTransform",get_colorTransform:"get_colorTransform"} }; var openfl_geom_Vector3D = function(x,y,z,w) { if(w == null) { w = 0; } if(z == null) { z = 0; } if(y == null) { y = 0; } if(x == null) { x = 0; } this.w = w; this.x = x; this.y = y; this.z = z; }; $hxClasses["openfl.geom.Vector3D"] = openfl_geom_Vector3D; openfl_geom_Vector3D.__name__ = "openfl.geom.Vector3D"; openfl_geom_Vector3D.__properties__ = {get_Z_AXIS:"get_Z_AXIS",get_Y_AXIS:"get_Y_AXIS",get_X_AXIS:"get_X_AXIS"}; openfl_geom_Vector3D.angleBetween = function(a,b) { var la = a.get_length(); var lb = b.get_length(); var dot = a.dotProduct(b); if(la != 0) { dot /= la; } if(lb != 0) { dot /= lb; } return Math.acos(dot); }; openfl_geom_Vector3D.distance = function(pt1,pt2) { var x = pt2.x - pt1.x; var y = pt2.y - pt1.y; var z = pt2.z - pt1.z; return Math.sqrt(x * x + y * y + z * z); }; openfl_geom_Vector3D.get_X_AXIS = function() { return new openfl_geom_Vector3D(1,0,0); }; openfl_geom_Vector3D.get_Y_AXIS = function() { return new openfl_geom_Vector3D(0,1,0); }; openfl_geom_Vector3D.get_Z_AXIS = function() { return new openfl_geom_Vector3D(0,0,1); }; openfl_geom_Vector3D.prototype = { w: null ,x: null ,y: null ,z: null ,add: function(a) { return new openfl_geom_Vector3D(this.x + a.x,this.y + a.y,this.z + a.z); } ,clone: function() { return new openfl_geom_Vector3D(this.x,this.y,this.z,this.w); } ,copyFrom: function(sourceVector3D) { this.x = sourceVector3D.x; this.y = sourceVector3D.y; this.z = sourceVector3D.z; } ,crossProduct: function(a) { return new openfl_geom_Vector3D(this.y * a.z - this.z * a.y,this.z * a.x - this.x * a.z,this.x * a.y - this.y * a.x,1); } ,decrementBy: function(a) { this.x -= a.x; this.y -= a.y; this.z -= a.z; } ,dotProduct: function(a) { return this.x * a.x + this.y * a.y + this.z * a.z; } ,equals: function(toCompare,allFour) { if(allFour == null) { allFour = false; } if(this.x == toCompare.x && this.y == toCompare.y && this.z == toCompare.z) { if(!(!allFour)) { return this.w == toCompare.w; } else { return true; } } else { return false; } } ,incrementBy: function(a) { this.x += a.x; this.y += a.y; this.z += a.z; } ,nearEquals: function(toCompare,tolerance,allFour) { if(allFour == null) { allFour = false; } if(Math.abs(this.x - toCompare.x) < tolerance && Math.abs(this.y - toCompare.y) < tolerance && Math.abs(this.z - toCompare.z) < tolerance) { if(!(!allFour)) { return Math.abs(this.w - toCompare.w) < tolerance; } else { return true; } } else { return false; } } ,negate: function() { this.x *= -1; this.y *= -1; this.z *= -1; } ,normalize: function() { var l = this.get_length(); if(l != 0) { this.x /= l; this.y /= l; this.z /= l; } return l; } ,project: function() { this.x /= this.w; this.y /= this.w; this.z /= this.w; } ,scaleBy: function(s) { this.x *= s; this.y *= s; this.z *= s; } ,setTo: function(xa,ya,za) { this.x = xa; this.y = ya; this.z = za; } ,subtract: function(a) { return new openfl_geom_Vector3D(this.x - a.x,this.y - a.y,this.z - a.z); } ,toString: function() { return "Vector3D(" + this.x + ", " + this.y + ", " + this.z + ")"; } ,get_length: function() { return Math.sqrt(this.x * this.x + this.y * this.y + this.z * this.z); } ,get_lengthSquared: function() { return this.x * this.x + this.y * this.y + this.z * this.z; } ,__class__: openfl_geom_Vector3D ,__properties__: {get_lengthSquared:"get_lengthSquared",get_length:"get_length"} }; var openfl_media_ID3Info = function() { }; $hxClasses["openfl.media.ID3Info"] = openfl_media_ID3Info; openfl_media_ID3Info.__name__ = "openfl.media.ID3Info"; openfl_media_ID3Info.prototype = { album: null ,artist: null ,comment: null ,genre: null ,songName: null ,track: null ,year: null ,__class__: openfl_media_ID3Info }; var openfl_media_SoundChannel = function(source,soundTransform) { openfl_events_EventDispatcher.call(this,this); this.leftPeak = 1; this.rightPeak = 1; if(soundTransform != null) { this.__soundTransform = soundTransform; } else { this.__soundTransform = new openfl_media_SoundTransform(); } if(source != null) { this.__source = source; this.__source.onComplete.add($bind(this,this.source_onComplete)); this.__isValid = true; this.__source.play(); } openfl_media_SoundMixer.__registerSoundChannel(this); }; $hxClasses["openfl.media.SoundChannel"] = openfl_media_SoundChannel; openfl_media_SoundChannel.__name__ = "openfl.media.SoundChannel"; openfl_media_SoundChannel.__super__ = openfl_events_EventDispatcher; openfl_media_SoundChannel.prototype = $extend(openfl_events_EventDispatcher.prototype,{ leftPeak: null ,rightPeak: null ,__isValid: null ,__soundTransform: null ,__source: null ,stop: function() { openfl_media_SoundMixer.__unregisterSoundChannel(this); if(!this.__isValid) { return; } this.__source.stop(); this.__dispose(); } ,__dispose: function() { if(!this.__isValid) { return; } this.__source.onComplete.remove($bind(this,this.source_onComplete)); this.__source.dispose(); this.__source = null; this.__isValid = false; } ,__updateTransform: function() { this.set_soundTransform(this.get_soundTransform()); } ,get_position: function() { if(!this.__isValid) { return 0; } return this.__source.get_currentTime() + this.__source.offset; } ,set_position: function(value) { if(!this.__isValid) { return 0; } this.__source.set_currentTime((value | 0) - this.__source.offset); return value; } ,get_soundTransform: function() { return this.__soundTransform.clone(); } ,set_soundTransform: function(value) { if(value != null) { this.__soundTransform.pan = value.pan; this.__soundTransform.volume = value.volume; var pan = openfl_media_SoundMixer.__soundTransform.pan + this.__soundTransform.pan; if(pan < -1) { pan = -1; } if(pan > 1) { pan = 1; } var volume = openfl_media_SoundMixer.__soundTransform.volume * this.__soundTransform.volume; if(this.__isValid) { this.__source.set_gain(volume); var position = this.__source.get_position(); position.x = pan; position.z = -1 * Math.sqrt(1 - Math.pow(pan,2)); this.__source.set_position(position); return value; } } return value; } ,source_onComplete: function() { openfl_media_SoundMixer.__unregisterSoundChannel(this); this.__dispose(); this.dispatchEvent(new openfl_events_Event("soundComplete")); } ,__class__: openfl_media_SoundChannel ,__properties__: {set_soundTransform:"set_soundTransform",get_soundTransform:"get_soundTransform",set_position:"set_position",get_position:"get_position"} }); var openfl_media_SoundLoaderContext = function(bufferTime,checkPolicyFile) { if(checkPolicyFile == null) { checkPolicyFile = false; } if(bufferTime == null) { bufferTime = 1000; } this.bufferTime = bufferTime; this.checkPolicyFile = checkPolicyFile; }; $hxClasses["openfl.media.SoundLoaderContext"] = openfl_media_SoundLoaderContext; openfl_media_SoundLoaderContext.__name__ = "openfl.media.SoundLoaderContext"; openfl_media_SoundLoaderContext.prototype = { bufferTime: null ,checkPolicyFile: null ,__class__: openfl_media_SoundLoaderContext }; var openfl_media_SoundTransform = function(vol,panning) { if(panning == null) { panning = 0; } if(vol == null) { vol = 1; } this.volume = vol; this.pan = panning; this.leftToLeft = 0; this.leftToRight = 0; this.rightToLeft = 0; this.rightToRight = 0; }; $hxClasses["openfl.media.SoundTransform"] = openfl_media_SoundTransform; openfl_media_SoundTransform.__name__ = "openfl.media.SoundTransform"; openfl_media_SoundTransform.prototype = { leftToLeft: null ,leftToRight: null ,pan: null ,rightToLeft: null ,rightToRight: null ,volume: null ,clone: function() { return new openfl_media_SoundTransform(this.volume,this.pan); } ,__class__: openfl_media_SoundTransform }; var openfl_media_SoundMixer = function() { }; $hxClasses["openfl.media.SoundMixer"] = openfl_media_SoundMixer; openfl_media_SoundMixer.__name__ = "openfl.media.SoundMixer"; openfl_media_SoundMixer.__properties__ = {set_soundTransform:"set_soundTransform",get_soundTransform:"get_soundTransform"}; openfl_media_SoundMixer.bufferTime = null; openfl_media_SoundMixer.areSoundsInaccessible = function() { return false; }; openfl_media_SoundMixer.stopAll = function() { var _g = 0; var _g1 = openfl_media_SoundMixer.__soundChannels; while(_g < _g1.length) { var channel = _g1[_g]; ++_g; channel.stop(); } }; openfl_media_SoundMixer.__registerSoundChannel = function(soundChannel) { openfl_media_SoundMixer.__soundChannels.push(soundChannel); }; openfl_media_SoundMixer.__unregisterSoundChannel = function(soundChannel) { HxOverrides.remove(openfl_media_SoundMixer.__soundChannels,soundChannel); }; openfl_media_SoundMixer.get_soundTransform = function() { return openfl_media_SoundMixer.__soundTransform; }; openfl_media_SoundMixer.set_soundTransform = function(value) { openfl_media_SoundMixer.__soundTransform = value.clone(); var _g = 0; var _g1 = openfl_media_SoundMixer.__soundChannels; while(_g < _g1.length) { var channel = _g1[_g]; ++_g; channel.__updateTransform(); } return value; }; var openfl_media_Video = function(width,height) { if(height == null) { height = 240; } if(width == null) { width = 320; } openfl_display_DisplayObject.call(this); this.__drawableType = 8; this.__width = width; this.__height = height; this.__textureTime = -1; this.smoothing = false; this.deblocking = 0; }; $hxClasses["openfl.media.Video"] = openfl_media_Video; openfl_media_Video.__name__ = "openfl.media.Video"; openfl_media_Video.__super__ = openfl_display_DisplayObject; openfl_media_Video.prototype = $extend(openfl_display_DisplayObject.prototype,{ deblocking: null ,smoothing: null ,__active: null ,__buffer: null ,__bufferAlpha: null ,__bufferColorTransform: null ,__bufferContext: null ,__bufferData: null ,__dirty: null ,__height: null ,__indexBuffer: null ,__indexBufferContext: null ,__indexBufferData: null ,__stream: null ,__texture: null ,__textureTime: null ,__uvRect: null ,__vertexBuffer: null ,__vertexBufferContext: null ,__vertexBufferData: null ,__width: null ,attachNetStream: function(netStream) { this.__stream = netStream; if(this.__stream != null && this.__stream.__video != null && !this.__stream.__closed) { this.__stream.__video.play(); } } ,clear: function() { } ,__enterFrame: function(deltaTime) { if(this.__renderable && this.__stream != null) { if(!this.__renderDirty) { this.__renderDirty = true; this.__setParentRenderDirty(); } } } ,__getBounds: function(rect,matrix) { var bounds = openfl_geom_Rectangle.__pool.get(); bounds.setTo(0,0,this.__width,this.__height); bounds.__transform(bounds,matrix); rect.__expand(bounds.x,bounds.y,bounds.width,bounds.height); openfl_geom_Rectangle.__pool.release(bounds); } ,__getIndexBuffer: function(context) { var gl = context.gl; if(this.__indexBuffer == null || this.__indexBufferContext != context.__context) { var array = null; var vector = null; var view = null; var buffer = null; var len = null; var this1 = new Uint16Array(6); this.__indexBufferData = this1; this.__indexBufferData[0] = 0; this.__indexBufferData[1] = 1; this.__indexBufferData[2] = 2; this.__indexBufferData[3] = 2; this.__indexBufferData[4] = 1; this.__indexBufferData[5] = 3; this.__indexBufferContext = context.__context; this.__indexBuffer = context.createIndexBuffer(6); this.__indexBuffer.uploadFromTypedArray(this.__indexBufferData); } return this.__indexBuffer; } ,__getTexture: function(context) { if(this.__stream == null || this.__stream.__video == null) { return null; } var gl = context.__context.webgl; var internalFormat = gl.RGBA; var format = gl.RGBA; if(!this.__stream.__closed && this.__stream.__video.currentTime != this.__textureTime) { if(this.__texture == null) { this.__texture = context.createRectangleTexture(this.__stream.__video.videoWidth,this.__stream.__video.videoHeight,1,false); } context.__bindGLTexture2D(this.__texture.__textureID); lime_graphics__$WebGLRenderContext_WebGLRenderContext_$Impl_$.texImage2D(gl,gl.TEXTURE_2D,0,internalFormat,format,gl.UNSIGNED_BYTE,this.__stream.__video); this.__textureTime = this.__stream.__video.currentTime; } return this.__texture; } ,__getVertexBuffer: function(context) { var gl = context.gl; if(this.__vertexBuffer == null || this.__vertexBufferContext != context.__context) { var uvWidth = 1; var uvHeight = 1; var array = null; var vector = null; var view = null; var buffer = null; var len = null; var this1 = new Float32Array(20); this.__vertexBufferData = this1; this.__vertexBufferData[0] = this.get_width(); this.__vertexBufferData[1] = this.get_height(); this.__vertexBufferData[3] = uvWidth; this.__vertexBufferData[4] = uvHeight; this.__vertexBufferData[6] = this.get_height(); this.__vertexBufferData[9] = uvHeight; this.__vertexBufferData[10] = this.get_width(); this.__vertexBufferData[13] = uvWidth; this.__vertexBufferContext = context.__context; this.__vertexBuffer = context.createVertexBuffer(3,5); this.__vertexBuffer.uploadFromTypedArray(lime_utils__$Float32Array_Float32Array_$Impl_$.toArrayBufferView(this.__vertexBufferData)); } return this.__vertexBuffer; } ,__hitTest: function(x,y,shapeFlag,stack,interactiveOnly,hitObject) { if(!hitObject.get_visible() || this.__isMask) { return false; } if(this.get_mask() != null && !this.get_mask().__hitTestMask(x,y)) { return false; } this.__getRenderTransform(); var _this = this.__renderTransform; var norm = _this.a * _this.d - _this.b * _this.c; var px = norm == 0 ? -_this.tx : 1.0 / norm * (_this.c * (_this.ty - y) + _this.d * (x - _this.tx)); var _this1 = this.__renderTransform; var norm1 = _this1.a * _this1.d - _this1.b * _this1.c; var py = norm1 == 0 ? -_this1.ty : 1.0 / norm1 * (_this1.a * (y - _this1.ty) + _this1.b * (_this1.tx - x)); if(px > 0 && py > 0 && px <= this.__width && py <= this.__height) { if(stack != null && !interactiveOnly) { stack.push(hitObject); } return true; } return false; } ,__hitTestMask: function(x,y) { var point = openfl_geom_Point.__pool.get(); point.setTo(x,y); this.__globalToLocal(point,point); var hit = point.x > 0 && point.y > 0 && point.x <= this.__width && point.y <= this.__height; openfl_geom_Point.__pool.release(point); return hit; } ,get_height: function() { return this.__height * this.get_scaleY(); } ,set_height: function(value) { if(this.get_scaleY() != 1 || value != this.__height) { this.__setTransformDirty(); this.__dirty = true; } this.set_scaleY(1); return this.__height = value; } ,get_videoHeight: function() { if(this.__stream != null && this.__stream.__video != null) { return this.__stream.__video.videoHeight | 0; } return 0; } ,get_videoWidth: function() { if(this.__stream != null && this.__stream.__video != null) { return this.__stream.__video.videoWidth | 0; } return 0; } ,get_width: function() { return this.__width * this.__scaleX; } ,set_width: function(value) { if(this.__scaleX != 1 || this.__width != value) { this.__setTransformDirty(); this.__dirty = true; } this.set_scaleX(1); return this.__width = value; } ,__class__: openfl_media_Video ,__properties__: $extend(openfl_display_DisplayObject.prototype.__properties__,{get_videoWidth:"get_videoWidth",get_videoHeight:"get_videoHeight"}) }); var openfl_net_FileFilter = function(description,extension,macType) { this.description = description; this.extension = extension; this.macType = macType; }; $hxClasses["openfl.net.FileFilter"] = openfl_net_FileFilter; openfl_net_FileFilter.__name__ = "openfl.net.FileFilter"; openfl_net_FileFilter.prototype = { description: null ,extension: null ,macType: null ,__class__: openfl_net_FileFilter }; var openfl_net_FileReference = function() { openfl_events_EventDispatcher.call(this); this.__inputControl = window.document.createElement("input"); this.__inputControl.setAttribute("type","file"); this.__inputControl.onclick = function(e) { e.cancelBubble = true; e.stopPropagation(); }; }; $hxClasses["openfl.net.FileReference"] = openfl_net_FileReference; openfl_net_FileReference.__name__ = "openfl.net.FileReference"; openfl_net_FileReference.__super__ = openfl_events_EventDispatcher; openfl_net_FileReference.prototype = $extend(openfl_events_EventDispatcher.prototype,{ creationDate: null ,creator: null ,data: null ,modificationDate: null ,name: null ,size: null ,type: null ,__data: null ,__path: null ,__urlLoader: null ,__inputControl: null ,browse: function(typeFilter) { var _gthis = this; this.__data = null; this.__path = null; var filter = null; if(typeFilter != null) { var filters = []; var _g = 0; while(_g < typeFilter.length) { var type = typeFilter[_g]; ++_g; filters.push(StringTools.replace(StringTools.replace(type.extension,"*.","."),";",",")); } filter = filters.join(","); } if(filter != null) { this.__inputControl.setAttribute("accept",filter); } this.__inputControl.onchange = function() { var file = _gthis.__inputControl.files[0]; var tmp = new Date(file.lastModified); _gthis.modificationDate = tmp; _gthis.creationDate = _gthis.modificationDate; _gthis.size = file.size; var tmp1 = haxe_io_Path.extension(file.name); _gthis.type = "." + tmp1; _gthis.name = haxe_io_Path.withoutDirectory(file.name); _gthis.__path = file.name; _gthis.dispatchEvent(new openfl_events_Event("select")); }; this.__inputControl.click(); return true; } ,cancel: function() { if(this.__urlLoader != null) { this.__urlLoader.close(); } } ,download: function(request,defaultFileName) { this.__data = null; this.__path = null; this.__urlLoader = new openfl_net_URLLoader(); this.__urlLoader.addEventListener("complete",$bind(this,this.urlLoader_onComplete)); this.__urlLoader.addEventListener("ioError",$bind(this,this.urlLoader_onIOError)); this.__urlLoader.addEventListener("progress",$bind(this,this.urlLoader_onProgress)); this.__urlLoader.load(request); var saveFileDialog = new lime_ui_FileDialog(); saveFileDialog.onCancel.add($bind(this,this.saveFileDialog_onCancel)); saveFileDialog.onSelect.add($bind(this,this.saveFileDialog_onSelect)); saveFileDialog.browse(lime_ui_FileDialogType.SAVE,defaultFileName != null ? haxe_io_Path.extension(defaultFileName) : null,defaultFileName); } ,load: function() { var _gthis = this; var file = this.__inputControl.files[0]; var reader = new FileReader(); reader.onload = function(evt) { _gthis.data = openfl_utils__$ByteArray_ByteArray_$Impl_$.fromArrayBuffer(evt.target.result); _gthis.openFileDialog_onComplete(); }; reader.readAsArrayBuffer(file); } ,save: function(data,defaultFileName) { this.__data = null; this.__path = null; if(data == null) { return; } if(((data) instanceof openfl_utils_ByteArrayData)) { this.__data = data; } else { var this1 = new openfl_utils_ByteArrayData(0); this.__data = this1; this.__data.writeUTFBytes(Std.string(data)); } var saveFileDialog = new lime_ui_FileDialog(); saveFileDialog.onCancel.add($bind(this,this.saveFileDialog_onCancel)); saveFileDialog.onSave.add($bind(this,this.saveFileDialog_onSave)); saveFileDialog.save(openfl_utils__$ByteArray_ByteArray_$Impl_$.toBytes(this.__data),defaultFileName != null ? haxe_io_Path.extension(defaultFileName) : null,defaultFileName); } ,upload: function(request,uploadDataFieldName,testUpload) { if(testUpload == null) { testUpload = false; } if(uploadDataFieldName == null) { uploadDataFieldName = "Filedata"; } openfl_utils__$internal_Lib.notImplemented({ fileName : "openfl/net/FileReference.hx", lineNumber : 1286, className : "openfl.net.FileReference", methodName : "upload"}); } ,openFileDialog_onCancel: function() { this.dispatchEvent(new openfl_events_Event("cancel")); } ,openFileDialog_onComplete: function() { this.dispatchEvent(new openfl_events_Event("complete")); } ,openFileDialog_onSelect: function(path) { this.name = haxe_io_Path.withoutDirectory(path); this.__path = path; this.dispatchEvent(new openfl_events_Event("select")); } ,saveFileDialog_onCancel: function() { this.dispatchEvent(new openfl_events_Event("cancel")); } ,saveFileDialog_onSave: function(path) { var _gthis = this; haxe_Timer.delay(function() { _gthis.dispatchEvent(new openfl_events_Event("complete")); },1); } ,saveFileDialog_onSelect: function(path) { this.dispatchEvent(new openfl_events_Event("select")); } ,urlLoader_onComplete: function(event) { this.dispatchEvent(event); } ,urlLoader_onIOError: function(event) { this.dispatchEvent(event); } ,urlLoader_onProgress: function(event) { this.dispatchEvent(event); } ,__class__: openfl_net_FileReference }); var openfl_net_NetConnection = function() { openfl_events_EventDispatcher.call(this); }; $hxClasses["openfl.net.NetConnection"] = openfl_net_NetConnection; openfl_net_NetConnection.__name__ = "openfl.net.NetConnection"; openfl_net_NetConnection.__super__ = openfl_events_EventDispatcher; openfl_net_NetConnection.prototype = $extend(openfl_events_EventDispatcher.prototype,{ connect: function(command,p1,p2,p3,p4,p5) { if(command != null) { throw new js__$Boot_HaxeError("Error: Can only connect in \"HTTP streaming\" mode"); } this.dispatchEvent(new openfl_events_NetStatusEvent("netStatus",false,true,{ code : "NetConnection.Connect.Success"})); } ,__class__: openfl_net_NetConnection }); var openfl_net_NetStream = function(connection,peerID) { openfl_events_EventDispatcher.call(this); this.__connection = connection; this.__soundTransform = new openfl_media_SoundTransform(); this.__video = window.document.createElement("video"); this.__video.setAttribute("playsinline",""); this.__video.setAttribute("webkit-playsinline",""); this.__video.setAttribute("crossorigin","anonymous"); this.__video.addEventListener("error",$bind(this,this.video_onError),false); this.__video.addEventListener("waiting",$bind(this,this.video_onWaiting),false); this.__video.addEventListener("ended",$bind(this,this.video_onEnd),false); this.__video.addEventListener("pause",$bind(this,this.video_onPause),false); this.__video.addEventListener("seeking",$bind(this,this.video_onSeeking),false); this.__video.addEventListener("playing",$bind(this,this.video_onPlaying),false); this.__video.addEventListener("timeupdate",$bind(this,this.video_onTimeUpdate),false); this.__video.addEventListener("loadstart",$bind(this,this.video_onLoadStart),false); this.__video.addEventListener("stalled",$bind(this,this.video_onStalled),false); this.__video.addEventListener("durationchanged",$bind(this,this.video_onDurationChanged),false); this.__video.addEventListener("canplay",$bind(this,this.video_onCanPlay),false); this.__video.addEventListener("canplaythrough",$bind(this,this.video_onCanPlayThrough),false); this.__video.addEventListener("loadedmetadata",$bind(this,this.video_onLoadMetaData),false); }; $hxClasses["openfl.net.NetStream"] = openfl_net_NetStream; openfl_net_NetStream.__name__ = "openfl.net.NetStream"; openfl_net_NetStream.__super__ = openfl_events_EventDispatcher; openfl_net_NetStream.prototype = $extend(openfl_events_EventDispatcher.prototype,{ audioCodec: null ,bufferLength: null ,bufferTime: null ,bytesLoaded: null ,bytesTotal: null ,checkPolicyFile: null ,client: null ,currentFPS: null ,decodedFrames: null ,liveDelay: null ,objectEncoding: null ,time: null ,videoCode: null ,__closed: null ,__connection: null ,__soundTransform: null ,__timer: null ,__video: null ,close: function() { if(this.__video == null) { return; } this.__closed = true; this.__video.pause(); this.__video.src = ""; this.time = 0; } ,dispose: function() { this.close(); this.__video = null; } ,pause: function() { if(this.__video != null) { this.__video.pause(); } } ,play: function(url,p1,p2,p3,p4,p5) { if(this.__video == null) { return; } this.__video.volume = openfl_media_SoundMixer.__soundTransform.volume * this.__soundTransform.volume; if(typeof(url) == "string") { this.__video.src = url; } else { this.__video.srcObject = url; } this.__video.play(); } ,requestVideoStatus: function() { var _gthis = this; if(this.__video == null) { return; } if(this.__timer == null) { this.__timer = new haxe_Timer(1); } this.__timer.run = function() { if(_gthis.__video.paused) { _gthis.__playStatus("NetStream.Play.pause"); } else { _gthis.__playStatus("NetStream.Play.playing"); } _gthis.__timer.stop(); }; } ,resume: function() { if(this.__video != null) { this.__video.play(); } } ,seek: function(time) { if(this.__video == null) { return; } if(time < 0) { time = 0; } else if(time > this.__video.duration) { time = this.__video.duration; } this.__dispatchStatus("NetStream.SeekStart.Notify"); this.__video.currentTime = time; } ,togglePause: function() { if(this.__video == null) { return; } if(this.__video.paused) { this.__video.play(); } else { this.__video.pause(); } } ,__dispatchStatus: function(code) { var event = new openfl_events_NetStatusEvent("netStatus",false,false,{ code : code}); this.__connection.dispatchEvent(event); this.dispatchEvent(event); } ,__playStatus: function(code) { if(this.__video == null) { return; } if(this.client != null) { try { var handler = this.client.onPlayStatus; handler({ code : code, duration : this.__video.duration, position : this.__video.currentTime, speed : this.__video.playbackRate, start : this.__video.startTime}); } catch( e ) { haxe_CallStack.lastException = e; var e1 = ((e) instanceof js__$Boot_HaxeError) ? e.val : e; } } } ,video_onCanPlay: function(event) { this.__playStatus("NetStream.Play.canplay"); } ,video_onCanPlayThrough: function(event) { this.__playStatus("NetStream.Play.canplaythrough"); } ,video_onDurationChanged: function(event) { this.__playStatus("NetStream.Play.durationchanged"); } ,video_onEnd: function(event) { this.__dispatchStatus("NetStream.Play.Stop"); this.__dispatchStatus("NetStream.Play.Complete"); this.__playStatus("NetStream.Play.Complete"); } ,video_onError: function(event) { this.__dispatchStatus("NetStream.Play.Stop"); this.__playStatus("NetStream.Play.error"); } ,video_onLoadMetaData: function(event) { if(this.__video == null) { return; } if(this.client != null) { try { var handler = this.client.onMetaData; handler({ width : this.__video.videoWidth, height : this.__video.videoHeight, duration : this.__video.duration}); } catch( e ) { haxe_CallStack.lastException = e; var e1 = ((e) instanceof js__$Boot_HaxeError) ? e.val : e; } } } ,video_onLoadStart: function(event) { this.__playStatus("NetStream.Play.loadstart"); } ,video_onPause: function(event) { this.__playStatus("NetStream.Play.pause"); } ,video_onPlaying: function(event) { this.__dispatchStatus("NetStream.Play.Start"); this.__playStatus("NetStream.Play.playing"); } ,video_onSeeking: function(event) { this.__playStatus("NetStream.Play.seeking"); this.__dispatchStatus("NetStream.Seek.Complete"); } ,video_onStalled: function(event) { this.__playStatus("NetStream.Play.stalled"); } ,video_onTimeUpdate: function(event) { if(this.__video == null) { return; } this.time = this.__video.currentTime; this.__playStatus("NetStream.Play.timeupdate"); } ,video_onWaiting: function(event) { this.__playStatus("NetStream.Play.waiting"); } ,get_soundTransform: function() { return this.__soundTransform.clone(); } ,set_soundTransform: function(value) { if(value != null) { this.__soundTransform.pan = value.pan; this.__soundTransform.volume = value.volume; if(this.__video != null) { this.__video.volume = openfl_media_SoundMixer.__soundTransform.volume * this.__soundTransform.volume; } } return value; } ,get_speed: function() { if(this.__video != null) { return this.__video.playbackRate; } else { return 1; } } ,set_speed: function(value) { if(this.__video != null) { return this.__video.playbackRate = value; } else { return value; } } ,__class__: openfl_net_NetStream ,__properties__: {set_speed:"set_speed",get_speed:"get_speed",set_soundTransform:"set_soundTransform",get_soundTransform:"get_soundTransform"} }); var openfl_net_SharedObject = function() { openfl_events_EventDispatcher.call(this); this.client = this; this.objectEncoding = openfl_net_SharedObject.defaultObjectEncoding; }; $hxClasses["openfl.net.SharedObject"] = openfl_net_SharedObject; openfl_net_SharedObject.__name__ = "openfl.net.SharedObject"; openfl_net_SharedObject.__sharedObjects = null; openfl_net_SharedObject.getLocal = function(name,localPath,secure) { if(secure == null) { secure = false; } var illegalValues = [" ","~","%","&","\\",";",":","\"","'",",","<",">","?","#"]; var allowed = true; if(name == null || name == "") { allowed = false; } else { var _g = 0; while(_g < illegalValues.length) { var value = illegalValues[_g]; ++_g; if(name.indexOf(value) > -1) { allowed = false; break; } } } if(!allowed) { throw new js__$Boot_HaxeError(new openfl_errors_Error("Error #2134: Cannot create SharedObject.")); } if(openfl_net_SharedObject.__sharedObjects == null) { openfl_net_SharedObject.__sharedObjects = new haxe_ds_StringMap(); if(lime_app_Application.current != null) { lime_app_Application.current.onExit.add(openfl_net_SharedObject.application_onExit); } } var id = localPath + "/" + name; var _this = openfl_net_SharedObject.__sharedObjects; if(!(__map_reserved[id] != null ? _this.existsReserved(id) : _this.h.hasOwnProperty(id))) { var encodedData = null; try { var storage = js_Browser.getLocalStorage(); if(localPath == null) { if(storage != null) { encodedData = storage.getItem(window.location.href + ":" + name); storage.removeItem(window.location.href + ":" + name); } localPath = window.location.pathname; } if(storage != null && encodedData == null) { encodedData = storage.getItem(localPath + ":" + name); } } catch( e ) { haxe_CallStack.lastException = e; var e1 = ((e) instanceof js__$Boot_HaxeError) ? e.val : e; } var sharedObject = new openfl_net_SharedObject(); sharedObject.data = { }; sharedObject.__localPath = localPath; sharedObject.__name = name; if(encodedData != null && encodedData != "") { try { var unserializer = new haxe_Unserializer(encodedData); unserializer.setResolver({ resolveEnum : Type.resolveEnum, resolveClass : openfl_net_SharedObject.__resolveClass}); sharedObject.data = unserializer.unserialize(); } catch( e2 ) { haxe_CallStack.lastException = e2; var e3 = ((e2) instanceof js__$Boot_HaxeError) ? e2.val : e2; } } var _this1 = openfl_net_SharedObject.__sharedObjects; if(__map_reserved[id] != null) { _this1.setReserved(id,sharedObject); } else { _this1.h[id] = sharedObject; } } var _this2 = openfl_net_SharedObject.__sharedObjects; if(__map_reserved[id] != null) { return _this2.getReserved(id); } else { return _this2.h[id]; } }; openfl_net_SharedObject.getRemote = function(name,remotePath,persistence,secure) { if(secure == null) { secure = false; } if(persistence == null) { persistence = false; } openfl_utils__$internal_Lib.notImplemented({ fileName : "openfl/net/SharedObject.hx", lineNumber : 808, className : "openfl.net.SharedObject", methodName : "getRemote"}); return null; }; openfl_net_SharedObject.__getPath = function(localPath,name) { var path = lime_system_System.get_applicationStorageDirectory() + "/" + localPath + "/"; name = StringTools.replace(name,"//","/"); name = StringTools.replace(name,"//","/"); if(StringTools.startsWith(name,"/")) { name = HxOverrides.substr(name,1,null); } if(StringTools.endsWith(name,"/")) { name = name.substring(0,name.length - 1); } if(name.indexOf("/") > -1) { var split = name.split("/"); name = ""; var _g = 0; var _g1 = split.length - 1; while(_g < _g1) { var i = _g++; name += "#" + split[i] + "/"; } name += split[split.length - 1]; } return path + name + ".sol"; }; openfl_net_SharedObject.__mkdir = function(directory) { }; openfl_net_SharedObject.__resolveClass = function(name) { if(name != null) { if(StringTools.startsWith(name,"neash.")) { name = StringTools.replace(name,"neash.","openfl."); } if(StringTools.startsWith(name,"native.")) { name = StringTools.replace(name,"native.","openfl."); } if(StringTools.startsWith(name,"flash.")) { name = StringTools.replace(name,"flash.","openfl."); } if(StringTools.startsWith(name,"openfl._v2.")) { name = StringTools.replace(name,"openfl._v2.","openfl."); } if(StringTools.startsWith(name,"openfl._legacy.")) { name = StringTools.replace(name,"openfl._legacy.","openfl."); } return $hxClasses[name]; } return null; }; openfl_net_SharedObject.application_onExit = function(_) { var _this = openfl_net_SharedObject.__sharedObjects; var sharedObject = new haxe_ds__$StringMap_StringMapIterator(_this,_this.arrayKeys()); while(sharedObject.hasNext()) { var sharedObject1 = sharedObject.next(); sharedObject1.flush(); } }; openfl_net_SharedObject.__super__ = openfl_events_EventDispatcher; openfl_net_SharedObject.prototype = $extend(openfl_events_EventDispatcher.prototype,{ client: null ,data: null ,fps: null ,objectEncoding: null ,__localPath: null ,__name: null ,clear: function() { this.data = { }; try { var storage = js_Browser.getLocalStorage(); if(storage != null) { storage.removeItem(this.__localPath + ":" + this.__name); } } catch( e ) { haxe_CallStack.lastException = e; var e1 = ((e) instanceof js__$Boot_HaxeError) ? e.val : e; } } ,close: function() { } ,connect: function(myConnection,params) { openfl_utils__$internal_Lib.notImplemented({ fileName : "openfl/net/SharedObject.hx", lineNumber : 392, className : "openfl.net.SharedObject", methodName : "connect"}); } ,flush: function(minDiskSpace) { if(minDiskSpace == null) { minDiskSpace = 0; } if(Reflect.fields(this.data).length == 0) { return 0; } var encodedData = haxe_Serializer.run(this.data); try { var storage = js_Browser.getLocalStorage(); if(storage != null) { storage.removeItem(this.__localPath + ":" + this.__name); storage.setItem(this.__localPath + ":" + this.__name,encodedData); } } catch( e ) { haxe_CallStack.lastException = e; var e1 = ((e) instanceof js__$Boot_HaxeError) ? e.val : e; return 1; } return 0; } ,send: function(args) { openfl_utils__$internal_Lib.notImplemented({ fileName : "openfl/net/SharedObject.hx", lineNumber : 824, className : "openfl.net.SharedObject", methodName : "send"}); } ,setDirty: function(propertyName) { } ,setProperty: function(propertyName,value) { if(this.data != null) { this.data[propertyName] = value; } } ,get_size: function() { try { var d = haxe_Serializer.run(this.data); return haxe_io_Bytes.ofString(d).length; } catch( e ) { haxe_CallStack.lastException = e; var e1 = ((e) instanceof js__$Boot_HaxeError) ? e.val : e; return 0; } } ,__class__: openfl_net_SharedObject ,__properties__: {get_size:"get_size"} }); var openfl_net__$SharedObjectFlushStatus_SharedObjectFlushStatus_$Impl_$ = {}; $hxClasses["openfl.net._SharedObjectFlushStatus.SharedObjectFlushStatus_Impl_"] = openfl_net__$SharedObjectFlushStatus_SharedObjectFlushStatus_$Impl_$; openfl_net__$SharedObjectFlushStatus_SharedObjectFlushStatus_$Impl_$.__name__ = "openfl.net._SharedObjectFlushStatus.SharedObjectFlushStatus_Impl_"; openfl_net__$SharedObjectFlushStatus_SharedObjectFlushStatus_$Impl_$.fromString = function(value) { switch(value) { case "flushed": return 0; case "pending": return 1; default: return null; } }; openfl_net__$SharedObjectFlushStatus_SharedObjectFlushStatus_$Impl_$.toString = function(this1) { switch(this1) { case 0: return "flushed"; case 1: return "pending"; default: return null; } }; var openfl_net_URLLoader = function(request) { openfl_events_EventDispatcher.call(this); this.bytesLoaded = 0; this.bytesTotal = 0; this.dataFormat = 1; if(request != null) { this.load(request); } }; $hxClasses["openfl.net.URLLoader"] = openfl_net_URLLoader; openfl_net_URLLoader.__name__ = "openfl.net.URLLoader"; openfl_net_URLLoader.__super__ = openfl_events_EventDispatcher; openfl_net_URLLoader.prototype = $extend(openfl_events_EventDispatcher.prototype,{ bytesLoaded: null ,bytesTotal: null ,data: null ,dataFormat: null ,__httpRequest: null ,close: function() { if(this.__httpRequest != null) { this.__httpRequest.cancel(); } } ,load: function(request) { var _gthis = this; if(this.dataFormat == 0) { var httpRequest = new lime_net__$HTTPRequest_$openfl_$utils_$ByteArray(); this.__prepareRequest(httpRequest,request); httpRequest.load().onProgress($bind(this,this.httpRequest_onProgress)).onError($bind(this,this.httpRequest_onError)).onComplete(function(data) { _gthis.__dispatchStatus(); _gthis.data = data; var event = new openfl_events_Event("complete"); _gthis.dispatchEvent(event); }); } else { var httpRequest1 = new lime_net__$HTTPRequest_$String(); this.__prepareRequest(httpRequest1,request); httpRequest1.load().onProgress($bind(this,this.httpRequest_onProgress)).onError($bind(this,this.httpRequest_onError)).onComplete(function(data1) { _gthis.__dispatchStatus(); _gthis.data = data1; var event1 = new openfl_events_Event("complete"); _gthis.dispatchEvent(event1); }); } } ,__dispatchStatus: function() { var event = new openfl_events_HTTPStatusEvent("httpStatus",false,false,this.__httpRequest.responseStatus); event.responseURL = this.__httpRequest.uri; var headers = []; if(this.__httpRequest.enableResponseHeaders && this.__httpRequest.responseHeaders != null) { var _g = 0; var _g1 = this.__httpRequest.responseHeaders; while(_g < _g1.length) { var header = _g1[_g]; ++_g; headers.push(new openfl_net_URLRequestHeader(header.name,header.value)); } } event.responseHeaders = headers; this.dispatchEvent(event); } ,__prepareRequest: function(httpRequest,request) { this.__httpRequest = httpRequest; this.__httpRequest.uri = request.url; this.__httpRequest.method = request.method; if(request.data != null) { if(Type.typeof(request.data) == ValueType.TObject) { var fields = Reflect.fields(request.data); var _g = 0; while(_g < fields.length) { var field = fields[_g]; ++_g; var _this = this.__httpRequest.formData; var value = Reflect.field(request.data,field); if(__map_reserved[field] != null) { _this.setReserved(field,value); } else { _this.h[field] = value; } } } else if(((request.data) instanceof haxe_io_Bytes)) { this.__httpRequest.data = request.data; } else { this.__httpRequest.data = haxe_io_Bytes.ofString(Std.string(request.data)); } } this.__httpRequest.contentType = request.contentType; if(request.requestHeaders != null) { var _g1 = 0; var _g11 = request.requestHeaders; while(_g1 < _g11.length) { var header = _g11[_g1]; ++_g1; this.__httpRequest.headers.push(new lime_net_HTTPRequestHeader(header.name,header.value)); } } this.__httpRequest.followRedirects = request.followRedirects; this.__httpRequest.timeout = request.idleTimeout | 0; this.__httpRequest.withCredentials = request.manageCookies; var userAgent = request.userAgent; if(userAgent == null) { userAgent = "Mozilla/5.0 (Windows; U; en) AppleWebKit/420+ (KHTML, like Gecko) OpenFL/1.0"; } this.__httpRequest.userAgent = request.userAgent; this.__httpRequest.enableResponseHeaders = true; } ,httpRequest_onError: function(error) { this.__dispatchStatus(); if(error == 403) { var event = new openfl_events_SecurityErrorEvent("securityError"); event.text = Std.string(error); this.dispatchEvent(event); } else { var event1 = new openfl_events_IOErrorEvent("ioError"); event1.text = Std.string(error); this.dispatchEvent(event1); } } ,httpRequest_onProgress: function(bytesLoaded,bytesTotal) { var event = new openfl_events_ProgressEvent("progress"); event.bytesLoaded = bytesLoaded; event.bytesTotal = bytesTotal; this.dispatchEvent(event); } ,__class__: openfl_net_URLLoader }); var openfl_net__$URLLoaderDataFormat_URLLoaderDataFormat_$Impl_$ = {}; $hxClasses["openfl.net._URLLoaderDataFormat.URLLoaderDataFormat_Impl_"] = openfl_net__$URLLoaderDataFormat_URLLoaderDataFormat_$Impl_$; openfl_net__$URLLoaderDataFormat_URLLoaderDataFormat_$Impl_$.__name__ = "openfl.net._URLLoaderDataFormat.URLLoaderDataFormat_Impl_"; openfl_net__$URLLoaderDataFormat_URLLoaderDataFormat_$Impl_$.fromString = function(value) { switch(value) { case "binary": return 0; case "text": return 1; case "variables": return 2; default: return null; } }; openfl_net__$URLLoaderDataFormat_URLLoaderDataFormat_$Impl_$.toString = function(this1) { switch(this1) { case 0: return "binary"; case 1: return "text"; case 2: return "variables"; default: return null; } }; var openfl_net_URLRequest = function(url) { if(url != null) { this.url = url; } this.contentType = null; this.followRedirects = openfl_net_URLRequestDefaults.followRedirects; if(openfl_net_URLRequestDefaults.idleTimeout > 0) { this.idleTimeout = openfl_net_URLRequestDefaults.idleTimeout; } else { this.idleTimeout = 30000; } this.manageCookies = openfl_net_URLRequestDefaults.manageCookies; this.method = "GET"; this.requestHeaders = []; this.userAgent = openfl_net_URLRequestDefaults.userAgent; }; $hxClasses["openfl.net.URLRequest"] = openfl_net_URLRequest; openfl_net_URLRequest.__name__ = "openfl.net.URLRequest"; openfl_net_URLRequest.prototype = { contentType: null ,data: null ,followRedirects: null ,idleTimeout: null ,manageCookies: null ,method: null ,requestHeaders: null ,url: null ,userAgent: null ,__class__: openfl_net_URLRequest }; var openfl_net_URLRequestDefaults = function() { }; $hxClasses["openfl.net.URLRequestDefaults"] = openfl_net_URLRequestDefaults; openfl_net_URLRequestDefaults.__name__ = "openfl.net.URLRequestDefaults"; openfl_net_URLRequestDefaults.userAgent = null; var openfl_net_URLRequestHeader = function(name,value) { if(value == null) { value = ""; } if(name == null) { name = ""; } this.name = name; this.value = value; }; $hxClasses["openfl.net.URLRequestHeader"] = openfl_net_URLRequestHeader; openfl_net_URLRequestHeader.__name__ = "openfl.net.URLRequestHeader"; openfl_net_URLRequestHeader.prototype = { name: null ,value: null ,__class__: openfl_net_URLRequestHeader }; var openfl_sensors_Accelerometer = function() { openfl_events_EventDispatcher.call(this); openfl_sensors_Accelerometer.initialize(); this.__interval = 0; this.__muted = false; this.setRequestedUpdateInterval(openfl_sensors_Accelerometer.defaultInterval); }; $hxClasses["openfl.sensors.Accelerometer"] = openfl_sensors_Accelerometer; openfl_sensors_Accelerometer.__name__ = "openfl.sensors.Accelerometer"; openfl_sensors_Accelerometer.__properties__ = {get_isSupported:"get_isSupported"}; openfl_sensors_Accelerometer.initialize = function() { if(!openfl_sensors_Accelerometer.initialized) { var sensors = lime_system_Sensor.getSensors(lime_system_SensorType.ACCELEROMETER); if(sensors.length > 0) { sensors[0].onUpdate.add(openfl_sensors_Accelerometer.accelerometer_onUpdate); openfl_sensors_Accelerometer.supported = true; } openfl_sensors_Accelerometer.initialized = true; } }; openfl_sensors_Accelerometer.accelerometer_onUpdate = function(x,y,z) { openfl_sensors_Accelerometer.currentX = x; openfl_sensors_Accelerometer.currentY = y; openfl_sensors_Accelerometer.currentZ = z; }; openfl_sensors_Accelerometer.get_isSupported = function() { openfl_sensors_Accelerometer.initialize(); return openfl_sensors_Accelerometer.supported; }; openfl_sensors_Accelerometer.__super__ = openfl_events_EventDispatcher; openfl_sensors_Accelerometer.prototype = $extend(openfl_events_EventDispatcher.prototype,{ __interval: null ,__muted: null ,__timer: null ,addEventListener: function(type,listener,useCapture,priority,useWeakReference) { if(useWeakReference == null) { useWeakReference = false; } if(priority == null) { priority = 0; } if(useCapture == null) { useCapture = false; } openfl_events_EventDispatcher.prototype.addEventListener.call(this,type,listener,useCapture,priority,useWeakReference); this.update(); } ,setRequestedUpdateInterval: function(interval) { this.__interval = interval; if(this.__interval < 0) { throw new js__$Boot_HaxeError(new openfl_errors_ArgumentError()); } else if(this.__interval == 0) { this.__interval = openfl_sensors_Accelerometer.defaultInterval; } if(this.__timer != null) { this.__timer.stop(); this.__timer = null; } if(openfl_sensors_Accelerometer.supported && !this.get_muted()) { this.__timer = new haxe_Timer(this.__interval); this.__timer.run = $bind(this,this.update); } } ,update: function() { var event = new openfl_events_AccelerometerEvent("update"); event.timestamp = new Date().getTime() / 1000; event.accelerationX = openfl_sensors_Accelerometer.currentX; event.accelerationY = openfl_sensors_Accelerometer.currentY; event.accelerationZ = openfl_sensors_Accelerometer.currentZ; this.dispatchEvent(event); } ,get_muted: function() { return this.__muted; } ,set_muted: function(value) { this.__muted = value; this.setRequestedUpdateInterval(this.__interval); return value; } ,__class__: openfl_sensors_Accelerometer ,__properties__: {set_muted:"set_muted",get_muted:"get_muted"} }); var openfl_system_ApplicationDomain = function(parentDomain) { if(parentDomain != null) { this.parentDomain = parentDomain; } else { this.parentDomain = openfl_system_ApplicationDomain.currentDomain; } }; $hxClasses["openfl.system.ApplicationDomain"] = openfl_system_ApplicationDomain; openfl_system_ApplicationDomain.__name__ = "openfl.system.ApplicationDomain"; openfl_system_ApplicationDomain.prototype = { parentDomain: null ,getDefinition: function(name) { return $hxClasses[name]; } ,hasDefinition: function(name) { return $hxClasses[name] != null; } ,__class__: openfl_system_ApplicationDomain }; var openfl_system_LoaderContext = function(checkPolicyFile,applicationDomain,securityDomain) { if(checkPolicyFile == null) { checkPolicyFile = false; } this.checkPolicyFile = checkPolicyFile; this.securityDomain = securityDomain; this.applicationDomain = applicationDomain; this.allowCodeImport = true; this.allowLoadBytesCodeExecution = true; }; $hxClasses["openfl.system.LoaderContext"] = openfl_system_LoaderContext; openfl_system_LoaderContext.__name__ = "openfl.system.LoaderContext"; openfl_system_LoaderContext.prototype = { allowCodeImport: null ,allowLoadBytesCodeExecution: null ,applicationDomain: null ,checkPolicyFile: null ,securityDomain: null ,__class__: openfl_system_LoaderContext }; var openfl_system_SecurityDomain = function() { }; $hxClasses["openfl.system.SecurityDomain"] = openfl_system_SecurityDomain; openfl_system_SecurityDomain.__name__ = "openfl.system.SecurityDomain"; openfl_system_SecurityDomain.prototype = { __class__: openfl_system_SecurityDomain }; var openfl_system_System = function() { }; $hxClasses["openfl.system.System"] = openfl_system_System; openfl_system_System.__name__ = "openfl.system.System"; openfl_system_System.__properties__ = {get_vmVersion:"get_vmVersion",get_totalMemory:"get_totalMemory"}; openfl_system_System.disposeXML = function(node) { }; openfl_system_System.exit = function(code) { lime_system_System.exit(code); }; openfl_system_System.gc = function() { }; openfl_system_System.pause = function() { openfl_utils__$internal_Lib.notImplemented({ fileName : "openfl/system/System.hx", lineNumber : 213, className : "openfl.system.System", methodName : "pause"}); }; openfl_system_System.resume = function() { openfl_utils__$internal_Lib.notImplemented({ fileName : "openfl/system/System.hx", lineNumber : 229, className : "openfl.system.System", methodName : "resume"}); }; openfl_system_System.setClipboard = function(string) { lime_system_Clipboard.set_text(string); }; openfl_system_System.get_totalMemory = function() { return (window.performance && window.performance.memory) ? window.performance.memory.usedJSHeapSize : 0; }; openfl_system_System.get_vmVersion = function() { return "1.0.0"; }; var openfl_text__$AntiAliasType_AntiAliasType_$Impl_$ = {}; $hxClasses["openfl.text._AntiAliasType.AntiAliasType_Impl_"] = openfl_text__$AntiAliasType_AntiAliasType_$Impl_$; openfl_text__$AntiAliasType_AntiAliasType_$Impl_$.__name__ = "openfl.text._AntiAliasType.AntiAliasType_Impl_"; openfl_text__$AntiAliasType_AntiAliasType_$Impl_$.fromString = function(value) { switch(value) { case "advanced": return 0; case "normal": return 1; default: return null; } }; openfl_text__$AntiAliasType_AntiAliasType_$Impl_$.toString = function(this1) { switch(this1) { case 0: return "advanced"; case 1: return "normal"; default: return null; } }; var openfl_text__$FontStyle_FontStyle_$Impl_$ = {}; $hxClasses["openfl.text._FontStyle.FontStyle_Impl_"] = openfl_text__$FontStyle_FontStyle_$Impl_$; openfl_text__$FontStyle_FontStyle_$Impl_$.__name__ = "openfl.text._FontStyle.FontStyle_Impl_"; openfl_text__$FontStyle_FontStyle_$Impl_$.fromString = function(value) { switch(value) { case "bold": return 0; case "boldItalic": return 1; case "italic": return 2; case "regular": return 3; default: return null; } }; openfl_text__$FontStyle_FontStyle_$Impl_$.toString = function(this1) { switch(this1) { case 0: return "bold"; case 1: return "boldItalic"; case 2: return "italic"; case 3: return "regular"; default: return null; } }; var openfl_text__$FontType_FontType_$Impl_$ = {}; $hxClasses["openfl.text._FontType.FontType_Impl_"] = openfl_text__$FontType_FontType_$Impl_$; openfl_text__$FontType_FontType_$Impl_$.__name__ = "openfl.text._FontType.FontType_Impl_"; openfl_text__$FontType_FontType_$Impl_$.fromString = function(value) { switch(value) { case "device": return 0; case "embedded": return 1; case "embeddedCFF": return 2; default: return null; } }; openfl_text__$FontType_FontType_$Impl_$.toString = function(this1) { switch(this1) { case 0: return "device"; case 1: return "embedded"; case 2: return "embeddedCFF"; default: return null; } }; var openfl_text__$GridFitType_GridFitType_$Impl_$ = {}; $hxClasses["openfl.text._GridFitType.GridFitType_Impl_"] = openfl_text__$GridFitType_GridFitType_$Impl_$; openfl_text__$GridFitType_GridFitType_$Impl_$.__name__ = "openfl.text._GridFitType.GridFitType_Impl_"; openfl_text__$GridFitType_GridFitType_$Impl_$.fromString = function(value) { switch(value) { case "none": return 0; case "pixel": return 1; case "subpixel": return 2; default: return null; } }; openfl_text__$GridFitType_GridFitType_$Impl_$.toString = function(this1) { switch(this1) { case 0: return "none"; case 1: return "pixel"; case 2: return "subpixel"; default: return null; } }; var openfl_text__$TextFieldAutoSize_TextFieldAutoSize_$Impl_$ = {}; $hxClasses["openfl.text._TextFieldAutoSize.TextFieldAutoSize_Impl_"] = openfl_text__$TextFieldAutoSize_TextFieldAutoSize_$Impl_$; openfl_text__$TextFieldAutoSize_TextFieldAutoSize_$Impl_$.__name__ = "openfl.text._TextFieldAutoSize.TextFieldAutoSize_Impl_"; openfl_text__$TextFieldAutoSize_TextFieldAutoSize_$Impl_$.fromString = function(value) { switch(value) { case "center": return 0; case "left": return 1; case "none": return 2; case "right": return 3; default: return null; } }; openfl_text__$TextFieldAutoSize_TextFieldAutoSize_$Impl_$.toString = function(this1) { switch(this1) { case 0: return "center"; case 1: return "left"; case 2: return "none"; case 3: return "right"; default: return null; } }; var openfl_text__$TextFieldType_TextFieldType_$Impl_$ = {}; $hxClasses["openfl.text._TextFieldType.TextFieldType_Impl_"] = openfl_text__$TextFieldType_TextFieldType_$Impl_$; openfl_text__$TextFieldType_TextFieldType_$Impl_$.__name__ = "openfl.text._TextFieldType.TextFieldType_Impl_"; openfl_text__$TextFieldType_TextFieldType_$Impl_$.fromString = function(value) { switch(value) { case "dynamic": return 0; case "input": return 1; default: return null; } }; openfl_text__$TextFieldType_TextFieldType_$Impl_$.toString = function(this1) { switch(this1) { case 0: return "dynamic"; case 1: return "input"; default: return null; } }; var openfl_text_TextFormat = function(font,size,color,bold,italic,underline,url,target,align,leftMargin,rightMargin,indent,leading) { this.font = font; this.size = size; this.color = color; this.bold = bold; this.italic = italic; this.underline = underline; this.url = url; this.target = target; this.align = align; this.leftMargin = leftMargin; this.rightMargin = rightMargin; this.indent = indent; this.leading = leading; }; $hxClasses["openfl.text.TextFormat"] = openfl_text_TextFormat; openfl_text_TextFormat.__name__ = "openfl.text.TextFormat"; openfl_text_TextFormat.prototype = { align: null ,blockIndent: null ,bold: null ,bullet: null ,color: null ,font: null ,indent: null ,italic: null ,kerning: null ,leading: null ,leftMargin: null ,letterSpacing: null ,rightMargin: null ,size: null ,tabStops: null ,target: null ,underline: null ,url: null ,__ascent: null ,__descent: null ,__cacheKey: null ,clone: function() { var newFormat = new openfl_text_TextFormat(this.font,this.size,this.color,this.bold,this.italic,this.underline,this.url,this.target); newFormat.align = this.align; newFormat.leftMargin = this.leftMargin; newFormat.rightMargin = this.rightMargin; newFormat.indent = this.indent; newFormat.leading = this.leading; newFormat.blockIndent = this.blockIndent; newFormat.bullet = this.bullet; newFormat.kerning = this.kerning; newFormat.letterSpacing = this.letterSpacing; newFormat.tabStops = this.tabStops; newFormat.__ascent = this.__ascent; newFormat.__descent = this.__descent; newFormat.__cacheKey = this.__toCacheKey(); return newFormat; } ,__merge: function(format) { if(format.font != null) { this.font = format.font; } if(format.size != null) { this.size = format.size; } if(format.color != null) { this.color = format.color; } if(format.bold != null) { this.bold = format.bold; } if(format.italic != null) { this.italic = format.italic; } if(format.underline != null) { this.underline = format.underline; } if(format.url != null) { this.url = format.url; } if(format.target != null) { this.target = format.target; } if(format.align != null) { this.align = format.align; } if(format.leftMargin != null) { this.leftMargin = format.leftMargin; } if(format.rightMargin != null) { this.rightMargin = format.rightMargin; } if(format.indent != null) { this.indent = format.indent; } if(format.leading != null) { this.leading = format.leading; } if(format.blockIndent != null) { this.blockIndent = format.blockIndent; } if(format.bullet != null) { this.bullet = format.bullet; } if(format.kerning != null) { this.kerning = format.kerning; } if(format.letterSpacing != null) { this.letterSpacing = format.letterSpacing; } if(format.tabStops != null) { this.tabStops = format.tabStops; } if(format.__ascent != null) { this.__ascent = format.__ascent; } if(format.__descent != null) { this.__descent = format.__descent; } this.__toCacheKey(); } ,__toCacheKey: function() { return this.__cacheKey = "" + this.font + this.size + Std.string(this.bold) + Std.string(this.italic); } ,__class__: openfl_text_TextFormat }; var openfl_text__$TextFormatAlign_TextFormatAlign_$Impl_$ = {}; $hxClasses["openfl.text._TextFormatAlign.TextFormatAlign_Impl_"] = openfl_text__$TextFormatAlign_TextFormatAlign_$Impl_$; openfl_text__$TextFormatAlign_TextFormatAlign_$Impl_$.__name__ = "openfl.text._TextFormatAlign.TextFormatAlign_Impl_"; openfl_text__$TextFormatAlign_TextFormatAlign_$Impl_$.fromString = function(value) { switch(value) { case "center": return 0; case "end": return 1; case "justify": return 2; case "left": return 3; case "right": return 4; case "start": return 5; default: return null; } }; openfl_text__$TextFormatAlign_TextFormatAlign_$Impl_$.toString = function(this1) { switch(this1) { case 0: return "center"; case 1: return "end"; case 2: return "justify"; case 3: return "left"; case 4: return "right"; case 5: return "start"; default: return null; } }; var openfl_text_TextLineMetrics = function(x,width,height,ascent,descent,leading) { this.x = x; this.width = width; this.height = height; this.ascent = ascent; this.descent = descent; this.leading = leading; }; $hxClasses["openfl.text.TextLineMetrics"] = openfl_text_TextLineMetrics; openfl_text_TextLineMetrics.__name__ = "openfl.text.TextLineMetrics"; openfl_text_TextLineMetrics.prototype = { ascent: null ,descent: null ,height: null ,leading: null ,width: null ,x: null ,__class__: openfl_text_TextLineMetrics }; var openfl_text__$internal_CacheMeasurement = function(wordKey,positions) { this.__collisions = []; this.__wordMap = new haxe_ds_IntMap(); this.set(wordKey,positions); }; $hxClasses["openfl.text._internal.CacheMeasurement"] = openfl_text__$internal_CacheMeasurement; openfl_text__$internal_CacheMeasurement.__name__ = "openfl.text._internal.CacheMeasurement"; openfl_text__$internal_CacheMeasurement.prototype = { __collisions: null ,__wordMap: null ,hash: null ,set: function(wordKey,positions) { this.__addCollision(wordKey,positions); } ,get: function(wordKey) { if(this.__collisions.length > 1) { return this.__wordMap.h[this.__collisions.indexOf(wordKey)]; } return this.__wordMap.h[0]; } ,__addCollision: function(wordKey,positions) { if(!this.exists(wordKey)) { var _this = this.__wordMap; var key = this.__collisions.push(wordKey) - 1; _this.h[key] = positions; } } ,exists: function(wordKey) { if(this.__collisions.length == 0) { return false; } return this.__collisions.indexOf(wordKey) > -1; } ,__class__: openfl_text__$internal_CacheMeasurement }; var openfl_text__$internal_GlyphPosition = function(glyph,advance,offset) { this.glyph = glyph; this.advance = advance; if(offset != null) { this.offset = offset; } else { this.offset = new lime_math_Vector2(); } }; $hxClasses["openfl.text._internal.GlyphPosition"] = openfl_text__$internal_GlyphPosition; openfl_text__$internal_GlyphPosition.__name__ = "openfl.text._internal.GlyphPosition"; openfl_text__$internal_GlyphPosition.prototype = { advance: null ,glyph: null ,offset: null ,__class__: openfl_text__$internal_GlyphPosition }; var openfl_text__$internal_HTMLParser = function() { }; $hxClasses["openfl.text._internal.HTMLParser"] = openfl_text__$internal_HTMLParser; openfl_text__$internal_HTMLParser.__name__ = "openfl.text._internal.HTMLParser"; openfl_text__$internal_HTMLParser.parse = function(value,textFormat,textFormatRanges) { value = value.replace(openfl_text__$internal_HTMLParser.__regexBreakTag.r,"\n"); value = value.replace(openfl_text__$internal_HTMLParser.__regexEntities[5].r," "); var segments = value.split("<"); if(segments.length == 1) { value = StringTools.htmlUnescape(value.replace(openfl_text__$internal_HTMLParser.__regexHTMLTag.r,"")); if(textFormatRanges.get_length() > 1) { textFormatRanges.splice(1,textFormatRanges.get_length() - 1); } var range = textFormatRanges.get(0); range.format = textFormat; range.start = 0; range.end = value.length; return value; } else { textFormatRanges.splice(0,textFormatRanges.get_length()); value = ""; var segment; var formatStack = [textFormat.clone()]; var tagStack = []; var sub; var noLineBreak = false; var _g = 0; while(_g < segments.length) { var segment1 = segments[_g]; ++_g; if(segment1 == "") { continue; } var isClosingTag = HxOverrides.substr(segment1,0,1) == "/"; var tagEndIndex = segment1.indexOf(">"); var start = tagEndIndex + 1; var spaceIndex = segment1.indexOf(" "); var tagName = segment1.substring(isClosingTag ? 1 : 0,spaceIndex > -1 && spaceIndex < tagEndIndex ? spaceIndex : tagEndIndex); var format; if(isClosingTag) { if(tagStack.length == 0 || tagName.toLowerCase() != tagStack[tagStack.length - 1].toLowerCase()) { lime_utils_Log.info("Invalid HTML, unexpected closing tag ignored: " + tagName,{ fileName : "openfl/text/_internal/HTMLParser.hx", lineNumber : 82, className : "openfl.text._internal.HTMLParser", methodName : "parse"}); continue; } tagStack.pop(); formatStack.pop(); format = formatStack[formatStack.length - 1].clone(); if(tagName.toLowerCase() == "p" && textFormatRanges.get_length() > 0) { value += "\n"; noLineBreak = true; } if(start < segment1.length) { sub = StringTools.htmlUnescape(HxOverrides.substr(segment1,start,null)); textFormatRanges.push(new openfl_text__$internal_TextFormatRange(format,value.length,value.length + sub.length)); value += sub; noLineBreak = false; } } else { format = formatStack[formatStack.length - 1].clone(); if(tagEndIndex > -1) { switch(tagName.toLowerCase()) { case "a": if(openfl_text__$internal_HTMLParser.__regexHref.match(segment1)) { format.url = openfl_text__$internal_HTMLParser.__getAttributeMatch(openfl_text__$internal_HTMLParser.__regexHref); } break; case "b": format.bold = true; break; case "em":case "i": format.italic = true; break; case "font": if(openfl_text__$internal_HTMLParser.__regexFace.match(segment1)) { format.font = openfl_text__$internal_HTMLParser.__getAttributeMatch(openfl_text__$internal_HTMLParser.__regexFace); } if(openfl_text__$internal_HTMLParser.__regexColor.match(segment1)) { format.color = Std.parseInt("0x" + openfl_text__$internal_HTMLParser.__getAttributeMatch(openfl_text__$internal_HTMLParser.__regexColor)); } if(openfl_text__$internal_HTMLParser.__regexSize.match(segment1)) { var sizeAttr = openfl_text__$internal_HTMLParser.__getAttributeMatch(openfl_text__$internal_HTMLParser.__regexSize); var firstChar = HxOverrides.cca(sizeAttr,0); if(firstChar == 43 || firstChar == 45) { var parentFormat = formatStack.length >= 2 ? formatStack[formatStack.length - 2] : textFormat; format.size = parentFormat.size + Std.parseInt(sizeAttr); } else { format.size = Std.parseInt(sizeAttr); } } break; case "p": if(textFormatRanges.get_length() > 0 && !noLineBreak) { value += "\n"; } if(openfl_text__$internal_HTMLParser.__regexAlign.match(segment1)) { var align = openfl_text__$internal_HTMLParser.__getAttributeMatch(openfl_text__$internal_HTMLParser.__regexAlign).toLowerCase(); format.align = openfl_text__$TextFormatAlign_TextFormatAlign_$Impl_$.fromString(align); } break; case "textformat": if(openfl_text__$internal_HTMLParser.__regexBlockIndent.match(segment1)) { format.blockIndent = Std.parseInt(openfl_text__$internal_HTMLParser.__getAttributeMatch(openfl_text__$internal_HTMLParser.__regexBlockIndent)); } if(openfl_text__$internal_HTMLParser.__regexIndent.match(segment1)) { format.indent = Std.parseInt(openfl_text__$internal_HTMLParser.__getAttributeMatch(openfl_text__$internal_HTMLParser.__regexIndent)); } if(openfl_text__$internal_HTMLParser.__regexLeading.match(segment1)) { format.leading = Std.parseInt(openfl_text__$internal_HTMLParser.__getAttributeMatch(openfl_text__$internal_HTMLParser.__regexLeading)); } if(openfl_text__$internal_HTMLParser.__regexLeftMargin.match(segment1)) { format.leftMargin = Std.parseInt(openfl_text__$internal_HTMLParser.__getAttributeMatch(openfl_text__$internal_HTMLParser.__regexLeftMargin)); } if(openfl_text__$internal_HTMLParser.__regexRightMargin.match(segment1)) { format.rightMargin = Std.parseInt(openfl_text__$internal_HTMLParser.__getAttributeMatch(openfl_text__$internal_HTMLParser.__regexRightMargin)); } if(openfl_text__$internal_HTMLParser.__regexTabStops.match(segment1)) { var values = openfl_text__$internal_HTMLParser.__getAttributeMatch(openfl_text__$internal_HTMLParser.__regexTabStops).split(" "); var tabStops = []; var _g1 = 0; while(_g1 < values.length) { var stop = values[_g1]; ++_g1; tabStops.push(Std.parseInt(stop)); } format.tabStops = tabStops; } break; case "u": format.underline = true; break; } formatStack.push(format); tagStack.push(tagName); if(start < segment1.length) { sub = StringTools.htmlUnescape(segment1.substring(start)); textFormatRanges.push(new openfl_text__$internal_TextFormatRange(format,value.length,value.length + sub.length)); value += sub; noLineBreak = false; } } else { sub = StringTools.htmlUnescape(segment1); textFormatRanges.push(new openfl_text__$internal_TextFormatRange(format,value.length,value.length + sub.length)); value += sub; noLineBreak = false; } } } if(textFormatRanges.get_length() == 0) { textFormatRanges.push(new openfl_text__$internal_TextFormatRange(formatStack[0],0,0)); } } return value; }; openfl_text__$internal_HTMLParser.__getAttributeMatch = function(regex) { if(regex.matched(2) != null) { return regex.matched(2); } else { return regex.matched(3); } }; var openfl_text__$internal_ShapeCache = function() { this.__shortWordMap = new haxe_ds_StringMap(); this.__longWordMap = new haxe_ds_StringMap(); }; $hxClasses["openfl.text._internal.ShapeCache"] = openfl_text__$internal_ShapeCache; openfl_text__$internal_ShapeCache.__name__ = "openfl.text._internal.ShapeCache"; openfl_text__$internal_ShapeCache.hashFunction = function(key) { var hash = 0; var i; var chr; var _g = 0; var _g1 = key.length; while(_g < _g1) { var i1 = _g++; chr = HxOverrides.cca(key,i1); hash = (hash << 5) - hash + chr; hash |= 0; } return hash; }; openfl_text__$internal_ShapeCache.prototype = { __shortWordMap: null ,__longWordMap: null ,cache: function(formatRange,getPositions,wordKey) { var formatKey = formatRange.format.__cacheKey; if(wordKey.length > 15) { return this.__cacheLongWord(wordKey,formatKey,getPositions); } else { return this.__cacheShortWord(wordKey,formatKey,getPositions); } } ,__cacheShortWord: function(wordKey,formatKey,getPositions) { var _this = this.__shortWordMap; if(__map_reserved[formatKey] != null ? _this.existsReserved(formatKey) : _this.h.hasOwnProperty(formatKey)) { var _this1 = this.__shortWordMap; var formatMap = __map_reserved[formatKey] != null ? _this1.getReserved(formatKey) : _this1.h[formatKey]; if(__map_reserved[wordKey] != null ? formatMap.existsReserved(wordKey) : formatMap.h.hasOwnProperty(wordKey)) { return __map_reserved[wordKey] != null ? formatMap.getReserved(wordKey) : formatMap.h[wordKey]; } else { var value = getPositions(); if(__map_reserved[wordKey] != null) { formatMap.setReserved(wordKey,value); } else { formatMap.h[wordKey] = value; } } } else { var formatMap1 = new haxe_ds_StringMap(); var value1 = getPositions(); if(__map_reserved[wordKey] != null) { formatMap1.setReserved(wordKey,value1); } else { formatMap1.h[wordKey] = value1; } var _this2 = this.__shortWordMap; if(__map_reserved[formatKey] != null) { _this2.setReserved(formatKey,formatMap1); } else { _this2.h[formatKey] = formatMap1; } } return getPositions(); } ,__cacheLongWord: function(wordKey,formatKey,getPositions) { var hash = openfl_text__$internal_ShapeCache.hashFunction(wordKey); var _this = this.__longWordMap; if(__map_reserved[formatKey] != null ? _this.existsReserved(formatKey) : _this.h.hasOwnProperty(formatKey)) { var _this1 = this.__longWordMap; var formatMap = __map_reserved[formatKey] != null ? _this1.getReserved(formatKey) : _this1.h[formatKey]; if(formatMap.h.hasOwnProperty(hash)) { var measurement = formatMap.h[hash]; if(measurement.exists(wordKey)) { return measurement.get(wordKey); } else { measurement.set(wordKey,getPositions()); } } else { var measurement1 = new openfl_text__$internal_CacheMeasurement(wordKey,getPositions()); formatMap.h[hash] = measurement1; } } else { var formatMap1 = new haxe_ds_IntMap(); var measurement2 = new openfl_text__$internal_CacheMeasurement(wordKey,getPositions()); measurement2.hash = hash; formatMap1.h[hash] = measurement2; var _this2 = this.__longWordMap; if(__map_reserved[formatKey] != null) { _this2.setReserved(formatKey,formatMap1); } else { _this2.h[formatKey] = formatMap1; } } return getPositions(); } ,__class__: openfl_text__$internal_ShapeCache }; var openfl_text__$internal_TextEngine = function(textField) { this.__shapeCache = new openfl_text__$internal_ShapeCache(); this.textField = textField; this.width = 100; this.height = 100; this.set_text(""); this.bounds = new openfl_geom_Rectangle(0,0,0,0); this.textBounds = new openfl_geom_Rectangle(0,0,0,0); this.type = 0; this.autoSize = 2; this.embedFonts = false; this.selectable = true; this.borderColor = 0; this.border = false; this.backgroundColor = 16777215; this.background = false; this.gridFitType = 1; this.maxChars = 0; this.multiline = false; this.numLines = 1; this.sharpness = 0; this.scrollH = 0; this.set_scrollV(1); this.wordWrap = false; this.lineAscents = openfl__$Vector_Vector_$Impl_$.toFloatVector(null); this.lineBreaks = openfl__$Vector_Vector_$Impl_$.toIntVector(null); this.lineDescents = openfl__$Vector_Vector_$Impl_$.toFloatVector(null); this.lineLeadings = openfl__$Vector_Vector_$Impl_$.toFloatVector(null); this.lineHeights = openfl__$Vector_Vector_$Impl_$.toFloatVector(null); this.lineWidths = openfl__$Vector_Vector_$Impl_$.toFloatVector(null); this.layoutGroups = openfl__$Vector_Vector_$Impl_$.toObjectVector(null); this.textFormatRanges = openfl__$Vector_Vector_$Impl_$.toObjectVector(null); if(openfl_text__$internal_TextEngine.__context == null) { openfl_text__$internal_TextEngine.__context = window.document.createElement("canvas").getContext("2d"); } }; $hxClasses["openfl.text._internal.TextEngine"] = openfl_text__$internal_TextEngine; openfl_text__$internal_TextEngine.__name__ = "openfl.text._internal.TextEngine"; openfl_text__$internal_TextEngine.__context = null; openfl_text__$internal_TextEngine.findFont = function(name) { var _this = openfl_text_Font.__fontByName; if(__map_reserved[name] != null) { return _this.getReserved(name); } else { return _this.h[name]; } }; openfl_text__$internal_TextEngine.findFontVariant = function(format) { var fontName = format.font; var bold = format.bold; var italic = format.italic; if(fontName == null) { fontName = "_serif"; } var fontNamePrefix = StringTools.replace(StringTools.replace(fontName," Normal","")," Regular",""); var tmp; if(bold && italic) { var _this = openfl_text_Font.__fontByName; var key = fontNamePrefix + " Bold Italic"; tmp = __map_reserved[key] != null ? _this.existsReserved(key) : _this.h.hasOwnProperty(key); } else { tmp = false; } if(tmp) { return openfl_text__$internal_TextEngine.findFont(fontNamePrefix + " Bold Italic"); } else { var tmp1; if(bold) { var _this1 = openfl_text_Font.__fontByName; var key1 = fontNamePrefix + " Bold"; tmp1 = __map_reserved[key1] != null ? _this1.existsReserved(key1) : _this1.h.hasOwnProperty(key1); } else { tmp1 = false; } if(tmp1) { return openfl_text__$internal_TextEngine.findFont(fontNamePrefix + " Bold"); } else { var tmp2; if(italic) { var _this2 = openfl_text_Font.__fontByName; var key2 = fontNamePrefix + " Italic"; tmp2 = __map_reserved[key2] != null ? _this2.existsReserved(key2) : _this2.h.hasOwnProperty(key2); } else { tmp2 = false; } if(tmp2) { return openfl_text__$internal_TextEngine.findFont(fontNamePrefix + " Italic"); } } } return openfl_text__$internal_TextEngine.findFont(fontName); }; openfl_text__$internal_TextEngine.getFormatHeight = function(format) { var ascent; var descent; openfl_text__$internal_TextEngine.__context.font = openfl_text__$internal_TextEngine.getFont(format); var font = openfl_text__$internal_TextEngine.getFontInstance(format); if(format.__ascent != null) { ascent = format.size * format.__ascent; descent = format.size * format.__descent; } else if(font != null && font.unitsPerEM != 0) { ascent = font.ascender / font.unitsPerEM * format.size; descent = Math.abs(font.descender / font.unitsPerEM * format.size); } else { ascent = format.size; descent = format.size * 0.185; } var leading = format.leading; return ascent + descent + leading; }; openfl_text__$internal_TextEngine.getFont = function(format) { var fontName = format.font; var bold = format.bold; var italic = format.italic; if(fontName == null) { fontName = "_serif"; } var fontNamePrefix = StringTools.replace(StringTools.replace(fontName," Normal","")," Regular",""); var tmp; if(bold && italic) { var _this = openfl_text_Font.__fontByName; var key = fontNamePrefix + " Bold Italic"; tmp = __map_reserved[key] != null ? _this.existsReserved(key) : _this.h.hasOwnProperty(key); } else { tmp = false; } if(tmp) { fontName = fontNamePrefix + " Bold Italic"; bold = false; italic = false; } else { var tmp1; if(bold) { var _this1 = openfl_text_Font.__fontByName; var key1 = fontNamePrefix + " Bold"; tmp1 = __map_reserved[key1] != null ? _this1.existsReserved(key1) : _this1.h.hasOwnProperty(key1); } else { tmp1 = false; } if(tmp1) { fontName = fontNamePrefix + " Bold"; bold = false; } else { var tmp2; if(italic) { var _this2 = openfl_text_Font.__fontByName; var key2 = fontNamePrefix + " Italic"; tmp2 = __map_reserved[key2] != null ? _this2.existsReserved(key2) : _this2.h.hasOwnProperty(key2); } else { tmp2 = false; } if(tmp2) { fontName = fontNamePrefix + " Italic"; italic = false; } else { if(bold && (fontName.indexOf(" Bold ") > -1 || StringTools.endsWith(fontName," Bold"))) { bold = false; } if(italic && (fontName.indexOf(" Italic ") > -1 || StringTools.endsWith(fontName," Italic"))) { italic = false; } } } } var font = italic ? "italic " : "normal "; font += "normal "; font += bold ? "bold " : "normal "; font += format.size + "px"; font += "/" + (format.leading + format.size + 3) + "px "; var font1; switch(fontName) { case "_sans": font1 = "sans-serif"; break; case "_serif": font1 = "serif"; break; case "_typewriter": font1 = "monospace"; break; default: var _this_r = new RegExp("^[\\s'\"]+(.*)[\\s'\"]+$","".split("u").join("")); font1 = "'" + fontName.replace(_this_r,"$1") + "'"; } font += "" + font1; return font; }; openfl_text__$internal_TextEngine.getFontInstance = function(format) { return openfl_text__$internal_TextEngine.findFontVariant(format); }; openfl_text__$internal_TextEngine.prototype = { antiAliasType: null ,autoSize: null ,background: null ,backgroundColor: null ,border: null ,borderColor: null ,bottomScrollV: null ,bounds: null ,caretIndex: null ,embedFonts: null ,gridFitType: null ,height: null ,layoutGroups: null ,lineAscents: null ,lineBreaks: null ,lineDescents: null ,lineLeadings: null ,lineHeights: null ,lineWidths: null ,maxChars: null ,maxScrollH: null ,maxScrollV: null ,multiline: null ,numLines: null ,restrict: null ,scrollH: null ,scrollV: null ,selectable: null ,sharpness: null ,text: null ,textBounds: null ,textHeight: null ,textFormatRanges: null ,textWidth: null ,type: null ,width: null ,wordWrap: null ,textField: null ,__cursorTimer: null ,__hasFocus: null ,__isKeyDown: null ,__measuredHeight: null ,__measuredWidth: null ,__restrictRegexp: null ,__selectionStart: null ,__shapeCache: null ,__showCursor: null ,__textFormat: null ,__textLayout: null ,__texture: null ,__useIntAdvances: null ,__cairoFont: null ,__font: null ,createRestrictRegexp: function(restrict) { var declinedRange = new EReg("\\^(.-.|.)","gu"); var declined = ""; var accepted = declinedRange.map(restrict,function(ereg) { declined += ereg.matched(1); return ""; }); var testRegexpParts = []; if(accepted.length > 0) { testRegexpParts.push("[^" + restrict + "]"); } if(declined.length > 0) { testRegexpParts.push("[" + declined + "]"); } return new EReg("(" + testRegexpParts.join("|") + ")","g"); } ,getBounds: function() { var padding = this.border ? 1 : 0; this.bounds.width = this.width + padding; this.bounds.height = this.height + padding; var x = this.width; var y = this.width; var group = this.layoutGroups.iterator(); while(group.hasNext()) { var group1 = group.next(); if(group1.offsetX < x) { x = group1.offsetX; } if(group1.offsetY < y) { y = group1.offsetY; } } if(x >= this.width) { x = 2; } if(y >= this.height) { y = 2; } var textHeight = this.textHeight * 1.185; this.textBounds.setTo(Math.max(x - 2,0),Math.max(y - 2,0),Math.min(this.textWidth + 4,this.bounds.width + 4),Math.min(textHeight + 4,this.bounds.height + 4)); } ,getLine: function(index) { if(index < 0 || index > this.lineBreaks.get_length() + 1) { return null; } if(this.lineBreaks.get_length() == 0) { return this.text; } else { return this.text.substring(index > 0 ? this.lineBreaks.get(index - 1) : 0,this.lineBreaks.get(index)); } } ,getLineBreaks: function() { this.lineBreaks.set_length(0); var index = -1; var cr = -1; var lf = -1; while(index < this.text.length) { lf = this.text.indexOf("\n",index + 1); cr = this.text.indexOf("\r",index + 1); index = cr == -1 ? lf : lf == -1 ? cr : cr < lf ? cr : lf; if(index > -1) { this.lineBreaks.push(index); } else { break; } } } ,getLineBreakIndex: function(startIndex) { if(startIndex == null) { startIndex = 0; } var lineBreak = this.lineBreaks.iterator(); while(lineBreak.hasNext()) { var lineBreak1 = lineBreak.next(); if(lineBreak1 >= startIndex) { return lineBreak1; } } return -1; } ,getLineMeasurements: function() { this.lineAscents.set_length(0); this.lineDescents.set_length(0); this.lineLeadings.set_length(0); this.lineHeights.set_length(0); this.lineWidths.set_length(0); var currentLineAscent = 0.0; var currentLineDescent = 0.0; var currentLineLeading = null; var currentLineHeight = 0.0; var currentLineWidth = 0.0; var currentTextHeight = 0.0; this.textWidth = 0; this.textHeight = 0; this.numLines = 1; this.maxScrollH = 0; var group = this.layoutGroups.iterator(); while(group.hasNext()) { var group1 = group.next(); while(group1.lineIndex > this.numLines - 1) { this.lineAscents.push(currentLineAscent); this.lineDescents.push(currentLineDescent); this.lineLeadings.push(currentLineLeading != null ? currentLineLeading : 0); this.lineHeights.push(currentLineHeight); this.lineWidths.push(currentLineWidth); currentLineAscent = 0; currentLineDescent = 0; currentLineLeading = null; currentLineHeight = 0; currentLineWidth = 0; this.numLines++; } currentLineAscent = Math.max(currentLineAscent,group1.ascent); currentLineDescent = Math.max(currentLineDescent,group1.descent); if(currentLineLeading == null) { currentLineLeading = group1.leading; } else { currentLineLeading = Math.max(currentLineLeading,group1.leading) | 0; } currentLineHeight = Math.max(currentLineHeight,group1.height); currentLineWidth = group1.offsetX - 2 + group1.width; if(currentLineWidth > this.textWidth) { this.textWidth = currentLineWidth; } currentTextHeight = group1.offsetY - 2 + group1.ascent + group1.descent; if(currentTextHeight > this.textHeight) { this.textHeight = currentTextHeight; } } if(this.textHeight == 0 && this.textField != null && this.textField.get_type() == 1) { var currentFormat = this.textField.__textFormat; var ascent; var descent; var font = openfl_text__$internal_TextEngine.getFontInstance(currentFormat); if(currentFormat.__ascent != null) { ascent = currentFormat.size * currentFormat.__ascent; descent = currentFormat.size * currentFormat.__descent; } else if(font != null && font.unitsPerEM != 0) { ascent = font.ascender / font.unitsPerEM * currentFormat.size; descent = Math.abs(font.descender / font.unitsPerEM * currentFormat.size); } else { ascent = currentFormat.size; descent = currentFormat.size * 0.185; } var leading = currentFormat.leading; var heightValue = ascent + descent + leading; currentLineAscent = ascent; currentLineDescent = descent; currentLineLeading = leading; currentTextHeight = ascent + descent; this.textHeight = currentTextHeight; } this.lineAscents.push(currentLineAscent); this.lineDescents.push(currentLineDescent); this.lineLeadings.push(currentLineLeading != null ? currentLineLeading : 0); this.lineHeights.push(currentLineHeight); this.lineWidths.push(currentLineWidth); if(this.numLines == 1) { if(currentLineLeading > 0) { this.textHeight += currentLineLeading; } } if(this.layoutGroups.get_length() > 0) { var group2 = this.layoutGroups.get(this.layoutGroups.get_length() - 1); if(group2 != null && group2.startIndex == group2.endIndex) { this.textHeight -= currentLineHeight; } } if(this.autoSize != 2) { switch(this.autoSize) { case 0:case 1:case 3: if(!this.wordWrap) { this.width = this.textWidth + 4; } this.height = this.textHeight + 4; this.bottomScrollV = this.numLines; break; default: } } if(this.textWidth > this.width - 4) { this.maxScrollH = this.textWidth - this.width + 4 | 0; } else { this.maxScrollH = 0; } if(this.scrollH > this.maxScrollH) { this.scrollH = this.maxScrollH; } } ,getLayoutGroups: function() { var _gthis = this; this.layoutGroups.set_length(0); if(this.text == null || this.text == "") { return; } var rangeIndex = -1; var formatRange = null; var font = null; var currentFormat = openfl_text_TextField.__defaultTextFormat.clone(); var leading = 0; var ascent = 0.0; var maxAscent = 0.0; var descent = 0.0; var align = 3; var blockIndent = 0; var bullet = false; var indent = 0; var leftMargin = 0; var rightMargin = 0; var firstLineOfParagraph = true; var tabStops = null; var layoutGroup = null; var positions = null; var widthValue = 0.0; var heightValue = 0; var maxHeightValue = 0; var previousSpaceIndex = -2; var previousBreakIndex = -1; var spaceIndex = this.text.indexOf(" "); var breakCount = 0; var breakIndex = breakCount < this.lineBreaks.get_length() ? this.lineBreaks.get(breakCount) : -1; var offsetX = 0.0; var offsetY = 0.0; var textIndex = 0; var lineIndex = 0; var getPositions = function(text,startIndex,endIndex) { var letterSpacing = 0.0; if(formatRange.format.letterSpacing != null) { letterSpacing = formatRange.format.letterSpacing; } var html5Positions = function() { var positions1 = []; if(_gthis.__useIntAdvances == null) { var html5Positions1 = new EReg("Trident/7.0",""); _gthis.__useIntAdvances = html5Positions1.match(window.navigator.userAgent); } if(_gthis.__useIntAdvances) { var previousWidth = 0.0; var width; var _g = startIndex; var _g1 = endIndex; while(_g < _g1) { var i = _g++; width = openfl_text__$internal_TextEngine.__context.measureText(text.substring(startIndex,i + 1)).width; positions1.push(width - previousWidth); previousWidth = width; } } else { var _g2 = startIndex; var _g11 = endIndex; while(_g2 < _g11) { var i1 = _g2++; var advance; if(i1 < text.length - 1) { var nextWidth = openfl_text__$internal_TextEngine.__context.measureText(text.charAt(i1 + 1)).width; var twoWidths = openfl_text__$internal_TextEngine.__context.measureText(HxOverrides.substr(text,i1,2)).width; advance = twoWidths - nextWidth; } else { advance = openfl_text__$internal_TextEngine.__context.measureText(text.charAt(i1)).width; } positions1.push(advance); } } return positions1; }; return _gthis.__shapeCache.cache(formatRange,html5Positions,text.substring(startIndex,endIndex)); }; var getPositionsWidth = function(positions2) { var width1 = 0.0; var _g3 = 0; while(_g3 < positions2.length) { var position = positions2[_g3]; ++_g3; width1 += position; } return width1; }; var getTextWidth = function(text1) { return openfl_text__$internal_TextEngine.__context.measureText(text1).width; }; var getBaseX = function() { return 2 + leftMargin + blockIndent + (firstLineOfParagraph ? indent : 0); }; var getWrapWidth = function() { return _gthis.width - 2 - rightMargin - getBaseX(); }; var nextLayoutGroup = function(startIndex1,endIndex1) { if(layoutGroup == null || layoutGroup.startIndex != layoutGroup.endIndex) { layoutGroup = new openfl_text__$internal_TextLayoutGroup(formatRange.format,startIndex1,endIndex1); _gthis.layoutGroups.push(layoutGroup); } else { layoutGroup.format = formatRange.format; layoutGroup.startIndex = startIndex1; layoutGroup.endIndex = endIndex1; } }; var setLineMetrics = function() { if(currentFormat.__ascent != null) { ascent = currentFormat.size * currentFormat.__ascent; descent = currentFormat.size * currentFormat.__descent; } else if(font != null && font.unitsPerEM != 0) { ascent = font.ascender / font.unitsPerEM * currentFormat.size; descent = Math.abs(font.descender / font.unitsPerEM * currentFormat.size); } else { ascent = currentFormat.size; descent = currentFormat.size * 0.185; } leading = currentFormat.leading; heightValue = Math.ceil(ascent + descent + leading); if(heightValue > maxHeightValue) { maxHeightValue = heightValue; } if(ascent > maxAscent) { maxAscent = ascent; } }; var setParagraphMetrics = function() { firstLineOfParagraph = true; align = currentFormat.align != null ? currentFormat.align : 3; blockIndent = currentFormat.blockIndent != null ? currentFormat.blockIndent : 0; indent = currentFormat.indent != null ? currentFormat.indent : 0; leftMargin = currentFormat.leftMargin != null ? currentFormat.leftMargin : 0; rightMargin = currentFormat.rightMargin != null ? currentFormat.rightMargin : 0; var setParagraphMetrics1 = currentFormat.bullet != null; var setParagraphMetrics2 = currentFormat.tabStops != null; }; var nextFormatRange = function() { var nextFormatRange1 = _gthis.textFormatRanges.get_length() - 1; if(rangeIndex < nextFormatRange1) { rangeIndex += 1; formatRange = _gthis.textFormatRanges.get(rangeIndex); currentFormat.__merge(formatRange.format); openfl_text__$internal_TextEngine.__context.font = openfl_text__$internal_TextEngine.getFont(currentFormat); font = openfl_text__$internal_TextEngine.getFontInstance(currentFormat); return true; } return false; }; var setFormattedPositions = function(startIndex2,endIndex2) { if(startIndex2 >= endIndex2) { positions = []; widthValue = 0; } else if(endIndex2 <= formatRange.end) { positions = getPositions(_gthis.text,startIndex2,endIndex2); widthValue = getPositionsWidth(positions); } else { var tempIndex = startIndex2; var tempRangeEnd = formatRange.end; var countRanges = 0; positions = []; widthValue = 0; while(true) { if(tempIndex != tempRangeEnd) { var tempPositions = getPositions(_gthis.text,tempIndex,tempRangeEnd); positions = positions.concat(tempPositions); } if(tempRangeEnd != endIndex2) { if(!nextFormatRange()) { lime_utils_Log.warn("You found a bug in OpenFL's text code! Please save a copy of your project and contact Joshua Granick (@singmajesty) so we can fix this.",{ fileName : "openfl/text/_internal/TextEngine.hx", lineNumber : 1092, className : "openfl.text._internal.TextEngine", methodName : "getLayoutGroups"}); break; } tempIndex = tempRangeEnd; tempRangeEnd = endIndex2 < formatRange.end ? endIndex2 : formatRange.end; ++countRanges; } else { widthValue = getPositionsWidth(positions); break; } } rangeIndex -= countRanges + 1; nextFormatRange(); } }; var placeFormattedText = function(endIndex3) { if(endIndex3 <= formatRange.end) { positions = getPositions(_gthis.text,textIndex,endIndex3); widthValue = getPositionsWidth(positions); nextLayoutGroup(textIndex,endIndex3); layoutGroup.positions = positions; var placeFormattedText1 = getBaseX(); layoutGroup.offsetX = offsetX + placeFormattedText1; layoutGroup.ascent = ascent; layoutGroup.descent = descent; layoutGroup.leading = leading; layoutGroup.lineIndex = lineIndex; layoutGroup.offsetY = offsetY + 2; layoutGroup.width = widthValue; layoutGroup.height = heightValue; offsetX += widthValue; if(endIndex3 == formatRange.end) { layoutGroup = null; nextFormatRange(); setLineMetrics(); } } else { while(true) { var tempRangeEnd1 = endIndex3 < formatRange.end ? endIndex3 : formatRange.end; if(textIndex != tempRangeEnd1) { positions = getPositions(_gthis.text,textIndex,tempRangeEnd1); widthValue = getPositionsWidth(positions); nextLayoutGroup(textIndex,tempRangeEnd1); layoutGroup.positions = positions; var placeFormattedText2 = getBaseX(); layoutGroup.offsetX = offsetX + placeFormattedText2; layoutGroup.ascent = ascent; layoutGroup.descent = descent; layoutGroup.leading = leading; layoutGroup.lineIndex = lineIndex; layoutGroup.offsetY = offsetY + 2; layoutGroup.width = widthValue; layoutGroup.height = heightValue; offsetX += widthValue; textIndex = tempRangeEnd1; } if(tempRangeEnd1 == formatRange.end) { layoutGroup = null; } if(tempRangeEnd1 == endIndex3) { break; } if(!nextFormatRange()) { lime_utils_Log.warn("You found a bug in OpenFL's text code! Please save a copy of your project and contact Joshua Granick (@singmajesty) so we can fix this.",{ fileName : "openfl/text/_internal/TextEngine.hx", lineNumber : 1180, className : "openfl.text._internal.TextEngine", methodName : "getLayoutGroups"}); break; } setLineMetrics(); } } textIndex = endIndex3; }; var alignBaseline = function() { setLineMetrics(); var i2 = _gthis.layoutGroups.get_length(); while(--i2 > -1) { var lg = _gthis.layoutGroups.get(i2); if(lg.lineIndex < lineIndex) { break; } if(lg.lineIndex > lineIndex) { continue; } lg.ascent = maxAscent; lg.height = maxHeightValue; } offsetY += maxHeightValue; maxAscent = 0.0; maxHeightValue = 0; lineIndex += 1; offsetX = 0; firstLineOfParagraph = false; }; var breakLongWords = function(endIndex4) { var remainingPositions = positions; var i3; var bufferCount; var placeIndex; var positionWidth; var currentPosition; var tempWidth = getPositionsWidth(remainingPositions); while(remainingPositions.length > 0 && offsetX + tempWidth > getWrapWidth()) { bufferCount = 0; i3 = bufferCount; positionWidth = 0.0; while(offsetX + positionWidth < getWrapWidth()) { currentPosition = remainingPositions[i3]; if(currentPosition == 0.0) { ++i3; ++bufferCount; } else { positionWidth += currentPosition; ++i3; } } if(i3 == bufferCount) { i3 = bufferCount + 1; } else { while(i3 > 1 && offsetX + positionWidth > getWrapWidth()) { --i3; if(i3 - bufferCount > 0) { setFormattedPositions(textIndex,textIndex + i3 - bufferCount); positionWidth = widthValue; } else { i3 = 1; bufferCount = 0; setFormattedPositions(textIndex,textIndex + 1); positionWidth = 0; } } } placeIndex = textIndex + i3 - bufferCount; placeFormattedText(placeIndex); alignBaseline(); setFormattedPositions(placeIndex,endIndex4); remainingPositions = positions; tempWidth = widthValue; } }; var placeText = function(endIndex5) { if(_gthis.width >= 4 && _gthis.wordWrap) { breakLongWords(endIndex5); } placeFormattedText(endIndex5); }; nextFormatRange(); setParagraphMetrics(); setLineMetrics(); var wrap; var maxLoops = this.text.length + 1; while(textIndex < maxLoops) if(breakIndex > -1 && (spaceIndex == -1 || breakIndex < spaceIndex)) { if(textIndex <= breakIndex) { setFormattedPositions(textIndex,breakIndex); placeText(breakIndex); layoutGroup = null; } else if(layoutGroup != null && layoutGroup.startIndex != layoutGroup.endIndex) { if(layoutGroup.endIndex == spaceIndex) { layoutGroup.width -= layoutGroup.positions[layoutGroup.positions.length - 1]; } layoutGroup = null; } alignBaseline(); if(formatRange.end == breakIndex) { nextFormatRange(); setLineMetrics(); } textIndex = breakIndex + 1; previousBreakIndex = breakIndex; ++breakCount; breakIndex = breakCount < this.lineBreaks.get_length() ? this.lineBreaks.get(breakCount) : -1; setParagraphMetrics(); } else if(spaceIndex > -1) { if(layoutGroup != null && layoutGroup.startIndex != layoutGroup.endIndex) { layoutGroup = null; } wrap = false; while(textIndex < this.text.length) { var endIndex6 = -1; if(spaceIndex == -1) { endIndex6 = breakIndex; } else { endIndex6 = spaceIndex + 1; if(breakIndex > -1 && breakIndex < endIndex6) { endIndex6 = breakIndex; } } if(endIndex6 == -1) { endIndex6 = this.text.length; } setFormattedPositions(textIndex,endIndex6); if(align == 2) { if(positions.length > 0 && textIndex == previousSpaceIndex) { textIndex += 1; var spaceWidth = positions.shift(); widthValue -= spaceWidth; offsetX += spaceWidth; } if(positions.length > 0 && endIndex6 == spaceIndex + 1) { --endIndex6; var spaceWidth1 = positions.pop(); widthValue -= spaceWidth1; } } if(this.wordWrap) { if(offsetX + widthValue > getWrapWidth()) { wrap = true; if(positions.length > 0 && endIndex6 == spaceIndex + 1) { var lastPosition = positions[positions.length - 1]; var spaceWidth2 = lastPosition; if(offsetX + widthValue - spaceWidth2 <= getWrapWidth()) { wrap = false; } } } } if(wrap) { if(align != 2 && (layoutGroup != null || this.layoutGroups.get_length() > 0)) { var previous = layoutGroup; if(previous == null) { previous = this.layoutGroups.get(this.layoutGroups.get_length() - 1); } previous.width -= previous.positions[previous.positions.length - 1]; previous.endIndex--; } var i4 = this.layoutGroups.get_length() - 1; var offsetCount = 0; while(true) { layoutGroup = this.layoutGroups.get(i4); if(i4 > 0 && layoutGroup.startIndex > previousSpaceIndex) { ++offsetCount; } else { break; } --i4; } if(textIndex == previousSpaceIndex + 1) { alignBaseline(); } offsetX = 0; if(offsetCount > 0) { var bumpX = this.layoutGroups.get(this.layoutGroups.get_length() - offsetCount).offsetX; var _g4 = this.layoutGroups.get_length() - offsetCount; var _g12 = this.layoutGroups.get_length(); while(_g4 < _g12) { var i5 = _g4++; layoutGroup = this.layoutGroups.get(i5); layoutGroup.offsetX -= bumpX; layoutGroup.offsetY = offsetY + 2; layoutGroup.lineIndex = lineIndex; offsetX += layoutGroup.width; } } placeText(endIndex6); wrap = false; } else if(layoutGroup != null && textIndex == spaceIndex) { if(align != 2) { layoutGroup.endIndex = spaceIndex; layoutGroup.positions = layoutGroup.positions.concat(positions); layoutGroup.width += widthValue; } offsetX += widthValue; textIndex = endIndex6; } else if(layoutGroup == null || align == 2) { placeText(endIndex6); if(endIndex6 == this.text.length) { alignBaseline(); } } else { var tempRangeEnd2 = endIndex6 < formatRange.end ? endIndex6 : formatRange.end; if(tempRangeEnd2 < endIndex6) { positions = getPositions(this.text,textIndex,tempRangeEnd2); widthValue = getPositionsWidth(positions); } layoutGroup.endIndex = tempRangeEnd2; layoutGroup.positions = layoutGroup.positions.concat(positions); layoutGroup.width += widthValue; offsetX += widthValue; if(tempRangeEnd2 == formatRange.end) { layoutGroup = null; nextFormatRange(); setLineMetrics(); textIndex = tempRangeEnd2; if(tempRangeEnd2 != endIndex6) { placeFormattedText(endIndex6); } } if(breakIndex == endIndex6) { ++endIndex6; } textIndex = endIndex6; if(endIndex6 == this.text.length) { alignBaseline(); } } var nextSpaceIndex = this.text.indexOf(" ",textIndex); if(breakIndex == previousSpaceIndex) { layoutGroup.endIndex = breakIndex; if(breakIndex - layoutGroup.startIndex - layoutGroup.positions.length < 0) { layoutGroup.positions.push(0.0); } textIndex = breakIndex + 1; } previousSpaceIndex = spaceIndex; spaceIndex = nextSpaceIndex; if(breakIndex > -1 && breakIndex <= textIndex && (spaceIndex > breakIndex || spaceIndex == -1) || textIndex > this.text.length) { break; } } } else { if(textIndex < this.text.length) { setFormattedPositions(textIndex,this.text.length); placeText(this.text.length); alignBaseline(); } textIndex += 1; } if(previousBreakIndex == textIndex - 2 && previousBreakIndex > -1) { nextLayoutGroup(textIndex - 1,textIndex - 1); layoutGroup.positions = []; layoutGroup.ascent = ascent; layoutGroup.descent = descent; layoutGroup.leading = leading; layoutGroup.lineIndex = lineIndex; layoutGroup.offsetX = getBaseX(); layoutGroup.offsetY = offsetY + 2; layoutGroup.width = 0; var tmp = openfl_text__$TextFieldType_TextFieldType_$Impl_$.toString(this.type) == "input" ? heightValue : 0; layoutGroup.height = tmp; } } ,restrictText: function(value) { if(value == null) { return value; } if(this.__restrictRegexp != null) { value = this.__restrictRegexp.split(value).join(""); } return value; } ,setTextAlignment: function() { var lineIndex = -1; var offsetX = 0.0; var totalWidth = this.width - 4; var group; var lineLength; var lineMeasurementsDirty = false; var _g = 0; var _g1 = this.layoutGroups.get_length(); while(_g < _g1) { var i = _g++; group = this.layoutGroups.get(i); if(group.lineIndex != lineIndex) { lineIndex = group.lineIndex; totalWidth = this.width - 4 - group.format.rightMargin; switch(group.format.align) { case 0: if(this.lineWidths.get(lineIndex) < totalWidth) { offsetX = Math.round((totalWidth - this.lineWidths.get(lineIndex)) / 2); } else { offsetX = 0; } break; case 2: if(this.lineWidths.get(lineIndex) < totalWidth) { lineLength = 1; var _g2 = i + 1; var _g11 = this.layoutGroups.get_length(); while(_g2 < _g11) { var j = _g2++; if(this.layoutGroups.get(j).lineIndex == lineIndex) { if(j == 0 || HxOverrides.cca(this.text,this.layoutGroups.get(j).startIndex - 1) == 32) { ++lineLength; } } else { break; } } if(lineLength > 1) { group = this.layoutGroups.get(i + lineLength - 1); var endChar = HxOverrides.cca(this.text,group.endIndex); if(group.endIndex < this.text.length && endChar != 10 && endChar != 13) { offsetX = (totalWidth - this.lineWidths.get(lineIndex)) / (lineLength - 1); lineMeasurementsDirty = true; var j1 = 1; while(true) { this.layoutGroups.get(i + j1).offsetX += offsetX * j1; if(!(++j1 < lineLength)) { break; } } } } } offsetX = 0; break; case 4: if(this.lineWidths.get(lineIndex) < totalWidth) { offsetX = Math.round(totalWidth - this.lineWidths.get(lineIndex)); } else { offsetX = 0; } break; default: offsetX = 0; } } if(offsetX > 0) { group.offsetX += offsetX; } } if(lineMeasurementsDirty) { this.getLineMeasurements(); } } ,trimText: function(value) { if(value == null) { return value; } if(this.maxChars > 0 && value.length > this.maxChars) { value = HxOverrides.substr(value,0,this.maxChars); } return value; } ,update: function() { if(this.text == null || this.textFormatRanges.get_length() == 0) { this.lineAscents.set_length(0); this.lineBreaks.set_length(0); this.lineDescents.set_length(0); this.lineLeadings.set_length(0); this.lineHeights.set_length(0); this.lineWidths.set_length(0); this.layoutGroups.set_length(0); this.textWidth = 0; this.textHeight = 0; this.numLines = 1; this.maxScrollH = 0; this.maxScrollV = 1; this.bottomScrollV = 1; } else { this.getLineBreaks(); this.getLayoutGroups(); this.getLineMeasurements(); this.setTextAlignment(); } this.getBounds(); } ,get_bottomScrollV: function() { if(this.numLines == 1 || this.lineHeights == null) { return 1; } else { var ret = this.lineHeights.get_length(); var tempHeight = this.lineLeadings.get_length() == ret ? -this.lineLeadings.get(ret - 1) : 0.0; var _g = this.get_scrollV() - 1; var _g1 = this.lineHeights.get_length(); while(_g < _g1) { var i = _g++; if(tempHeight + this.lineHeights.get(i) <= this.height - 4) { tempHeight += this.lineHeights.get(i); } else { ret = i; break; } } if(ret < this.get_scrollV()) { return this.get_scrollV(); } return ret; } } ,get_maxScrollV: function() { if(this.numLines == 1 || this.lineHeights == null) { return 1; } else { var i = this.numLines - 1; var tempHeight = 0.0; var j = i; while(i >= 0) if(tempHeight + this.lineHeights.get(i) <= this.height - 4) { tempHeight += this.lineHeights.get(i); --i; } else { break; } if(i == j) { i = this.numLines; } else { i += 2; } if(i < 1) { return 1; } return i; } } ,set_restrict: function(value) { if(this.restrict == value) { return this.restrict; } this.restrict = value; if(this.restrict == null || this.restrict.length == 0) { this.__restrictRegexp = null; } else { this.__restrictRegexp = this.createRestrictRegexp(value); } return this.restrict; } ,get_scrollV: function() { if(this.numLines == 1 || this.lineHeights == null) { return 1; } var max = this.get_maxScrollV(); if(this.scrollV > max) { return max; } return this.scrollV; } ,set_scrollV: function(value) { if(value < 1) { value = 1; } return this.scrollV = value; } ,set_text: function(value) { return this.text = value; } ,__class__: openfl_text__$internal_TextEngine ,__properties__: {set_text:"set_text",set_scrollV:"set_scrollV",get_scrollV:"get_scrollV",set_restrict:"set_restrict",get_maxScrollV:"get_maxScrollV",get_bottomScrollV:"get_bottomScrollV"} }; var openfl_text__$internal_TextFormatRange = function(format,start,end) { this.format = format; this.start = start; this.end = end; }; $hxClasses["openfl.text._internal.TextFormatRange"] = openfl_text__$internal_TextFormatRange; openfl_text__$internal_TextFormatRange.__name__ = "openfl.text._internal.TextFormatRange"; openfl_text__$internal_TextFormatRange.prototype = { end: null ,format: null ,start: null ,__class__: openfl_text__$internal_TextFormatRange }; var openfl_text__$internal_TextLayout = function(text,font,size,direction,script,language) { if(language == null) { language = "en"; } if(script == null) { script = "Zyyy"; } if(direction == null) { direction = 4; } if(size == null) { size = 12; } if(text == null) { text = ""; } this.letterSpacing = 0; this.set_text(text); this.set_font(font); this.set_size(size); this.__direction = direction; this.__script = script; this.__language = language; this.positions = []; this.__dirty = true; this.__create(this.__direction,this.__script,this.__language); }; $hxClasses["openfl.text._internal.TextLayout"] = openfl_text__$internal_TextLayout; openfl_text__$internal_TextLayout.__name__ = "openfl.text._internal.TextLayout"; openfl_text__$internal_TextLayout.prototype = { autoHint: null ,font: null ,glyphs: null ,letterSpacing: null ,positions: null ,size: null ,text: null ,__buffer: null ,__direction: null ,__dirty: null ,__handle: null ,__language: null ,__script: null ,__font: null ,__hbBuffer: null ,__hbFont: null ,__create: function(direction,script,language) { if(language.length != 4) { return; } this.__hbBuffer = lime_text_harfbuzz__$HBBuffer_HBBuffer_$Impl_$._new(); switch(direction) { case 4: break; case 5: break; case 6: break; case 7: break; default: } var this1 = this.__hbBuffer; var value = lime_text_harfbuzz__$HBLanguage_HBLanguage_$Impl_$._new(language); } ,__position: function() { this.positions = []; } ,get_positions: function() { if(this.__dirty) { this.__dirty = false; this.__position(); } return this.positions; } ,get_direction: function() { return this.__direction; } ,set_direction: function(value) { if(value == this.__direction) { return value; } this.__direction = value; this.__dirty = true; return value; } ,set_font: function(value) { if(value == this.font) { return value; } this.font = value; this.__dirty = true; return value; } ,get_glyphs: function() { var glyphs = []; var _g = 0; var _g1 = this.get_positions(); while(_g < _g1.length) { var position = _g1[_g]; ++_g; glyphs.push(position.glyph); } return glyphs; } ,get_language: function() { return this.__language; } ,set_language: function(value) { if(value == this.__language) { return value; } this.__language = value; this.__dirty = true; return value; } ,get_script: function() { return this.__script; } ,set_script: function(value) { if(value == this.__script) { return value; } this.__script = value; this.__dirty = true; return value; } ,set_size: function(value) { if(value == this.size) { return value; } this.size = value; this.__dirty = true; return value; } ,set_text: function(value) { if(value == this.text) { return value; } this.text = value; this.__dirty = true; return value; } ,__class__: openfl_text__$internal_TextLayout ,__properties__: {set_text:"set_text",set_size:"set_size",set_script:"set_script",get_script:"get_script",get_positions:"get_positions",set_language:"set_language",get_language:"get_language",get_glyphs:"get_glyphs",set_font:"set_font",set_direction:"set_direction",get_direction:"get_direction"} }; var openfl_text__$internal__$TextLayout_TextDirection_$Impl_$ = {}; $hxClasses["openfl.text._internal._TextLayout.TextDirection_Impl_"] = openfl_text__$internal__$TextLayout_TextDirection_$Impl_$; openfl_text__$internal__$TextLayout_TextDirection_$Impl_$.__name__ = "openfl.text._internal._TextLayout.TextDirection_Impl_"; openfl_text__$internal__$TextLayout_TextDirection_$Impl_$.__properties__ = {get_vertical:"get_vertical",get_horizontal:"get_horizontal",get_forward:"get_forward",get_backward:"get_backward"}; openfl_text__$internal__$TextLayout_TextDirection_$Impl_$.reverse = function(this1) { this1 ^= 1; }; openfl_text__$internal__$TextLayout_TextDirection_$Impl_$.toString = function(this1) { switch(this1) { case 4: return "leftToRight"; case 5: return "rightToLeft"; case 6: return "topToBottom"; case 7: return "bottomToTop"; default: return ""; } }; openfl_text__$internal__$TextLayout_TextDirection_$Impl_$.toHBDirection = function(this1) { switch(this1) { case 4: return 4; case 5: return 5; case 6: return 6; case 7: return 7; default: return 0; } }; openfl_text__$internal__$TextLayout_TextDirection_$Impl_$.get_backward = function(this1) { return (this1 & -3) == 5; }; openfl_text__$internal__$TextLayout_TextDirection_$Impl_$.get_forward = function(this1) { return (this1 & -3) == 4; }; openfl_text__$internal__$TextLayout_TextDirection_$Impl_$.get_horizontal = function(this1) { return (this1 & -2) == 4; }; openfl_text__$internal__$TextLayout_TextDirection_$Impl_$.get_vertical = function(this1) { return (this1 & -2) == 6; }; var openfl_text__$internal__$TextLayout_TextScript_$Impl_$ = {}; $hxClasses["openfl.text._internal._TextLayout.TextScript_Impl_"] = openfl_text__$internal__$TextLayout_TextScript_$Impl_$; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.__name__ = "openfl.text._internal._TextLayout.TextScript_Impl_"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.__properties__ = {get_rightToLeft:"get_rightToLeft"}; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.toHBScript = function(this1) { return 1517910393; }; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.get_rightToLeft = function(this1) { switch(this1) { case "Arab":case "Armi":case "Avst":case "Cprt":case "Hebr":case "Khar":case "Lydi":case "Mand":case "Nkoo":case "Orkh":case "Phli":case "Phlp":case "Phnx":case "Samr":case "Sarb":case "Syrc":case "Thaa": return true; default: return false; } }; var openfl_text__$internal_TextLayoutGroup = function(format,startIndex,endIndex) { this.format = format; this.startIndex = startIndex; this.endIndex = endIndex; }; $hxClasses["openfl.text._internal.TextLayoutGroup"] = openfl_text__$internal_TextLayoutGroup; openfl_text__$internal_TextLayoutGroup.__name__ = "openfl.text._internal.TextLayoutGroup"; openfl_text__$internal_TextLayoutGroup.prototype = { ascent: null ,descent: null ,endIndex: null ,format: null ,height: null ,leading: null ,lineIndex: null ,offsetX: null ,offsetY: null ,positions: null ,startIndex: null ,width: null ,getAdvance: function(index) { return this.positions[index]; } ,__class__: openfl_text__$internal_TextLayoutGroup }; var openfl_ui_GameInputControl = function(device,id,minValue,maxValue,value) { if(value == null) { value = 0; } openfl_events_EventDispatcher.call(this); this.device = device; this.id = id; this.minValue = minValue; this.maxValue = maxValue; this.value = value; }; $hxClasses["openfl.ui.GameInputControl"] = openfl_ui_GameInputControl; openfl_ui_GameInputControl.__name__ = "openfl.ui.GameInputControl"; openfl_ui_GameInputControl.__super__ = openfl_events_EventDispatcher; openfl_ui_GameInputControl.prototype = $extend(openfl_events_EventDispatcher.prototype,{ device: null ,id: null ,maxValue: null ,minValue: null ,value: null ,__class__: openfl_ui_GameInputControl }); var openfl_ui_GameInputDevice = function(id,name) { this.__controls = []; this.__button = new haxe_ds_IntMap(); this.__axis = new haxe_ds_IntMap(); this.id = id; this.name = name; var control; control = new openfl_ui_GameInputControl(this,"AXIS_" + 0,-1,1); this.__axis.h[0] = control; this.__controls.push(control); control = new openfl_ui_GameInputControl(this,"AXIS_" + 1,-1,1); this.__axis.h[1] = control; this.__controls.push(control); control = new openfl_ui_GameInputControl(this,"AXIS_" + 2,-1,1); this.__axis.h[2] = control; this.__controls.push(control); control = new openfl_ui_GameInputControl(this,"AXIS_" + 3,-1,1); this.__axis.h[3] = control; this.__controls.push(control); control = new openfl_ui_GameInputControl(this,"AXIS_" + 4,-1,1); this.__axis.h[4] = control; this.__controls.push(control); control = new openfl_ui_GameInputControl(this,"AXIS_" + 5,-1,1); this.__axis.h[5] = control; this.__controls.push(control); var _g = 0; while(_g < 15) { var i = _g++; control = new openfl_ui_GameInputControl(this,"BUTTON_" + i,0,1); this.__button.h[i] = control; this.__controls.push(control); } }; $hxClasses["openfl.ui.GameInputDevice"] = openfl_ui_GameInputDevice; openfl_ui_GameInputDevice.__name__ = "openfl.ui.GameInputDevice"; openfl_ui_GameInputDevice.prototype = { enabled: null ,id: null ,name: null ,sampleInterval: null ,__axis: null ,__button: null ,__controls: null ,__gamepad: null ,getCachedSamples: function(data,append) { if(append == null) { append = false; } return 0; } ,getControlAt: function(i) { if(i >= 0 && i < this.__controls.length) { return this.__controls[i]; } return null; } ,startCachingSamples: function(numSamples,controls) { } ,stopCachingSamples: function() { } ,get_numControls: function() { return this.__controls.length; } ,__class__: openfl_ui_GameInputDevice ,__properties__: {get_numControls:"get_numControls"} }; var openfl_ui_Keyboard = function() { }; $hxClasses["openfl.ui.Keyboard"] = openfl_ui_Keyboard; openfl_ui_Keyboard.__name__ = "openfl.ui.Keyboard"; openfl_ui_Keyboard.capsLock = null; openfl_ui_Keyboard.numLock = null; openfl_ui_Keyboard.isAccessible = function() { return false; }; openfl_ui_Keyboard.__convertKeyCode = function(key) { switch(key) { case 8: return 8; case 9: return 9; case 13: return 13; case 27: return 27; case 32: return 32; case 33: return 49; case 34: return 222; case 35: return 51; case 36: return 52; case 37: return 53; case 38: return 55; case 39: return 222; case 40: return 57; case 41: return 48; case 42: return 56; case 44: return 188; case 45: return 189; case 46: return 190; case 47: return 191; case 48: return 48; case 49: return 49; case 50: return 50; case 51: return 51; case 52: return 52; case 53: return 53; case 54: return 54; case 55: return 55; case 56: return 56; case 57: return 57; case 58: return 186; case 59: return 186; case 60: return 60; case 61: return 187; case 62: return 190; case 63: return 191; case 64: return 50; case 91: return 219; case 92: return 220; case 93: return 221; case 94: return 54; case 95: return 189; case 96: return 192; case 97: return 65; case 98: return 66; case 99: return 67; case 100: return 68; case 101: return 69; case 102: return 70; case 103: return 71; case 104: return 72; case 105: return 73; case 106: return 74; case 107: return 75; case 108: return 76; case 109: return 77; case 110: return 78; case 111: return 79; case 112: return 80; case 113: return 81; case 114: return 82; case 115: return 83; case 116: return 84; case 117: return 85; case 118: return 86; case 119: return 87; case 120: return 88; case 121: return 89; case 122: return 90; case 127: return 46; case 1073741881: return 20; case 1073741882: return 112; case 1073741883: return 113; case 1073741884: return 114; case 1073741885: return 115; case 1073741886: return 116; case 1073741887: return 117; case 1073741888: return 118; case 1073741889: return 119; case 1073741890: return 120; case 1073741891: return 121; case 1073741892: return 122; case 1073741893: return 123; case 1073741894: return 301; case 1073741895: return 145; case 1073741896: return 19; case 1073741897: return 45; case 1073741898: return 36; case 1073741899: return 33; case 1073741901: return 35; case 1073741902: return 34; case 1073741903: return 39; case 1073741904: return 37; case 1073741905: return 40; case 1073741906: return 38; case 1073741907: return 144; case 1073741908: return 111; case 1073741909: return 106; case 1073741910: return 109; case 1073741911: return 107; case 1073741912: return 13; case 1073741913: return 97; case 1073741914: return 98; case 1073741915: return 99; case 1073741916: return 100; case 1073741917: return 101; case 1073741918: return 102; case 1073741919: return 103; case 1073741920: return 104; case 1073741921: return 105; case 1073741922: return 96; case 1073741923: return 110; case 1073741925: return 302; case 1073741928: return 124; case 1073741929: return 125; case 1073741930: return 126; case 1073741982: return 13; case 1073742044: return 110; case 1073742048: return 17; case 1073742049: return 16; case 1073742050: return 18; case 1073742051: return 15; case 1073742052: return 17; case 1073742053: return 16; case 1073742054: return 18; case 1073742055: return 15; default: return key; } }; openfl_ui_Keyboard.__getCharCode = function(key,shift) { if(shift == null) { shift = false; } if(!shift) { switch(key) { case 8: return 8; case 9: return 9; case 13: return 13; case 27: return 27; case 32: return 32; case 186: return 59; case 187: return 61; case 188: return 44; case 189: return 45; case 190: return 46; case 191: return 47; case 192: return 96; case 219: return 91; case 220: return 92; case 221: return 93; case 222: return 39; } if(key >= 48 && key <= 57) { return key - 48 + 48; } if(key >= 65 && key <= 90) { return key - 65 + 97; } } else { switch(key) { case 48: return 41; case 49: return 33; case 50: return 64; case 51: return 35; case 52: return 36; case 53: return 37; case 54: return 94; case 55: return 38; case 56: return 42; case 57: return 40; case 186: return 58; case 187: return 43; case 188: return 60; case 189: return 95; case 190: return 62; case 191: return 63; case 192: return 126; case 219: return 123; case 220: return 124; case 221: return 125; case 222: return 34; } if(key >= 65 && key <= 90) { return key - 65 + 65; } } if(key >= 96 && key <= 105) { return key - 96 + 48; } switch(key) { case 8: return 8; case 13: return 13; case 46: return 127; case 106: return 42; case 107: return 43; case 108: return 44; case 110: return 45; case 111: return 46; } return 0; }; openfl_ui_Keyboard.__getKeyLocation = function(key) { switch(key) { case 1073741908:case 1073741909:case 1073741910:case 1073741911:case 1073741912:case 1073741913:case 1073741914:case 1073741915:case 1073741916:case 1073741917:case 1073741918:case 1073741919:case 1073741920:case 1073741921:case 1073741922:case 1073741923:case 1073742044: return 3; case 1073742048:case 1073742049:case 1073742050:case 1073742051: return 1; case 1073742052:case 1073742053:case 1073742054:case 1073742055: return 2; default: return 0; } }; var openfl_ui_Mouse = function() { }; $hxClasses["openfl.ui.Mouse"] = openfl_ui_Mouse; openfl_ui_Mouse.__name__ = "openfl.ui.Mouse"; openfl_ui_Mouse.__properties__ = {set_cursor:"set_cursor",get_cursor:"get_cursor"}; openfl_ui_Mouse.__hidden = null; openfl_ui_Mouse.hide = function() { openfl_ui_Mouse.__hidden = true; var _g = 0; var _g1 = lime_app_Application.current.__windows; while(_g < _g1.length) { var $window = _g1[_g]; ++_g; $window.set_cursor(null); } }; openfl_ui_Mouse.show = function() { openfl_ui_Mouse.__hidden = false; var cacheCursor = openfl_ui_Mouse.__cursor; openfl_ui_Mouse.__cursor = null; openfl_ui_Mouse.set_cursor(cacheCursor); }; openfl_ui_Mouse.get_cursor = function() { return openfl_ui_Mouse.__cursor; }; openfl_ui_Mouse.set_cursor = function(value) { if(value == null) { value = "auto"; } var setCursor = null; switch(value) { case "arrow": setCursor = lime_ui_MouseCursor.ARROW; break; case "button": setCursor = lime_ui_MouseCursor.POINTER; break; case "crosshair": setCursor = lime_ui_MouseCursor.CROSSHAIR; break; case "custom": setCursor = lime_ui_MouseCursor.CUSTOM; break; case "hand": setCursor = lime_ui_MouseCursor.MOVE; break; case "ibeam": setCursor = lime_ui_MouseCursor.TEXT; break; case "resize_nesw": setCursor = lime_ui_MouseCursor.RESIZE_NESW; break; case "resize_ns": setCursor = lime_ui_MouseCursor.RESIZE_NS; break; case "resize_nwse": setCursor = lime_ui_MouseCursor.RESIZE_NWSE; break; case "resize_we": setCursor = lime_ui_MouseCursor.RESIZE_WE; break; case "wait": setCursor = lime_ui_MouseCursor.WAIT; break; case "waitarrow": setCursor = lime_ui_MouseCursor.WAIT_ARROW; break; default: } if(setCursor != null && !openfl_ui_Mouse.__hidden) { var _g = 0; var _g1 = lime_app_Application.current.__windows; while(_g < _g1.length) { var $window = _g1[_g]; ++_g; $window.set_cursor(setCursor); } } return openfl_ui_Mouse.__cursor = value; }; var openfl_ui__$MouseCursor_MouseCursor_$Impl_$ = {}; $hxClasses["openfl.ui._MouseCursor.MouseCursor_Impl_"] = openfl_ui__$MouseCursor_MouseCursor_$Impl_$; openfl_ui__$MouseCursor_MouseCursor_$Impl_$.__name__ = "openfl.ui._MouseCursor.MouseCursor_Impl_"; openfl_ui__$MouseCursor_MouseCursor_$Impl_$.fromLimeCursor = function(cursor) { switch(cursor._hx_index) { case 0: return "arrow"; case 1: return "crosshair"; case 2: return "auto"; case 3: return "hand"; case 4: return "button"; case 5: return "resize_nesw"; case 6: return "resize_ns"; case 7: return "resize_nwse"; case 8: return "resize_we"; case 9: return "ibeam"; case 10: return "wait"; case 11: return "waitarrow"; case 12: return "custom"; } }; openfl_ui__$MouseCursor_MouseCursor_$Impl_$.toLimeCursor = function(this1) { switch(this1) { case "arrow": return lime_ui_MouseCursor.ARROW; case "auto": return lime_ui_MouseCursor.DEFAULT; case "button": return lime_ui_MouseCursor.POINTER; case "crosshair": return lime_ui_MouseCursor.CROSSHAIR; case "custom": return lime_ui_MouseCursor.CUSTOM; case "hand": return lime_ui_MouseCursor.MOVE; case "ibeam": return lime_ui_MouseCursor.TEXT; case "resize_nesw": return lime_ui_MouseCursor.RESIZE_NESW; case "resize_ns": return lime_ui_MouseCursor.RESIZE_NS; case "resize_nwse": return lime_ui_MouseCursor.RESIZE_NWSE; case "resize_we": return lime_ui_MouseCursor.RESIZE_WE; case "wait": return lime_ui_MouseCursor.WAIT; case "waitarrow": return lime_ui_MouseCursor.WAIT_ARROW; default: return lime_ui_MouseCursor.DEFAULT; } }; var openfl_ui_Multitouch = function() { }; $hxClasses["openfl.ui.Multitouch"] = openfl_ui_Multitouch; openfl_ui_Multitouch.__name__ = "openfl.ui.Multitouch"; openfl_ui_Multitouch.__properties__ = {get_supportsTouchEvents:"get_supportsTouchEvents"}; openfl_ui_Multitouch.inputMode = null; openfl_ui_Multitouch.maxTouchPoints = null; openfl_ui_Multitouch.supportedGestures = null; openfl_ui_Multitouch.supportsGestureEvents = null; openfl_ui_Multitouch.get_supportsTouchEvents = function() { if(('ontouchstart' in document.documentElement) || (window.DocumentTouch && document instanceof DocumentTouch)) { return true; } return false; }; var openfl_ui__$MultitouchInputMode_MultitouchInputMode_$Impl_$ = {}; $hxClasses["openfl.ui._MultitouchInputMode.MultitouchInputMode_Impl_"] = openfl_ui__$MultitouchInputMode_MultitouchInputMode_$Impl_$; openfl_ui__$MultitouchInputMode_MultitouchInputMode_$Impl_$.__name__ = "openfl.ui._MultitouchInputMode.MultitouchInputMode_Impl_"; openfl_ui__$MultitouchInputMode_MultitouchInputMode_$Impl_$.fromString = function(value) { switch(value) { case "gesture": return 0; case "none": return 1; case "touchPoint": return 2; default: return null; } }; openfl_ui__$MultitouchInputMode_MultitouchInputMode_$Impl_$.toString = function(this1) { switch(this1) { case 0: return "gesture"; case 1: return "none"; case 2: return "touchPoint"; default: return null; } }; var openfl_utils_AGALMiniAssembler = function(debugging) { if(debugging == null) { debugging = false; } this.debugEnabled = false; this.debugEnabled = debugging; if(!openfl_utils_AGALMiniAssembler.initialized) { openfl_utils_AGALMiniAssembler.init(); } }; $hxClasses["openfl.utils.AGALMiniAssembler"] = openfl_utils_AGALMiniAssembler; openfl_utils_AGALMiniAssembler.__name__ = "openfl.utils.AGALMiniAssembler"; openfl_utils_AGALMiniAssembler.init = function() { openfl_utils_AGALMiniAssembler.initialized = true; var this1 = openfl_utils_AGALMiniAssembler.OPMAP; var v = new openfl_utils__$AGALMiniAssembler_OpCode("mov",2,0,0); var _this = this1; if(__map_reserved["mov"] != null) { _this.setReserved("mov",v); } else { _this.h["mov"] = v; } var this2 = openfl_utils_AGALMiniAssembler.OPMAP; var v1 = new openfl_utils__$AGALMiniAssembler_OpCode("add",3,1,0); var _this1 = this2; if(__map_reserved["add"] != null) { _this1.setReserved("add",v1); } else { _this1.h["add"] = v1; } var this3 = openfl_utils_AGALMiniAssembler.OPMAP; var v2 = new openfl_utils__$AGALMiniAssembler_OpCode("sub",3,2,0); var _this2 = this3; if(__map_reserved["sub"] != null) { _this2.setReserved("sub",v2); } else { _this2.h["sub"] = v2; } var this4 = openfl_utils_AGALMiniAssembler.OPMAP; var v3 = new openfl_utils__$AGALMiniAssembler_OpCode("mul",3,3,0); var _this3 = this4; if(__map_reserved["mul"] != null) { _this3.setReserved("mul",v3); } else { _this3.h["mul"] = v3; } var this5 = openfl_utils_AGALMiniAssembler.OPMAP; var v4 = new openfl_utils__$AGALMiniAssembler_OpCode("div",3,4,0); var _this4 = this5; if(__map_reserved["div"] != null) { _this4.setReserved("div",v4); } else { _this4.h["div"] = v4; } var this6 = openfl_utils_AGALMiniAssembler.OPMAP; var v5 = new openfl_utils__$AGALMiniAssembler_OpCode("rcp",2,5,0); var _this5 = this6; if(__map_reserved["rcp"] != null) { _this5.setReserved("rcp",v5); } else { _this5.h["rcp"] = v5; } var this7 = openfl_utils_AGALMiniAssembler.OPMAP; var v6 = new openfl_utils__$AGALMiniAssembler_OpCode("min",3,6,0); var _this6 = this7; if(__map_reserved["min"] != null) { _this6.setReserved("min",v6); } else { _this6.h["min"] = v6; } var this8 = openfl_utils_AGALMiniAssembler.OPMAP; var v7 = new openfl_utils__$AGALMiniAssembler_OpCode("max",3,7,0); var _this7 = this8; if(__map_reserved["max"] != null) { _this7.setReserved("max",v7); } else { _this7.h["max"] = v7; } var this9 = openfl_utils_AGALMiniAssembler.OPMAP; var v8 = new openfl_utils__$AGALMiniAssembler_OpCode("frc",2,8,0); var _this8 = this9; if(__map_reserved["frc"] != null) { _this8.setReserved("frc",v8); } else { _this8.h["frc"] = v8; } var this10 = openfl_utils_AGALMiniAssembler.OPMAP; var v9 = new openfl_utils__$AGALMiniAssembler_OpCode("sqt",2,9,0); var _this9 = this10; if(__map_reserved["sqt"] != null) { _this9.setReserved("sqt",v9); } else { _this9.h["sqt"] = v9; } var this11 = openfl_utils_AGALMiniAssembler.OPMAP; var v10 = new openfl_utils__$AGALMiniAssembler_OpCode("rsq",2,10,0); var _this10 = this11; if(__map_reserved["rsq"] != null) { _this10.setReserved("rsq",v10); } else { _this10.h["rsq"] = v10; } var this12 = openfl_utils_AGALMiniAssembler.OPMAP; var v11 = new openfl_utils__$AGALMiniAssembler_OpCode("pow",3,11,0); var _this11 = this12; if(__map_reserved["pow"] != null) { _this11.setReserved("pow",v11); } else { _this11.h["pow"] = v11; } var this13 = openfl_utils_AGALMiniAssembler.OPMAP; var v12 = new openfl_utils__$AGALMiniAssembler_OpCode("log",2,12,0); var _this12 = this13; if(__map_reserved["log"] != null) { _this12.setReserved("log",v12); } else { _this12.h["log"] = v12; } var this14 = openfl_utils_AGALMiniAssembler.OPMAP; var v13 = new openfl_utils__$AGALMiniAssembler_OpCode("exp",2,13,0); var _this13 = this14; if(__map_reserved["exp"] != null) { _this13.setReserved("exp",v13); } else { _this13.h["exp"] = v13; } var this15 = openfl_utils_AGALMiniAssembler.OPMAP; var v14 = new openfl_utils__$AGALMiniAssembler_OpCode("nrm",2,14,0); var _this14 = this15; if(__map_reserved["nrm"] != null) { _this14.setReserved("nrm",v14); } else { _this14.h["nrm"] = v14; } var this16 = openfl_utils_AGALMiniAssembler.OPMAP; var v15 = new openfl_utils__$AGALMiniAssembler_OpCode("sin",2,15,0); var _this15 = this16; if(__map_reserved["sin"] != null) { _this15.setReserved("sin",v15); } else { _this15.h["sin"] = v15; } var this17 = openfl_utils_AGALMiniAssembler.OPMAP; var v16 = new openfl_utils__$AGALMiniAssembler_OpCode("cos",2,16,0); var _this16 = this17; if(__map_reserved["cos"] != null) { _this16.setReserved("cos",v16); } else { _this16.h["cos"] = v16; } var this18 = openfl_utils_AGALMiniAssembler.OPMAP; var v17 = new openfl_utils__$AGALMiniAssembler_OpCode("crs",3,17,0); var _this17 = this18; if(__map_reserved["crs"] != null) { _this17.setReserved("crs",v17); } else { _this17.h["crs"] = v17; } var this19 = openfl_utils_AGALMiniAssembler.OPMAP; var v18 = new openfl_utils__$AGALMiniAssembler_OpCode("dp3",3,18,0); var _this18 = this19; if(__map_reserved["dp3"] != null) { _this18.setReserved("dp3",v18); } else { _this18.h["dp3"] = v18; } var this20 = openfl_utils_AGALMiniAssembler.OPMAP; var v19 = new openfl_utils__$AGALMiniAssembler_OpCode("dp4",3,19,0); var _this19 = this20; if(__map_reserved["dp4"] != null) { _this19.setReserved("dp4",v19); } else { _this19.h["dp4"] = v19; } var this21 = openfl_utils_AGALMiniAssembler.OPMAP; var v20 = new openfl_utils__$AGALMiniAssembler_OpCode("abs",2,20,0); var _this20 = this21; if(__map_reserved["abs"] != null) { _this20.setReserved("abs",v20); } else { _this20.h["abs"] = v20; } var this22 = openfl_utils_AGALMiniAssembler.OPMAP; var v21 = new openfl_utils__$AGALMiniAssembler_OpCode("neg",2,21,0); var _this21 = this22; if(__map_reserved["neg"] != null) { _this21.setReserved("neg",v21); } else { _this21.h["neg"] = v21; } var this23 = openfl_utils_AGALMiniAssembler.OPMAP; var v22 = new openfl_utils__$AGALMiniAssembler_OpCode("sat",2,22,0); var _this22 = this23; if(__map_reserved["sat"] != null) { _this22.setReserved("sat",v22); } else { _this22.h["sat"] = v22; } var this24 = openfl_utils_AGALMiniAssembler.OPMAP; var v23 = new openfl_utils__$AGALMiniAssembler_OpCode("m33",3,23,16); var _this23 = this24; if(__map_reserved["m33"] != null) { _this23.setReserved("m33",v23); } else { _this23.h["m33"] = v23; } var this25 = openfl_utils_AGALMiniAssembler.OPMAP; var v24 = new openfl_utils__$AGALMiniAssembler_OpCode("m44",3,24,16); var _this24 = this25; if(__map_reserved["m44"] != null) { _this24.setReserved("m44",v24); } else { _this24.h["m44"] = v24; } var this26 = openfl_utils_AGALMiniAssembler.OPMAP; var v25 = new openfl_utils__$AGALMiniAssembler_OpCode("m34",3,25,16); var _this25 = this26; if(__map_reserved["m34"] != null) { _this25.setReserved("m34",v25); } else { _this25.h["m34"] = v25; } var this27 = openfl_utils_AGALMiniAssembler.OPMAP; var v26 = new openfl_utils__$AGALMiniAssembler_OpCode("ddx",2,26,288); var _this26 = this27; if(__map_reserved["ddx"] != null) { _this26.setReserved("ddx",v26); } else { _this26.h["ddx"] = v26; } var this28 = openfl_utils_AGALMiniAssembler.OPMAP; var v27 = new openfl_utils__$AGALMiniAssembler_OpCode("ddy",2,27,288); var _this27 = this28; if(__map_reserved["ddy"] != null) { _this27.setReserved("ddy",v27); } else { _this27.h["ddy"] = v27; } var this29 = openfl_utils_AGALMiniAssembler.OPMAP; var v28 = new openfl_utils__$AGALMiniAssembler_OpCode("ife",2,28,897); var _this28 = this29; if(__map_reserved["ife"] != null) { _this28.setReserved("ife",v28); } else { _this28.h["ife"] = v28; } var this30 = openfl_utils_AGALMiniAssembler.OPMAP; var v29 = new openfl_utils__$AGALMiniAssembler_OpCode("ine",2,29,897); var _this29 = this30; if(__map_reserved["ine"] != null) { _this29.setReserved("ine",v29); } else { _this29.h["ine"] = v29; } var this31 = openfl_utils_AGALMiniAssembler.OPMAP; var v30 = new openfl_utils__$AGALMiniAssembler_OpCode("ifg",2,30,897); var _this30 = this31; if(__map_reserved["ifg"] != null) { _this30.setReserved("ifg",v30); } else { _this30.h["ifg"] = v30; } var this32 = openfl_utils_AGALMiniAssembler.OPMAP; var v31 = new openfl_utils__$AGALMiniAssembler_OpCode("ifl",2,31,897); var _this31 = this32; if(__map_reserved["ifl"] != null) { _this31.setReserved("ifl",v31); } else { _this31.h["ifl"] = v31; } var this33 = openfl_utils_AGALMiniAssembler.OPMAP; var v32 = new openfl_utils__$AGALMiniAssembler_OpCode("els",0,32,1921); var _this32 = this33; if(__map_reserved["els"] != null) { _this32.setReserved("els",v32); } else { _this32.h["els"] = v32; } var this34 = openfl_utils_AGALMiniAssembler.OPMAP; var v33 = new openfl_utils__$AGALMiniAssembler_OpCode("eif",0,33,1409); var _this33 = this34; if(__map_reserved["eif"] != null) { _this33.setReserved("eif",v33); } else { _this33.h["eif"] = v33; } var this35 = openfl_utils_AGALMiniAssembler.OPMAP; var v34 = new openfl_utils__$AGALMiniAssembler_OpCode("kil",1,39,160); var _this34 = this35; if(__map_reserved["kil"] != null) { _this34.setReserved("kil",v34); } else { _this34.h["kil"] = v34; } var this36 = openfl_utils_AGALMiniAssembler.OPMAP; var v35 = new openfl_utils__$AGALMiniAssembler_OpCode("tex",3,40,40); var _this35 = this36; if(__map_reserved["tex"] != null) { _this35.setReserved("tex",v35); } else { _this35.h["tex"] = v35; } var this37 = openfl_utils_AGALMiniAssembler.OPMAP; var v36 = new openfl_utils__$AGALMiniAssembler_OpCode("sge",3,41,0); var _this36 = this37; if(__map_reserved["sge"] != null) { _this36.setReserved("sge",v36); } else { _this36.h["sge"] = v36; } var this38 = openfl_utils_AGALMiniAssembler.OPMAP; var v37 = new openfl_utils__$AGALMiniAssembler_OpCode("slt",3,42,0); var _this37 = this38; if(__map_reserved["slt"] != null) { _this37.setReserved("slt",v37); } else { _this37.h["slt"] = v37; } var this39 = openfl_utils_AGALMiniAssembler.OPMAP; var v38 = new openfl_utils__$AGALMiniAssembler_OpCode("sgn",2,43,0); var _this38 = this39; if(__map_reserved["sgn"] != null) { _this38.setReserved("sgn",v38); } else { _this38.h["sgn"] = v38; } var this40 = openfl_utils_AGALMiniAssembler.OPMAP; var v39 = new openfl_utils__$AGALMiniAssembler_OpCode("seq",3,44,0); var _this39 = this40; if(__map_reserved["seq"] != null) { _this39.setReserved("seq",v39); } else { _this39.h["seq"] = v39; } var this41 = openfl_utils_AGALMiniAssembler.OPMAP; var v40 = new openfl_utils__$AGALMiniAssembler_OpCode("sne",3,45,0); var _this40 = this41; if(__map_reserved["sne"] != null) { _this40.setReserved("sne",v40); } else { _this40.h["sne"] = v40; } var this42 = openfl_utils_AGALMiniAssembler.SAMPLEMAP; var v41 = new openfl_utils__$AGALMiniAssembler_Sampler("rgba",8,0); var _this41 = this42; if(__map_reserved["rgba"] != null) { _this41.setReserved("rgba",v41); } else { _this41.h["rgba"] = v41; } var this43 = openfl_utils_AGALMiniAssembler.SAMPLEMAP; var v42 = new openfl_utils__$AGALMiniAssembler_Sampler("compressed",8,1); var _this42 = this43; if(__map_reserved["compressed"] != null) { _this42.setReserved("compressed",v42); } else { _this42.h["compressed"] = v42; } var this44 = openfl_utils_AGALMiniAssembler.SAMPLEMAP; var v43 = new openfl_utils__$AGALMiniAssembler_Sampler("compressedalpha",8,2); var _this43 = this44; if(__map_reserved["compressedalpha"] != null) { _this43.setReserved("compressedalpha",v43); } else { _this43.h["compressedalpha"] = v43; } var this45 = openfl_utils_AGALMiniAssembler.SAMPLEMAP; var v44 = new openfl_utils__$AGALMiniAssembler_Sampler("dxt1",8,1); var _this44 = this45; if(__map_reserved["dxt1"] != null) { _this44.setReserved("dxt1",v44); } else { _this44.h["dxt1"] = v44; } var this46 = openfl_utils_AGALMiniAssembler.SAMPLEMAP; var v45 = new openfl_utils__$AGALMiniAssembler_Sampler("dxt5",8,2); var _this45 = this46; if(__map_reserved["dxt5"] != null) { _this45.setReserved("dxt5",v45); } else { _this45.h["dxt5"] = v45; } var this47 = openfl_utils_AGALMiniAssembler.SAMPLEMAP; var v46 = new openfl_utils__$AGALMiniAssembler_Sampler("video",8,3); var _this46 = this47; if(__map_reserved["video"] != null) { _this46.setReserved("video",v46); } else { _this46.h["video"] = v46; } var this48 = openfl_utils_AGALMiniAssembler.SAMPLEMAP; var v47 = new openfl_utils__$AGALMiniAssembler_Sampler("2d",12,0); var _this47 = this48; if(__map_reserved["2d"] != null) { _this47.setReserved("2d",v47); } else { _this47.h["2d"] = v47; } var this49 = openfl_utils_AGALMiniAssembler.SAMPLEMAP; var v48 = new openfl_utils__$AGALMiniAssembler_Sampler("3d",12,2); var _this48 = this49; if(__map_reserved["3d"] != null) { _this48.setReserved("3d",v48); } else { _this48.h["3d"] = v48; } var this50 = openfl_utils_AGALMiniAssembler.SAMPLEMAP; var v49 = new openfl_utils__$AGALMiniAssembler_Sampler("cube",12,1); var _this49 = this50; if(__map_reserved["cube"] != null) { _this49.setReserved("cube",v49); } else { _this49.h["cube"] = v49; } var this51 = openfl_utils_AGALMiniAssembler.SAMPLEMAP; var v50 = new openfl_utils__$AGALMiniAssembler_Sampler("mipnearest",24,1); var _this50 = this51; if(__map_reserved["mipnearest"] != null) { _this50.setReserved("mipnearest",v50); } else { _this50.h["mipnearest"] = v50; } var this52 = openfl_utils_AGALMiniAssembler.SAMPLEMAP; var v51 = new openfl_utils__$AGALMiniAssembler_Sampler("miplinear",24,2); var _this51 = this52; if(__map_reserved["miplinear"] != null) { _this51.setReserved("miplinear",v51); } else { _this51.h["miplinear"] = v51; } var this53 = openfl_utils_AGALMiniAssembler.SAMPLEMAP; var v52 = new openfl_utils__$AGALMiniAssembler_Sampler("mipnone",24,0); var _this52 = this53; if(__map_reserved["mipnone"] != null) { _this52.setReserved("mipnone",v52); } else { _this52.h["mipnone"] = v52; } var this54 = openfl_utils_AGALMiniAssembler.SAMPLEMAP; var v53 = new openfl_utils__$AGALMiniAssembler_Sampler("nomip",24,0); var _this53 = this54; if(__map_reserved["nomip"] != null) { _this53.setReserved("nomip",v53); } else { _this53.h["nomip"] = v53; } var this55 = openfl_utils_AGALMiniAssembler.SAMPLEMAP; var v54 = new openfl_utils__$AGALMiniAssembler_Sampler("nearest",28,0); var _this54 = this55; if(__map_reserved["nearest"] != null) { _this54.setReserved("nearest",v54); } else { _this54.h["nearest"] = v54; } var this56 = openfl_utils_AGALMiniAssembler.SAMPLEMAP; var v55 = new openfl_utils__$AGALMiniAssembler_Sampler("linear",28,1); var _this55 = this56; if(__map_reserved["linear"] != null) { _this55.setReserved("linear",v55); } else { _this55.h["linear"] = v55; } var this57 = openfl_utils_AGALMiniAssembler.SAMPLEMAP; var v56 = new openfl_utils__$AGALMiniAssembler_Sampler("anisotropic2x",28,2); var _this56 = this57; if(__map_reserved["anisotropic2x"] != null) { _this56.setReserved("anisotropic2x",v56); } else { _this56.h["anisotropic2x"] = v56; } var this58 = openfl_utils_AGALMiniAssembler.SAMPLEMAP; var v57 = new openfl_utils__$AGALMiniAssembler_Sampler("anisotropic4x",28,3); var _this57 = this58; if(__map_reserved["anisotropic4x"] != null) { _this57.setReserved("anisotropic4x",v57); } else { _this57.h["anisotropic4x"] = v57; } var this59 = openfl_utils_AGALMiniAssembler.SAMPLEMAP; var v58 = new openfl_utils__$AGALMiniAssembler_Sampler("anisotropic8x",28,4); var _this58 = this59; if(__map_reserved["anisotropic8x"] != null) { _this58.setReserved("anisotropic8x",v58); } else { _this58.h["anisotropic8x"] = v58; } var this60 = openfl_utils_AGALMiniAssembler.SAMPLEMAP; var v59 = new openfl_utils__$AGALMiniAssembler_Sampler("anisotropic16x",28,5); var _this59 = this60; if(__map_reserved["anisotropic16x"] != null) { _this59.setReserved("anisotropic16x",v59); } else { _this59.h["anisotropic16x"] = v59; } var this61 = openfl_utils_AGALMiniAssembler.SAMPLEMAP; var v60 = new openfl_utils__$AGALMiniAssembler_Sampler("centroid",16,1); var _this60 = this61; if(__map_reserved["centroid"] != null) { _this60.setReserved("centroid",v60); } else { _this60.h["centroid"] = v60; } var this62 = openfl_utils_AGALMiniAssembler.SAMPLEMAP; var v61 = new openfl_utils__$AGALMiniAssembler_Sampler("single",16,2); var _this61 = this62; if(__map_reserved["single"] != null) { _this61.setReserved("single",v61); } else { _this61.h["single"] = v61; } var this63 = openfl_utils_AGALMiniAssembler.SAMPLEMAP; var v62 = new openfl_utils__$AGALMiniAssembler_Sampler("ignoresampler",16,4); var _this62 = this63; if(__map_reserved["ignoresampler"] != null) { _this62.setReserved("ignoresampler",v62); } else { _this62.h["ignoresampler"] = v62; } var this64 = openfl_utils_AGALMiniAssembler.SAMPLEMAP; var v63 = new openfl_utils__$AGALMiniAssembler_Sampler("repeat",20,1); var _this63 = this64; if(__map_reserved["repeat"] != null) { _this63.setReserved("repeat",v63); } else { _this63.h["repeat"] = v63; } var this65 = openfl_utils_AGALMiniAssembler.SAMPLEMAP; var v64 = new openfl_utils__$AGALMiniAssembler_Sampler("wrap",20,1); var _this64 = this65; if(__map_reserved["wrap"] != null) { _this64.setReserved("wrap",v64); } else { _this64.h["wrap"] = v64; } var this66 = openfl_utils_AGALMiniAssembler.SAMPLEMAP; var v65 = new openfl_utils__$AGALMiniAssembler_Sampler("clamp",20,0); var _this65 = this66; if(__map_reserved["clamp"] != null) { _this65.setReserved("clamp",v65); } else { _this65.h["clamp"] = v65; } var this67 = openfl_utils_AGALMiniAssembler.SAMPLEMAP; var v66 = new openfl_utils__$AGALMiniAssembler_Sampler("clamp_u_repeat_v",20,2); var _this66 = this67; if(__map_reserved["clamp_u_repeat_v"] != null) { _this66.setReserved("clamp_u_repeat_v",v66); } else { _this66.h["clamp_u_repeat_v"] = v66; } var this68 = openfl_utils_AGALMiniAssembler.SAMPLEMAP; var v67 = new openfl_utils__$AGALMiniAssembler_Sampler("repeat_u_clamp_v",20,3); var _this67 = this68; if(__map_reserved["repeat_u_clamp_v"] != null) { _this67.setReserved("repeat_u_clamp_v",v67); } else { _this67.h["repeat_u_clamp_v"] = v67; } }; openfl_utils_AGALMiniAssembler.prototype = { agalcode: null ,error: null ,verbose: null ,debugEnabled: null ,assemble2: function(context3D,version,vertexSource,fragmentSource) { var agalVertex = this.assemble("vertex",vertexSource,version); var agalFragment = this.assemble("fragment",fragmentSource,version); var program = context3D.createProgram(); program.upload(agalVertex,agalFragment); return program; } ,assemble: function(mode,source,version,ignoreLimits) { if(ignoreLimits == null) { ignoreLimits = false; } if(version == null) { version = 1; } var start = openfl_Lib.getTimer(); var this1 = new openfl_utils_ByteArrayData(0); this.agalcode = this1; this.error = ""; var isFrag = false; if(mode == "fragment") { isFrag = true; } else if(mode != "vertex") { this.error = "ERROR: mode needs to be \"" + "fragment" + "\" or \"" + "vertex" + "\" but is \"" + mode + "\"."; } this.agalcode.__endian = 1; this.agalcode.writeByte(160); this.agalcode.writeUnsignedInt(version); this.agalcode.writeByte(161); this.agalcode.writeByte(isFrag ? 1 : 0); this.initregmap(version,ignoreLimits); var lines = StringTools.replace(source,"\r","\n").split("\n"); var nops = 0; var lng = lines.length; var reg1 = new EReg("<.*>","g"); var reg2 = new EReg("([\\w\\.\\-\\+]+)","gi"); var reg3 = new EReg("^\\w{3}","ig"); var reg4 = new EReg("vc\\[([vofi][acostdip]?[d]?)(\\d*)?(\\.[xyzw](\\+\\d{1,3})?)?\\](\\.[xyzw]{1,4})?|([vofi][acostdip]?[d]?)(\\d*)?(\\.[xyzw]{1,4})?","gi"); var reg5 = new EReg("\\[.*\\]","ig"); var reg6 = new EReg("^\\b[A-Za-z]{1,3}","ig"); var reg7 = new EReg("\\d+",""); var reg8 = new EReg("(\\.[xyzw]{1,4})",""); var reg9 = new EReg("[A-Za-z]{1,3}","ig"); var reg10 = new EReg("(\\.[xyzw]{1,1})",""); var reg11 = new EReg("\\+\\d{1,3}","ig"); var i = 0; while(i < lng && this.error == "") { var line = StringTools.trim(lines[i]); var startcomment = line.indexOf("//"); if(startcomment != -1) { line = HxOverrides.substr(line,0,startcomment); } var optsi = reg1.match(line) ? reg1.matchedPos().pos : -1; var opts = null; if(optsi != -1) { opts = this.match(HxOverrides.substr(line,optsi,null),reg2); line = HxOverrides.substr(line,0,optsi); } var opCode = null; var opFound = null; if(reg3.match(line)) { opCode = reg3.matched(0); var _this = openfl_utils_AGALMiniAssembler.OPMAP; opFound = __map_reserved[opCode] != null ? _this.getReserved(opCode) : _this.h[opCode]; } if(opFound == null) { if(line.length >= 3) { lime_utils_Log.warn("warning: bad line " + i + ": " + lines[i],{ fileName : "openfl/utils/AGALMiniAssembler.hx", lineNumber : 262, className : "openfl.utils.AGALMiniAssembler", methodName : "assemble"}); } ++i; continue; } if(this.debugEnabled) { lime_utils_Log.info(opFound,{ fileName : "openfl/utils/AGALMiniAssembler.hx", lineNumber : 272, className : "openfl.utils.AGALMiniAssembler", methodName : "assemble"}); } if(opFound == null) { if(line.length >= 3) { lime_utils_Log.warn("warning: bad line " + i + ": " + lines[i],{ fileName : "openfl/utils/AGALMiniAssembler.hx", lineNumber : 279, className : "openfl.utils.AGALMiniAssembler", methodName : "assemble"}); } ++i; continue; } line = HxOverrides.substr(line,line.indexOf(opFound.name) + opFound.name.length,null); if((opFound.flags & 256) != 0 && version < 2) { this.error = "error: opcode requires version 2."; break; } if((opFound.flags & 64) != 0 && isFrag) { this.error = "error: opcode is only allowed in vertex programs."; break; } if((opFound.flags & 32) != 0 && !isFrag) { this.error = "error: opcode is only allowed in fragment programs."; break; } if(this.verbose) { lime_utils_Log.info("emit opcode=" + Std.string(opFound),{ fileName : "openfl/utils/AGALMiniAssembler.hx", lineNumber : 308, className : "openfl.utils.AGALMiniAssembler", methodName : "assemble"}); } this.agalcode.writeUnsignedInt(opFound.emitCode); ++nops; if(nops > 4096) { this.error = "error: too many opcodes. maximum is " + 4096 + "."; break; } var regs = this.match(line,reg4); if(regs.length != opFound.numRegister) { this.error = "error: wrong number of operands. found " + regs.length + " but expected " + opFound.numRegister + "."; break; } var badreg = false; var pad = 160; var regLength = regs.length; var _g = 0; var _g1 = regLength; while(_g < _g1) { var j = _g++; var isRelative = false; var relreg = this.match(regs[j],reg5); if(relreg.length > 0) { regs[j] = StringTools.replace(regs[j],relreg[0],"0"); if(this.verbose) { lime_utils_Log.info("IS REL",{ fileName : "openfl/utils/AGALMiniAssembler.hx", lineNumber : 344, className : "openfl.utils.AGALMiniAssembler", methodName : "assemble"}); } isRelative = true; } var res = this.match(regs[j],reg6); if(res.length == 0) { this.error = "error: could not parse operand " + j + " (" + regs[j] + ")."; badreg = true; break; } var _this1 = openfl_utils_AGALMiniAssembler.REGMAP; var key = res[0]; var regFound = __map_reserved[key] != null ? _this1.getReserved(key) : _this1.h[key]; if(this.debugEnabled) { lime_utils_Log.info(regFound,{ fileName : "openfl/utils/AGALMiniAssembler.hx", lineNumber : 363, className : "openfl.utils.AGALMiniAssembler", methodName : "assemble"}); } if(regFound == null) { this.error = "error: could not find register name for operand " + j + " (" + regs[j] + ")."; badreg = true; break; } if(isFrag) { if((regFound.flags & 32) == 0) { this.error = "error: register operand " + j + " (" + regs[j] + ") only allowed in vertex programs."; badreg = true; break; } if(isRelative) { this.error = "error: register operand " + j + " (" + regs[j] + ") relative adressing not allowed in fragment programs."; badreg = true; break; } } else if((regFound.flags & 64) == 0) { this.error = "error: register operand " + j + " (" + regs[j] + ") only allowed in fragment programs."; badreg = true; break; } regs[j] = HxOverrides.substr(regs[j],regs[j].indexOf(regFound.name) + regFound.name.length,null); var idxmatch = isRelative ? this.match(relreg[0],reg7) : this.match(regs[j],reg7); var regidx = 0; if(idxmatch.length > 0) { regidx = Std.parseInt(idxmatch[0]); } if(_$UInt_UInt_$Impl_$.gt(regidx,regFound.range)) { var this2 = regFound.range + 1; this.error = "error: register operand " + j + " (" + regs[j] + ") index exceeds limit of " + Std.string(this2 == null ? null : _$UInt_UInt_$Impl_$.toFloat(this2)) + "."; badreg = true; break; } var regmask = 0; var maskmatch = this.match(regs[j],reg8); var isDest = j == 0 && (opFound.flags & 128) == 0; var isSampler = j == 2 && (opFound.flags & 8) != 0; var reltype = 0; var relsel = 0; var reloffset = 0; if(isDest && isRelative) { this.error = "error: relative can not be destination"; badreg = true; break; } if(maskmatch.length > 0) { regmask = 0; var cv = 0; var maskLength = maskmatch[0].length; var k = 1; while(k < maskLength) { cv = HxOverrides.cca(maskmatch[0],k) - 120; if(_$UInt_UInt_$Impl_$.gt(cv,2)) { cv = 3; } if(isDest) { regmask |= 1 << cv; } else { regmask = regmask | cv << (k - 1 << 1); } ++k; } if(!isDest) { while(k <= 4) { regmask = regmask | cv << (k - 1 << 1); ++k; } } } else { regmask = isDest ? 15 : 228; } if(isRelative) { var relname = this.match(relreg[0],reg9); var _this2 = openfl_utils_AGALMiniAssembler.REGMAP; var key1 = relname[0]; var regFoundRel = __map_reserved[key1] != null ? _this2.getReserved(key1) : _this2.h[key1]; if(regFoundRel == null) { this.error = "error: bad index register"; badreg = true; break; } reltype = regFoundRel.emitCode; var selmatch = this.match(relreg[0],reg10); if(selmatch.length == 0) { this.error = "error: bad index register select"; badreg = true; break; } relsel = HxOverrides.cca(selmatch[0],1) - 120; if(_$UInt_UInt_$Impl_$.gt(relsel,2)) { relsel = 3; } var relofs = this.match(relreg[0],reg11); if(relofs.length > 0) { reloffset = Std.parseInt(relofs[0]); } if(reloffset < 0 || reloffset > 255) { this.error = "error: index offset " + reloffset + " out of bounds. [0..255]"; badreg = true; break; } if(this.verbose) { lime_utils_Log.info("RELATIVE: type=" + reltype + "==" + relname[0] + " sel=" + Std.string(relsel == null ? null : _$UInt_UInt_$Impl_$.toFloat(relsel)) + "==" + selmatch[0] + " idx=" + Std.string(regidx == null ? null : _$UInt_UInt_$Impl_$.toFloat(regidx)) + " offset=" + reloffset,{ fileName : "openfl/utils/AGALMiniAssembler.hx", lineNumber : 518, className : "openfl.utils.AGALMiniAssembler", methodName : "assemble"}); } } if(this.verbose) { lime_utils_Log.info(" emit argcode=" + Std.string(regFound) + "[" + Std.string(regidx == null ? null : _$UInt_UInt_$Impl_$.toFloat(regidx)) + "][" + regmask + "]",{ fileName : "openfl/utils/AGALMiniAssembler.hx", lineNumber : 525, className : "openfl.utils.AGALMiniAssembler", methodName : "assemble"}); } if(isDest) { this.agalcode.writeShort(regidx); this.agalcode.writeByte(regmask); this.agalcode.writeByte(regFound.emitCode); pad -= 32; } else if(isSampler) { if(this.verbose) { lime_utils_Log.info(" emit sampler",{ fileName : "openfl/utils/AGALMiniAssembler.hx", lineNumber : 541, className : "openfl.utils.AGALMiniAssembler", methodName : "assemble"}); } var samplerbits = 5; var optsLength = opts == null ? 0 : opts.length; var bias = 0.0; var _g2 = 0; var _g11 = optsLength; while(_g2 < _g11) { var k1 = _g2++; if(this.verbose) { lime_utils_Log.info(" opt: " + opts[k1],{ fileName : "openfl/utils/AGALMiniAssembler.hx", lineNumber : 552, className : "openfl.utils.AGALMiniAssembler", methodName : "assemble"}); } var _this3 = openfl_utils_AGALMiniAssembler.SAMPLEMAP; var key2 = opts[k1]; var optfound = __map_reserved[key2] != null ? _this3.getReserved(key2) : _this3.h[key2]; if(optfound == null) { bias = parseFloat(opts[k1]); if(this.verbose) { lime_utils_Log.info(" bias: " + bias,{ fileName : "openfl/utils/AGALMiniAssembler.hx", lineNumber : 565, className : "openfl.utils.AGALMiniAssembler", methodName : "assemble"}); } } else { if(optfound.flag != 16) { samplerbits &= ~(15 << optfound.flag); } samplerbits = samplerbits | optfound.mask << optfound.flag; } } this.agalcode.writeShort(regidx); this.agalcode.writeByte(bias * 8.0 | 0); this.agalcode.writeByte(0); this.agalcode.writeUnsignedInt(samplerbits); if(this.verbose) { lime_utils_Log.info(" bits: " + (samplerbits - 5),{ fileName : "openfl/utils/AGALMiniAssembler.hx", lineNumber : 586, className : "openfl.utils.AGALMiniAssembler", methodName : "assemble"}); } pad -= 64; } else { if(j == 0) { this.agalcode.writeUnsignedInt(0); pad -= 32; } this.agalcode.writeShort(regidx); this.agalcode.writeByte(reloffset); this.agalcode.writeByte(regmask); this.agalcode.writeByte(regFound.emitCode); this.agalcode.writeByte(reltype); this.agalcode.writeShort(isRelative ? relsel | 32768 : 0); pad -= 64; } } var j1 = 0; while(j1 < pad) { this.agalcode.writeByte(0); j1 += 8; } if(badreg) { break; } ++i; } if(this.error != "") { this.error += "\n at line " + i + " " + lines[i]; openfl_utils__$ByteArray_ByteArray_$Impl_$.set_length(this.agalcode,0); lime_utils_Log.info(this.error,{ fileName : "openfl/utils/AGALMiniAssembler.hx", lineNumber : 631, className : "openfl.utils.AGALMiniAssembler", methodName : "assemble"}); } if(this.debugEnabled) { var dbgLine = "generated bytecode:"; var agalLength = openfl_utils__$ByteArray_ByteArray_$Impl_$.get_length(this.agalcode); var _g3 = 0; var _g12 = agalLength; while(_g3 < _g12) { var index = _g3++; if(index % 16 == 0) { dbgLine += "\n"; } if(index % 4 == 0) { dbgLine += " "; } var byteStr = StringTools.hex(this.agalcode.b[index],2); if(byteStr.length < 2) { byteStr = "0" + byteStr; } dbgLine += byteStr; } lime_utils_Log.info(dbgLine,{ fileName : "openfl/utils/AGALMiniAssembler.hx", lineNumber : 662, className : "openfl.utils.AGALMiniAssembler", methodName : "assemble"}); } if(this.verbose) { lime_utils_Log.info("AGALMiniAssembler.assemble time: " + (openfl_Lib.getTimer() - start) / 1000 + "s",{ fileName : "openfl/utils/AGALMiniAssembler.hx", lineNumber : 667, className : "openfl.utils.AGALMiniAssembler", methodName : "assemble"}); } return this.agalcode; } ,initregmap: function(version,ignorelimits) { var this1 = openfl_utils_AGALMiniAssembler.REGMAP; var v = new openfl_utils__$AGALMiniAssembler_Register("va","vertex attribute",0,ignorelimits ? 1024 : version == 1 || version == 2 ? 7 : 15,66); var _this = this1; if(__map_reserved["va"] != null) { _this.setReserved("va",v); } else { _this.h["va"] = v; } var this2 = openfl_utils_AGALMiniAssembler.REGMAP; var v1 = new openfl_utils__$AGALMiniAssembler_Register("vc","vertex constant",1,ignorelimits ? 1024 : version == 1 ? 127 : 249,66); var _this1 = this2; if(__map_reserved["vc"] != null) { _this1.setReserved("vc",v1); } else { _this1.h["vc"] = v1; } var this3 = openfl_utils_AGALMiniAssembler.REGMAP; var v2 = new openfl_utils__$AGALMiniAssembler_Register("vt","vertex temporary",2,ignorelimits ? 1024 : version == 1 ? 7 : 25,67); var _this2 = this3; if(__map_reserved["vt"] != null) { _this2.setReserved("vt",v2); } else { _this2.h["vt"] = v2; } var this4 = openfl_utils_AGALMiniAssembler.REGMAP; var v3 = new openfl_utils__$AGALMiniAssembler_Register("vo","vertex output",3,ignorelimits ? 1024 : 0,65); var _this3 = this4; if(__map_reserved["vo"] != null) { _this3.setReserved("vo",v3); } else { _this3.h["vo"] = v3; } var this5 = openfl_utils_AGALMiniAssembler.REGMAP; var v4 = new openfl_utils__$AGALMiniAssembler_Register("vi","varying",4,ignorelimits ? 1024 : version == 1 ? 7 : 9,99); var _this4 = this5; if(__map_reserved["vi"] != null) { _this4.setReserved("vi",v4); } else { _this4.h["vi"] = v4; } var this6 = openfl_utils_AGALMiniAssembler.REGMAP; var v5 = new openfl_utils__$AGALMiniAssembler_Register("fc","fragment constant",1,ignorelimits ? 1024 : version == 1 ? 27 : version == 2 ? 63 : 199,34); var _this5 = this6; if(__map_reserved["fc"] != null) { _this5.setReserved("fc",v5); } else { _this5.h["fc"] = v5; } var this7 = openfl_utils_AGALMiniAssembler.REGMAP; var v6 = new openfl_utils__$AGALMiniAssembler_Register("ft","fragment temporary",2,ignorelimits ? 1024 : version == 1 ? 7 : 25,35); var _this6 = this7; if(__map_reserved["ft"] != null) { _this6.setReserved("ft",v6); } else { _this6.h["ft"] = v6; } var this8 = openfl_utils_AGALMiniAssembler.REGMAP; var v7 = new openfl_utils__$AGALMiniAssembler_Register("fs","texture sampler",5,ignorelimits ? 1024 : 7,34); var _this7 = this8; if(__map_reserved["fs"] != null) { _this7.setReserved("fs",v7); } else { _this7.h["fs"] = v7; } var this9 = openfl_utils_AGALMiniAssembler.REGMAP; var v8 = new openfl_utils__$AGALMiniAssembler_Register("fo","fragment output",3,ignorelimits ? 1024 : version == 1 ? 0 : 3,33); var _this8 = this9; if(__map_reserved["fo"] != null) { _this8.setReserved("fo",v8); } else { _this8.h["fo"] = v8; } var this10 = openfl_utils_AGALMiniAssembler.REGMAP; var v9 = new openfl_utils__$AGALMiniAssembler_Register("fd","fragment depth output",6,ignorelimits ? 1024 : version == 1 ? -1 : 0,33); var _this9 = this10; if(__map_reserved["fd"] != null) { _this9.setReserved("fd",v9); } else { _this9.h["fd"] = v9; } var this11 = openfl_utils_AGALMiniAssembler.REGMAP; var v10 = new openfl_utils__$AGALMiniAssembler_Register("iid","instance id",7,ignorelimits ? 1024 : 0,66); var _this10 = this11; if(__map_reserved["iid"] != null) { _this10.setReserved("iid",v10); } else { _this10.h["iid"] = v10; } var this12 = openfl_utils_AGALMiniAssembler.REGMAP; var _this11 = openfl_utils_AGALMiniAssembler.REGMAP; var v11 = __map_reserved["vo"] != null ? _this11.getReserved("vo") : _this11.h["vo"]; var _this12 = this12; if(__map_reserved["op"] != null) { _this12.setReserved("op",v11); } else { _this12.h["op"] = v11; } var this13 = openfl_utils_AGALMiniAssembler.REGMAP; var _this13 = openfl_utils_AGALMiniAssembler.REGMAP; var v12 = __map_reserved["vi"] != null ? _this13.getReserved("vi") : _this13.h["vi"]; var _this14 = this13; if(__map_reserved["i"] != null) { _this14.setReserved("i",v12); } else { _this14.h["i"] = v12; } var this14 = openfl_utils_AGALMiniAssembler.REGMAP; var _this15 = openfl_utils_AGALMiniAssembler.REGMAP; var v13 = __map_reserved["vi"] != null ? _this15.getReserved("vi") : _this15.h["vi"]; var _this16 = this14; if(__map_reserved["v"] != null) { _this16.setReserved("v",v13); } else { _this16.h["v"] = v13; } var this15 = openfl_utils_AGALMiniAssembler.REGMAP; var _this17 = openfl_utils_AGALMiniAssembler.REGMAP; var v14 = __map_reserved["fo"] != null ? _this17.getReserved("fo") : _this17.h["fo"]; var _this18 = this15; if(__map_reserved["oc"] != null) { _this18.setReserved("oc",v14); } else { _this18.h["oc"] = v14; } var this16 = openfl_utils_AGALMiniAssembler.REGMAP; var _this19 = openfl_utils_AGALMiniAssembler.REGMAP; var v15 = __map_reserved["fd"] != null ? _this19.getReserved("fd") : _this19.h["fd"]; var _this20 = this16; if(__map_reserved["od"] != null) { _this20.setReserved("od",v15); } else { _this20.h["od"] = v15; } var this17 = openfl_utils_AGALMiniAssembler.REGMAP; var _this21 = openfl_utils_AGALMiniAssembler.REGMAP; var v16 = __map_reserved["vi"] != null ? _this21.getReserved("vi") : _this21.h["vi"]; var _this22 = this17; if(__map_reserved["fi"] != null) { _this22.setReserved("fi",v16); } else { _this22.h["fi"] = v16; } } ,match: function(value,reg) { var matches = []; var index = 0; var match; while(reg.matchSub(value,index)) { match = reg.matched(0); matches.push(match); index = reg.matchedPos().pos + match.length; } return matches; } ,__class__: openfl_utils_AGALMiniAssembler }; var openfl_utils__$AGALMiniAssembler_OpCode = function(name,numRegister,emitCode,flags) { this.name = name; this.numRegister = numRegister; this.emitCode = emitCode; this.flags = flags; }; $hxClasses["openfl.utils._AGALMiniAssembler.OpCode"] = openfl_utils__$AGALMiniAssembler_OpCode; openfl_utils__$AGALMiniAssembler_OpCode.__name__ = "openfl.utils._AGALMiniAssembler.OpCode"; openfl_utils__$AGALMiniAssembler_OpCode.prototype = { emitCode: null ,flags: null ,name: null ,numRegister: null ,toString: function() { return "[OpCode name=\"" + this.name + "\", numRegister=" + this.numRegister + ", emitCode=" + this.emitCode + ", flags=" + this.flags + "]"; } ,__class__: openfl_utils__$AGALMiniAssembler_OpCode }; var openfl_utils__$AGALMiniAssembler_Register = function(name,longName,emitCode,range,flags) { this.name = name; this.longName = longName; this.emitCode = emitCode; this.range = range; this.flags = flags; }; $hxClasses["openfl.utils._AGALMiniAssembler.Register"] = openfl_utils__$AGALMiniAssembler_Register; openfl_utils__$AGALMiniAssembler_Register.__name__ = "openfl.utils._AGALMiniAssembler.Register"; openfl_utils__$AGALMiniAssembler_Register.prototype = { emitCode: null ,name: null ,longName: null ,flags: null ,range: null ,toString: function() { var this1 = this.emitCode; var tmp = "[Register name=\"" + this.name + "\", longName=\"" + this.longName + "\", emitCode=" + Std.string(this1 == null ? null : _$UInt_UInt_$Impl_$.toFloat(this1)) + ", range="; var this2 = this.range; var tmp1 = tmp + Std.string(this2 == null ? null : _$UInt_UInt_$Impl_$.toFloat(this2)) + ", flags="; var this3 = this.flags; return tmp1 + Std.string(this3 == null ? null : _$UInt_UInt_$Impl_$.toFloat(this3)) + "]"; } ,__class__: openfl_utils__$AGALMiniAssembler_Register }; var openfl_utils__$AGALMiniAssembler_Sampler = function(name,flag,mask) { this.name = name; this.flag = flag; this.mask = mask; }; $hxClasses["openfl.utils._AGALMiniAssembler.Sampler"] = openfl_utils__$AGALMiniAssembler_Sampler; openfl_utils__$AGALMiniAssembler_Sampler.__name__ = "openfl.utils._AGALMiniAssembler.Sampler"; openfl_utils__$AGALMiniAssembler_Sampler.prototype = { flag: null ,mask: null ,name: null ,toString: function() { var this1 = this.flag; var tmp = "[Sampler name=\"" + this.name + "\", flag=\"" + Std.string(this1 == null ? null : _$UInt_UInt_$Impl_$.toFloat(this1)) + "\", mask="; var this2 = this.mask; return tmp + Std.string(this2 == null ? null : _$UInt_UInt_$Impl_$.toFloat(this2)) + "]"; } ,__class__: openfl_utils__$AGALMiniAssembler_Sampler }; var openfl_utils_IAssetCache = function() { }; $hxClasses["openfl.utils.IAssetCache"] = openfl_utils_IAssetCache; openfl_utils_IAssetCache.__name__ = "openfl.utils.IAssetCache"; openfl_utils_IAssetCache.__isInterface__ = true; openfl_utils_IAssetCache.prototype = { get_enabled: null ,set_enabled: null ,clear: null ,getBitmapData: null ,getFont: null ,getSound: null ,hasBitmapData: null ,hasFont: null ,hasSound: null ,removeBitmapData: null ,removeFont: null ,removeSound: null ,setBitmapData: null ,setFont: null ,setSound: null ,__class__: openfl_utils_IAssetCache ,__properties__: {set_enabled:"set_enabled",get_enabled:"get_enabled"} }; var openfl_utils_AssetCache = function() { this.__enabled = true; this.bitmapData = new haxe_ds_StringMap(); this.font = new haxe_ds_StringMap(); this.sound = new haxe_ds_StringMap(); }; $hxClasses["openfl.utils.AssetCache"] = openfl_utils_AssetCache; openfl_utils_AssetCache.__name__ = "openfl.utils.AssetCache"; openfl_utils_AssetCache.__interfaces__ = [openfl_utils_IAssetCache]; openfl_utils_AssetCache.prototype = { bitmapData: null ,font: null ,sound: null ,__enabled: null ,clear: function(prefix) { if(prefix == null) { this.bitmapData = new haxe_ds_StringMap(); this.font = new haxe_ds_StringMap(); this.sound = new haxe_ds_StringMap(); } else { var keys = this.bitmapData.keys(); var key = keys; while(key.hasNext()) { var key1 = key.next(); if(StringTools.startsWith(key1,prefix)) { this.removeBitmapData(key1); } } var keys1 = this.font.keys(); var key2 = keys1; while(key2.hasNext()) { var key3 = key2.next(); if(StringTools.startsWith(key3,prefix)) { this.removeFont(key3); } } var keys2 = this.sound.keys(); var key4 = keys2; while(key4.hasNext()) { var key5 = key4.next(); if(StringTools.startsWith(key5,prefix)) { this.removeSound(key5); } } } } ,getBitmapData: function(id) { var _this = this.bitmapData; if(__map_reserved[id] != null) { return _this.getReserved(id); } else { return _this.h[id]; } } ,getFont: function(id) { var _this = this.font; if(__map_reserved[id] != null) { return _this.getReserved(id); } else { return _this.h[id]; } } ,getSound: function(id) { var _this = this.sound; if(__map_reserved[id] != null) { return _this.getReserved(id); } else { return _this.h[id]; } } ,hasBitmapData: function(id) { var _this = this.bitmapData; if(__map_reserved[id] != null) { return _this.existsReserved(id); } else { return _this.h.hasOwnProperty(id); } } ,hasFont: function(id) { var _this = this.font; if(__map_reserved[id] != null) { return _this.existsReserved(id); } else { return _this.h.hasOwnProperty(id); } } ,hasSound: function(id) { var _this = this.sound; if(__map_reserved[id] != null) { return _this.existsReserved(id); } else { return _this.h.hasOwnProperty(id); } } ,removeBitmapData: function(id) { lime_utils_Assets.cache.image.remove(id); return this.bitmapData.remove(id); } ,removeFont: function(id) { lime_utils_Assets.cache.font.remove(id); return this.font.remove(id); } ,removeSound: function(id) { lime_utils_Assets.cache.audio.remove(id); return this.sound.remove(id); } ,setBitmapData: function(id,bitmapData) { var _this = this.bitmapData; if(__map_reserved[id] != null) { _this.setReserved(id,bitmapData); } else { _this.h[id] = bitmapData; } } ,setFont: function(id,font) { var _this = this.font; if(__map_reserved[id] != null) { _this.setReserved(id,font); } else { _this.h[id] = font; } } ,setSound: function(id,sound) { var _this = this.sound; if(__map_reserved[id] != null) { _this.setReserved(id,sound); } else { _this.h[id] = sound; } } ,get_enabled: function() { return this.__enabled; } ,set_enabled: function(value) { return this.__enabled = value; } ,__class__: openfl_utils_AssetCache ,__properties__: {set_enabled:"set_enabled",get_enabled:"get_enabled"} }; var openfl_utils_AssetLibrary = function() { lime_utils_AssetLibrary.call(this); }; $hxClasses["openfl.utils.AssetLibrary"] = openfl_utils_AssetLibrary; openfl_utils_AssetLibrary.__name__ = "openfl.utils.AssetLibrary"; openfl_utils_AssetLibrary.fromBytes = function(bytes,rootPath) { return openfl_utils_AssetLibrary.fromManifest(lime_utils_AssetManifest.fromBytes(openfl_utils__$ByteArray_ByteArray_$Impl_$.toBytes(bytes),rootPath)); }; openfl_utils_AssetLibrary.fromFile = function(path,rootPath) { return openfl_utils_AssetLibrary.fromManifest(lime_utils_AssetManifest.fromFile(path,rootPath)); }; openfl_utils_AssetLibrary.fromManifest = function(manifest) { var library = lime_utils_AssetLibrary.fromManifest(manifest); if(library != null) { if(((library) instanceof openfl_utils_AssetLibrary)) { return library; } else { var _library = new openfl_utils_AssetLibrary(); _library.__proxy = library; return _library; } } else { return null; } }; openfl_utils_AssetLibrary.loadFromBytes = function(bytes,rootPath) { return lime_utils_AssetManifest.loadFromBytes(openfl_utils__$ByteArray_ByteArray_$Impl_$.toBytes(bytes),rootPath).then(function(manifest) { return openfl_utils_AssetLibrary.loadFromManifest(manifest); }); }; openfl_utils_AssetLibrary.loadFromFile = function(path,rootPath) { return lime_utils_AssetManifest.loadFromFile(path,rootPath).then(function(manifest) { return openfl_utils_AssetLibrary.loadFromManifest(manifest); }); }; openfl_utils_AssetLibrary.loadFromManifest = function(manifest) { var library = openfl_utils_AssetLibrary.fromManifest(manifest); if(library != null) { return library.load().then(function(library1) { return lime_app_Future.withValue(library1); }); } else { return lime_app_Future.withError("Could not load asset manifest"); } }; openfl_utils_AssetLibrary.__super__ = lime_utils_AssetLibrary; openfl_utils_AssetLibrary.prototype = $extend(lime_utils_AssetLibrary.prototype,{ __proxy: null ,exists: function(id,type) { if(this.__proxy != null) { return this.__proxy.exists(id,type); } else { return lime_utils_AssetLibrary.prototype.exists.call(this,id,type); } } ,getAsset: function(id,type) { if(this.__proxy != null) { return this.__proxy.getAsset(id,type); } else { return lime_utils_AssetLibrary.prototype.getAsset.call(this,id,type); } } ,getAudioBuffer: function(id) { if(this.__proxy != null) { return this.__proxy.getAudioBuffer(id); } else { return lime_utils_AssetLibrary.prototype.getAudioBuffer.call(this,id); } } ,getBytes: function(id) { if(this.__proxy != null) { return this.__proxy.getBytes(id); } else { return lime_utils_AssetLibrary.prototype.getBytes.call(this,id); } } ,getFont: function(id) { if(this.__proxy != null) { return this.__proxy.getFont(id); } else { return lime_utils_AssetLibrary.prototype.getFont.call(this,id); } } ,getImage: function(id) { if(this.__proxy != null) { return this.__proxy.getImage(id); } else { return lime_utils_AssetLibrary.prototype.getImage.call(this,id); } } ,getMovieClip: function(id) { return null; } ,getPath: function(id) { if(this.__proxy != null) { return this.__proxy.getPath(id); } else { return lime_utils_AssetLibrary.prototype.getPath.call(this,id); } } ,getText: function(id) { if(this.__proxy != null) { return this.__proxy.getText(id); } else { return lime_utils_AssetLibrary.prototype.getText.call(this,id); } } ,isLocal: function(id,type) { if(this.__proxy != null) { return this.__proxy.isLocal(id,type); } else { return lime_utils_AssetLibrary.prototype.isLocal.call(this,id,type); } } ,list: function(type) { if(this.__proxy != null) { return this.__proxy.list(type); } else { return lime_utils_AssetLibrary.prototype.list.call(this,type); } } ,loadAsset: function(id,type) { if(this.__proxy != null) { return this.__proxy.loadAsset(id,type); } else { return lime_utils_AssetLibrary.prototype.loadAsset.call(this,id,type); } } ,load: function() { if(this.__proxy != null) { return this.__proxy.load(); } else { return lime_utils_AssetLibrary.prototype.load.call(this); } } ,loadAudioBuffer: function(id) { if(this.__proxy != null) { return this.__proxy.loadAudioBuffer(id); } else { return lime_utils_AssetLibrary.prototype.loadAudioBuffer.call(this,id); } } ,loadBytes: function(id) { if(this.__proxy != null) { return this.__proxy.loadBytes(id); } else { return lime_utils_AssetLibrary.prototype.loadBytes.call(this,id); } } ,loadFont: function(id) { if(this.__proxy != null) { return this.__proxy.loadFont(id); } else { return lime_utils_AssetLibrary.prototype.loadFont.call(this,id); } } ,loadImage: function(id) { if(this.__proxy != null) { return this.__proxy.loadImage(id); } else { return lime_utils_AssetLibrary.prototype.loadImage.call(this,id); } } ,loadMovieClip: function(id) { return lime_app_Future.withValue(this.getMovieClip(id)); } ,loadText: function(id) { if(this.__proxy != null) { return this.__proxy.loadText(id); } else { return lime_utils_AssetLibrary.prototype.loadText.call(this,id); } } ,unload: function() { if(this.__proxy != null) { this.__proxy.unload(); return; } else { lime_utils_AssetLibrary.prototype.unload.call(this); return; } } ,__class__: openfl_utils_AssetLibrary }); var openfl_utils_Assets = function() { }; $hxClasses["openfl.utils.Assets"] = openfl_utils_Assets; openfl_utils_Assets.__name__ = "openfl.utils.Assets"; openfl_utils_Assets.addEventListener = function(type,listener,useCapture,priority,useWeakReference) { if(useWeakReference == null) { useWeakReference = false; } if(priority == null) { priority = 0; } if(useCapture == null) { useCapture = false; } if(!lime_utils_Assets.onChange.has(openfl_utils_Assets.LimeAssets_onChange)) { lime_utils_Assets.onChange.add(openfl_utils_Assets.LimeAssets_onChange); } openfl_utils_Assets.dispatcher.addEventListener(type,listener,useCapture,priority,useWeakReference); }; openfl_utils_Assets.dispatchEvent = function(event) { return openfl_utils_Assets.dispatcher.dispatchEvent(event); }; openfl_utils_Assets.exists = function(id,type) { return lime_utils_Assets.exists(id,type); }; openfl_utils_Assets.getBitmapData = function(id,useCache) { if(useCache == null) { useCache = true; } if(useCache && openfl_utils_Assets.cache.get_enabled() && openfl_utils_Assets.cache.hasBitmapData(id)) { var bitmapData = openfl_utils_Assets.cache.getBitmapData(id); if(openfl_utils_Assets.isValidBitmapData(bitmapData)) { return bitmapData; } } var image = lime_utils_Assets.getImage(id,false); if(image != null) { var bitmapData1 = openfl_display_BitmapData.fromImage(image); if(useCache && openfl_utils_Assets.cache.get_enabled()) { openfl_utils_Assets.cache.setBitmapData(id,bitmapData1); } return bitmapData1; } return null; }; openfl_utils_Assets.getBytes = function(id) { return openfl_utils__$ByteArray_ByteArray_$Impl_$.fromBytes(lime_utils_Assets.getBytes(id)); }; openfl_utils_Assets.getFont = function(id,useCache) { if(useCache == null) { useCache = true; } if(useCache && openfl_utils_Assets.cache.get_enabled() && openfl_utils_Assets.cache.hasFont(id)) { return openfl_utils_Assets.cache.getFont(id); } var limeFont = lime_utils_Assets.getFont(id,false); if(limeFont != null) { var font = new openfl_text_Font(); font.__fromLimeFont(limeFont); if(useCache && openfl_utils_Assets.cache.get_enabled()) { openfl_utils_Assets.cache.setFont(id,font); } return font; } return new openfl_text_Font(); }; openfl_utils_Assets.getLibrary = function(name) { return lime_utils_Assets.getLibrary(name); }; openfl_utils_Assets.getMovieClip = function(id) { var libraryName = id.substring(0,id.indexOf(":")); var symbolName = HxOverrides.substr(id,id.indexOf(":") + 1,null); var limeLibrary = openfl_utils_Assets.getLibrary(libraryName); if(limeLibrary != null) { if(((limeLibrary) instanceof openfl_utils_AssetLibrary)) { var library = limeLibrary; if(library.exists(symbolName,"MOVIE_CLIP")) { if(library.isLocal(symbolName,"MOVIE_CLIP")) { return library.getMovieClip(symbolName); } else { lime_utils_Log.error("MovieClip asset \"" + id + "\" exists, but only asynchronously",{ fileName : "openfl/utils/Assets.hx", lineNumber : 207, className : "openfl.utils.Assets", methodName : "getMovieClip"}); return null; } } } lime_utils_Log.error("There is no MovieClip asset with an ID of \"" + id + "\"",{ fileName : "openfl/utils/Assets.hx", lineNumber : 213, className : "openfl.utils.Assets", methodName : "getMovieClip"}); } else { lime_utils_Log.error("There is no asset library named \"" + libraryName + "\"",{ fileName : "openfl/utils/Assets.hx", lineNumber : 217, className : "openfl.utils.Assets", methodName : "getMovieClip"}); } return null; }; openfl_utils_Assets.getMusic = function(id,useCache) { if(useCache == null) { useCache = true; } return openfl_utils_Assets.getSound(id,useCache); }; openfl_utils_Assets.getPath = function(id) { return lime_utils_Assets.getPath(id); }; openfl_utils_Assets.getSound = function(id,useCache) { if(useCache == null) { useCache = true; } if(useCache && openfl_utils_Assets.cache.get_enabled() && openfl_utils_Assets.cache.hasSound(id)) { var sound = openfl_utils_Assets.cache.getSound(id); if(openfl_utils_Assets.isValidSound(sound)) { return sound; } } var buffer = lime_utils_Assets.getAudioBuffer(id,false); if(buffer != null) { var sound1 = openfl_media_Sound.fromAudioBuffer(buffer); if(useCache && openfl_utils_Assets.cache.get_enabled()) { openfl_utils_Assets.cache.setSound(id,sound1); } return sound1; } return null; }; openfl_utils_Assets.getText = function(id) { return lime_utils_Assets.getText(id); }; openfl_utils_Assets.hasEventListener = function(type) { return openfl_utils_Assets.dispatcher.hasEventListener(type); }; openfl_utils_Assets.hasLibrary = function(name) { return lime_utils_Assets.hasLibrary(name); }; openfl_utils_Assets.isLocal = function(id,type,useCache) { if(useCache == null) { useCache = true; } if(useCache && openfl_utils_Assets.cache.get_enabled()) { if(type == "IMAGE" || type == null) { if(openfl_utils_Assets.cache.hasBitmapData(id)) { return true; } } if(type == "FONT" || type == null) { if(openfl_utils_Assets.cache.hasFont(id)) { return true; } } if(type == "SOUND" || type == "MUSIC" || type == null) { if(openfl_utils_Assets.cache.hasSound(id)) { return true; } } } var libraryName = id.substring(0,id.indexOf(":")); var symbolName = HxOverrides.substr(id,id.indexOf(":") + 1,null); var library = openfl_utils_Assets.getLibrary(libraryName); if(library != null) { return library.isLocal(symbolName,type); } return false; }; openfl_utils_Assets.isValidBitmapData = function(bitmapData) { return bitmapData != null && bitmapData.image != null; }; openfl_utils_Assets.isValidSound = function(sound) { return true; }; openfl_utils_Assets.list = function(type) { return lime_utils_Assets.list(type); }; openfl_utils_Assets.loadBitmapData = function(id,useCache) { if(useCache == null) { useCache = true; } if(useCache == null) { useCache = true; } var promise = new lime_app_Promise(); if(useCache && openfl_utils_Assets.cache.get_enabled() && openfl_utils_Assets.cache.hasBitmapData(id)) { var bitmapData = openfl_utils_Assets.cache.getBitmapData(id); if(openfl_utils_Assets.isValidBitmapData(bitmapData)) { promise.complete(bitmapData); return promise.future; } } lime_utils_Assets.loadImage(id,false).onComplete(function(image) { if(image != null) { var bitmapData1 = openfl_display_BitmapData.fromImage(image); if(useCache && openfl_utils_Assets.cache.get_enabled()) { openfl_utils_Assets.cache.setBitmapData(id,bitmapData1); } promise.complete(bitmapData1); } else { promise.error("[Assets] Could not load Image \"" + id + "\""); } }).onError($bind(promise,promise.error)).onProgress($bind(promise,promise.progress)); return promise.future; }; openfl_utils_Assets.loadBytes = function(id) { var promise = new lime_app_Promise(); var future = lime_utils_Assets.loadBytes(id); future.onComplete(function(bytes) { promise.complete(openfl_utils__$ByteArray_ByteArray_$Impl_$.fromBytes(bytes)); }); future.onProgress(function(progress,total) { promise.progress(progress,total); }); future.onError(function(msg) { promise.error(msg); }); return promise.future; }; openfl_utils_Assets.loadFont = function(id,useCache) { if(useCache == null) { useCache = true; } if(useCache == null) { useCache = true; } var promise = new lime_app_Promise(); if(useCache && openfl_utils_Assets.cache.get_enabled() && openfl_utils_Assets.cache.hasFont(id)) { var tmp = openfl_utils_Assets.cache.getFont(id); promise.complete(tmp); return promise.future; } lime_utils_Assets.loadFont(id).onComplete(function(limeFont) { var font = new openfl_text_Font(); font.__fromLimeFont(limeFont); if(useCache && openfl_utils_Assets.cache.get_enabled()) { openfl_utils_Assets.cache.setFont(id,font); } promise.complete(font); }).onError($bind(promise,promise.error)).onProgress($bind(promise,promise.progress)); return promise.future; }; openfl_utils_Assets.loadLibrary = function(name) { return lime_utils_Assets.loadLibrary(name).then(function(library) { var _library = null; if(library != null) { if(((library) instanceof openfl_utils_AssetLibrary)) { _library = library; } else { _library = new openfl_utils_AssetLibrary(); _library.__proxy = library; lime_utils_Assets.registerLibrary(name,_library); } } return lime_app_Future.withValue(_library); }); }; openfl_utils_Assets.loadMusic = function(id,useCache) { if(useCache == null) { useCache = true; } if(useCache == null) { useCache = true; } var future = new lime_app_Future(function() { return openfl_utils_Assets.getMusic(id,useCache); }); return future; }; openfl_utils_Assets.loadMovieClip = function(id) { var promise = new lime_app_Promise(); var libraryName = id.substring(0,id.indexOf(":")); var symbolName = HxOverrides.substr(id,id.indexOf(":") + 1,null); var limeLibrary = openfl_utils_Assets.getLibrary(libraryName); if(limeLibrary != null) { if(((limeLibrary) instanceof openfl_utils_AssetLibrary)) { var library = limeLibrary; if(library.exists(symbolName,"MOVIE_CLIP")) { promise.completeWith(library.loadMovieClip(symbolName)); return promise.future; } } promise.error("[Assets] There is no MovieClip asset with an ID of \"" + id + "\""); } else { promise.error("[Assets] There is no asset library named \"" + libraryName + "\""); } return promise.future; }; openfl_utils_Assets.loadSound = function(id,useCache) { if(useCache == null) { useCache = true; } if(useCache == null) { useCache = true; } var promise = new lime_app_Promise(); lime_utils_Assets.loadAudioBuffer(id,useCache).onComplete(function(buffer) { if(buffer != null) { var sound = openfl_media_Sound.fromAudioBuffer(buffer); if(useCache && openfl_utils_Assets.cache.get_enabled()) { openfl_utils_Assets.cache.setSound(id,sound); } promise.complete(sound); } else { promise.error("[Assets] Could not load Sound \"" + id + "\""); } }).onError($bind(promise,promise.error)).onProgress($bind(promise,promise.progress)); return promise.future; }; openfl_utils_Assets.loadText = function(id) { var future = lime_utils_Assets.loadText(id); return future; }; openfl_utils_Assets.registerLibrary = function(name,library) { lime_utils_Assets.registerLibrary(name,library); }; openfl_utils_Assets.removeEventListener = function(type,listener,capture) { if(capture == null) { capture = false; } openfl_utils_Assets.dispatcher.removeEventListener(type,listener,capture); }; openfl_utils_Assets.resolveClass = function(name) { return $hxClasses[name]; }; openfl_utils_Assets.resolveEnum = function(name) { var value = $hxEnums[name]; return value; }; openfl_utils_Assets.unloadLibrary = function(name) { lime_utils_Assets.unloadLibrary(name); }; openfl_utils_Assets.LimeAssets_onChange = function() { openfl_utils_Assets.dispatchEvent(new openfl_events_Event("change")); }; var openfl_utils__$ByteArray_ByteArray_$Impl_$ = {}; $hxClasses["openfl.utils._ByteArray.ByteArray_Impl_"] = openfl_utils__$ByteArray_ByteArray_$Impl_$; openfl_utils__$ByteArray_ByteArray_$Impl_$.__name__ = "openfl.utils._ByteArray.ByteArray_Impl_"; openfl_utils__$ByteArray_ByteArray_$Impl_$.__properties__ = {set_position:"set_position",get_position:"get_position",set_length:"set_length",get_length:"get_length",get_bytesAvailable:"get_bytesAvailable",set_defaultObjectEncoding:"set_defaultObjectEncoding",get_defaultObjectEncoding:"get_defaultObjectEncoding",set_defaultEndian:"set_defaultEndian",get_defaultEndian:"get_defaultEndian"}; openfl_utils__$ByteArray_ByteArray_$Impl_$._new = function(length) { if(length == null) { length = 0; } var this1 = new openfl_utils_ByteArrayData(length); return this1; }; openfl_utils__$ByteArray_ByteArray_$Impl_$.clear = function(this1) { this1.clear(); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.compress = function(this1,algorithm) { this1.compress(algorithm); return; }; openfl_utils__$ByteArray_ByteArray_$Impl_$.deflate = function(this1) { this1.deflate(); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.fromArrayBuffer = function(buffer) { if(buffer == null) { return null; } return openfl_utils_ByteArrayData.fromBytes(haxe_io_Bytes.ofData(buffer)); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.fromBytes = function(bytes) { if(bytes == null) { return null; } if(((bytes) instanceof openfl_utils_ByteArrayData)) { return bytes; } else { return openfl_utils_ByteArrayData.fromBytes(bytes); } }; openfl_utils__$ByteArray_ByteArray_$Impl_$.fromBytesData = function(bytesData) { if(bytesData == null) { return null; } return openfl_utils_ByteArrayData.fromBytes(haxe_io_Bytes.ofData(bytesData)); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.fromFile = function(path) { return openfl_utils__$ByteArray_ByteArray_$Impl_$.fromBytes(lime_utils__$Bytes_Bytes_$Impl_$.fromFile(path)); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.fromLimeBytes = function(bytes) { return openfl_utils__$ByteArray_ByteArray_$Impl_$.fromBytes(bytes); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.get = function(this1,index) { return this1.b[index]; }; openfl_utils__$ByteArray_ByteArray_$Impl_$.inflate = function(this1) { this1.inflate(); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.loadFromBytes = function(bytes) { return lime_utils__$Bytes_Bytes_$Impl_$.loadFromBytes(bytes).then(function(limeBytes) { var byteArray = openfl_utils__$ByteArray_ByteArray_$Impl_$.fromBytes(limeBytes); return lime_app_Future.withValue(byteArray); }); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.loadFromFile = function(path) { return lime_utils__$Bytes_Bytes_$Impl_$.loadFromFile(path).then(function(limeBytes) { var byteArray = openfl_utils__$ByteArray_ByteArray_$Impl_$.fromBytes(limeBytes); return lime_app_Future.withValue(byteArray); }); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.readBoolean = function(this1) { return this1.readBoolean(); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.readByte = function(this1) { return this1.readByte(); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.readBytes = function(this1,bytes,offset,length) { if(length == null) { length = 0; } if(offset == null) { offset = 0; } this1.readBytes(bytes,offset,length); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.readDouble = function(this1) { return this1.readDouble(); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.readFloat = function(this1) { return this1.readFloat(); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.readInt = function(this1) { return this1.readInt(); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.readMultiByte = function(this1,length,charSet) { return this1.readMultiByte(length,charSet); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.readObject = function(this1) { return this1.readObject(); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.readShort = function(this1) { return this1.readShort(); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.readUTF = function(this1) { return this1.readUTF(); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.readUTFBytes = function(this1,length) { return this1.readUTFBytes(length); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.readUnsignedByte = function(this1) { return this1.readUnsignedByte(); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.readUnsignedInt = function(this1) { return this1.readUnsignedInt(); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.readUnsignedShort = function(this1) { return this1.readUnsignedShort(); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.set = function(this1,index,value) { this1.__resize(index + 1); this1.b[index] = value & 255; return value; }; openfl_utils__$ByteArray_ByteArray_$Impl_$.toArrayBuffer = function(byteArray) { return byteArray.b.bufferValue; }; openfl_utils__$ByteArray_ByteArray_$Impl_$.toBytePointer = function(byteArray) { lime_utils__$BytePointer_BytePointer_$Impl_$.set(openfl_utils__$ByteArray_ByteArray_$Impl_$.__bytePointer,byteArray,null,null,byteArray.position); return openfl_utils__$ByteArray_ByteArray_$Impl_$.__bytePointer; }; openfl_utils__$ByteArray_ByteArray_$Impl_$.toBytes = function(byteArray) { return byteArray; }; openfl_utils__$ByteArray_ByteArray_$Impl_$.toBytesData = function(byteArray) { return byteArray.b.bufferValue; }; openfl_utils__$ByteArray_ByteArray_$Impl_$.toLimeBytes = function(byteArray) { return byteArray; }; openfl_utils__$ByteArray_ByteArray_$Impl_$.toString = function(this1) { return this1.toString(); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.uncompress = function(this1,algorithm) { this1.uncompress(algorithm); return; }; openfl_utils__$ByteArray_ByteArray_$Impl_$.writeBoolean = function(this1,value) { this1.writeBoolean(value); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.writeByte = function(this1,value) { this1.writeByte(value); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.writeBytes = function(this1,bytes,offset,length) { if(length == null) { length = 0; } if(offset == null) { offset = 0; } this1.writeBytes(bytes,offset,length); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.writeDouble = function(this1,value) { this1.writeDouble(value); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.writeFloat = function(this1,value) { this1.writeFloat(value); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.writeInt = function(this1,value) { this1.writeInt(value); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.writeMultiByte = function(this1,value,charSet) { this1.writeMultiByte(value,charSet); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.writeObject = function(this1,object) { this1.writeObject(object); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.writeShort = function(this1,value) { this1.writeShort(value); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.writeUTF = function(this1,value) { this1.writeUTF(value); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.writeUTFBytes = function(this1,value) { this1.writeUTFBytes(value); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.writeUnsignedInt = function(this1,value) { this1.writeUnsignedInt(value); }; openfl_utils__$ByteArray_ByteArray_$Impl_$.get_bytesAvailable = function(this1) { return this1.length - this1.position; }; openfl_utils__$ByteArray_ByteArray_$Impl_$.get_defaultEndian = function() { if(openfl_utils_ByteArrayData.__defaultEndian == null) { if(lime_system_System.get_endianness() == lime_system_Endian.LITTLE_ENDIAN) { openfl_utils_ByteArrayData.__defaultEndian = 1; } else { openfl_utils_ByteArrayData.__defaultEndian = 0; } } return openfl_utils_ByteArrayData.__defaultEndian; }; openfl_utils__$ByteArray_ByteArray_$Impl_$.set_defaultEndian = function(value) { return openfl_utils_ByteArrayData.__defaultEndian = value; }; openfl_utils__$ByteArray_ByteArray_$Impl_$.get_defaultObjectEncoding = function() { return openfl_utils_ByteArrayData.defaultObjectEncoding; }; openfl_utils__$ByteArray_ByteArray_$Impl_$.set_defaultObjectEncoding = function(value) { return openfl_utils_ByteArrayData.defaultObjectEncoding = value; }; openfl_utils__$ByteArray_ByteArray_$Impl_$.get_endian = function(this1) { return this1.__endian; }; openfl_utils__$ByteArray_ByteArray_$Impl_$.set_endian = function(this1,value) { return this1.__endian = value; }; openfl_utils__$ByteArray_ByteArray_$Impl_$.get_length = function(this1) { if(this1 == null) { return 0; } else { return this1.length; } }; openfl_utils__$ByteArray_ByteArray_$Impl_$.set_length = function(this1,value) { if(value > 0) { this1.__resize(value); if(value < this1.position) { this1.position = value; } } this1.length = value; return value; }; openfl_utils__$ByteArray_ByteArray_$Impl_$.get_objectEncoding = function(this1) { return this1.objectEncoding; }; openfl_utils__$ByteArray_ByteArray_$Impl_$.set_objectEncoding = function(this1,value) { return this1.objectEncoding = value; }; openfl_utils__$ByteArray_ByteArray_$Impl_$.get_position = function(this1) { return this1.position; }; openfl_utils__$ByteArray_ByteArray_$Impl_$.set_position = function(this1,value) { return this1.position = value; }; var openfl_utils__$CompressionAlgorithm_CompressionAlgorithm_$Impl_$ = {}; $hxClasses["openfl.utils._CompressionAlgorithm.CompressionAlgorithm_Impl_"] = openfl_utils__$CompressionAlgorithm_CompressionAlgorithm_$Impl_$; openfl_utils__$CompressionAlgorithm_CompressionAlgorithm_$Impl_$.__name__ = "openfl.utils._CompressionAlgorithm.CompressionAlgorithm_Impl_"; openfl_utils__$CompressionAlgorithm_CompressionAlgorithm_$Impl_$.fromString = function(value) { switch(value) { case "deflate": return 0; case "lzma": return 1; case "zlib": return 2; default: return null; } }; openfl_utils__$CompressionAlgorithm_CompressionAlgorithm_$Impl_$.toString = function(this1) { switch(this1) { case 0: return "deflate"; case 1: return "lzma"; case 2: return "zlib"; default: return null; } }; var openfl_utils__$Dictionary_Dictionary_$Impl_$ = {}; $hxClasses["openfl.utils._Dictionary.Dictionary_Impl_"] = openfl_utils__$Dictionary_Dictionary_$Impl_$; openfl_utils__$Dictionary_Dictionary_$Impl_$.__name__ = "openfl.utils._Dictionary.Dictionary_Impl_"; openfl_utils__$Dictionary_Dictionary_$Impl_$.exists = function(this1,key) { return this1.exists(key); }; openfl_utils__$Dictionary_Dictionary_$Impl_$.get = function(this1,key) { return this1.get(key); }; openfl_utils__$Dictionary_Dictionary_$Impl_$.keyValueIterator = function(this1) { return this1.keyValueIterator(); }; openfl_utils__$Dictionary_Dictionary_$Impl_$.remove = function(this1,key) { return this1.remove(key); }; openfl_utils__$Dictionary_Dictionary_$Impl_$.set = function(this1,key,value) { this1.set(key,value); return value; }; openfl_utils__$Dictionary_Dictionary_$Impl_$.iterator = function(this1) { return this1.keys(); }; openfl_utils__$Dictionary_Dictionary_$Impl_$.each = function(this1) { return this1.iterator(); }; openfl_utils__$Dictionary_Dictionary_$Impl_$.toStringMap = function(t,weakKeys) { return new haxe_ds_StringMap(); }; openfl_utils__$Dictionary_Dictionary_$Impl_$.toIntMap = function(t,weakKeys) { return new haxe_ds_IntMap(); }; openfl_utils__$Dictionary_Dictionary_$Impl_$.toFloatMap = function(t,weakKeys) { return new openfl_utils__$Dictionary_FloatMap(); }; openfl_utils__$Dictionary_Dictionary_$Impl_$.toEnumValueMapMap = function(t,weakKeys) { return new haxe_ds_EnumValueMap(); }; openfl_utils__$Dictionary_Dictionary_$Impl_$.toObjectMap = function(t,weakKeys) { return new haxe_ds_ObjectMap(); }; openfl_utils__$Dictionary_Dictionary_$Impl_$.toUtilsObjectMap = function(t,weakKeys) { return new openfl_utils__$Dictionary_UtilsObjectMap(); }; openfl_utils__$Dictionary_Dictionary_$Impl_$.toClassMap = function(t,weakKeys) { return new openfl_utils__$Dictionary_ClassMap(); }; openfl_utils__$Dictionary_Dictionary_$Impl_$.fromStringMap = function(map) { return map; }; openfl_utils__$Dictionary_Dictionary_$Impl_$.fromIntMap = function(map) { return map; }; openfl_utils__$Dictionary_Dictionary_$Impl_$.fromFloatMap = function(map) { return map; }; openfl_utils__$Dictionary_Dictionary_$Impl_$.fromObjectMap = function(map) { return map; }; openfl_utils__$Dictionary_Dictionary_$Impl_$.fromUtilsObjectMap = function(map) { return map; }; openfl_utils__$Dictionary_Dictionary_$Impl_$.fromClassMap = function(map) { return map; }; var openfl_utils__$Dictionary_ClassMap = function() { this.types = new haxe_ds_StringMap(); this.values = new haxe_ds_StringMap(); }; $hxClasses["openfl.utils._Dictionary.ClassMap"] = openfl_utils__$Dictionary_ClassMap; openfl_utils__$Dictionary_ClassMap.__name__ = "openfl.utils._Dictionary.ClassMap"; openfl_utils__$Dictionary_ClassMap.__interfaces__ = [haxe_IMap]; openfl_utils__$Dictionary_ClassMap.prototype = { types: null ,values: null ,clear: function() { var _this = this.types; _this.h = { }; _this.rh = null; var _this1 = this.values; _this1.h = { }; _this1.rh = null; } ,copy: function() { var copied = new openfl_utils__$Dictionary_ClassMap(); var key = this.keys(); while(key.hasNext()) { var key1 = key.next(); copied.set(key1,this.get(key1)); } return copied; } ,exists: function(key) { var this1 = this.types; var key1 = key.__name__; var _this = this1; if(__map_reserved[key1] != null) { return _this.existsReserved(key1); } else { return _this.h.hasOwnProperty(key1); } } ,get: function(key) { var this1 = this.values; var key1 = key.__name__; var _this = this1; if(__map_reserved[key1] != null) { return _this.getReserved(key1); } else { return _this.h[key1]; } } ,keyValueIterator: function() { return new haxe_iterators_MapKeyValueIterator(this); } ,keys: function() { var _this = this.types; return new haxe_ds__$StringMap_StringMapIterator(_this,_this.arrayKeys()); } ,iterator: function() { var _this = this.values; return new haxe_ds__$StringMap_StringMapIterator(_this,_this.arrayKeys()); } ,remove: function(key) { var name = key.__name__; if(!this.types.remove(name)) { return this.values.remove(name); } else { return true; } } ,set: function(key,value) { var name = key.__name__; var _this = this.types; if(__map_reserved[name] != null) { _this.setReserved(name,key); } else { _this.h[name] = key; } var _this1 = this.values; if(__map_reserved[name] != null) { _this1.setReserved(name,value); } else { _this1.h[name] = value; } } ,toString: function() { return this.values.toString(); } ,__class__: openfl_utils__$Dictionary_ClassMap }; var openfl_utils__$Dictionary_FloatMap = function() { this.floatKeys = []; this.values = []; }; $hxClasses["openfl.utils._Dictionary.FloatMap"] = openfl_utils__$Dictionary_FloatMap; openfl_utils__$Dictionary_FloatMap.__name__ = "openfl.utils._Dictionary.FloatMap"; openfl_utils__$Dictionary_FloatMap.__interfaces__ = [haxe_IMap]; openfl_utils__$Dictionary_FloatMap.prototype = { floatKeys: null ,values: null ,clear: function() { this.floatKeys = []; this.values = []; } ,copy: function() { var copied = new openfl_utils__$Dictionary_FloatMap(); var key = this.keys(); while(key.hasNext()) { var key1 = key.next(); copied.set(key1,this.get(key1)); } return copied; } ,exists: function(key) { return this.indexOf(key) > -1; } ,get: function(key) { var ind = this.indexOf(key); if(ind > -1) { return this.values[ind]; } else { return null; } } ,keyValueIterator: function() { return new haxe_iterators_MapKeyValueIterator(this); } ,keys: function() { return HxOverrides.iter(this.floatKeys.slice()); } ,iterator: function() { return HxOverrides.iter(this.values.slice()); } ,remove: function(key) { var ind = this.indexOf(key); if(ind > -1) { this.floatKeys.splice(ind,1); this.values.splice(ind,1); return true; } return false; } ,set: function(key,value) { this.insertSorted(key,value); } ,indexOf: function(key) { var len = this.floatKeys.length; var startIndex = 0; var endIndex = len - 1; if(len == 0) { return -1; } var midIndex = 0; while(startIndex < endIndex) { midIndex = Math.floor((startIndex + endIndex) / 2); if(this.floatKeys[midIndex] == key) { return midIndex; } else if(this.floatKeys[midIndex] > key) { endIndex = midIndex - 1; } else { startIndex = midIndex + 1; } } if(this.floatKeys[startIndex] == key) { return startIndex; } else { return -1; } } ,insertSorted: function(key,value) { var len = this.floatKeys.length; var startIndex = 0; var endIndex = len - 1; if(len == 0) { this.floatKeys.push(key); this.values.push(value); return; } var midIndex = 0; while(startIndex < endIndex) { midIndex = Math.floor((startIndex + endIndex) / 2); if(this.floatKeys[midIndex] == key) { this.values[midIndex] = value; return; } else if(this.floatKeys[midIndex] > key) { endIndex = midIndex - 1; } else { startIndex = midIndex + 1; } } if(this.floatKeys[startIndex] > key) { this.floatKeys.splice(startIndex,0,key); this.values.splice(startIndex,0,value); } else if(this.floatKeys[startIndex] < key) { this.floatKeys.splice(startIndex + 1,0,key); this.values.splice(startIndex + 1,0,value); } else { this.values[startIndex] = value; } } ,toString: function() { return this.values.toString(); } ,__class__: openfl_utils__$Dictionary_FloatMap }; var openfl_utils__$Dictionary_UtilsObjectMap = function() { this.map = new haxe_ds_ObjectMap(); }; $hxClasses["openfl.utils._Dictionary.UtilsObjectMap"] = openfl_utils__$Dictionary_UtilsObjectMap; openfl_utils__$Dictionary_UtilsObjectMap.__name__ = "openfl.utils._Dictionary.UtilsObjectMap"; openfl_utils__$Dictionary_UtilsObjectMap.__interfaces__ = [haxe_IMap]; openfl_utils__$Dictionary_UtilsObjectMap.prototype = { map: null ,clear: function() { this.map.h = { __keys__ : { }}; } ,copy: function() { var copied = new openfl_utils__$Dictionary_UtilsObjectMap(); var key = this.keys(); while(key.hasNext()) { var key1 = key.next(); copied.set(key1,this.get(key1)); } return copied; } ,exists: function(key) { return this.map.h.__keys__[key.__id__] != null; } ,get: function(key) { return this.map.h[key.__id__]; } ,keyValueIterator: function() { return new haxe_iterators_MapKeyValueIterator(this); } ,keys: function() { return this.map.keys(); } ,iterator: function() { return this.map.iterator(); } ,remove: function(key) { return this.map.remove(key); } ,set: function(key,value) { this.map.set(key,value); } ,toString: function() { return this.map.toString(); } ,__class__: openfl_utils__$Dictionary_UtilsObjectMap }; var openfl_utils__$Endian_Endian_$Impl_$ = {}; $hxClasses["openfl.utils._Endian.Endian_Impl_"] = openfl_utils__$Endian_Endian_$Impl_$; openfl_utils__$Endian_Endian_$Impl_$.__name__ = "openfl.utils._Endian.Endian_Impl_"; openfl_utils__$Endian_Endian_$Impl_$.fromLimeEndian = function(value) { switch(value._hx_index) { case 0: return 1; case 1: return 0; } }; openfl_utils__$Endian_Endian_$Impl_$.fromString = function(value) { switch(value) { case "bigEndian": return 0; case "littleEndian": return 1; default: return null; } }; openfl_utils__$Endian_Endian_$Impl_$.toLimeEndian = function(this1) { switch(this1) { case 0: return lime_system_Endian.BIG_ENDIAN; case 1: return lime_system_Endian.LITTLE_ENDIAN; default: return null; } }; openfl_utils__$Endian_Endian_$Impl_$.toString = function(this1) { switch(this1) { case 0: return "bigEndian"; case 1: return "littleEndian"; default: return null; } }; var openfl_utils__$Object_Object_$Impl_$ = {}; $hxClasses["openfl.utils._Object.Object_Impl_"] = openfl_utils__$Object_Object_$Impl_$; openfl_utils__$Object_Object_$Impl_$.__name__ = "openfl.utils._Object.Object_Impl_"; openfl_utils__$Object_Object_$Impl_$._new = function() { var this1 = { }; return this1; }; openfl_utils__$Object_Object_$Impl_$.hasOwnProperty = function(this1,name) { if(this1 != null) { return Object.prototype.hasOwnProperty.call(this1,name); } else { return false; } }; openfl_utils__$Object_Object_$Impl_$.isPrototypeOf = function(this1,theClass) { var c = js_Boot.getClass(this1); while(c != null) { if(c == theClass) { return true; } c = c.__super__; } return false; }; openfl_utils__$Object_Object_$Impl_$.iterator = function(this1) { var fields = Reflect.fields(this1); if(fields == null) { fields = []; } return HxOverrides.iter(fields); }; openfl_utils__$Object_Object_$Impl_$.propertyIsEnumerable = function(this1,name) { if(this1 != null && Object.prototype.hasOwnProperty.call(this1,name)) { return js_Boot.__implements(Reflect.field(this1,name),haxe_lang_Iterable); } else { return false; } }; openfl_utils__$Object_Object_$Impl_$.toLocaleString = function(this1) { return Std.string(this1); }; openfl_utils__$Object_Object_$Impl_$.toString = function(this1) { return Std.string(this1); }; openfl_utils__$Object_Object_$Impl_$.valueOf = function(this1) { return this1; }; openfl_utils__$Object_Object_$Impl_$.__fieldRead = function(this1,name) { return Reflect.getProperty(this1,name); }; openfl_utils__$Object_Object_$Impl_$.__fieldWrite = function(this1,name,value) { Reflect.setProperty(this1,name,value); return value; }; openfl_utils__$Object_Object_$Impl_$.__get = function(this1,key) { return Reflect.getProperty(this1,key); }; openfl_utils__$Object_Object_$Impl_$.__set = function(this1,key,value) { Reflect.setProperty(this1,key,value); return value; }; var haxe_lang_Iterator = function() { }; $hxClasses["haxe.lang.Iterator"] = haxe_lang_Iterator; haxe_lang_Iterator.__name__ = "haxe.lang.Iterator"; haxe_lang_Iterator.__isInterface__ = true; haxe_lang_Iterator.prototype = { hasNext: null ,next: null ,__class__: haxe_lang_Iterator }; var haxe_lang_Iterable = function() { }; $hxClasses["haxe.lang.Iterable"] = haxe_lang_Iterable; haxe_lang_Iterable.__name__ = "haxe.lang.Iterable"; haxe_lang_Iterable.__isInterface__ = true; haxe_lang_Iterable.prototype = { iterator: null ,__class__: haxe_lang_Iterable }; var openfl_utils__$internal_Lib = function() { }; $hxClasses["openfl.utils._internal.Lib"] = openfl_utils__$internal_Lib; openfl_utils__$internal_Lib.__name__ = "openfl.utils._internal.Lib"; openfl_utils__$internal_Lib.application = null; openfl_utils__$internal_Lib.current = null; openfl_utils__$internal_Lib.notImplemented = function(posInfo) { var api = posInfo.className + "." + posInfo.methodName; var _this = openfl_utils__$internal_Lib.__sentWarnings; if(!(__map_reserved[api] != null ? _this.existsReserved(api) : _this.h.hasOwnProperty(api))) { var _this1 = openfl_utils__$internal_Lib.__sentWarnings; if(__map_reserved[api] != null) { _this1.setReserved(api,true); } else { _this1.h[api] = true; } lime_utils_Log.warn(posInfo.methodName + " is not implemented",posInfo); } }; var openfl_utils__$internal_TouchData = function() { this.rollOutStack = []; }; $hxClasses["openfl.utils._internal.TouchData"] = openfl_utils__$internal_TouchData; openfl_utils__$internal_TouchData.__name__ = "openfl.utils._internal.TouchData"; openfl_utils__$internal_TouchData.prototype = { rollOutStack: null ,touch: null ,touchDownTarget: null ,touchOverTarget: null ,reset: function() { this.touch = null; this.touchDownTarget = null; this.touchOverTarget = null; this.rollOutStack.splice(0,this.rollOutStack.length); } ,__class__: openfl_utils__$internal_TouchData }; var polymod_Framework = $hxEnums["polymod.Framework"] = { __ename__ : "polymod.Framework", __constructs__ : ["NME","LIME","OPENFL","HEAPS","KHA","CUSTOM","UNKNOWN"] ,NME: {_hx_index:0,__enum__:"polymod.Framework",toString:$estr} ,LIME: {_hx_index:1,__enum__:"polymod.Framework",toString:$estr} ,OPENFL: {_hx_index:2,__enum__:"polymod.Framework",toString:$estr} ,HEAPS: {_hx_index:3,__enum__:"polymod.Framework",toString:$estr} ,KHA: {_hx_index:4,__enum__:"polymod.Framework",toString:$estr} ,CUSTOM: {_hx_index:5,__enum__:"polymod.Framework",toString:$estr} ,UNKNOWN: {_hx_index:6,__enum__:"polymod.Framework",toString:$estr} }; var polymod_Polymod = function() { }; $hxClasses["polymod.Polymod"] = polymod_Polymod; polymod_Polymod.__name__ = "polymod.Polymod"; polymod_Polymod.init = function(params) { polymod_Polymod.onError = params.errorCallback; var modRoot = params.modRoot; var dirs = params.dirs; var apiVersion = null; try { var apiStr = params.apiVersion; if(apiStr == null || apiStr == "") { apiStr = "*.*.*"; } apiVersion = polymod_util_SemanticVersion.fromString(apiStr); } catch( msg ) { haxe_CallStack.lastException = msg; polymod_Polymod.error("parse_api_version","Error parsing api version: (" + Std.string(((msg) instanceof js__$Boot_HaxeError) ? msg.val : msg) + ")","init"); return []; } var modMeta = []; var modVers = []; if(params.modVersions != null) { var _g = 0; var _g1 = params.modVersions; while(_g < _g1.length) { var str = _g1[_g]; ++_g; var semVer = null; try { semVer = polymod_util_SemanticVersion.fromString(str); } catch( msg1 ) { haxe_CallStack.lastException = msg1; polymod_Polymod.error("param_mod_version","There was an error with one of the mod version patterns you provided: " + Std.string(((msg1) instanceof js__$Boot_HaxeError) ? msg1.val : msg1),"init"); semVer = polymod_util_SemanticVersion.fromString("*.*.*"); } modVers.push(semVer); } } var _g2 = 0; var _g11 = dirs.length; while(_g2 < _g11) { var i = _g2++; if(dirs[i] != null) { var origDir = dirs[i]; dirs[i] = polymod_util_Util.pathJoin(modRoot,dirs[i]); var meta = polymod_Polymod.getMetadata(dirs[i]); if(meta != null) { meta.id = origDir; var apiScore = meta.apiVersion.checkCompatibility(apiVersion); if(apiScore < 3) { polymod_Polymod.error("version_conflict_api","Mod \"" + origDir + "\" was built for incompatible API version " + meta.apiVersion.toString() + ", current API version is " + params.apiVersion.toString(),"init"); } else if(apiVersion.major == 0) { if(apiVersion.minor != meta.apiVersion.minor) { polymod_Polymod.warning("version_prerelease_api","Modding API is in pre-release, some things might have changed!\n" + "Mod \"" + origDir + "\" was built for API version " + meta.apiVersion.toString() + ", current API version is " + apiVersion.toString(),"init"); } } var modVer = modVers.length > i ? modVers[i] : null; if(modVer != null) { var score = modVer.checkCompatibility(meta.modVersion); if(score < 3) { polymod_Polymod.error("version_conflict_mod","Mod pack wants version " + modVer.toString() + " of mod(" + meta.id + "), found incompatible version " + meta.modVersion.toString() + " instead","init"); } } modMeta.push(meta); } } } polymod_backends_PolymodAssets.init({ framework : params.framework, dirs : dirs, parseRules : params.parseRules, ignoredFiles : params.ignoredFiles, customBackend : params.customBackend, extensionMap : params.extensionMap}); if(polymod_backends_PolymodAssets.exists("_polymod_pack.txt")) { polymod_Polymod.initModPack(params); } return modMeta; }; polymod_Polymod.getDefaultIgnoreList = function() { return ["_polymod_meta.json","_polymod_icon.png","_polymod_pack.txt","ASSET_LICENSE.txt","CODE_LICENSE.txt","LICENSE.txt"]; }; polymod_Polymod.scan = function(modRoot,apiVersionStr,errorCallback) { if(apiVersionStr == null) { apiVersionStr = "*.*.*"; } polymod_Polymod.onError = errorCallback; var apiVersion = null; try { apiVersion = polymod_util_SemanticVersion.fromString(apiVersionStr); } catch( msg ) { haxe_CallStack.lastException = msg; polymod_Polymod.error("parse_api_version","Error parsing api version: (" + Std.string(((msg) instanceof js__$Boot_HaxeError) ? msg.val : msg) + ")","scan"); return []; } var modMeta = []; return modMeta; }; polymod_Polymod.error = function(code,message,origin) { if(origin == null) { origin = "unknown"; } if(polymod_Polymod.onError != null) { polymod_Polymod.onError(new polymod_PolymodError(polymod_PolymodErrorType.ERROR,code,message,origin)); } }; polymod_Polymod.warning = function(code,message,origin) { if(origin == null) { origin = "unknown"; } if(polymod_Polymod.onError != null) { polymod_Polymod.onError(new polymod_PolymodError(polymod_PolymodErrorType.WARNING,code,message,origin)); } }; polymod_Polymod.notice = function(code,message,origin) { if(origin == null) { origin = "unknown"; } if(polymod_Polymod.onError != null) { polymod_Polymod.onError(new polymod_PolymodError(polymod_PolymodErrorType.NOTICE,code,message,origin)); } }; polymod_Polymod.getFileSystem = function() { return null; }; polymod_Polymod.getMetadata = function(dir) { polymod_Polymod.error("missing_mod","Could not find mod directory: \"" + dir + "\""); return null; }; polymod_Polymod.listModFiles = function(type) { if(polymod_Polymod.library != null) { return polymod_Polymod.library.listModFiles(type); } return []; }; polymod_Polymod.initModPack = function(params) { var polymodpack = polymod_backends_PolymodAssets.getText("_polymod_pack.txt"); if(polymodpack != null) { var data = polymod_Polymod.getModPack(polymodpack); var mods = data.mods; var vers = data.versions; params.dirs = mods; params.modVersions = vers; polymod_Polymod.init(params); } }; polymod_Polymod.getModPack = function(text) { if(text != null) { var mods = text.split(","); if(mods == null || mods.length == 0) { return null; } var vers = []; var _g = 0; var _g1 = mods.length; while(_g < _g1) { var i = _g++; vers[i] = "*.*.*"; if(mods[i].indexOf(":") != -1) { var arr = mods[i].split(":"); if(arr != null && arr.length == 2) { mods[i] = arr[0]; vers[i] = arr[1]; } } } return { mods : mods, versions : vers}; } return null; }; var polymod_ModMetadata = function() { }; $hxClasses["polymod.ModMetadata"] = polymod_ModMetadata; polymod_ModMetadata.__name__ = "polymod.ModMetadata"; polymod_ModMetadata.fromJsonStr = function(str) { var m = new polymod_ModMetadata(); var json = JSON.parse(str); m.title = polymod_format_JsonHelp.str(json,"title"); m.description = polymod_format_JsonHelp.str(json,"description"); m.author = polymod_format_JsonHelp.str(json,"author"); var apiVersionStr = polymod_format_JsonHelp.str(json,"api_version"); var modVersionStr = polymod_format_JsonHelp.str(json,"mod_version"); try { m.apiVersion = polymod_util_SemanticVersion.fromString(apiVersionStr); } catch( msg ) { haxe_CallStack.lastException = msg; polymod_Polymod.error("parse_mod_api_version","Error parsing api version: (" + Std.string(((msg) instanceof js__$Boot_HaxeError) ? msg.val : msg) + ") _polymod_meta.json was : " + str); return null; } try { m.modVersion = polymod_util_SemanticVersion.fromString(modVersionStr); } catch( msg1 ) { haxe_CallStack.lastException = msg1; polymod_Polymod.error("parse_mod_version","Error parsing mod version: (" + Std.string(((msg1) instanceof js__$Boot_HaxeError) ? msg1.val : msg1) + ") _polymod_meta.json was : " + str); return null; } m.license = polymod_format_JsonHelp.str(json,"license"); m.licenseRef = polymod_format_JsonHelp.str(json,"license_ref"); m.metaData = polymod_format_JsonHelp.mapStr(json,"metadata"); return m; }; polymod_ModMetadata.prototype = { id: null ,title: null ,description: null ,author: null ,apiVersion: null ,modVersion: null ,license: null ,licenseRef: null ,icon: null ,isModPack: null ,modPack: null ,metaData: null ,toJsonStr: function() { var json = { }; json["title"] = this.title; json["description"] = this.description; json["author"] = this.author; json["api_version"] = this.apiVersion.toString(); json["mod_version"] = this.modVersion.toString(); json["license"] = this.license; json["license_ref"] = this.licenseRef; var meta = { }; var key = this.metaData.keys(); while(key.hasNext()) { var key1 = key.next(); var _this = this.metaData; meta[key1] = __map_reserved[key1] != null ? _this.getReserved(key1) : _this.h[key1]; } json["metadata"] = meta; return JSON.stringify(json,null," "); } ,__class__: polymod_ModMetadata }; var polymod_PolymodError = function(severity,code,message,origin) { this.severity = severity; this.code = code; this.message = message; this.origin = origin; }; $hxClasses["polymod.PolymodError"] = polymod_PolymodError; polymod_PolymodError.__name__ = "polymod.PolymodError"; polymod_PolymodError.prototype = { severity: null ,code: null ,message: null ,origin: null ,__class__: polymod_PolymodError }; var polymod_PolymodErrorType = $hxEnums["polymod.PolymodErrorType"] = { __ename__ : "polymod.PolymodErrorType", __constructs__ : ["NOTICE","WARNING","ERROR"] ,NOTICE: {_hx_index:0,__enum__:"polymod.PolymodErrorType",toString:$estr} ,WARNING: {_hx_index:1,__enum__:"polymod.PolymodErrorType",toString:$estr} ,ERROR: {_hx_index:2,__enum__:"polymod.PolymodErrorType",toString:$estr} }; var polymod_backends_IBackend = function() { }; $hxClasses["polymod.backends.IBackend"] = polymod_backends_IBackend; polymod_backends_IBackend.__name__ = "polymod.backends.IBackend"; polymod_backends_IBackend.__isInterface__ = true; polymod_backends_IBackend.prototype = { polymodLibrary: null ,init: null ,destroy: null ,clearCache: null ,exists: null ,getBytes: null ,getText: null ,getPath: null ,list: null ,stripAssetsPrefix: null ,__class__: polymod_backends_IBackend }; var polymod_backends_StubBackend = function() { }; $hxClasses["polymod.backends.StubBackend"] = polymod_backends_StubBackend; polymod_backends_StubBackend.__name__ = "polymod.backends.StubBackend"; polymod_backends_StubBackend.__interfaces__ = [polymod_backends_IBackend]; polymod_backends_StubBackend.prototype = { polymodLibrary: null ,init: function() { } ,destroy: function() { } ,clearCache: function() { } ,exists: function(id) { return false; } ,getBytes: function(id) { return null; } ,getText: function(id) { return null; } ,getPath: function(id) { return null; } ,list: function(type) { return []; } ,stripAssetsPrefix: function(id) { return id; } ,__class__: polymod_backends_StubBackend }; var polymod_backends_HEAPSBackend = function() { polymod_backends_StubBackend.call(this); polymod_Polymod.error("failed_create_backend","HEAPSBackend requires the heaps library, did you forget to install it?"); }; $hxClasses["polymod.backends.HEAPSBackend"] = polymod_backends_HEAPSBackend; polymod_backends_HEAPSBackend.__name__ = "polymod.backends.HEAPSBackend"; polymod_backends_HEAPSBackend.__super__ = polymod_backends_StubBackend; polymod_backends_HEAPSBackend.prototype = $extend(polymod_backends_StubBackend.prototype,{ __class__: polymod_backends_HEAPSBackend }); var polymod_backends_LimeBackend = function() { }; $hxClasses["polymod.backends.LimeBackend"] = polymod_backends_LimeBackend; polymod_backends_LimeBackend.__name__ = "polymod.backends.LimeBackend"; polymod_backends_LimeBackend.__interfaces__ = [polymod_backends_IBackend]; polymod_backends_LimeBackend.getDefaultAssetLibrary = function() { if(polymod_backends_LimeBackend.defaultAssetLibrary == null) { polymod_backends_LimeBackend.defaultAssetLibrary = lime_utils_Assets.getLibrary("default"); } return polymod_backends_LimeBackend.defaultAssetLibrary; }; polymod_backends_LimeBackend.restoreDefaultAssetLibrary = function() { if(polymod_backends_LimeBackend.defaultAssetLibrary != null) { lime_utils_Assets.registerLibrary("default",polymod_backends_LimeBackend.defaultAssetLibrary); } }; polymod_backends_LimeBackend.prototype = { polymodLibrary: null ,modLibrary: null ,fallback: null ,init: function() { this.fallback = polymod_backends_LimeBackend.getDefaultAssetLibrary(); this.modLibrary = new polymod_backends_LimeModLibrary(this); lime_utils_Assets.registerLibrary("default",this.modLibrary); } ,destroy: function() { polymod_backends_LimeBackend.restoreDefaultAssetLibrary(); this.polymodLibrary = null; this.modLibrary.destroy(); this.modLibrary = null; this.fallback = null; } ,exists: function(id) { return this.modLibrary.exists(id,null); } ,getBytes: function(id) { return this.modLibrary.getBytes(id); } ,getText: function(id) { return this.modLibrary.getText(id); } ,getPath: function(id) { return this.modLibrary.getPath(id); } ,list: function(type) { return this.modLibrary.list(type == null ? null : polymod_backends_LimeModLibrary.PolyToLime(type)); } ,clearCache: function() { if(polymod_backends_LimeBackend.defaultAssetLibrary != null) { var key = lime_utils_Assets.cache.audio.keys(); while(key.hasNext()) { var key1 = key.next(); lime_utils_Assets.cache.audio.remove(key1); } var key2 = lime_utils_Assets.cache.font.keys(); while(key2.hasNext()) { var key3 = key2.next(); lime_utils_Assets.cache.font.remove(key3); } var key4 = lime_utils_Assets.cache.image.keys(); while(key4.hasNext()) { var key5 = key4.next(); lime_utils_Assets.cache.image.remove(key5); } } } ,stripAssetsPrefix: function(id) { if(polymod_util_Util.uIndexOf(id,"assets/") == 0) { id = polymod_util_Util.uSubstring(id,7); } return id; } ,__class__: polymod_backends_LimeBackend }; var polymod_backends_LimeModLibrary = function(backend) { this.b = backend; this.p = this.b.polymodLibrary; this.fallback = this.b.fallback; this.hasFallback = this.fallback != null; lime_utils_AssetLibrary.call(this); }; $hxClasses["polymod.backends.LimeModLibrary"] = polymod_backends_LimeModLibrary; polymod_backends_LimeModLibrary.__name__ = "polymod.backends.LimeModLibrary"; polymod_backends_LimeModLibrary.LimeToPoly = function(type) { switch(type) { case "BINARY": return "BYTES"; case "FONT": return "FONT"; case "IMAGE": return "IMAGE"; case "MANIFEST": return "MANIFEST"; case "MUSIC": return "AUDIO_MUSIC"; case "SOUND": return "AUDIO_SOUND"; case "TEMPLATE": return "TEMPLATE"; case "TEXT": return "TEXT"; default: return "UNKNOWN"; } }; polymod_backends_LimeModLibrary.PolyToLime = function(type) { switch(type) { case "AUDIO_GENERIC": return "SOUND"; case "AUDIO_MUSIC": return "MUSIC"; case "AUDIO_SOUND": return "SOUND"; case "BYTES": return "BINARY"; case "FONT": return "FONT"; case "IMAGE": return "IMAGE"; case "MANIFEST": return "MANIFEST"; case "TEMPLATE": return "TEMPLATE"; case "TEXT": return "TEXT"; default: return "BINARY"; } }; polymod_backends_LimeModLibrary.__super__ = lime_utils_AssetLibrary; polymod_backends_LimeModLibrary.prototype = $extend(lime_utils_AssetLibrary.prototype,{ b: null ,p: null ,fallback: null ,hasFallback: null ,type: null ,destroy: function() { this.b = null; this.p = null; this.fallback = null; this.type = null; } ,getAsset: function(id,type) { var e = this.p.check(id,polymod_backends_LimeModLibrary.LimeToPoly(type)); if(type == "TEXT") { return this.getText(id); } if(!e && this.hasFallback) { return this.fallback.getAsset(id,type); } return lime_utils_AssetLibrary.prototype.getAsset.call(this,id,type); } ,exists: function(id,type) { var e = this.p.check(id,polymod_backends_LimeModLibrary.LimeToPoly(type)); if(!e && this.hasFallback) { return this.fallback.exists(id,type); } return e; } ,getAudioBuffer: function(id) { if(this.p.check(id)) { var path = this.p.file(id); return lime_media_AudioBuffer.fromBytes(null); } else if(this.hasFallback) { return this.fallback.getAudioBuffer(id); } return null; } ,getBytes: function(id) { var file = this.p.file(id); if(this.p.check(id)) { var path = this.p.file(id); return null; } else if(this.hasFallback) { return this.fallback.getBytes(id); } return null; } ,getFont: function(id) { if(this.p.check(id)) { var path = this.p.file(id); return lime_text_Font.fromBytes(null); } else if(this.hasFallback) { return this.fallback.getFont(id); } return null; } ,getImage: function(id) { if(this.p.check(id)) { var path = this.p.file(id); return lime_graphics_Image.fromBytes(null); } else if(this.hasFallback) { return this.fallback.getImage(id); } return null; } ,getPath: function(id) { if(this.p.check(id)) { return this.p.file(id); } else if(this.hasFallback) { return this.fallback.getPath(id); } return null; } ,getText: function(id) { var modText = null; if(this.p.check(id)) { modText = lime_utils_AssetLibrary.prototype.getText.call(this,id); } else if(this.hasFallback) { modText = this.fallback.getText(id); } if(modText != null) { modText = this.p.mergeAndAppendText(id,modText); } return modText; } ,loadBytes: function(id) { if(this.p.check(id)) { return lime_utils__$Bytes_Bytes_$Impl_$.loadFromFile(this.p.file(id)); } else if(this.hasFallback) { return this.fallback.loadBytes(id); } return lime_utils__$Bytes_Bytes_$Impl_$.loadFromFile(""); } ,loadFont: function(id) { if(this.p.check(id)) { var this1 = this.paths; var key = this.p.file(id); var _this = this1; return lime_text_Font.loadFromName(__map_reserved[key] != null ? _this.getReserved(key) : _this.h[key]); } else if(this.hasFallback) { return this.fallback.loadFont(id); } var _this1 = this.paths; return lime_text_Font.loadFromName(__map_reserved[""] != null ? _this1.getReserved("") : _this1.h[""]); } ,loadImage: function(id) { if(this.p.check(id)) { return lime_graphics_Image.loadFromFile(this.p.file(id)); } else if(this.hasFallback) { return this.fallback.loadImage(id); } return lime_graphics_Image.loadFromFile(""); } ,loadAudioBuffer: function(id) { if(this.p.check(id)) { var this1 = this.pathGroups; var key = this.p.file(id); var _this = this1; if(__map_reserved[key] != null ? _this.existsReserved(key) : _this.h.hasOwnProperty(key)) { var this2 = this.pathGroups; var key1 = this.p.file(id); var _this1 = this2; return lime_media_AudioBuffer.loadFromFiles(__map_reserved[key1] != null ? _this1.getReserved(key1) : _this1.h[key1]); } else { var this3 = this.paths; var key2 = this.p.file(id); var _this2 = this3; return lime_media_AudioBuffer.loadFromFile(__map_reserved[key2] != null ? _this2.getReserved(key2) : _this2.h[key2]); } } else if(this.hasFallback) { return this.fallback.loadAudioBuffer(id); } return lime_media_AudioBuffer.loadFromFile(""); } ,loadText: function(id) { if(this.p.check(id)) { var request = new lime_net__$HTTPRequest_$String(); var this1 = this.paths; var key = this.p.file(id); var _this = this1; return request.load(__map_reserved[key] != null ? _this.getReserved(key) : _this.h[key]); } else if(this.hasFallback) { return this.fallback.loadText(id); } var request1 = new lime_net__$HTTPRequest_$String(); return request1.load(""); } ,isLocal: function(id,type) { if(this.p.check(id)) { return true; } else if(this.hasFallback) { return this.fallback.isLocal(id,type); } return false; } ,list: function(type) { var otherList = this.hasFallback ? this.fallback.list(type) : []; var requestedType = type != null ? js_Boot.__cast(type , String) : null; var items = []; var id = this.p.type.keys(); while(id.hasNext()) { var id1 = id.next(); if(id1.indexOf("_append") == 0 || id1.indexOf("_merge") == 0) { continue; } if(requestedType == null || this.exists(id1,requestedType)) { items.push(id1); } } var _g = 0; while(_g < otherList.length) { var otherId = otherList[_g]; ++_g; if(items.indexOf(otherId) == -1) { if(requestedType == null || this.fallback.exists(otherId,type)) { items.push(otherId); } } } return items; } ,__class__: polymod_backends_LimeModLibrary }); var polymod_backends_NMEBackend = function() { polymod_backends_StubBackend.call(this); polymod_Polymod.error("failed_create_backend","NMEBackend requires the nme library, did you forget to install it?"); }; $hxClasses["polymod.backends.NMEBackend"] = polymod_backends_NMEBackend; polymod_backends_NMEBackend.__name__ = "polymod.backends.NMEBackend"; polymod_backends_NMEBackend.__super__ = polymod_backends_StubBackend; polymod_backends_NMEBackend.prototype = $extend(polymod_backends_StubBackend.prototype,{ __class__: polymod_backends_NMEBackend }); var polymod_backends_OpenFLBackend = function() { polymod_backends_LimeBackend.call(this); }; $hxClasses["polymod.backends.OpenFLBackend"] = polymod_backends_OpenFLBackend; polymod_backends_OpenFLBackend.__name__ = "polymod.backends.OpenFLBackend"; polymod_backends_OpenFLBackend.__super__ = polymod_backends_LimeBackend; polymod_backends_OpenFLBackend.prototype = $extend(polymod_backends_LimeBackend.prototype,{ clearCache: function() { polymod_backends_LimeBackend.prototype.clearCache.call(this); openfl_utils_Assets.cache.clear(); } ,__class__: polymod_backends_OpenFLBackend }); var polymod_backends_PolymodAssetLibrary = function(params) { this.parseRules = null; this.ignoredFiles = null; this.dirs = null; this.backend = params.backend; this.backend.polymodLibrary = this; this.dirs = params.dirs; this.parseRules = params.parseRules; this.ignoredFiles = params.ignoredFiles != null ? params.ignoredFiles.slice() : []; this.extensions = params.extensionMap; this.backend.clearCache(); this.init(); }; $hxClasses["polymod.backends.PolymodAssetLibrary"] = polymod_backends_PolymodAssetLibrary; polymod_backends_PolymodAssetLibrary.__name__ = "polymod.backends.PolymodAssetLibrary"; polymod_backends_PolymodAssetLibrary.prototype = { backend: null ,type: null ,dirs: null ,ignoredFiles: null ,parseRules: null ,extensions: null ,destroy: function() { if(this.backend != null) { this.backend.destroy(); } } ,mergeAndAppendText: function(id,modText) { modText = polymod_util_Util.mergeAndAppendText(modText,id,this.dirs,$bind(this,this.getTextDirectly),this.parseRules); return modText; } ,getExtensionType: function(ext) { ext = ext.toLowerCase(); var _this = this.extensions; if((__map_reserved[ext] != null ? _this.existsReserved(ext) : _this.h.hasOwnProperty(ext)) == false) { return "BYTES"; } var _this1 = this.extensions; if(__map_reserved[ext] != null) { return _this1.getReserved(ext); } else { return _this1.h[ext]; } } ,getTextDirectly: function(id,directory) { if(directory == null) { directory = ""; } var bytes = null; if(this.checkDirectly(id,directory)) { var path = this.file(id,directory); bytes = null; } else { bytes = this.backend.getBytes(id); } if(bytes == null) { return null; } else { return bytes.getString(0,bytes.length); } } ,exists: function(id) { return this.backend.exists(id); } ,getText: function(id) { return this.backend.getText(id); } ,getBytes: function(id) { return this.backend.getBytes(id); } ,getPath: function(id) { return this.backend.getPath(id); } ,list: function(type) { return this.backend.list(type); } ,listModFiles: function(type) { var items = []; var id = this.type.keys(); while(id.hasNext()) { var id1 = id.next(); if(id1.indexOf("_append") == 0 || id1.indexOf("_merge") == 0) { continue; } if(type == null || type == "BYTES" || this.check(id1,type)) { items.push(id1); } } return items; } ,check: function(id,type) { var exists = this._checkExists(id); if(exists && type != null && type != "BYTES") { var _this = this.type; var otherType = __map_reserved[id] != null ? _this.getReserved(id) : _this.h[id]; exists = otherType == type || otherType == "BYTES"; } return exists; } ,getType: function(id) { var exists = this._checkExists(id); if(exists) { var _this = this.type; if(__map_reserved[id] != null) { return _this.getReserved(id); } else { return _this.h[id]; } } return null; } ,checkDirectly: function(id,dir) { id = this.backend.stripAssetsPrefix(id); if(dir == null || dir == "") { return false; } else { var thePath = polymod_util_Util.uCombine([dir,polymod_util_Util.sl(),id]); } return false; } ,file: function(id,theDir) { if(theDir == null) { theDir = ""; } id = this.backend.stripAssetsPrefix(id); if(theDir != "") { return polymod_util_Util.pathJoin(theDir,id); } var theFile = ""; var _g = 0; var _g1 = this.dirs; while(_g < _g1.length) { var d = _g1[_g]; ++_g; var thePath = polymod_util_Util.pathJoin(d,id); } return theFile; } ,_checkExists: function(id) { if(this.ignoredFiles.length > 0 && this.ignoredFiles.indexOf(id) != -1) { return false; } var exists = false; id = this.backend.stripAssetsPrefix(id); var _g = 0; var _g1 = this.dirs; while(_g < _g1.length) { var d = _g1[_g]; ++_g; var path = polymod_util_Util.pathJoin(d,id); } return exists; } ,init: function() { this.type = new haxe_ds_StringMap(); this.extensions = new haxe_ds_StringMap(); this.initExtensions(); if(this.parseRules == null) { this.parseRules = polymod_format_ParseRules.getDefault(); } if(this.dirs != null) { var _g = 0; var _g1 = this.dirs; while(_g < _g1.length) { var d = _g1[_g]; ++_g; this.initMod(d); } } } ,initExtensions: function() { if(this.extensions == null) { this.extensions = new haxe_ds_StringMap(); } this._extensionSet("mp3","AUDIO_GENERIC"); this._extensionSet("ogg","AUDIO_GENERIC"); this._extensionSet("wav","AUDIO_GENERIC"); this._extensionSet("jpg","IMAGE"); this._extensionSet("png","IMAGE"); this._extensionSet("gif","IMAGE"); this._extensionSet("tga","IMAGE"); this._extensionSet("bmp","IMAGE"); this._extensionSet("tif","IMAGE"); this._extensionSet("tiff","IMAGE"); this._extensionSet("txt","TEXT"); this._extensionSet("xml","TEXT"); this._extensionSet("json","TEXT"); this._extensionSet("csv","TEXT"); this._extensionSet("tsv","TEXT"); this._extensionSet("mpf","TEXT"); this._extensionSet("tsx","TEXT"); this._extensionSet("tmx","TEXT"); this._extensionSet("vdf","TEXT"); this._extensionSet("ttf","FONT"); this._extensionSet("otf","FONT"); } ,_extensionSet: function(str,type) { var _this = this.extensions; if((__map_reserved[str] != null ? _this.existsReserved(str) : _this.h.hasOwnProperty(str)) == false) { var _this1 = this.extensions; if(__map_reserved[str] != null) { _this1.setReserved(str,type); } else { _this1.h[str] = type; } } } ,initMod: function(d) { if(d == null) { return; } var all = null; if(d == "" || d == null) { all = []; } try { all = []; } catch( msg ) { haxe_CallStack.lastException = msg; throw new js__$Boot_HaxeError("ModAssetLibrary._initMod(" + d + ") failed : " + Std.string(((msg) instanceof js__$Boot_HaxeError) ? msg.val : msg)); } var _g = 0; while(_g < all.length) { var f = all[_g]; ++_g; var doti = polymod_util_Util.uLastIndexOf(f,"."); var ext = doti != -1 ? f.substring(doti + 1) : ""; ext = ext.toLowerCase(); var assetType = this.getExtensionType(ext); var _this = this.type; if(__map_reserved[f] != null) { _this.setReserved(f,assetType); } else { _this.h[f] = assetType; } } } ,__class__: polymod_backends_PolymodAssetLibrary }; var polymod_backends_PolymodAssets = function() { }; $hxClasses["polymod.backends.PolymodAssets"] = polymod_backends_PolymodAssets; polymod_backends_PolymodAssets.__name__ = "polymod.backends.PolymodAssets"; polymod_backends_PolymodAssets.init = function(params) { var framework = params.framework; if(framework == null) { framework = polymod_backends_PolymodAssets.autoDetectFramework(); polymod_Polymod.notice("framework_autodetect"," going with " + Std.string(framework)); } else { polymod_Polymod.notice("framework_init"," user specified " + Std.string(framework)); } var backend; switch(framework._hx_index) { case 0: backend = new polymod_backends_NMEBackend(); break; case 1: backend = new polymod_backends_LimeBackend(); break; case 2: backend = new polymod_backends_OpenFLBackend(); break; case 3: backend = new polymod_backends_HEAPSBackend(); break; case 5: if(params.customBackend != null) { backend = Type.createInstance(params.customBackend,[]); } else { polymod_Polymod.error("undefined_custom_backend","params.customBackend was not defined!"); backend = null; } break; default: backend = null; } if(backend == null) { polymod_Polymod.error("failed_create_backend","could not create a backend for framework(" + Std.string(framework) + ")!"); return null; } if(polymod_backends_PolymodAssets.library != null) { polymod_backends_PolymodAssets.library.destroy(); } polymod_backends_PolymodAssets.library = new polymod_backends_PolymodAssetLibrary({ backend : backend, dirs : params.dirs, parseRules : params.parseRules, ignoredFiles : params.ignoredFiles, extensionMap : params.extensionMap}); backend.init(); return polymod_backends_PolymodAssets.library; }; polymod_backends_PolymodAssets.exists = function(id) { return polymod_backends_PolymodAssets.library.exists(id); }; polymod_backends_PolymodAssets.getBytes = function(id) { return polymod_backends_PolymodAssets.library.getBytes(id); }; polymod_backends_PolymodAssets.getText = function(id) { return polymod_backends_PolymodAssets.library.getText(id); }; polymod_backends_PolymodAssets.getPath = function(id) { return polymod_backends_PolymodAssets.library.getPath(id); }; polymod_backends_PolymodAssets.list = function(type) { return polymod_backends_PolymodAssets.library.list(type); }; polymod_backends_PolymodAssets.library = null; polymod_backends_PolymodAssets.autoDetectFramework = function() { return polymod_Framework.OPENFL; }; var polymod_backends__$PolymodAssets_PolymodAssetType_$Impl_$ = {}; $hxClasses["polymod.backends._PolymodAssets.PolymodAssetType_Impl_"] = polymod_backends__$PolymodAssets_PolymodAssetType_$Impl_$; polymod_backends__$PolymodAssets_PolymodAssetType_$Impl_$.__name__ = "polymod.backends._PolymodAssets.PolymodAssetType_Impl_"; polymod_backends__$PolymodAssets_PolymodAssetType_$Impl_$.fromString = function(str) { str = str.toUpperCase(); switch(str) { case "AUDIO_GENERIC":case "AUDIO_MUSIC":case "AUDIO_SOUND":case "BYTES":case "FONT":case "IMAGE":case "MANIFEST":case "TEMPLATE":case "TEXT":case "UNKNOWN":case "VIDEO": return str; default: return "UNKNOWN"; } }; var polymod_format_BaseParseFormat = function() { }; $hxClasses["polymod.format.BaseParseFormat"] = polymod_format_BaseParseFormat; polymod_format_BaseParseFormat.__name__ = "polymod.format.BaseParseFormat"; polymod_format_BaseParseFormat.__isInterface__ = true; polymod_format_BaseParseFormat.prototype = { format: null ,append: null ,merge: null ,__class__: polymod_format_BaseParseFormat }; var polymod_format_CSV = function() { this._quoted = false; this._delimeter = ""; this._rgx = null; }; $hxClasses["polymod.format.CSV"] = polymod_format_CSV; polymod_format_CSV.__name__ = "polymod.format.CSV"; polymod_format_CSV.parse = function(input,delimeter,quotedCells) { if(quotedCells == null) { quotedCells = true; } if(delimeter == null) { delimeter = ","; } var csv = new polymod_format_CSV(); csv._parse(input,delimeter,quotedCells); return csv; }; polymod_format_CSV.parseWithFormat = function(input,format) { if(format.get_isSimpleMode()) { return polymod_format_CSV.parseSimple(input); } else { return polymod_format_CSV.parse(input,format.delimeter,format.quotedCells); } }; polymod_format_CSV.parseSimple = function(input) { var endline = "\n"; if(input.indexOf("\r\n") != -1) { endline = "\r\n"; } var lines = input.split(endline); var fieldLine = lines.shift(); var fields = fieldLine.split(","); var grid = []; var _g = 0; while(_g < lines.length) { var line = lines[_g]; ++_g; var cells = line.split(","); grid.push(cells); } var csv = new polymod_format_CSV(); csv.fields = fields; csv.grid = grid; return csv; }; polymod_format_CSV.prototype = { fields: null ,grid: null ,destroy: function() { this.clearArray(this.grid); this.clearArray(this.fields); this.grid = null; this.fields = null; } ,_rgx: null ,_delimeter: null ,_quoted: null ,_parse: function(input,delimeter,quoted) { if(quoted == null) { quoted = true; } if(delimeter == null) { delimeter = ","; } this._delimeter = delimeter; this._quoted = quoted; if(input != "") { this.processRows(this.getRows(input)); } } ,clearArray: function(array) { if(array == null) { return; } var i = array.length - 1; while(i >= 0) { this.destroyThing(array[i]); array[i] = null; array.splice(i,1); --i; } array = null; } ,destroyThing: function(thing) { if(thing == null) { return; } if(((thing) instanceof Array)) { this.clearArray(thing); } thing = null; } ,getCells: function(row) { if(this._rgx == null) { if(row.charAt(row.length - 1) == this._delimeter) { row = HxOverrides.substr(row,0,row.length - 1); } if(this._delimeter == ",") { this._rgx = new EReg(",(?=(?:[^\\x22]*\\x22[^\\x22]*\\x22)*(?![^\\x22]*\\x22))","gm"); } else { this._rgx = new EReg(this._delimeter + "(?=(?:[^\"]*\"[^\"]*\")*(?![^\"]*\"))","gm"); } } return this._rgx.split(row); } ,getRows: function(input) { var endl = "\r\n"; if(input.indexOf("\r\n") == -1) { endl = "\n"; } return input.split(endl); } ,processCells: function(cells,row) { if(row == null) { row = 0; } var col = 0; var newline = false; var row_array = null; if(this.grid == null) { this.grid = []; this.fields = []; } row_array = []; var _g = 0; var _g1 = cells.length; while(_g < _g1) { var i = _g++; var cell = ""; if(this._quoted) { cell = HxOverrides.substr(cells[i],1,cells[i].length - 2); } else { cell = cells[i]; } if(row == 0) { this.fields.push(cell); } else { row_array.push(cell); } } this.grid.push(row_array); this.clearArray(cells); cells = null; } ,processRows: function(rows) { var _g = 0; var _g1 = rows.length; while(_g < _g1) { var i = _g++; this.processCells(this.getCells(rows[i]),i); } } ,__class__: polymod_format_CSV }; var polymod_format_JsonHelp = function() { }; $hxClasses["polymod.format.JsonHelp"] = polymod_format_JsonHelp; polymod_format_JsonHelp.__name__ = "polymod.format.JsonHelp"; polymod_format_JsonHelp.bool = function(json,field,defaultValue) { if(defaultValue == null) { defaultValue = false; } var str = ""; if(Object.prototype.hasOwnProperty.call(json,field)) { str = Reflect.field(json,field); } if(str == null || str == "") { return defaultValue; } str = str.toLowerCase(); if(str == "true") { return true; } return false; }; polymod_format_JsonHelp.int = function(json,field,defaultValue) { if(defaultValue == null) { defaultValue = 0; } var str = ""; if(Object.prototype.hasOwnProperty.call(json,field)) { str = Reflect.field(json,field); } if(str == null || str == "") { return defaultValue; } var i = Std.parseInt(str); if(i == null) { return defaultValue; } return i; }; polymod_format_JsonHelp.float = function(json,field,defaultValue) { if(defaultValue == null) { defaultValue = 0; } var str = ""; if(Object.prototype.hasOwnProperty.call(json,field)) { str = Reflect.field(json,field); } if(str == null || str == "") { return defaultValue; } var f = NaN; try { f = parseFloat(str); } catch( msg ) { haxe_CallStack.lastException = msg; var msg1 = ((msg) instanceof js__$Boot_HaxeError) ? msg.val : msg; f = NaN; } if(isNaN(f)) { return defaultValue; } return f; }; polymod_format_JsonHelp.mapStr = function(json,field) { var map = new haxe_ds_StringMap(); if(json == null || field == "" || field == null) { return map; } var val = null; if(Object.prototype.hasOwnProperty.call(json,field)) { val = Reflect.field(json,field); } if(val != null) { var _g = 0; var _g1 = Reflect.fields(val); while(_g < _g1.length) { var field1 = _g1[_g]; ++_g; var fieldVal = Reflect.field(val,field1); var value = Std.string(fieldVal); if(__map_reserved[field1] != null) { map.setReserved(field1,value); } else { map.h[field1] = value; } } } return map; }; polymod_format_JsonHelp.str = function(json,field,defaultValue) { if(defaultValue == null) { defaultValue = ""; } var str = ""; if(Object.prototype.hasOwnProperty.call(json,field)) { str = Reflect.field(json,field); } if(str == null || str == "") { return defaultValue; } return str; }; polymod_format_JsonHelp.arrStr = function(json,field,defaultValue) { var val = null; if(Object.prototype.hasOwnProperty.call(json,field)) { val = Reflect.field(json,field); } if(val != null && ((val) instanceof Array)) { return val; } return defaultValue; }; var polymod_format_ParseRules = function() { this.formats = new haxe_ds_StringMap(); }; $hxClasses["polymod.format.ParseRules"] = polymod_format_ParseRules; polymod_format_ParseRules.__name__ = "polymod.format.ParseRules"; polymod_format_ParseRules.getDefault = function() { var rules = new polymod_format_ParseRules(); rules.addFormat("csv",new polymod_format_CSVParseFormat(",",true)); rules.addFormat("tsv",new polymod_format_TSVParseFormat()); rules.addFormat("xml",new polymod_format_XMLParseFormat()); rules.addFormat("json",new polymod_format_JSONParseFormat()); rules.addFormat("txt",new polymod_format_PlainTextParseFormat()); return rules; }; polymod_format_ParseRules.prototype = { formats: null ,addType: function(extension,type) { var format; switch(type._hx_index) { case 0: format = new polymod_format_PlainTextParseFormat(); break; case 1: format = new polymod_format_LinesParseFormat(polymod_format_EndLineType.LF); break; case 2: format = new polymod_format_CSVParseFormat(",",true); break; case 3: format = new polymod_format_TSVParseFormat(); break; case 4: format = new polymod_format_XMLParseFormat(); break; case 5: format = new polymod_format_JSONParseFormat(); break; } var _this = this.formats; if(__map_reserved[extension] != null) { _this.setReserved(extension,format); } else { _this.h[extension] = format; } } ,get: function(extension) { var _this = this.formats; if(__map_reserved[extension] != null) { return _this.getReserved(extension); } else { return _this.h[extension]; } } ,addFormat: function(extension,format) { var _this = this.formats; if(__map_reserved[extension] != null) { _this.setReserved(extension,format); } else { _this.h[extension] = format; } } ,addFile: function(path,format) { var _this = this.formats; if(__map_reserved[path] != null) { _this.setReserved(path,format); } else { _this.h[path] = format; } } ,__class__: polymod_format_ParseRules }; var polymod_format_CSVParseFormat = function(delimeter,quotedCells) { this.format = polymod_format_TextFileFormat.CSV; this.delimeter = delimeter; this.quotedCells = quotedCells; }; $hxClasses["polymod.format.CSVParseFormat"] = polymod_format_CSVParseFormat; polymod_format_CSVParseFormat.__name__ = "polymod.format.CSVParseFormat"; polymod_format_CSVParseFormat.__interfaces__ = [polymod_format_BaseParseFormat]; polymod_format_CSVParseFormat.prototype = { format: null ,isSimpleMode: null ,delimeter: null ,quotedCells: null ,lookForHeaders: null ,get_isSimpleMode: function() { if(this.delimeter == ",") { return this.quotedCells == false; } else { return false; } } ,parse: function(str) { return polymod_format_CSV.parse(str,this.delimeter,this.quotedCells); } ,append: function(baseText,appendText,id) { var endLine = "\n"; if(baseText.indexOf("\r\n") != -1) { endLine = "\r\n"; } if(this.lookForHeaders) { var baseCSV; var appendCSV; var appendEndLine = "\n"; if(appendText.indexOf("\r\n") != -1) { appendEndLine = "\r\n"; } var appendLength = polymod_util_Util.uLength(appendText); var appendLast = polymod_util_Util.uLastIndexOf(appendText,appendEndLine); if(appendLast == appendLength - 1 || appendLast == appendLength - 2) { appendText = polymod_util_Util.uSubstr(appendText,0,appendLength - polymod_util_Util.uLength(appendEndLine)); } try { baseCSV = polymod_format_CSV.parseWithFormat(baseText,this); appendCSV = polymod_format_CSV.parseWithFormat(appendText,this); } catch( msg ) { haxe_CallStack.lastException = msg; polymod_Polymod.error("append_error","CSV Append error (" + id + ") : " + Std.string(((msg) instanceof js__$Boot_HaxeError) ? msg.val : msg)); return baseText; } var finalText = baseText; var finalLength = polymod_util_Util.uLength(finalText); var lastEndLine = polymod_util_Util.uLastIndexOf(finalText,endLine); var addFinalEndline = false; if(lastEndLine == finalLength - 1 || lastEndLine == finalLength - 2) { finalText = polymod_util_Util.uSubstr(finalText,0,finalLength - polymod_util_Util.uLength(endLine)); addFinalEndline = true; } var compareFields = 0; var _g = 0; var _g1 = baseCSV.fields.length; while(_g < _g1) { var i = _g++; var baseField = baseCSV.fields[i]; var appendFieldExists = appendCSV.fields.indexOf(baseField) != -1; if(appendFieldExists) { ++compareFields; } } if(this.lookForHeaders) { if(compareFields < (baseCSV.fields.length / 2 | 0)) { polymod_Polymod.error("append_error","Mod file(" + id + ") is missing most or all of the expected header fields","init"); } } var missingFields = []; var _g2 = 0; var _g3 = appendCSV.grid.length; while(_g2 < _g3) { var r = _g2++; var line = ""; var _g21 = 0; var _g31 = baseCSV.fields.length; while(_g21 < _g31) { var bi = _g21++; var baseField1 = baseCSV.fields[bi]; var appendField = appendCSV.fields.indexOf(baseField1); if(appendField != -1) { var appendValue = appendCSV.grid[r][appendField]; if(appendValue == null) { appendValue = ""; } line += appendValue; } else if(missingFields.indexOf(baseField1) == -1) { missingFields.push(baseField1); } if(bi != baseCSV.fields.length - 1) { line += this.delimeter; } } finalText += endLine + line; } if(addFinalEndline) { finalText += endLine; } var _g4 = 0; while(_g4 < missingFields.length) { var baseField2 = missingFields[_g4]; ++_g4; polymod_Polymod.warning("append_error","Mod file(" + id + ") missing expected field \"" + baseField2 + "\", values will default to empty string.","init"); } return finalText; } return polymod_util_Util.appendCSVOrTSV(baseText,appendText,id); } ,merge: function(baseText,mergeText,id) { var baseCSV; var mergeCSV; try { baseCSV = polymod_format_CSV.parseWithFormat(baseText,this); mergeCSV = polymod_format_CSV.parseWithFormat(mergeText,this); } catch( msg ) { haxe_CallStack.lastException = msg; polymod_Polymod.error("merge_error","CSV Merge error (" + id + ") : " + Std.string(((msg) instanceof js__$Boot_HaxeError) ? msg.val : msg)); return baseText; } var _g = 0; var _g1 = mergeCSV.grid; while(_g < _g1.length) { var row = _g1[_g]; ++_g; var flag = row.length > 0 ? row[0] : ""; if(flag != "") { var _g2 = 0; var _g11 = baseCSV.grid.length; while(_g2 < _g11) { var i = _g2++; var otherRow = baseCSV.grid[i]; var otherFlag = otherRow[0]; if(flag == otherFlag) { var _g3 = 0; var _g12 = row.length; while(_g3 < _g12) { var j = _g3++; if(j < otherRow.length) { otherRow[j] = row[j]; } } } } } } var result = this.print(baseCSV); return result; } ,print: function(csv) { var buf_b = ""; var lf = 10; var dq = 34; var _g = 0; var _g1 = csv.fields.length; while(_g < _g1) { var i = _g++; buf_b += Std.string(csv.fields[i]); if(i != csv.fields.length - 1) { buf_b += Std.string(this.delimeter); } } var strSoFar = buf_b; if(strSoFar.indexOf("\n") == -1) { buf_b += "\r\n"; } var grid = csv.grid; var _g2 = 0; var _g3 = grid.length; while(_g2 < _g3) { var iy = _g2++; var row = grid[iy]; var _g21 = 0; var _g31 = row.length; while(_g21 < _g31) { var ix = _g21++; var cell = row[ix]; if(this.quotedCells) { buf_b += String.fromCodePoint(dq); } haxe_Utf8.iter(cell,function(char) { buf_b += String.fromCodePoint(char); }); if(this.quotedCells) { buf_b += String.fromCodePoint(dq); } if(ix != row.length - 1) { buf_b += Std.string(this.delimeter); } } if(iy != grid.length - 1) { buf_b += "\r\n"; } } return buf_b; } ,__class__: polymod_format_CSVParseFormat ,__properties__: {get_isSimpleMode:"get_isSimpleMode"} }; var polymod_format_TSVParseFormat = function() { this.format = polymod_format_TextFileFormat.TSV; }; $hxClasses["polymod.format.TSVParseFormat"] = polymod_format_TSVParseFormat; polymod_format_TSVParseFormat.__name__ = "polymod.format.TSVParseFormat"; polymod_format_TSVParseFormat.__interfaces__ = [polymod_format_BaseParseFormat]; polymod_format_TSVParseFormat.prototype = { format: null ,parse: function(str) { return polymod_format_TSV.parse(str); } ,append: function(baseText,appendText,id) { return polymod_util_Util.appendCSVOrTSV(baseText,appendText,id); } ,merge: function(baseText,mergeText,id) { var baseTSV = polymod_format_TSV.parse(baseText); var mergeTSV = polymod_format_TSV.parse(mergeText); var _g = 0; var _g1 = mergeTSV.grid; while(_g < _g1.length) { var row = _g1[_g]; ++_g; var flag = row.length > 0 ? row[0] : ""; if(flag != "") { var _g2 = 0; var _g11 = baseTSV.grid.length; while(_g2 < _g11) { var i = _g2++; var otherRow = baseTSV.grid[i]; var otherFlag = otherRow[0]; if(flag == otherFlag) { var _g3 = 0; var _g12 = row.length; while(_g3 < _g12) { var j = _g3++; if(j < otherRow.length) { otherRow[j] = row[j]; } } } } } } var result = this.print(baseTSV); return result; } ,print: function(tsv) { var buf_b = ""; var tab = 9; var lf = 10; var _g = 0; var _g1 = tsv.fields.length; while(_g < _g1) { var i = _g++; buf_b += Std.string(tsv.fields[i]); if(i != tsv.fields.length - 1) { buf_b += String.fromCodePoint(tab); } } var strSoFar = buf_b; if(strSoFar.indexOf("\n") == -1) { buf_b += "\r\n"; } var grid = tsv.grid; var _g2 = 0; var _g3 = grid.length; while(_g2 < _g3) { var iy = _g2++; var row = grid[iy]; var _g21 = 0; var _g31 = row.length; while(_g21 < _g31) { var ix = _g21++; var cell = row[ix]; haxe_Utf8.iter(cell,function(char) { buf_b += String.fromCodePoint(char); }); if(ix != row.length - 1) { buf_b += String.fromCodePoint(tab); } } if(iy != grid.length - 1) { buf_b += "\r\n"; } } return buf_b; } ,__class__: polymod_format_TSVParseFormat }; var polymod_format_LinesParseFormat = function(endline) { this.format = polymod_format_TextFileFormat.LINES; this.endline = endline; }; $hxClasses["polymod.format.LinesParseFormat"] = polymod_format_LinesParseFormat; polymod_format_LinesParseFormat.__name__ = "polymod.format.LinesParseFormat"; polymod_format_LinesParseFormat.__interfaces__ = [polymod_format_BaseParseFormat]; polymod_format_LinesParseFormat.prototype = { format: null ,endline: null ,parse: function(str) { if(str == null || str == "") { return []; } var other = ""; var endl = ""; switch(this.endline._hx_index) { case 0: endl = "\n"; break; case 1: endl = "\r"; break; case 2: endl = "\r\n"; break; default: endl = "\r"; other = "\n"; } if(other == "") { return str.split(endl); } else { str = StringTools.replace(str,other,endl); return str.split(endl); } } ,append: function(baseText,appendText,id) { return polymod_util_Util.uCombine([baseText,this.getEndl(),appendText]); } ,merge: function(baseText,mergeText,id) { if(baseText == null || mergeText == "") { return baseText; } if(baseText == null || mergeText == "") { return baseText; } var lines = this.parse(baseText); if(lines == null || lines.length <= 0) { return baseText; } var mergeLines = this.parse(mergeText); if(mergeLines == null || mergeLines.length <= 1) { return baseText; } var pattern = mergeLines.shift(); var newLines = []; var _g = 0; while(_g < lines.length) { var line = lines[_g]; ++_g; if(line.indexOf(pattern) == 0) { newLines = newLines.concat(mergeLines); } else { newLines.push(line); } } return polymod_util_Util.uJoin(newLines,this.getEndl()); } ,print: function(lines) { return lines.join(this.getEndl()); } ,getEndl: function() { switch(this.endline._hx_index) { case 0: return "\n"; case 1: return "\r"; case 2: return "\r\n"; default: return "\n"; } } ,__class__: polymod_format_LinesParseFormat }; var polymod_format_XMLParseFormat = function(prettyPrint,headers,footers) { if(prettyPrint == null) { prettyPrint = false; } this.prettyPrint = false; if(headers == null) { headers = []; } if(footers == null) { footers = []; } this.stripHeaders = headers; this.stripFooters = footers; this.prettyPrint = prettyPrint; this.format = polymod_format_TextFileFormat.XML; }; $hxClasses["polymod.format.XMLParseFormat"] = polymod_format_XMLParseFormat; polymod_format_XMLParseFormat.__name__ = "polymod.format.XMLParseFormat"; polymod_format_XMLParseFormat.__interfaces__ = [polymod_format_BaseParseFormat]; polymod_format_XMLParseFormat.prototype = { format: null ,prettyPrint: null ,stripHeaders: null ,stripFooters: null ,parse: function(str) { return Xml.parse(str); } ,append: function(baseText,appendText,id) { if(this.stripHeaders != null && this.stripFooters != null) { return polymod_util_Util.appendSpecialXML(baseText,appendText,this.stripHeaders,this.stripFooters); } else { return polymod_util_Util.appendXML(baseText,appendText); } } ,merge: function(baseText,mergeText,id) { var basex = null; var mergex = null; try { basex = Xml.parse(baseText); mergex = Xml.parse(mergeText); } catch( msg ) { haxe_CallStack.lastException = msg; throw new js__$Boot_HaxeError("Error parsing XML files during merge (" + id + ") " + Std.string(((msg) instanceof js__$Boot_HaxeError) ? msg.val : msg)); } try { polymod_format_XMLMerge.mergeXMLNodes(basex,mergex); } catch( msg1 ) { haxe_CallStack.lastException = msg1; throw new js__$Boot_HaxeError("Error combining XML files during merge (" + id + ") " + Std.string(((msg1) instanceof js__$Boot_HaxeError) ? msg1.val : msg1)); } return this.print(basex); } ,print: function(xml) { return haxe_xml_Printer.print(xml,this.prettyPrint); } ,__class__: polymod_format_XMLParseFormat }; var polymod_format_JSONParseFormat = function(space,replacer) { this.replacer = replacer; this.space = space; this.format = polymod_format_TextFileFormat.JSON; }; $hxClasses["polymod.format.JSONParseFormat"] = polymod_format_JSONParseFormat; polymod_format_JSONParseFormat.__name__ = "polymod.format.JSONParseFormat"; polymod_format_JSONParseFormat.__interfaces__ = [polymod_format_BaseParseFormat]; polymod_format_JSONParseFormat.prototype = { format: null ,space: null ,replacer: null ,parse: function(str) { return JSON.parse(str); } ,append: function(baseText,appendText,id) { var lastBracket = polymod_util_Util.uLastIndexOf(baseText,"}"); var baseFirst = polymod_util_Util.uSubstr(baseText,0,lastBracket); var baseEnd = polymod_util_Util.uSubstr(baseText,lastBracket,baseText.length); var firstAppendBracket = polymod_util_Util.uIndexOf(appendText,"{"); var lastAppendBracket = polymod_util_Util.uLastIndexOf(appendText,"}"); var injectText = polymod_util_Util.uSubstring(appendText,firstAppendBracket + 1,lastAppendBracket); if(injectText == null || injectText == "") { return baseText; } baseFirst = polymod_util_Util.uTrimFinalEndlines(baseFirst); injectText = polymod_util_Util.uTrimFinalEndlines(injectText); injectText = polymod_util_Util.uTrimFirstEndlines(injectText); baseEnd = polymod_util_Util.uTrimFinalEndlines(baseEnd); var comma = ","; return baseFirst + comma + "\n" + injectText + baseEnd; } ,merge: function(baseText,mergeText,id) { var base = null; var merge = null; try { base = this.parse(baseText); } catch( msg ) { haxe_CallStack.lastException = msg; polymod_Polymod.error("merge_error","JSON merge error (" + id + "): couldn't parse base text! : " + Std.string(((msg) instanceof js__$Boot_HaxeError) ? msg.val : msg)); } try { merge = this.parse(mergeText); } catch( msg1 ) { haxe_CallStack.lastException = msg1; polymod_Polymod.error("merge_error","JSON merge error (" + id + "): couldn't parse merge text! : " + Std.string(((msg1) instanceof js__$Boot_HaxeError) ? msg1.val : msg1)); return baseText; } if(Object.prototype.hasOwnProperty.call(merge,"merge")) { if(((merge.merge) instanceof Array)) { var merge1 = merge.merge; var _g = 0; while(_g < merge1.length) { var entry = merge1[_g]; ++_g; var target = null; var payload = null; target = entry.target; payload = entry.payload; base = this._mergeJson(base,entry,id); } } else { polymod_Polymod.error("merge_error","JSON merge error (" + id + "): merge file must contain a single top-level array named \"merge\"! (Found an object, not an array)"); } } else { polymod_Polymod.error("merge_error","JSON merge error (" + id + "): merge file must contain a single top-level array named \"merge\"!"); } return this.print(base); } ,_mergeJson: function(base,entry,id) { var sig = this._getTargetSignature(entry.target); var obj = base; var currTarget = sig[0]; if(currTarget == null) { polymod_Polymod.warning("merge_error","JSON merge failed (" + id + "), sig was " + Std.string(sig)); return obj; } var done = false; var last = obj; var i = 0; var signatureSoFar = ""; var struct = { next : null, parent : null, arrIndex : -1, target : null}; var next = null; while(!done) { struct = this._descend(last,currTarget,signatureSoFar,struct); if(struct == null) { next = null; } else { next = struct.next; } if(signatureSoFar != "") { signatureSoFar += "."; } signatureSoFar += this._targSigElementToString(currTarget); ++i; if(next == null) { polymod_Polymod.warning("merge_error","JSON merge failed (" + id + "), could not find object \"" + signatureSoFar + "\")"); done = true; } else if(i < sig.length) { currTarget = sig[i]; } else { this._inject(struct.parent,struct.target,struct.arrIndex,entry.payload,signatureSoFar); done = true; } last = next; } return obj; } ,_targSigElementToString: function(target) { var str = target.value; if(target.arrayIndeces != null && target.arrayIndeces.length > 0) { var _g = 0; var _g1 = target.arrayIndeces; while(_g < _g1.length) { var arri = _g1[_g]; ++_g; if(arri >= 0) { str += "[" + arri + "]"; } } } return str; } ,_inject: function(obj,target,arrIndex,payload,signatureSoFar) { if(signatureSoFar == null) { signatureSoFar = ""; } if(arrIndex == -1) { if(Object.prototype.hasOwnProperty.call(obj,target)) { var baseObject = Reflect.field(obj,target); var mergedValue = this._mergeObjects(baseObject,payload,signatureSoFar); obj[target] = mergedValue; } else { obj[target] = payload; } } else if(((obj) instanceof Array)) { var arr = obj; if(arr.length > arrIndex) { var baseObject1 = arr[arrIndex]; var mergedValue1 = this._mergeObjects(baseObject1,payload,signatureSoFar); } else { polymod_Polymod.warning("merge_error","JSON merge failed, array index (" + arrIndex + ") out of bounds for array of length (" + arr.length + ") at " + signatureSoFar); } } } ,_mergeObjects: function(a,b,signatureSoFar) { if(signatureSoFar == null) { signatureSoFar = ""; } if(((a) instanceof Array) && ((b) instanceof Array)) { return b; } else if(!((a) instanceof Array) && !((b) instanceof Array)) { var aPrimitive = this.isPrimitive(a); var bPrimitive = this.isPrimitive(b); if(aPrimitive && bPrimitive) { return b; } else if(aPrimitive != bPrimitive) { return a; } else { var _g = 0; var _g1 = Reflect.fields(b); while(_g < _g1.length) { var field = _g1[_g]; ++_g; if(Object.prototype.hasOwnProperty.call(a,field)) { var aValue = Reflect.field(a,field); var bValue = Reflect.field(b,field); var mergedValue = this.copyVal(this._mergeObjects(aValue,bValue,signatureSoFar + "." + field)); a[field] = mergedValue; } else { a[field] = Reflect.field(b,field); } } } } else { var aArr = ((a) instanceof Array) ? "array" : "object"; var bArr = ((b) instanceof Array) ? "array" : "object"; polymod_Polymod.warning("merge_error","JSON can't merge @ (" + signatureSoFar + ") because base is (" + aArr + ") but payload is (" + bArr + ")"); } return a; } ,copyVal: function(a) { var b = null; if(typeof(a) == "number" && ((a | 0) === a)) { b = a | 0; } if(typeof(a) == "number") { b = js_Boot.__cast(a , Float); } if(typeof(a) == "string") { b = Std.string(b); } if(typeof(a) == "boolean") { b = a == true; } else { b = Std.string(a); } return b; } ,isPrimitive: function(a) { if(typeof(a) == "string") { return true; } if(typeof(a) == "number") { return true; } if(typeof(a) == "number" && ((a | 0) === a)) { return true; } if(typeof(a) == "boolean") { return true; } return false; } ,_descend: function(obj,target,signatureSoFar,struct) { if(signatureSoFar == null) { signatureSoFar = ""; } if(struct == null) { struct = { next : null, parent : null, arrIndex : -1, target : null}; } if(obj == null) { return null; } if(target == null) { return null; } if(Object.prototype.hasOwnProperty.call(obj,target.value) == false) { polymod_Polymod.warning("merge_error","JSON merge error : object (" + signatureSoFar + ") has no field (" + target.value + ")"); return null; } var next = Reflect.field(obj,target.value); struct.next = next; struct.parent = obj; struct.target = target.value; if(next == null) { return struct; } if(target.arrayIndeces.length > 0) { struct.next = next; if(((next) instanceof Array)) { var arr = next; var arrIndeces = target.arrayIndeces.slice(); var done = false; signatureSoFar += "." + target.value; while(arrIndeces.length > 0) { var arrIndex = arrIndeces.shift(); if(arrIndex < arr.length) { struct.parent = next; next = arr[arrIndex]; struct.next = next; struct.arrIndex = arrIndex; if(((next) instanceof Array)) { arr = next; } else { polymod_Polymod.warning("merge_error","JSON merge error : invalid array access [" + arrIndex + "] on target \"" + signatureSoFar + "\""); done = true; } } else { polymod_Polymod.warning("merge_error","JSON merge error : array index (" + arrIndex + ") out of bounds on target \"" + signatureSoFar + "\" with length " + arr.length); done = true; } signatureSoFar += "[" + arrIndex + "]"; } } else { return null; } } return struct; } ,_getTargetSignature: function(str) { if(str == null) { return []; } var result = []; var arr = str.split("."); var _g = 0; while(_g < arr.length) { var bit = arr[_g]; ++_g; if(bit.indexOf("[") != -1) { var arr2 = bit.split("["); var value = arr2.shift(); var arrayIndeces = []; while(arr2.length > 0) { var value2 = arr2.shift(); value2 = polymod_util_Util.uTrimFinalCharIf(value2,"]"); var arrIndex = Std.parseInt(value2); if(arrIndex != null && arrIndex >= 0) { arrayIndeces.push(arrIndex); } else { polymod_Polymod.warning("merge_error","JSON merge error: found invalid array index (" + value2 + ") in signature (" + str + ")"); break; } } result.push({ value : value, arrayIndeces : arrayIndeces}); } else { result.push({ value : bit, arrayIndeces : []}); } } return result; } ,print: function(data) { return JSON.stringify(data,this.replacer,this.space); } ,__class__: polymod_format_JSONParseFormat }; var polymod_format_PlainTextParseFormat = function() { this.format = polymod_format_TextFileFormat.PLAINTEXT; }; $hxClasses["polymod.format.PlainTextParseFormat"] = polymod_format_PlainTextParseFormat; polymod_format_PlainTextParseFormat.__name__ = "polymod.format.PlainTextParseFormat"; polymod_format_PlainTextParseFormat.__interfaces__ = [polymod_format_BaseParseFormat]; polymod_format_PlainTextParseFormat.prototype = { format: null ,parse: function(str) { return str; } ,append: function(baseText,appendText,id) { var lastChar = polymod_util_Util.uCharAt(baseText,polymod_util_Util.uLength(baseText) - 1); var lastLastChar = polymod_util_Util.uCharAt(baseText,polymod_util_Util.uLength(baseText) - 1); var joiner = ""; var endLine = "\n"; var crIndex = polymod_util_Util.uIndexOf(baseText,"\r"); var lfIndex = polymod_util_Util.uIndexOf(baseText,"\n"); if(crIndex != -1) { if(lfIndex == crIndex + 1) { endLine = "\r\n"; } } if(lastChar != "\n") { joiner = endLine; } return polymod_util_Util.uCombine([baseText,joiner,appendText]); } ,merge: function(baseText,mergeText,id) { polymod_Polymod.warning("merge_error","(" + id + ") Plain text does not support merging!"); return baseText; } ,print: function(str) { return str; } ,__class__: polymod_format_PlainTextParseFormat }; var polymod_format_TextFileFormat = $hxEnums["polymod.format.TextFileFormat"] = { __ename__ : "polymod.format.TextFileFormat", __constructs__ : ["PLAINTEXT","LINES","CSV","TSV","XML","JSON"] ,PLAINTEXT: {_hx_index:0,__enum__:"polymod.format.TextFileFormat",toString:$estr} ,LINES: {_hx_index:1,__enum__:"polymod.format.TextFileFormat",toString:$estr} ,CSV: {_hx_index:2,__enum__:"polymod.format.TextFileFormat",toString:$estr} ,TSV: {_hx_index:3,__enum__:"polymod.format.TextFileFormat",toString:$estr} ,XML: {_hx_index:4,__enum__:"polymod.format.TextFileFormat",toString:$estr} ,JSON: {_hx_index:5,__enum__:"polymod.format.TextFileFormat",toString:$estr} }; var polymod_format_EndLineType = $hxEnums["polymod.format.EndLineType"] = { __ename__ : "polymod.format.EndLineType", __constructs__ : ["LF","CR","CRLF","ANY"] ,LF: {_hx_index:0,__enum__:"polymod.format.EndLineType",toString:$estr} ,CR: {_hx_index:1,__enum__:"polymod.format.EndLineType",toString:$estr} ,CRLF: {_hx_index:2,__enum__:"polymod.format.EndLineType",toString:$estr} ,ANY: {_hx_index:3,__enum__:"polymod.format.EndLineType",toString:$estr} }; var polymod_format_TSV = function() { polymod_format_CSV.call(this); }; $hxClasses["polymod.format.TSV"] = polymod_format_TSV; polymod_format_TSV.__name__ = "polymod.format.TSV"; polymod_format_TSV.parse = function(input) { var endline = "\n"; if(input.indexOf("\r\n") != -1) { endline = "\r\n"; } var lines = input.split(endline); var fieldLine = lines.shift(); var fields = fieldLine.split("\t"); var grid = []; var _g = 0; while(_g < lines.length) { var line = lines[_g]; ++_g; while(line.charAt(line.length - 1) == "\t") line = HxOverrides.substr(line,0,line.length - 1); var cells = line.split("\t"); grid.push(cells); } var tsv = new polymod_format_TSV(); tsv.fields = fields; tsv.grid = grid; return tsv; }; polymod_format_TSV.__super__ = polymod_format_CSV; polymod_format_TSV.prototype = $extend(polymod_format_CSV.prototype,{ __class__: polymod_format_TSV }); var polymod_format_XMLMerge = function() { }; $hxClasses["polymod.format.XMLMerge"] = polymod_format_XMLMerge; polymod_format_XMLMerge.__name__ = "polymod.format.XMLMerge"; polymod_format_XMLMerge.mergeXMLWork = function(a,b,children,attributes) { if(attributes == null) { attributes = true; } if(children == null) { children = true; } if(a == null || b == null) { return; } if(a.nodeType == 6) { a = a.firstElement(); } if(b.nodeType == 6) { b = b.firstElement(); } if(a.nodeType != 0 || b.nodeType != 0) { return; } var tmp; if(a.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element but found " + _$Xml_XmlType_$Impl_$.toString(a.nodeType)); } if(a.nodeName != "merge") { if(b.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element but found " + _$Xml_XmlType_$Impl_$.toString(b.nodeType)); } tmp = b.nodeName == "merge"; } else { tmp = true; } if(tmp) { return; } if(children) { var el = b.elements(); while(el.hasNext()) { var el1 = el.next(); if(el1 == null) { continue; } if(el1.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element but found " + _$Xml_XmlType_$Impl_$.toString(el1.nodeType)); } if(el1.nodeName == "merge") { continue; } if(el1.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element but found " + _$Xml_XmlType_$Impl_$.toString(el1.nodeType)); } var aCount = polymod_format_XMLMerge.countNodes(a,el1.nodeName); if(el1.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element but found " + _$Xml_XmlType_$Impl_$.toString(el1.nodeType)); } var bCount = polymod_format_XMLMerge.countNodes(b,el1.nodeName); if(aCount == 0 && bCount > 0) { var parent = null; var c = null; if(el1.nodeType == Xml.Element) { if(el1.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element but found " + _$Xml_XmlType_$Impl_$.toString(el1.nodeType)); } c = Xml.createElement(el1.nodeName); var att = el1.attributes(); while(att.hasNext()) { var att1 = att.next(); c.set(att1,el1.get(att1)); } var el2 = el1.elements(); while(el2.hasNext()) { var el3 = el2.next(); var c1 = null; if(el3.nodeType == Xml.Element) { if(el3.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element but found " + _$Xml_XmlType_$Impl_$.toString(el3.nodeType)); } c1 = Xml.createElement(el3.nodeName); var att2 = el3.attributes(); while(att2.hasNext()) { var att3 = att2.next(); c1.set(att3,el3.get(att3)); } var el4 = el3.elements(); while(el4.hasNext()) { var el5 = el4.next(); c1.addChild(polymod_util_Util.copyXml(el5,c1)); } } else if(el3.nodeType == Xml.PCData) { if(el3.nodeType == Xml.Document || el3.nodeType == Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, unexpected " + _$Xml_XmlType_$Impl_$.toString(el3.nodeType)); } c1 = Xml.createPCData(el3.nodeValue); } else if(el3.nodeType == Xml.CData) { if(el3.nodeType == Xml.Document || el3.nodeType == Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, unexpected " + _$Xml_XmlType_$Impl_$.toString(el3.nodeType)); } c1 = Xml.createCData(el3.nodeValue); } else if(el3.nodeType == Xml.Comment) { if(el3.nodeType == Xml.Document || el3.nodeType == Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, unexpected " + _$Xml_XmlType_$Impl_$.toString(el3.nodeType)); } c1 = Xml.createComment(el3.nodeValue); } else if(el3.nodeType == Xml.DocType) { if(el3.nodeType == Xml.Document || el3.nodeType == Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, unexpected " + _$Xml_XmlType_$Impl_$.toString(el3.nodeType)); } c1 = Xml.createDocType(el3.nodeValue); } else if(el3.nodeType == Xml.ProcessingInstruction) { if(el3.nodeType == Xml.Document || el3.nodeType == Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, unexpected " + _$Xml_XmlType_$Impl_$.toString(el3.nodeType)); } c1 = Xml.createProcessingInstruction(el3.nodeValue); } else if(el3.nodeType == Xml.Document) { c1 = Xml.createDocument(); var el6 = el3.elements(); while(el6.hasNext()) { var el7 = el6.next(); c1.addChild(polymod_util_Util.copyXml(el7,c1)); } } c1.parent = c; c.addChild(c1); } } else if(el1.nodeType == Xml.PCData) { if(el1.nodeType == Xml.Document || el1.nodeType == Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, unexpected " + _$Xml_XmlType_$Impl_$.toString(el1.nodeType)); } c = Xml.createPCData(el1.nodeValue); } else if(el1.nodeType == Xml.CData) { if(el1.nodeType == Xml.Document || el1.nodeType == Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, unexpected " + _$Xml_XmlType_$Impl_$.toString(el1.nodeType)); } c = Xml.createCData(el1.nodeValue); } else if(el1.nodeType == Xml.Comment) { if(el1.nodeType == Xml.Document || el1.nodeType == Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, unexpected " + _$Xml_XmlType_$Impl_$.toString(el1.nodeType)); } c = Xml.createComment(el1.nodeValue); } else if(el1.nodeType == Xml.DocType) { if(el1.nodeType == Xml.Document || el1.nodeType == Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, unexpected " + _$Xml_XmlType_$Impl_$.toString(el1.nodeType)); } c = Xml.createDocType(el1.nodeValue); } else if(el1.nodeType == Xml.ProcessingInstruction) { if(el1.nodeType == Xml.Document || el1.nodeType == Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, unexpected " + _$Xml_XmlType_$Impl_$.toString(el1.nodeType)); } c = Xml.createProcessingInstruction(el1.nodeValue); } else if(el1.nodeType == Xml.Document) { c = Xml.createDocument(); var el8 = el1.elements(); while(el8.hasNext()) { var el9 = el8.next(); var c2 = null; if(el9.nodeType == Xml.Element) { if(el9.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element but found " + _$Xml_XmlType_$Impl_$.toString(el9.nodeType)); } c2 = Xml.createElement(el9.nodeName); var att4 = el9.attributes(); while(att4.hasNext()) { var att5 = att4.next(); c2.set(att5,el9.get(att5)); } var el10 = el9.elements(); while(el10.hasNext()) { var el11 = el10.next(); c2.addChild(polymod_util_Util.copyXml(el11,c2)); } } else if(el9.nodeType == Xml.PCData) { if(el9.nodeType == Xml.Document || el9.nodeType == Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, unexpected " + _$Xml_XmlType_$Impl_$.toString(el9.nodeType)); } c2 = Xml.createPCData(el9.nodeValue); } else if(el9.nodeType == Xml.CData) { if(el9.nodeType == Xml.Document || el9.nodeType == Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, unexpected " + _$Xml_XmlType_$Impl_$.toString(el9.nodeType)); } c2 = Xml.createCData(el9.nodeValue); } else if(el9.nodeType == Xml.Comment) { if(el9.nodeType == Xml.Document || el9.nodeType == Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, unexpected " + _$Xml_XmlType_$Impl_$.toString(el9.nodeType)); } c2 = Xml.createComment(el9.nodeValue); } else if(el9.nodeType == Xml.DocType) { if(el9.nodeType == Xml.Document || el9.nodeType == Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, unexpected " + _$Xml_XmlType_$Impl_$.toString(el9.nodeType)); } c2 = Xml.createDocType(el9.nodeValue); } else if(el9.nodeType == Xml.ProcessingInstruction) { if(el9.nodeType == Xml.Document || el9.nodeType == Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, unexpected " + _$Xml_XmlType_$Impl_$.toString(el9.nodeType)); } c2 = Xml.createProcessingInstruction(el9.nodeValue); } else if(el9.nodeType == Xml.Document) { c2 = Xml.createDocument(); var el12 = el9.elements(); while(el12.hasNext()) { var el13 = el12.next(); c2.addChild(polymod_util_Util.copyXml(el13,c2)); } } c2.parent = c; c.addChild(c2); } } c.parent = parent; a.addChild(c); } else { var tmp1; if(el1.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element but found " + _$Xml_XmlType_$Impl_$.toString(el1.nodeType)); } if(polymod_format_XMLMerge.countNodes(a,el1.nodeName) == 1) { if(el1.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element but found " + _$Xml_XmlType_$Impl_$.toString(el1.nodeType)); } tmp1 = polymod_format_XMLMerge.countNodes(b,el1.nodeName) == 1; } else { tmp1 = false; } if(tmp1) { if(el1.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element but found " + _$Xml_XmlType_$Impl_$.toString(el1.nodeType)); } polymod_format_XMLMerge.mergeXMLWork(a.elementsNamed(el1.nodeName).next(),el1); } else { var parent1 = null; var c3 = null; if(el1.nodeType == Xml.Element) { if(el1.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element but found " + _$Xml_XmlType_$Impl_$.toString(el1.nodeType)); } c3 = Xml.createElement(el1.nodeName); var att6 = el1.attributes(); while(att6.hasNext()) { var att7 = att6.next(); c3.set(att7,el1.get(att7)); } var el14 = el1.elements(); while(el14.hasNext()) { var el15 = el14.next(); var c4 = null; if(el15.nodeType == Xml.Element) { if(el15.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element but found " + _$Xml_XmlType_$Impl_$.toString(el15.nodeType)); } c4 = Xml.createElement(el15.nodeName); var att8 = el15.attributes(); while(att8.hasNext()) { var att9 = att8.next(); c4.set(att9,el15.get(att9)); } var el16 = el15.elements(); while(el16.hasNext()) { var el17 = el16.next(); c4.addChild(polymod_util_Util.copyXml(el17,c4)); } } else if(el15.nodeType == Xml.PCData) { if(el15.nodeType == Xml.Document || el15.nodeType == Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, unexpected " + _$Xml_XmlType_$Impl_$.toString(el15.nodeType)); } c4 = Xml.createPCData(el15.nodeValue); } else if(el15.nodeType == Xml.CData) { if(el15.nodeType == Xml.Document || el15.nodeType == Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, unexpected " + _$Xml_XmlType_$Impl_$.toString(el15.nodeType)); } c4 = Xml.createCData(el15.nodeValue); } else if(el15.nodeType == Xml.Comment) { if(el15.nodeType == Xml.Document || el15.nodeType == Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, unexpected " + _$Xml_XmlType_$Impl_$.toString(el15.nodeType)); } c4 = Xml.createComment(el15.nodeValue); } else if(el15.nodeType == Xml.DocType) { if(el15.nodeType == Xml.Document || el15.nodeType == Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, unexpected " + _$Xml_XmlType_$Impl_$.toString(el15.nodeType)); } c4 = Xml.createDocType(el15.nodeValue); } else if(el15.nodeType == Xml.ProcessingInstruction) { if(el15.nodeType == Xml.Document || el15.nodeType == Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, unexpected " + _$Xml_XmlType_$Impl_$.toString(el15.nodeType)); } c4 = Xml.createProcessingInstruction(el15.nodeValue); } else if(el15.nodeType == Xml.Document) { c4 = Xml.createDocument(); var el18 = el15.elements(); while(el18.hasNext()) { var el19 = el18.next(); c4.addChild(polymod_util_Util.copyXml(el19,c4)); } } c4.parent = c3; c3.addChild(c4); } } else if(el1.nodeType == Xml.PCData) { if(el1.nodeType == Xml.Document || el1.nodeType == Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, unexpected " + _$Xml_XmlType_$Impl_$.toString(el1.nodeType)); } c3 = Xml.createPCData(el1.nodeValue); } else if(el1.nodeType == Xml.CData) { if(el1.nodeType == Xml.Document || el1.nodeType == Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, unexpected " + _$Xml_XmlType_$Impl_$.toString(el1.nodeType)); } c3 = Xml.createCData(el1.nodeValue); } else if(el1.nodeType == Xml.Comment) { if(el1.nodeType == Xml.Document || el1.nodeType == Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, unexpected " + _$Xml_XmlType_$Impl_$.toString(el1.nodeType)); } c3 = Xml.createComment(el1.nodeValue); } else if(el1.nodeType == Xml.DocType) { if(el1.nodeType == Xml.Document || el1.nodeType == Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, unexpected " + _$Xml_XmlType_$Impl_$.toString(el1.nodeType)); } c3 = Xml.createDocType(el1.nodeValue); } else if(el1.nodeType == Xml.ProcessingInstruction) { if(el1.nodeType == Xml.Document || el1.nodeType == Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, unexpected " + _$Xml_XmlType_$Impl_$.toString(el1.nodeType)); } c3 = Xml.createProcessingInstruction(el1.nodeValue); } else if(el1.nodeType == Xml.Document) { c3 = Xml.createDocument(); var el20 = el1.elements(); while(el20.hasNext()) { var el21 = el20.next(); var c5 = null; if(el21.nodeType == Xml.Element) { if(el21.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element but found " + _$Xml_XmlType_$Impl_$.toString(el21.nodeType)); } c5 = Xml.createElement(el21.nodeName); var att10 = el21.attributes(); while(att10.hasNext()) { var att11 = att10.next(); c5.set(att11,el21.get(att11)); } var el22 = el21.elements(); while(el22.hasNext()) { var el23 = el22.next(); c5.addChild(polymod_util_Util.copyXml(el23,c5)); } } else if(el21.nodeType == Xml.PCData) { if(el21.nodeType == Xml.Document || el21.nodeType == Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, unexpected " + _$Xml_XmlType_$Impl_$.toString(el21.nodeType)); } c5 = Xml.createPCData(el21.nodeValue); } else if(el21.nodeType == Xml.CData) { if(el21.nodeType == Xml.Document || el21.nodeType == Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, unexpected " + _$Xml_XmlType_$Impl_$.toString(el21.nodeType)); } c5 = Xml.createCData(el21.nodeValue); } else if(el21.nodeType == Xml.Comment) { if(el21.nodeType == Xml.Document || el21.nodeType == Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, unexpected " + _$Xml_XmlType_$Impl_$.toString(el21.nodeType)); } c5 = Xml.createComment(el21.nodeValue); } else if(el21.nodeType == Xml.DocType) { if(el21.nodeType == Xml.Document || el21.nodeType == Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, unexpected " + _$Xml_XmlType_$Impl_$.toString(el21.nodeType)); } c5 = Xml.createDocType(el21.nodeValue); } else if(el21.nodeType == Xml.ProcessingInstruction) { if(el21.nodeType == Xml.Document || el21.nodeType == Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, unexpected " + _$Xml_XmlType_$Impl_$.toString(el21.nodeType)); } c5 = Xml.createProcessingInstruction(el21.nodeValue); } else if(el21.nodeType == Xml.Document) { c5 = Xml.createDocument(); var el24 = el21.elements(); while(el24.hasNext()) { var el25 = el24.next(); c5.addChild(polymod_util_Util.copyXml(el25,c5)); } } c5.parent = c3; c3.addChild(c5); } } c3.parent = parent1; a.addChild(c3); } } } } if(attributes) { var att12 = b.attributes(); while(att12.hasNext()) { var att13 = att12.next(); a.set(att13,b.get(att13)); } } }; polymod_format_XMLMerge.countNodes = function(xml,nodeName) { var i = 0; var el = xml.elementsNamed(nodeName); while(el.hasNext()) { var el1 = el.next(); ++i; } return i; }; polymod_format_XMLMerge.mergeXML = function(a,b,allSigs,mergeMap) { var aName; if(a.nodeType == 6) { aName = ""; } else { if(a.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element but found " + _$Xml_XmlType_$Impl_$.toString(a.nodeType)); } aName = a.nodeName; } var bName; if(b.nodeType == 6) { bName = ""; } else { if(b.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element but found " + _$Xml_XmlType_$Impl_$.toString(b.nodeType)); } bName = b.nodeName; } if(aName != bName) { return; } var aSig = polymod_format_XMLMerge.getNodeSignature(a); var bSig = polymod_format_XMLMerge.getNodeSignature(b); if(aSig != bSig) { return; } var _g = 0; while(_g < allSigs.length) { var sig = allSigs[_g]; ++_g; if(sig.indexOf(aSig) == 0) { if(sig == aSig) { var keyValues = __map_reserved[sig] != null ? mergeMap.getReserved(sig) : mergeMap.h[sig]; if(keyValues == null) { if(sig == "" && aSig == "") { if(a.nodeType == 6 && b.nodeType == 6) { var a1 = a.firstElement(); var b1 = b.firstElement(); polymod_format_XMLMerge.mergeXML(a1,b1,allSigs,mergeMap); } else { return; } } } if(keyValues != null && keyValues.length % 2 == 0 && keyValues.length >= 2) { var _g1 = 0; var _g11 = keyValues.length / 2 | 0; while(_g1 < _g11) { var i = _g1++; var key = keyValues[i * 2]; var value = keyValues[i * 2 + 1]; var aValue = a.get(key); if(aValue == value) { var bValue = b.get(key); polymod_format_XMLMerge.mergeXMLWork(a,b); } } } } else { var aEl = a.elements(); while(aEl.hasNext()) { var aEl1 = aEl.next(); var bEl = b.elements(); while(bEl.hasNext()) { var bEl1 = bEl.next(); polymod_format_XMLMerge.mergeXML(aEl1,bEl1,allSigs,mergeMap); } } } } } }; polymod_format_XMLMerge.mergeXMLNodes = function(a,b) { if(b == null) { return; } var allSigs = [""]; var bMap = polymod_format_XMLMerge.getNodeMergeMap(b,allSigs); polymod_format_XMLMerge.mergeXML(a,b,allSigs,bMap); }; polymod_format_XMLMerge.getNodeMergeMap = function(xml,addToArray) { var map = new haxe_ds_StringMap(); if(xml == null) { return map; } var el = xml.elements(); while(el.hasNext()) { var el1 = el.next(); if(el1.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element but found " + _$Xml_XmlType_$Impl_$.toString(el1.nodeType)); } if(el1.nodeName == "merge") { continue; } var subMap = polymod_format_XMLMerge.getNodeMergeMap(el1,addToArray); map = polymod_format_XMLMerge.mergeMapsDestructively(map,subMap); var sig = polymod_format_XMLMerge.getNodeSignature(el1); if(el1.nodeType != Xml.Document && el1.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Invalid nodeType " + _$Xml_XmlType_$Impl_$.toString(el1.nodeType)); } var this1 = el1; var f = this1; if(haxe_xml__$Access_HasNodeAccess_$Impl_$.resolve(f,"merge")) { if((__map_reserved[sig] != null ? map.existsReserved(sig) : map.h.hasOwnProperty(sig)) == false) { var value = []; if(__map_reserved[sig] != null) { map.setReserved(sig,value); } else { map.h[sig] = value; } } var arr = __map_reserved[sig] != null ? map.getReserved(sig) : map.h[sig]; var mergeKey = haxe_xml__$Access_HasAttribAccess_$Impl_$.resolve(haxe_xml__$Access_NodeAccess_$Impl_$.resolve(f,"merge"),"key") ? haxe_xml__$Access_AttribAccess_$Impl_$.resolve(haxe_xml__$Access_NodeAccess_$Impl_$.resolve(f,"merge"),"key") : ""; var mergeKeyValue = haxe_xml__$Access_NodeAccess_$Impl_$.resolve(f,"merge").get(mergeKey); arr.push(mergeKey); arr.push(mergeKeyValue); if(addToArray.indexOf(sig) == -1) { addToArray.push(sig); } } } return map; }; polymod_format_XMLMerge.getNodeSignature = function(xml) { var arr = []; var parent = xml; while(parent != null && parent.nodeType == 0) { if(parent.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element but found " + _$Xml_XmlType_$Impl_$.toString(parent.nodeType)); } arr.push(parent.nodeName); if(parent.nodeType == 0) { parent = parent.parent; } else { parent = null; } } var str = ""; var _g = 0; var _g1 = arr.length; while(_g < _g1) { var i = _g++; var j = arr.length - 1 - i; str += arr[j]; if(i != arr.length - 1) { str += "."; } } return str; }; polymod_format_XMLMerge.mergeMapsDestructively = function(a,b) { if(a == null) { a = new haxe_ds_StringMap(); } if(b == null) { return a; } var bkey = b.keys(); while(bkey.hasNext()) { var bkey1 = bkey.next(); if(__map_reserved[bkey1] != null ? a.existsReserved(bkey1) : a.h.hasOwnProperty(bkey1)) { var aArr = __map_reserved[bkey1] != null ? a.getReserved(bkey1) : a.h[bkey1]; var bArr = __map_reserved[bkey1] != null ? b.getReserved(bkey1) : b.h[bkey1]; var _g = 0; while(_g < bArr.length) { var bVal = bArr[_g]; ++_g; aArr.push(bVal); } } else { var bArr1 = __map_reserved[bkey1] != null ? b.getReserved(bkey1) : b.h[bkey1]; if(__map_reserved[bkey1] != null) { a.setReserved(bkey1,bArr1); } else { a.h[bkey1] = bArr1; } b.remove(bkey1); } } return a; }; var polymod_fs_PolymodFileSystem = function() { }; $hxClasses["polymod.fs.PolymodFileSystem"] = polymod_fs_PolymodFileSystem; polymod_fs_PolymodFileSystem.__name__ = "polymod.fs.PolymodFileSystem"; polymod_fs_PolymodFileSystem.exists = function(path) { return false; }; polymod_fs_PolymodFileSystem.isDirectory = function(path) { return false; }; polymod_fs_PolymodFileSystem.readDirectory = function(path) { return []; }; polymod_fs_PolymodFileSystem.getFileContent = function(path) { return null; }; polymod_fs_PolymodFileSystem.getFileBytes = function(path) { return null; }; polymod_fs_PolymodFileSystem.readDirectoryRecursive = function(path) { return []; }; var polymod_fs_StubFileSystem = function() { }; $hxClasses["polymod.fs.StubFileSystem"] = polymod_fs_StubFileSystem; polymod_fs_StubFileSystem.__name__ = "polymod.fs.StubFileSystem"; polymod_fs_StubFileSystem.exists = function(path) { return false; }; polymod_fs_StubFileSystem.isDirectory = function(path) { return false; }; polymod_fs_StubFileSystem.readDirectory = function(path) { return []; }; polymod_fs_StubFileSystem.getFileContent = function(path) { return null; }; polymod_fs_StubFileSystem.getFileBytes = function(path) { return null; }; polymod_fs_StubFileSystem.readDirectoryRecursive = function(path) { return []; }; var polymod_util_SemanticVersion = function() { }; $hxClasses["polymod.util.SemanticVersion"] = polymod_util_SemanticVersion; polymod_util_SemanticVersion.__name__ = "polymod.util.SemanticVersion"; polymod_util_SemanticVersion.fromString = function(str) { var v = new polymod_util_SemanticVersion(); v.original = str; if(str == "" || str == null) { throw new js__$Boot_HaxeError("SemanticVersion.hx: string is empty!"); } var extra = ""; if(str.indexOf("+") != -1) { var arr = str.split("+"); str = arr[0]; } if(str.indexOf("-") != -1) { var arr1 = str.split("-"); str = arr1[0]; extra = arr1[1]; } var arr2 = str.split("."); if(arr2.length < 3) { throw new js__$Boot_HaxeError("SemanticVersion.hx: needs major, minor, and patch versions! :\"" + str + "\""); } var _g = 0; var _g1 = arr2.length; while(_g < _g1) { var ii = _g++; var substr = arr2[ii]; if(substr.length > 1 && substr.charAt(0) == "0") { throw new js__$Boot_HaxeError("SemanticVersion.hx: no leading zeroes allowed! :\"" + str + "\""); } var _g2 = 0; var _g11 = substr.length; while(_g2 < _g11) { var i = _g2++; var char = substr.charAt(i); switch(char) { case "*":case "0":case "1":case "2":case "3":case "4":case "5":case "6":case "7":case "8":case "9": break; default: var word; switch(ii) { case 0: word = "major"; break; case 1: word = "minor"; break; case 2: word = "patch"; break; default: word = ""; } throw new js__$Boot_HaxeError("SemanticVersion.hx: couldn't parse " + word + " version! :\"" + str + "\""); } } } var maj = null; var min = null; var pat = null; if(arr2[0] == "*") { maj = -1; } if(arr2[1] == "*") { min = -1; } if(arr2[2] == "*") { pat = -1; } if(maj == null) { maj = Std.parseInt(arr2[0]); } if(min == null) { min = Std.parseInt(arr2[1]); } if(pat == null) { pat = Std.parseInt(arr2[2]); } if(maj == null) { throw new js__$Boot_HaxeError("SemanticVersion.hx: couldn't parse major version! :\"" + str + "\""); } if(min == null) { throw new js__$Boot_HaxeError("SemanticVersion.hx: couldn't parse minor version! :\"" + str + "\""); } if(pat == null) { throw new js__$Boot_HaxeError("SemanticVersion.hx: couldn't parse patch version! :\"" + str + "\""); } if(maj == -1) { min = -1; pat = -1; } if(min == -1) { pat = -1; } v.major = maj; v.minor = min; v.patch = pat; v.preRelease = []; if(maj == -1 || min == -1 || pat == -1) { extra = ""; } if(extra != null && extra != "") { if(maj > 1) { throw new js__$Boot_HaxeError("SemanticVersion.hx: pre-release version not allowed post 1.0.0! :\"" + str + "\""); } if(maj == 1) { if(min > 0) { throw new js__$Boot_HaxeError("SemanticVersion.hx: pre-release version not allowed post 1.0.0! :\"" + str + "\""); } if(pat > 0) { throw new js__$Boot_HaxeError("SemanticVersion.hx: pre-release version not allowed post 1.0.0! :\"" + str + "\""); } } var arr3 = extra.split("."); if(arr3 != null && arr3.length > 0) { var _g21 = 0; while(_g21 < arr3.length) { var substr1 = arr3[_g21]; ++_g21; var i1 = Std.parseInt(substr1); if(i1 != null) { if(substr1.length > 0 && substr1.charAt(0) == "0") { throw new js__$Boot_HaxeError("SemanticVersion.hx: no leading zeroes allowed! :\"" + str + "\""); } } v.preRelease.push(substr1); } } } v.effective = v.major + "." + v.minor + "." + v.patch; if(v.preRelease != null && v.preRelease.length > 0) { v.effective = v.effective + "-" + v.preRelease.join("."); } return v; }; polymod_util_SemanticVersion.prototype = { original: null ,effective: null ,major: null ,minor: null ,patch: null ,preRelease: null ,checkCompatibility: function(newer) { var score = 0; if(newer.major == this.major || newer.major == -1 || this.major == -1) { ++score; if(newer.minor >= this.minor || newer.minor == -1 || this.minor == -1) { ++score; if(newer.patch >= this.patch || newer.patch == -1 || this.patch == -1) { ++score; } } } return score; } ,compare: function(other) { if(this.major == -1 || other.major == -1) { return 0; } if(this.major > other.major) { return -1; } if(this.major < other.major) { return 1; } if(this.minor == -1 || other.minor == -1) { return 0; } if(this.minor > other.minor) { return -1; } if(this.minor < other.minor) { return 1; } if(this.patch == -1 || other.patch == -1) { return 0; } if(this.patch > other.patch) { return -1; } if(this.patch < other.patch) { return 1; } var bits = this.preRelease.length; var otherBits = other.preRelease.length; if(otherBits > bits) { bits = otherBits; } var _g = 0; var _g1 = bits; while(_g < _g1) { var i = _g++; var bit = this.preRelease != null && this.preRelease.length > i ? this.preRelease[i] : ""; var otherBit = other.preRelease != null && other.preRelease.length > i ? other.preRelease[i] : ""; if(bit == "" && otherBit != "") { return -1; } if(bit != "" && otherBit == "") { return 1; } var i1 = Std.parseInt(bit); var j = Std.parseInt(otherBit); if(i1 != null && j != null) { if(i1 > j) { return -1; } if(i1 < j) { return 1; } } else { if(bit > otherBit) { return -1; } if(bit < otherBit) { return 1; } } } return 0; } ,isEqualTo: function(other) { return this.compare(other) == 0; } ,isNewerThan: function(other) { return this.compare(other) == -1; } ,toString: function() { return this.effective; } ,__class__: polymod_util_SemanticVersion }; var polymod_util_Util = function() { }; $hxClasses["polymod.util.Util"] = polymod_util_Util; polymod_util_Util.__name__ = "polymod.util.Util"; polymod_util_Util.mergeAndAppendText = function(baseText,id,dirs,getModText,parseRules) { var text = baseText; var _g = 0; while(_g < dirs.length) { var d = dirs[_g]; ++_g; var theDir = d; if(theDir == null) { theDir = ""; } if(polymod_util_Util.hasSpecial(id,"_merge",theDir)) { text = polymod_util_Util.mergeText(text,id,d,getModText,parseRules); } var theDir1 = d; if(theDir1 == null) { theDir1 = ""; } if(polymod_util_Util.hasSpecial(id,"_append",theDir1)) { text = polymod_util_Util.appendText(text,id,d,getModText,parseRules); } } return text; }; polymod_util_Util.mergeText = function(baseText,id,theDir,getModText,parseRules) { if(theDir == null) { theDir = ""; } var extension = polymod_util_Util.uExtension(id,true); var id1 = id; if(polymod_util_Util.uIndexOf(id1,"assets/") == 0) { id1 = polymod_util_Util.uSubstring(id1,7); } id = id1; var mergeFile = "_merge" + polymod_util_Util.sl() + id; var format = parseRules.get(id); if(format == null) { format = parseRules.get(extension); } if(format != null) { var mergeText = getModText(mergeFile,theDir); return format.merge(baseText,mergeText,id); } else { polymod_Polymod.error("merge_error","Could not merge file (" + id + "), no parse format was specified for extension (" + extension + ")."); return baseText; } }; polymod_util_Util.appendText = function(baseText,id,theDir,getModText,parseRules) { var extension = polymod_util_Util.uExtension(id,true); var id1 = id; if(polymod_util_Util.uIndexOf(id1,"assets/") == 0) { id1 = polymod_util_Util.uSubstring(id1,7); } id = id1; var format = parseRules.get(id); if(format == null) { format = parseRules.get(extension); } if(format != null) { var appendText = getModText(polymod_util_Util.pathJoin("_append",id),theDir); return format.append(baseText,appendText,id); } return baseText; }; polymod_util_Util.appendCSVOrTSV = function(baseText,appendText,id) { var lastChar = polymod_util_Util.uCharAt(baseText,polymod_util_Util.uLength(baseText) - 1); var lastLastChar = polymod_util_Util.uCharAt(baseText,polymod_util_Util.uLength(baseText) - 1); var joiner = ""; var endLine = "\n"; var crIndex = polymod_util_Util.uIndexOf(baseText,"\r"); var lfIndex = polymod_util_Util.uIndexOf(baseText,"\n"); if(crIndex != -1 && lfIndex == crIndex + 1) { endLine = "\r\n"; } if(lastChar != "\n") { joiner = endLine; } var otherEndline = endLine == "\n" ? "\r\n" : "\n"; appendText = polymod_util_Util.uSplitReplace(appendText,otherEndline,endLine); return polymod_util_Util.uCombine([baseText,joiner,appendText]); }; polymod_util_Util.appendSpecialXML = function(a,b,headers,footers) { a = polymod_util_Util.stripXML(a,true,true,headers,footers); b = polymod_util_Util.stripXML(b,true,true,headers,footers); var txt = "<?xml version=\"1.0\" encoding=\"utf-8\" ?>"; txt = polymod_util_Util.uCat(txt,"<data>"); txt = polymod_util_Util.uCat(txt,a); txt = polymod_util_Util.uCat(txt,b); txt = polymod_util_Util.uCat(txt,"</data>"); return txt; }; polymod_util_Util.appendXML = function(a,b) { a = polymod_util_Util.stripXML(a,false,true); b = polymod_util_Util.stripXML(b,true,false); var txt = polymod_util_Util.uCat(a,b); return txt; }; polymod_util_Util.stripComments = function(txt) { var start = polymod_util_Util.uIndexOf(txt,"<!--"); var end = polymod_util_Util.uIndexOf(txt,"-->"); while(start != -1 && end != -1) { var len = polymod_util_Util.uLength(txt); var before = polymod_util_Util.uSubstr(txt,0,start); var after = polymod_util_Util.uSubstr(txt,end + 3,len - (end + 3)); txt = polymod_util_Util.uCat(before,after); start = polymod_util_Util.uIndexOf(txt,"<!--"); end = polymod_util_Util.uIndexOf(txt,"-->"); } return txt; }; polymod_util_Util.trimLeadingWhiteSpace = function(txt) { var white = ["\r","\n"," ","\t"]; var len = polymod_util_Util.uLength(txt); var _g = 0; while(_g < white.length) { var w = white[_g]; ++_g; while(polymod_util_Util.uIndexOf(txt,w) == 0) { txt = polymod_util_Util.uSubstr(txt,1,len - 1); --len; } } return txt; }; polymod_util_Util.trimTrailingWhiteSpace = function(txt) { var white = ["\r","\n"," ","\t"]; var len = polymod_util_Util.uLength(txt); var _g = 0; while(_g < white.length) { var w = white[_g]; ++_g; while(polymod_util_Util.uCharAt(txt,len - 1) == w) { txt = polymod_util_Util.uSubstr(txt,0,len - 1); --len; } } return txt; }; polymod_util_Util.stripXML = function(txt,stripHeader,stripFooter,headers,footers) { if(stripFooter == null) { stripFooter = true; } if(stripHeader == null) { stripHeader = true; } txt = polymod_util_Util.stripComments(txt); if(stripHeader) { if(polymod_util_Util.uIndexOf(txt,"<?xml") == 0) { var i = polymod_util_Util.uIndexOf(txt,">"); txt = polymod_util_Util.uSubstr(txt,i + 1,polymod_util_Util.uLength(txt) - (i + 1)); txt = polymod_util_Util.trimLeadingWhiteSpace(txt); } if(polymod_util_Util.uIndexOf(txt,"<data") == 0) { var i1 = polymod_util_Util.uIndexOf(txt,">"); txt = polymod_util_Util.uSubstr(txt,i1 + 1,polymod_util_Util.uLength(txt) - (i1 + 1)); txt = polymod_util_Util.trimLeadingWhiteSpace(txt); } if(headers != null) { var _g = 0; while(_g < headers.length) { var header = headers[_g]; ++_g; if(polymod_util_Util.uIndexOf(txt,header) == 0) { var i2 = polymod_util_Util.uIndexOf(txt,">"); txt = polymod_util_Util.uSubstr(txt,i2 + 1,polymod_util_Util.uLength(txt) - (i2 + 1)); txt = polymod_util_Util.trimLeadingWhiteSpace(txt); } } } } if(stripFooter) { txt = polymod_util_Util.trimTrailingWhiteSpace(txt); var ulen = polymod_util_Util.uLength(txt); if(polymod_util_Util.uLastIndexOf(txt,"</data>") == ulen - 7) { txt = polymod_util_Util.uSubstr(txt,0,ulen - 7); } if(footers != null) { var _g1 = 0; while(_g1 < footers.length) { var footer = footers[_g1]; ++_g1; txt = polymod_util_Util.trimTrailingWhiteSpace(txt); var ulen1 = polymod_util_Util.uLength(txt); var footerlen = polymod_util_Util.uLength(footer); if(polymod_util_Util.uLastIndexOf(txt,footer) == ulen1 - footerlen) { txt = polymod_util_Util.uSubstr(txt,0,ulen1 - footerlen); } } } } return txt; }; polymod_util_Util.hasMerge = function(id,theDir) { if(theDir == null) { theDir = ""; } return polymod_util_Util.hasSpecial(id,"_merge",theDir); }; polymod_util_Util.hasAppend = function(id,theDir) { if(theDir == null) { theDir = ""; } return polymod_util_Util.hasSpecial(id,"_append",theDir); }; polymod_util_Util.stripAssetsPrefix = function(id) { if(polymod_util_Util.uIndexOf(id,"assets/") == 0) { id = polymod_util_Util.uSubstring(id,7); } return id; }; polymod_util_Util.hasSpecial = function(id,special,theDir) { if(theDir == null) { theDir = ""; } if(special == null) { special = ""; } return false; }; polymod_util_Util.pathJoin = function(a,b) { var aSlash = polymod_util_Util.uLastIndexOf(a,"/") == polymod_util_Util.uLength(a) - 1 || polymod_util_Util.uLastIndexOf(a,"\\") == polymod_util_Util.uLength(a) - 1; var bSlash = polymod_util_Util.uIndexOf(b,"/") == 0 || polymod_util_Util.uIndexOf(b,"\\") == 0; var str = ""; if(aSlash || bSlash) { str = polymod_util_Util.uCombine([a,b]); } else { str = polymod_util_Util.uCombine([a,polymod_util_Util.sl(),b]); } str = polymod_util_Util.cleanSlashes(str); return str; }; polymod_util_Util.cleanSlashes = function(str) { str = polymod_util_Util.uSplitReplace(str,"\\","/"); str = polymod_util_Util.uSplitReplace(str,"//","/"); return str; }; polymod_util_Util.sl = function() { return "/"; }; polymod_util_Util.copyXml = function(data,parent) { var c = null; if(data.nodeType == Xml.Element) { if(data.nodeType != Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, expected Element but found " + _$Xml_XmlType_$Impl_$.toString(data.nodeType)); } c = Xml.createElement(data.nodeName); var att = data.attributes(); while(att.hasNext()) { var att1 = att.next(); c.set(att1,data.get(att1)); } var el = data.elements(); while(el.hasNext()) { var el1 = el.next(); c.addChild(polymod_util_Util.copyXml(el1,c)); } } else if(data.nodeType == Xml.PCData) { if(data.nodeType == Xml.Document || data.nodeType == Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, unexpected " + _$Xml_XmlType_$Impl_$.toString(data.nodeType)); } c = Xml.createPCData(data.nodeValue); } else if(data.nodeType == Xml.CData) { if(data.nodeType == Xml.Document || data.nodeType == Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, unexpected " + _$Xml_XmlType_$Impl_$.toString(data.nodeType)); } c = Xml.createCData(data.nodeValue); } else if(data.nodeType == Xml.Comment) { if(data.nodeType == Xml.Document || data.nodeType == Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, unexpected " + _$Xml_XmlType_$Impl_$.toString(data.nodeType)); } c = Xml.createComment(data.nodeValue); } else if(data.nodeType == Xml.DocType) { if(data.nodeType == Xml.Document || data.nodeType == Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, unexpected " + _$Xml_XmlType_$Impl_$.toString(data.nodeType)); } c = Xml.createDocType(data.nodeValue); } else if(data.nodeType == Xml.ProcessingInstruction) { if(data.nodeType == Xml.Document || data.nodeType == Xml.Element) { throw new js__$Boot_HaxeError("Bad node type, unexpected " + _$Xml_XmlType_$Impl_$.toString(data.nodeType)); } c = Xml.createProcessingInstruction(data.nodeValue); } else if(data.nodeType == Xml.Document) { c = Xml.createDocument(); var el2 = data.elements(); while(el2.hasNext()) { var el3 = el2.next(); c.addChild(polymod_util_Util.copyXml(el3,c)); } } c.parent = parent; return c; }; polymod_util_Util.uCat = function(a,b) { var sb_b = ""; sb_b += Std.string(a == null ? "null" : "" + a); sb_b += Std.string(b == null ? "null" : "" + b); return sb_b; }; polymod_util_Util.uCharAt = function(str,index) { return str.charAt(index); }; polymod_util_Util.uJoin = function(arr,token) { var sb_b = ""; var i = 0; var _g = 0; while(_g < arr.length) { var str = arr[_g]; ++_g; sb_b += str == null ? "null" : "" + str; if(i != arr.length - 1) { sb_b += token == null ? "null" : "" + token; } ++i; } return sb_b; }; polymod_util_Util.uCombine = function(arr) { var sb_b = ""; var _g = 0; while(_g < arr.length) { var str = arr[_g]; ++_g; sb_b += str == null ? "null" : "" + str; } return sb_b; }; polymod_util_Util.uExtension = function(str,lowerCase) { if(lowerCase == null) { lowerCase = false; } var i = polymod_util_Util.uLastIndexOf(str,"."); var extension = polymod_util_Util.uSubstr(str,i + 1,polymod_util_Util.uLength(str) - (i + 1)); if(lowerCase) { extension = extension.toLowerCase(); } return extension; }; polymod_util_Util.uIndexOf = function(str,substr,startIndex) { return str.indexOf(substr,startIndex); }; polymod_util_Util.uLastIndexOf = function(str,value,startIndex) { return str.lastIndexOf(value,startIndex); }; polymod_util_Util.uLength = function(str) { return str.length; }; polymod_util_Util.uPathPop = function(str) { var path = str.split("/"); path.pop(); return path.join("/"); }; polymod_util_Util.uTrimFinalCharIf = function(str,match) { var uLength = polymod_util_Util.uLength(str); var last = polymod_util_Util.uLastIndexOf(str,match); if(last == uLength - 1) { str = polymod_util_Util.uSubstr(str,0,uLength - 1); uLength = polymod_util_Util.uLength(str); } return str; }; polymod_util_Util.uTrimFinalEndlines = function(str) { var done = false; var fix = ""; var last = ""; while(!done) { var fix1 = polymod_util_Util.uTrimFinalCharIf(str,"\n"); fix1 = polymod_util_Util.uTrimFinalCharIf(fix1,"\r"); if(fix1 == str) { done = true; } else { str = fix1; } } return str; }; polymod_util_Util.uTrimFirstCharIf = function(str,match) { var uLength = polymod_util_Util.uLength(str); var first = polymod_util_Util.uIndexOf(str,match); if(first == 0) { str = polymod_util_Util.uSubstr(str,1,uLength); uLength = polymod_util_Util.uLength(str); } return str; }; polymod_util_Util.uTrimFirstEndlines = function(str) { var done = false; var fix = ""; var last = ""; while(!done) { var fix1 = polymod_util_Util.uTrimFirstCharIf(str,"\n"); fix1 = polymod_util_Util.uTrimFirstCharIf(fix1,"\r"); if(fix1 == str) { done = true; } else { str = fix1; } } return str; }; polymod_util_Util.uSplit = function(str,substr) { return str.split(substr); }; polymod_util_Util.uSplitReplace = function(s,substr,by) { if(polymod_util_Util.uIndexOf(s,substr) == -1) { return s; } var arr = polymod_util_Util.uSplit(s,substr); if(arr == null || arr.length < 2) { return s; } var sb_b = ""; var _g = 0; var _g1 = arr.length; while(_g < _g1) { var i = _g++; var bit = arr[i]; sb_b += bit == null ? "null" : "" + bit; if(i != arr.length - 1) { sb_b += by == null ? "null" : "" + by; } } return sb_b; }; polymod_util_Util.uSubstr = function(str,pos,len) { return HxOverrides.substr(str,pos,len); }; polymod_util_Util.uSubstring = function(str,startIndex,endIndex) { return str.substring(startIndex,endIndex); }; function $getIterator(o) { if( o instanceof Array ) return HxOverrides.iter(o); else return o.iterator(); } function $bind(o,m) { if( m == null ) return null; if( m.__id__ == null ) m.__id__ = $global.$haxeUID++; var f; if( o.hx__closures__ == null ) o.hx__closures__ = {}; else f = o.hx__closures__[m.__id__]; if( f == null ) { f = m.bind(o); o.hx__closures__[m.__id__] = f; } return f; } $global.$haxeUID |= 0; var _init = lime__$internal_backend_html5_HTML5Application; var init = lime_app_Application; haxe_ds_ObjectMap.count = 0; $hxClasses["Math"] = Math; if( String.fromCodePoint == null ) String.fromCodePoint = function(c) { return c < 0x10000 ? String.fromCharCode(c) : String.fromCharCode((c>>10)+0xD7C0)+String.fromCharCode((c&0x3FF)+0xDC00); } String.prototype.__class__ = $hxClasses["String"] = String; String.__name__ = "String"; $hxClasses["Array"] = Array; Array.__name__ = "Array"; Date.prototype.__class__ = $hxClasses["Date"] = Date; Date.__name__ = "Date"; var Int = { }; var Dynamic = { }; var Float = Number; var Bool = Boolean; var Class = { }; var Enum = { }; js_Boot.__toStr = ({ }).toString; haxe_Resource.content = [{ name : "__ASSET__:bitmap_flixel_system_debug_interaction_tools__Transform_GraphicTransformCursorScaleX", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFvQUFBQUtDQVlBQUFDTk1zKzlBQUFBQkhOQ1NWUUlDQWdJZkFoa2lBQUFBQWx3U0ZsekFBQUFUZ0FBQUU0QnNjMGZNd0FBQUJ4MFJWaDBVMjltZEhkaGNtVUFRV1J2WW1VZ1JtbHlaWGR2Y210eklFTlROdWk4c293QUFBQlBTVVJCVkJpVmpWQkJEc0F3Q0FLMy8vKzRZNWV5R05hREpoNVVCSlNTTUlrYW9RSW9BSXk1aktrOXRENWJHcmdBRkRVMGVZZGtMbjFXdUFsWHM5SGpzUlVmY3lWRHE4dlNQNWxUYi96SEY2VW9FeGRNWXJPSEFBQUFBRWxGVGtTdVFtQ0M"},{ name : "__ASSET__:bitmap_flixel_system_debug_stats__Stats_GraphicMaximizeButton", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFvQUFBQUtDQVlBQUFDTk1zKzlBQUFBQm1KTFIwUUEvd0QvQVArZ3ZhZVRBQUFBQ1hCSVdYTUFBQUIyQUFBQWRnRk9leVlJQUFBQUIzUkpUVVVIM2dNSkNSOFVCaGtEeVFBQUFFOUpSRUZVR05PdGtFRVN3REFJQW92Ly8vUDJvb2FhOUJaUFpvQXdxd0NlTlpMVUQ5ZkNIVzc2VFkyZmR3MklVOVVwZUhlVU5kMVlBRm5kTUFGUW1ndTV0eGFWM202VDV5bW9EL0gwT3ZrTFNBOUI4bis0Y2pvQUFBQUFTVVZPUks1Q1lJST0"},{ name : "__ASSET__:bitmap_flixel_system_GraphicLogo", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUdRQUFBQmtDQVlBQUFCdzRwVlVBQUFBQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBS1QybERRMUJRYUc5MGIzTm9iM0FnU1VORElIQnliMlpwYkdVQUFIamFuVk5uVkZQcEZqMzMzdlJDUzRpQWxFdHZVaFVJSUZKQ2k0QVVrU1lxSVFrUVNvZ2hvZGtWVWNFUlJVVUVHOGlnaUFPT2pvQ01GVkVzRElvSzJBZmtJYUtPZzZPSWlzcjc0WHVqYTlhODkrYk4vclhYUHVlczg1Mnp6d2ZBQ0F5V1NETlJOWUFNcVVJZUVlQ0R4OFRHNGVRdVFJRUtKSEFBRUFpelpDRnovU01CQVBoK1BEd3JJc0FIdmdBQmVOTUxDQURBVFp2QU1CeUgvdy9xUXBsY0FZQ0VBY0Iwa1RoTENJQVVBRUI2amtLbUFFQkdBWUNkbUNaVEFLQUVBR0RMWTJMakFGQXRBR0FuZitiVEFJQ2QrSmw3QVFCYmxDRVZBYUNSQUNBVFpZaEVBR2c3QUt6UFZvcEZBRmd3QUJSbVM4UTVBTmd0QURCSlYyWklBTEMzQU1ET0VBdXlBQWdNQURCUmlJVXBBQVI3QUdESUl5TjRBSVNaQUJSRzhsYzg4U3V1RU9jcUFBQjRtYkk4dVNRNVJZRmJDQzF4QjFkWExoNG96a2tYS3hRMllRSmhta0F1d25tWkdUS0JOQS9nODh3QUFLQ1JGUkhnZy9QOWVNNE9yczdPTm82MkRsOHQ2cjhHL3lKaVl1UCs1YytyY0VBQUFPRjBmdEgrTEMrekdvQTdCb0J0L3FJbDdnUm9YZ3VnZGZlTFpySVBRTFVBb09uYVYvTncrSDQ4UEVXaGtMbloyZVhrNU5oS3hFSmJZY3BYZmY1bndsL0FWLzFzK1g0OC9QZjE0TDdpSklFeVhZRkhCUGpnd3N6MFRLVWN6NUlKaEdMYzVvOUgvTGNMLy93ZDB5TEVTV0s1V0NvVTQxRVNjWTVFbW96ek1xVWlpVUtTS2NVbDB2OWs0dDhzK3dNKzN6VUFzR28rQVh1UkxhaGRZd1AyU3ljUVdIVEE0dmNBQVBLN2I4SFVLQWdEZ0dpRDRjOTMvKzgvL1VlZ0pRQ0Faa21TY1FBQVhrUWtMbFRLc3ovSENBQUFSS0NCS3JCQkcvVEJHQ3pBQmh6QkJkekJDL3hnTm9SQ0pNVENRaEJDQ21TQUhISmdLYXlDUWlpR3piQWRLbUF2MUVBZE5NQlJhSWFUY0E0dXdsVzREajF3RC9waENKN0JLTHlCQ1FSQnlBZ1RZU0hhaUFGaWlsZ2pqZ2dYbVlYNEljRklCQktMSkNESmlCUlJJa3VSTlVneFVvcFVJRlZJSGZJOWNnSTVoMXhHdXBFN3lBQXlndnlHdkVjeGxJR3lVVDNVRExWRHVhZzNHb1JHb2d2UVpIUXhtbzhXb0p2UWNyUWFQWXcyb2VmUXEyZ1AybzgrUThjd3dPZ1lCelBFYkRBdXhzTkNzVGdzQ1pOank3RWlyQXlyeGhxd1Zxd0R1NG4xWTgreGR3UVNnVVhBQ1RZRWQwSWdZUjVCU0ZoTVdFN1lTS2dnSENRMEVkb0pOd2tEaEZIQ0p5S1RxRXUwSnJvUitjUVlZakl4aDFoSUxDUFdFbzhUTHhCN2lFUEVOeVFTaVVNeUo3bVFBa214cEZUU0V0SkcwbTVTSStrc3FaczBTQm9qazhuYVpHdXlCem1VTENBcnlJWGtuZVRENURQa0crUWg4bHNLbldKQWNhVDRVK0lvVXNwcVNobmxFT1UwNVFabG1ESkJWYU9hVXQyb29WUVJOWTlhUXEyaHRsS3ZVWWVvRXpSMW1qbk5neFpKUzZXdG9wWFRHbWdYYVBkcHIraDB1aEhkbFI1T2w5Qlgwc3ZwUitpWDZBUDBkd3dOaGhXRHg0aG5LQm1iR0FjWVp4bDNHSytZVEtZWjA0c1p4MVF3TnpIcm1PZVpENWx2VlZncXRpcDhGWkhLQ3BWS2xTYVZHeW92VkttcXBxcmVxZ3RWODFYTFZJK3BYbE45cmtaVk0xUGpxUW5VbHF0VnFwMVE2MU1iVTJlcE82aUhxbWVvYjFRL3BINVovWWtHV2NOTXcwOURwRkdnc1YvanZNWWdDMk1aczNnc0lXc05xNFoxZ1RYRUpySE4yWHgyS3J1WS9SMjdpejJxcWFFNVF6TktNMWV6VXZPVVpqOEg0NWh4K0p4MFRnbm5LS2VYODM2SzNoVHZLZUlwRzZZMFRMa3haVnhycXBhWGxsaXJTS3RScTBmcnZUYXU3YWVkcHIxRnUxbjdnUTVCeDBvblhDZEhaNC9PQlozblU5bFQzYWNLcHhaTlBUcjFyaTZxYTZVYm9idEVkNzl1cCs2WW5yNWVnSjVNYjZmZWViM24raHg5TC8xVS9XMzZwL1ZIREZnR3N3d2tCdHNNemhnOHhUVnhiendkTDhmYjhWRkRYY05BUTZWaGxXR1g0WVNSdWRFOG85VkdqVVlQakduR1hPTWs0MjNHYmNhakpnWW1JU1pMVGVwTjdwcFNUYm1tS2FZN1REdE14ODNNemFMTjFwazFtejB4MXpMbm0rZWIxNXZmdDJCYWVGb3N0cWkydUdWSnN1UmFwbG51dHJ4dWhWbzVXYVZZVlZwZHMwYXRuYTBsMXJ1dHU2Y1JwN2xPazA2cm50Wm53N0R4dHNtMnFiY1pzT1hZQnR1dXRtMjJmV0ZuWWhkbnQ4V3V3KzZUdlpOOXVuMk4vVDBIRFlmWkRxc2RXaDErYzdSeUZEcFdPdDZhenB6dVAzM0Y5SmJwTDJkWXp4RFAyRFBqdGhQTEtjUnBuVk9iMDBkbkYyZTVjNFB6aUl1SlM0TExMcGMrTHBzYnh0M0l2ZVJLZFBWeFhlRjYwdldkbTdPYnd1Mm8yNi91TnU1cDdvZmNuOHcwbnltZVdUTnowTVBJUStCUjVkRS9DNStWTUd2ZnJINVBRMCtCWjdYbkl5OWpMNUZYcmRld3Q2VjNxdmRoN3hjKzlqNXluK00rNHp3MzNqTGVXVi9NTjhDM3lMZkxUOE52bmwrRjMwTi9JLzlrLzNyLzBRQ25nQ1VCWndPSmdVR0JXd0w3K0hwOEliK09QenJiWmZheTJlMUJqS0M1UVJWQmo0S3RndVhCclNGb3lPeVFyU0gzNTVqT2tjNXBEb1ZRZnVqVzBBZGg1bUdMdzM0TUo0V0hoVmVHUDQ1d2lGZ2EwVEdYTlhmUjNFTnozMFQ2UkpaRTNwdG5NVTg1cnkxS05TbytxaTVxUE5vM3VqUzZQOFl1WmxuTTFWaWRXRWxzU3h3NUxpcXVObTVzdnQvODdmT0g0cDNpQytON0Y1Z3Z5RjF3ZWFIT3d2U0ZweGFwTGhJc09wWkFUSWhPT0pUd1FSQXFxQmFNSmZJVGR5V09Dbm5DSGNKbklpL1JOdEdJMkVOY0toNU84a2dxVFhxUzdKRzhOWGtreFRPbExPVzVoQ2Vwa0x4TURVemRtenFlRnBwMklHMHlQVHE5TVlPU2taQnhRcW9oVFpPMlorcG41bVoyeTZ4bGhiTCt4VzZMdHk4ZWxRZkphN09RckFWWkxRcTJRcWJvVkZvbzF5b0hzbWRsVjJhL3pZbktPWmFybml2TjdjeXp5dHVRTjV6dm4vL3RFc0lTNFpLMnBZWkxWeTBkV09hOXJHbzVzanh4ZWRzSzR4VUZLNFpXQnF3OHVJcTJLbTNWVDZ2dFY1ZXVmcjBtZWsxcmdWN0J5b0xCdFFGcjZ3dFZDdVdGZmV2YzErMWRUMWd2V2QrMVlmcUduUnMrRlltS3JoVGJGNWNWZjlnbzNIamxHNGR2eXIrWjNKUzBxYXZFdVdUUFp0Sm02ZWJlTFo1YkRwYXFsK2FYRG00TjJkcTBEZDlXdE8zMTlrWGJMNWZOS051N2c3WkR1YU8vUExpOFphZkp6czA3UDFTa1ZQUlUrbFEyN3RMZHRXSFgrRzdSN2h0N3ZQWTA3TlhiVzd6My9UN0p2dHRWQVZWTjFXYlZaZnRKKzdQM1A2NkpxdW40bHZ0dFhhMU9iWEh0eHdQU0EvMEhJdzYyMTduVTFSM1NQVlJTajlZcjYwY094eCsrL3AzdmR5ME5OZzFWalp6RzRpTndSSG5rNmZjSjMvY2VEVHJhZG94N3JPRUgweDkySFdjZEwycENtdkthUnB0VG12dGJZbHU2VDh3KzBkYnEzbnI4UjlzZkQ1dzBQRmw1U3ZOVXlXbmE2WUxUazJmeXo0eWRsWjE5Zmk3NTNHRGJvclo3NTJQTzMyb1BiKys2RUhUaDBrWC9pK2M3dkR2T1hQSzRkUEt5MitVVFY3aFhtcTg2WDIzcWRPbzgvcFBUVDhlN25MdWFycmxjYTdudWVyMjFlMmIzNlJ1ZU44N2Q5TDE1OFJiLzF0V2VPVDNkdmZONmIvZkY5L1hmRnQxK2NpZjl6c3U3MlhjbjdxMjhUN3hmOUVEdFFkbEQzWWZWUDF2KzNOanYzSDlxd0hlZzg5SGNSL2NHaFlQUC9wSDFqdzlEQlkrWmo4dUdEWWJybmpnK09UbmlQM0w5NmZ5blE4OWt6eWFlRi82aS9zdXVGeFl2ZnZqVjY5Zk8wWmpSb1pmeWw1Ty9iWHlsL2VyQTZ4bXYyOGJDeGg2K3lYZ3pNVjcwVnZ2dHdYZmNkeDN2bzk4UFQrUjhJSDhvLzJqNXNmVlQwS2Y3a3htVGsvOEVBNWp6L0dNekxkc0FBQUFnWTBoU1RRQUFlaVVBQUlDREFBRDUvd0FBZ09rQUFIVXdBQURxWUFBQU9wZ0FBQmR2a2wvRlJnQUFCTTFKUkVGVWVOcnMyOCtMRzJVWXdQSFhabTZDdVhrMGRFMFRzVCtTbVQxb2Q1Rmsrd3ZwbXRHYmlFaE9YbFZRTDE0Q25rdjNYRVFESG9SQ1llbXBiS21kcE10U3dVejIxUE1jUlBCU2dwQmxZVWQ0UEd5em1VMDJ1L01tNzQvbm1mZDk0ZmtIOHVHYk4rL2tIUVpkRDVSTXgydkRqbHRnUkJjczNjanZsUnJ0dmJJUE1vY3BBK2w2QUIxM0FGMnZCYjNsUEMwSXZ6VXMrUVBaR09wQkNNR29odEFMY2d5bTJzU0dNU3o1emIyeUg2bUV3QUV5aG9rd3dPaUV3QVdTaEhubTFsUkQ3QmNidGIyU3Y2c1RBaWZJR0NaUUFiTmZiTlNHNVVhQUFRSTNTQkptMjYySS8ycjZxSUlOZ2dhSTREUE0vdm5iQlJWbmlleURMQWhEQVlJbUNPY1pSdGRad2l5UUZEQVVJZWlEekRoY0RrdCtreUpFZGtCZXpSL0JsYWh6NjJaRUZTSlRJTHRCQmZKYmIwTitzd2pQcjkyMElCZ3cyTllTc0swbDhpZ3NTeGhaUUdGWnc2Q093cktJa1p4N1gzeGdRV1RPNXRQTHFURW9vcEFDYVQrOXhBVkJFWVdaZ0VFSmhabUNRUVdGbVlSQkFZV1pob0VkaFptSWdSbUZtWXFCRllWQnh3MU14UmpORDkrOGp3amttVnN6R1dNMG4vL280UUJoakRIb2VHMlRNVENoSElMMGx2T3YvaEkxRmdNSlNqVCtIN3BiL1ZvSHhzYnZGOUZnNkVZWmx2emoxMmtQNzlpcXcyZytlUWNkaGthVWFQcmFqTUlOSGpPR0RwU3BPc2FWZUpzV1F6bEtOUHR5Mlk1YmtMbkJVOEpRaFRLemp2RUc3N1VzeGpUSzM5VjF0WFVjZ1J6K0RJNHN4dkc1L1BPN3dsSE9yR084d1ZjL3RoaVNVVXIrTHQrTGp3S2VjMlVKUXpUS2ZySEI5MUlTYkxzVml5RUhaVmh1QlBPOUh0ejFOaXlHZUJUdU9pWTIrSUhGRUljeWR4Mko1MXhOaXlFT1plNDZKamI0M2RNZ0JoMFhLbzh2R0lmQmk3SndIV21lYzVtT3dZTWlwSTdFYzY2MnhUaDkzdnF0UFBPU3Q3QTZabTN3Rm9QdjVyM1FPaWFmYzFrTVBoVGhkU1RYeTA0MXNoaDhLRkxxR0sxTHplZEI3bUhGZnVncFVSNnRYNWRYeDlVMXFLMnVBVlErZlFFV0pjVTh1UTI1UC8rUkI3SmFoMkIxRGNDaXBNVjRDVTRZZzlPUGE5THFTSTVGU1lFUnh1RDA0a0JxSGNrcGZ2WEFBcHlHTVJxUmxaeFVoMFhod0JCZHlhdzZMRXBLREpHVm5GV0hSVW1KSWFxU05IVVlqWklXUTBRbFBIVVlpY0tMc1dnbHZIV1loUEphOENVL3hpS1Z6RnRIY3M1Ly8wczJNVHJmemdleFNDV0wxSkdjTis5OFp6RVdyVVJFSFZsRUVZWVJ4cERyeFp2SzY4Z1Npa2lNMGJBK0ZKVFhrUVVVR1JoT0dFTXVQR2hycVlNeWlpeU1WSlhJcklNaWlteU1NeXVSWFFjbEZCVVlwMWFpcW83a3ZQSFRaOFpqekt4RVpSMmplZS9EZitIMVg5ZU54aml4RWgxMVlFVFJoVEZWaVk0NnNLSG94RGlxUkhjZFdGQXdZQnlCNks1RE53b1dEQ2VNQVUwZHVsQXdZVGhoREtqcVVJMkNEZU1RQkNIR2FKWS8rVXZhblMrTUdPaEJaRjNFdzRwQkFrUTB5cm50dTJneHlJQ0lRam0zY3g4MUJpbVFSVkVvWUpBRG1SZUZDZ1pKRUY0VVNoaGtRZEtpVU1NZ0RYTFdSVHlLR09SQlpxRlF4Y2dFeUNRS1pZek1nSXhRcUdOa0JtU2xEdTJWYTFCZ2ZTamt3b08yQmRFMWRRaXVyc0gwL2RnK1ZKeGVIRmdRM1JBVHkrbkhOV293ak5oWFU3UmFoeWJ2TFg1S01DekxFSk1yMS91dm1Rc1BJZ3N5LzFmVFlLVU9MZEh2MjJPR1laZ2hsbTlBbmtsY0dHRVlRb3dOMlJESFZnL3lUaGkzY21FOHNDQW5uU1YwTFNRd0RNTlBXSzBReUdBWTlyT0V0cVhwMVAvL0FOd29yczhWOE1oV0FBQUFBRWxGVGtTdVFtQ0M"},{ name : "__ASSET__:bitmap_flixel_addons_transition_GraphicTransTileDiamond", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQWlBQUFBQWdDQVlBQUFBckZzTTFBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQXlKcFZGaDBXRTFNT21OdmJTNWhaRzlpWlM1NGJYQUFBQUFBQUR3L2VIQmhZMnRsZENCaVpXZHBiajBpNzd1L0lpQnBaRDBpVnpWTk1FMXdRMlZvYVVoNmNtVlRlazVVWTNwcll6bGtJajgrSUR4NE9uaHRjRzFsZEdFZ2VHMXNibk02ZUQwaVlXUnZZbVU2Ym5NNmJXVjBZUzhpSUhnNmVHMXdkR3M5SWtGa2IySmxJRmhOVUNCRGIzSmxJRFV1TXkxak1ERXhJRFkyTGpFME5UWTJNU3dnTWpBeE1pOHdNaTh3TmkweE5EbzFOam95TnlBZ0lDQWdJQ0FnSWo0Z1BISmtaanBTUkVZZ2VHMXNibk02Y21SbVBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1THpBeUx6SXlMWEprWmkxemVXNTBZWGd0Ym5NaklqNGdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlnZUcxc2JuTTZlRzF3UFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwzaGhjQzh4TGpBdklpQjRiV3h1Y3pwNGJYQk5UVDBpYUhSMGNEb3ZMMjV6TG1Ga2IySmxMbU52YlM5NFlYQXZNUzR3TDIxdEx5SWdlRzFzYm5NNmMzUlNaV1k5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmVHRndMekV1TUM5elZIbHdaUzlTWlhOdmRYSmpaVkpsWmlNaUlIaHRjRHBEY21WaGRHOXlWRzl2YkQwaVFXUnZZbVVnVUdodmRHOXphRzl3SUVOVE5pQW9WMmx1Wkc5M2N5a2lJSGh0Y0UxTk9rbHVjM1JoYm1ObFNVUTlJbmh0Y0M1cGFXUTZNek5HUmtFd05FSXhPRVV3TVRGRk5EazVRVGRDUlVVME56Z3lPVFkyT0RjaUlIaHRjRTFOT2tSdlkzVnRaVzUwU1VROUluaHRjQzVrYVdRNk16TkdSa0V3TkVNeE9FVXdNVEZGTkRrNVFUZENSVVUwTnpneU9UWTJPRGNpUGlBOGVHMXdUVTA2UkdWeWFYWmxaRVp5YjIwZ2MzUlNaV1k2YVc1emRHRnVZMlZKUkQwaWVHMXdMbWxwWkRvek0wWkdRVEEwT1RFNFJUQXhNVVUwT1RsQk4wSkZSVFEzT0RJNU5qWTROeUlnYzNSU1pXWTZaRzlqZFcxbGJuUkpSRDBpZUcxd0xtUnBaRG96TTBaR1FUQTBRVEU0UlRBeE1VVTBPVGxCTjBKRlJUUTNPREk1TmpZNE55SXZQaUE4TDNKa1pqcEVaWE5qY21sd2RHbHZiajRnUEM5eVpHWTZVa1JHUGlBOEwzZzZlRzF3YldWMFlUNGdQRDk0Y0dGamEyVjBJR1Z1WkQwaWNpSS9QckhzdVhJQUFBTHRTVVJCVkhqYTdOakJidVVnRUVUUk1QLy96NDRpelNhenlpakdYTGZPbGJLSnpLTUZEVlRWdXE3ckF3QmV4cjhYMXpvMDc4ZERkZnp2UmIwT3pYdFhIWGMvVE92UXZEK3Q0K21IZUIyYTl4dC8zR01BZnZGSVhJZm1QWEdCWHpkOTg4UmpmQjJhdDFKN1plOHF2VnVZa3dBQmNQc0ZkaDJhOThsTDlkcjA3YzdmT2pXMnNuYVYzcW1jblp3SUlVQ0FkNHNBQ1VURFBWZlNnMHJ0bGIycjlHN3U4UzlBZ0FEdkZSK24zVnZGdlZiY2UyVnNaZTBxdlZNNU8wUUlBUUxjZW9GSUlCcnV1WkllVkdxdjdGMmxkejMrQkFnd1NueWNkbThWOTFweDc1V3hsYldyOUU3bDdCQWhCQWh3NndVaWdXaTQ1MHA2VUttOXNuZVYzdlg0Z3dEQktQRngycjFWM0d2RnZWZkdWdGF1MGp1VnMwT0VnQURCclJlSUJLTGhuaXZwUWFYMnl0NVZldGZqRHdJRW84VEhhZmRXY2E4VjkxNFpXMW03U3U5VXpnNFJBZ0lFdDE0Z0VvaUdlNjZrQjVYYUszdFg2VjJQUDBDQWpCSWZwOTFieGIxVzNIdGxiR1h0S3IxVE9UdEVDRUNBM0hxQlNDQWE3cm1TSGxScXIreGRwWGM5L2dBQk1rcDhuSFp2RmZkYWNlK1ZzWlcxcS9STzVld1FJUUFCY3VzRklvRm91T2RLZWxDcHZiSjNsZDcxK0FNWUpVQUFBQUFCOGpqcjc5K0plWC95dnlmbWZhS085ZENZeW0rc1FYdFg2ZDNDbkFBSWtCR3NRNWZwT25TcHIwM2Y3dnl0VTJNcmExZnBuY3JaSVlJQUFtU1VDSkhBTk5LREhYVklZT2IwTHZFQkVDQjR1WXVVd1BUSFZ0YXUwanVWczBNRUFRVElLQkVpZ1dta0J6dnFrTURNNlYzaUF5QkE4SElYS1lIcGo2MnNYYVYzS21lSENBSUJnbEVpUkFMVFNBOTIxQ0dCbWRPN3hBY0lFT0RsTGxJQzB4OWJXYnRLNzFUT0RoRUVBZ1NqUklnRXBwRWU3S2hEQWpPbmQ0a1BFQ0RBeTEya0JLWS90ckoybGQ2cG5CMGlpQUFCUm9rUUNVd2pQZGhSaHdSbVR1OFNId1FJZ0plN1NBbE1mMnhsN1NxOVV6azdSQkFCQW93U0lSS1lSbnF3b3c0SnpKemVKVDRJRUFBdmQ1RVNtUDdZeXRwVmVxZHlkbklpaUFBQjhKc0xUQUxUU0E5MjFDR0JtZE83T2ZIeHhhY0FBd0RrMWZzODNpRUEyd0FBQUFCSlJVNUVya0pnZ2c9PQ"},{ name : "__ASSET__:file_flixel_system_VirtualInputData", data : "YmFzZSA9IDI2NiA0NiA4NCA4NAp0aHVtYiA9IDI2NiAxMzEgNTIgNTIKYSA9IDAgMCAxMzIgNDUKYiA9IDAgNDYgMTMyIDQ1CmMgPSAwIDkyIDEzMiA0NQpkb3duID0gMCAxMzggMTMyIDQ1CmxlZnQgPSAxMzMgMCAxMzIgNDUKcmlnaHQgPSAxMzMgNDYgMTMyIDQ1CnVwID0gMTMzIDkyIDEzMiA0NQp4ID0gMjY2IDAgMTMyIDQ1CnkgPSAxMzMgMTM4IDEzMiA0NQo"},{ name : "__ASSET__:bitmap_flixel_system_debug_GraphicCloseButton", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFnQUFBQUlDQVlBQUFERUQ3NkxBQUFBQkhOQ1NWUUlDQWdJZkFoa2lBQUFBQWx3U0ZsekFBQUFkZ0FBQUhZQlRuc21DQUFBQUJsMFJWaDBVMjltZEhkaGNtVUFkM2QzTG1sdWEzTmpZWEJsTG05eVo1dnVQQm9BQUFCL1NVUkJWQmlWVFkweENzSlFFQVhIYnlTZXdNdWxUV2R2YTZPbGxXSnBDQ0syaWsxT1krY3RRc1lpcS9rREM4dnM3bHZVU3UzVXBVcFdPN1ZDM1RqU3FXVU1EK0dldisxdGlKZDZ5dm95ajl3NzhWQVhLb21SR2JCaW9nY0dBTlNrTm5GNVY0L1IzOVNFMm9hNHF2TjRkdzUzS1lBMzBBRDFQeGJXUUFGOHZwYVlyTldBYU5WMEFBQUFBRWxGVGtTdVFtQ0M"},{ name : "__ASSET__:bitmap_flixel_system_debug_GraphicBitmapLog", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFzQUFBQUxDQVlBQUFDcHJIY21BQUFBQm1KTFIwUUFBQUFBQUFENVE3dC9BQUFBQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBQUIzUkpUVVVIM2dRWkV4c2Fka1ZHNHdBQUFFRkpSRUZVR05PVnpjc0pBREFJQk5FdDFUSnl0UFBKS2VSbnhBd3NlSGlnOUJOUW1mRURBU3REUUdXWTRRdStjQWhQN013cytqaU94cDR5dk9ZWkxrRkFIVzZYWUMwODhkcWRBQUFBQUVsRlRrU3VRbUND"},{ name : "__ASSET__:bitmap_flixel_system_debug_GraphicStats", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFzQUFBQUxDQVlBQUFDcHJIY21BQUFBQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBQUlHTklVazBBQUhvbEFBQ0Fnd0FBK2Y4QUFJRHBBQUIxTUFBQTZtQUFBRHFZQUFBWGI1SmZ4VVlBQUFBeFNVUkJWSGphWXZ6Ly96OERzWUNKZ1FSQWpPTC9VRXdkaytHbTBkVE5XQlZqdFpvK3ptQWtKUVlCQUFBQS8vOERBTDhIREFscWRHWVJBQUFBQUVsRlRrU3VRbUND"},{ name : "__ASSET__:bitmap_flixel_addons_transition_GraphicTransTileSquare", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQWlBQUFBQWdDQVlBQUFBckZzTTFBQUFBQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBN2EybFVXSFJZVFV3NlkyOXRMbUZrYjJKbExuaHRjQUFBQUFBQVBEOTRjR0ZqYTJWMElHSmxaMmx1UFNMdnU3OGlJR2xrUFNKWE5VMHdUWEJEWldocFNIcHlaVk42VGxSamVtdGpPV1FpUHo0S1BIZzZlRzF3YldWMFlTQjRiV3h1Y3pwNFBTSmhaRzlpWlRwdWN6cHRaWFJoTHlJZ2VEcDRiWEIwYXowaVFXUnZZbVVnV0UxUUlFTnZjbVVnTlM0MUxXTXdNakVnTnprdU1UVTFOemN5TENBeU1ERTBMekF4THpFekxURTVPalEwT2pBd0lDQWdJQ0FnSUNBaVBnb2dJQ0E4Y21SbU9sSkVSaUI0Yld4dWN6cHlaR1k5SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpFNU9Ua3ZNREl2TWpJdGNtUm1MWE41Ym5SaGVDMXVjeU1pUGdvZ0lDQWdJQ0E4Y21SbU9rUmxjMk55YVhCMGFXOXVJSEprWmpwaFltOTFkRDBpSWdvZ0lDQWdJQ0FnSUNBZ0lDQjRiV3h1Y3pwNGJYQTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzhpQ2lBZ0lDQWdJQ0FnSUNBZ0lIaHRiRzV6T25odGNFMU5QU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2Ylcwdklnb2dJQ0FnSUNBZ0lDQWdJQ0I0Yld4dWN6cHpkRkpsWmowaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOTRZWEF2TVM0d0wzTlVlWEJsTDFKbGMyOTFjbU5sVW1WbUl5SUtJQ0FnSUNBZ0lDQWdJQ0FnZUcxc2JuTTZjM1JGZG5ROUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXpWSGx3WlM5U1pYTnZkWEpqWlVWMlpXNTBJeUlLSUNBZ0lDQWdJQ0FnSUNBZ2VHMXNibk02WkdNOUltaDBkSEE2THk5d2RYSnNMbTl5Wnk5a1l5OWxiR1Z0Wlc1MGN5OHhMakV2SWdvZ0lDQWdJQ0FnSUNBZ0lDQjRiV3h1Y3pwd2FHOTBiM05vYjNBOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZjR2h2ZEc5emFHOXdMekV1TUM4aUNpQWdJQ0FnSUNBZ0lDQWdJSGh0Ykc1ek9uUnBabVk5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmRHbG1aaTh4TGpBdklnb2dJQ0FnSUNBZ0lDQWdJQ0I0Yld4dWN6cGxlR2xtUFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwyVjRhV1l2TVM0d0x5SStDaUFnSUNBZ0lDQWdJRHg0YlhBNlEzSmxZWFJ2Y2xSdmIydytRV1J2WW1VZ1VHaHZkRzl6YUc5d0lFTkRJREl3TVRRZ0tGZHBibVJ2ZDNNcFBDOTRiWEE2UTNKbFlYUnZjbFJ2YjJ3K0NpQWdJQ0FnSUNBZ0lEeDRiWEE2UTNKbFlYUmxSR0YwWlQ0eU1ERTBMVEE0TFRFMVZERTJPakU1T2pBNExUQTFPakF3UEM5NGJYQTZRM0psWVhSbFJHRjBaVDRLSUNBZ0lDQWdJQ0FnUEhodGNEcE5iMlJwWm5sRVlYUmxQakl3TVRRdE1EZ3RNVFZVTVRZNk16UTZNekl0TURVNk1EQThMM2h0Y0RwTmIyUnBabmxFWVhSbFBnb2dJQ0FnSUNBZ0lDQThlRzF3T2sxbGRHRmtZWFJoUkdGMFpUNHlNREUwTFRBNExURTFWREUyT2pNME9qTXlMVEExT2pBd1BDOTRiWEE2VFdWMFlXUmhkR0ZFWVhSbFBnb2dJQ0FnSUNBZ0lDQThlRzF3VFUwNlNXNXpkR0Z1WTJWSlJENTRiWEF1YVdsa09tSmxPVEZqT1dVd0xXRTNabUV0Wm1JME9TMWlZMlEwTFdVMU5qaGpZV00xWkRNNU5Ud3ZlRzF3VFUwNlNXNXpkR0Z1WTJWSlJENEtJQ0FnSUNBZ0lDQWdQSGh0Y0UxTk9rUnZZM1Z0Wlc1MFNVUStZV1J2WW1VNlpHOWphV1E2Y0dodmRHOXphRzl3T21WbE56TTFPRGhtTFRJMFl6TXRNVEZsTkMwNU9UQmlMV0kyTkRnMk1EQTRNVEpsTXp3dmVHMXdUVTA2Ukc5amRXMWxiblJKUkQ0S0lDQWdJQ0FnSUNBZ1BIaHRjRTFOT2tSbGNtbDJaV1JHY205dElISmtaanB3WVhKelpWUjVjR1U5SWxKbGMyOTFjbU5sSWo0S0lDQWdJQ0FnSUNBZ0lDQWdQSE4wVW1WbU9tbHVjM1JoYm1ObFNVUStlRzF3TG1scFpEb3pNMFpHUVRBME9URTRSVEF4TVVVME9UbEJOMEpGUlRRM09ESTVOalk0Tnp3dmMzUlNaV1k2YVc1emRHRnVZMlZKUkQ0S0lDQWdJQ0FnSUNBZ0lDQWdQSE4wVW1WbU9tUnZZM1Z0Wlc1MFNVUStlRzF3TG1ScFpEb3pNMFpHUVRBMFFURTRSVEF4TVVVME9UbEJOMEpGUlRRM09ESTVOalk0Tnp3dmMzUlNaV1k2Wkc5amRXMWxiblJKUkQ0S0lDQWdJQ0FnSUNBZ1BDOTRiWEJOVFRwRVpYSnBkbVZrUm5KdmJUNEtJQ0FnSUNBZ0lDQWdQSGh0Y0UxTk9rOXlhV2RwYm1Gc1JHOWpkVzFsYm5SSlJENTRiWEF1Wkdsa09qTXpSa1pCTURSRE1UaEZNREV4UlRRNU9VRTNRa1ZGTkRjNE1qazJOamczUEM5NGJYQk5UVHBQY21sbmFXNWhiRVJ2WTNWdFpXNTBTVVErQ2lBZ0lDQWdJQ0FnSUR4NGJYQk5UVHBJYVhOMGIzSjVQZ29nSUNBZ0lDQWdJQ0FnSUNBOGNtUm1PbE5sY1Q0S0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEhKa1pqcHNhU0J5WkdZNmNHRnljMlZVZVhCbFBTSlNaWE52ZFhKalpTSStDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHh6ZEVWMmREcGhZM1JwYjI0K2MyRjJaV1E4TDNOMFJYWjBPbUZqZEdsdmJqNEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQSE4wUlhaME9tbHVjM1JoYm1ObFNVUStlRzF3TG1scFpEbzFNMkV6TTJFM05DMWlNVFJrTFdNMk5EQXRPVFE1TVMwd1kyTm1ObVJpWm1abVpUZzhMM04wUlhaME9tbHVjM1JoYm1ObFNVUStDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHh6ZEVWMmREcDNhR1Z1UGpJd01UUXRNRGd0TVRWVU1UWTZNelE2TXpJdE1EVTZNREE4TDNOMFJYWjBPbmRvWlc0K0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEeHpkRVYyZERwemIyWjBkMkZ5WlVGblpXNTBQa0ZrYjJKbElGQm9iM1J2YzJodmNDQkRReUF5TURFMElDaFhhVzVrYjNkektUd3ZjM1JGZG5RNmMyOW1kSGRoY21WQloyVnVkRDRLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEhOMFJYWjBPbU5vWVc1blpXUStMend2YzNSRmRuUTZZMmhoYm1kbFpENEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BDOXlaR1k2YkdrK0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4eVpHWTZiR2tnY21SbU9uQmhjbk5sVkhsd1pUMGlVbVZ6YjNWeVkyVWlQZ29nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4YzNSRmRuUTZZV04wYVc5dVBuTmhkbVZrUEM5emRFVjJkRHBoWTNScGIyNCtDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHh6ZEVWMmREcHBibk4wWVc1alpVbEVQbmh0Y0M1cGFXUTZZbVU1TVdNNVpUQXRZVGRtWVMxbVlqUTVMV0pqWkRRdFpUVTJPR05oWXpWa016azFQQzl6ZEVWMmREcHBibk4wWVc1alpVbEVQZ29nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4YzNSRmRuUTZkMmhsYmo0eU1ERTBMVEE0TFRFMVZERTJPak0wT2pNeUxUQTFPakF3UEM5emRFVjJkRHAzYUdWdVBnb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThjM1JGZG5RNmMyOW1kSGRoY21WQloyVnVkRDVCWkc5aVpTQlFhRzkwYjNOb2IzQWdRME1nTWpBeE5DQW9WMmx1Wkc5M2N5azhMM04wUlhaME9uTnZablIzWVhKbFFXZGxiblErQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4emRFVjJkRHBqYUdGdVoyVmtQaTg4TDNOMFJYWjBPbU5vWVc1blpXUStDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lEd3ZjbVJtT214cFBnb2dJQ0FnSUNBZ0lDQWdJQ0E4TDNKa1pqcFRaWEUrQ2lBZ0lDQWdJQ0FnSUR3dmVHMXdUVTA2U0dsemRHOXllVDRLSUNBZ0lDQWdJQ0FnUEdSak9tWnZjbTFoZEQ1cGJXRm5aUzl3Ym1jOEwyUmpPbVp2Y20xaGRENEtJQ0FnSUNBZ0lDQWdQSEJvYjNSdmMyaHZjRHBEYjJ4dmNrMXZaR1UrTXp3dmNHaHZkRzl6YUc5d09rTnZiRzl5VFc5a1pUNEtJQ0FnSUNBZ0lDQWdQSFJwWm1ZNlQzSnBaVzUwWVhScGIyNCtNVHd2ZEdsbVpqcFBjbWxsYm5SaGRHbHZiajRLSUNBZ0lDQWdJQ0FnUEhScFptWTZXRkpsYzI5c2RYUnBiMjQrTnpJd01EQXdMekV3TURBd1BDOTBhV1ptT2xoU1pYTnZiSFYwYVc5dVBnb2dJQ0FnSUNBZ0lDQThkR2xtWmpwWlVtVnpiMngxZEdsdmJqNDNNakF3TURBdk1UQXdNREE4TDNScFptWTZXVkpsYzI5c2RYUnBiMjQrQ2lBZ0lDQWdJQ0FnSUR4MGFXWm1PbEpsYzI5c2RYUnBiMjVWYm1sMFBqSThMM1JwWm1ZNlVtVnpiMngxZEdsdmJsVnVhWFErQ2lBZ0lDQWdJQ0FnSUR4bGVHbG1Pa052Ykc5eVUzQmhZMlUrTmpVMU16VThMMlY0YVdZNlEyOXNiM0pUY0dGalpUNEtJQ0FnSUNBZ0lDQWdQR1Y0YVdZNlVHbDRaV3hZUkdsdFpXNXphVzl1UGpVME5Ed3ZaWGhwWmpwUWFYaGxiRmhFYVcxbGJuTnBiMjQrQ2lBZ0lDQWdJQ0FnSUR4bGVHbG1PbEJwZUdWc1dVUnBiV1Z1YzJsdmJqNHpNand2WlhocFpqcFFhWGhsYkZsRWFXMWxibk5wYjI0K0NpQWdJQ0FnSUR3dmNtUm1Pa1JsYzJOeWFYQjBhVzl1UGdvZ0lDQThMM0prWmpwU1JFWStDand2ZURwNGJYQnRaWFJoUGdvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW84UDNod1lXTnJaWFFnWlc1a1BTSjNJajgralJOUkFBQUFBQ0JqU0ZKTkFBQjZKUUFBZ0lNQUFQbi9BQUNBNlFBQWRUQUFBT3BnQUFBNm1BQUFGMitTWDhWR0FBQUE3a2xFUVZSNDJ1elp3UTJBSUJRRlFUWDIzL0szQStNTmRXYzZBQTV2RS9hWjJRQ0FuS1VCY0xwL0FNaEZ3TDc2NEFJRUFCRVFHLzgzRUNBQWxDTEErQXNRQUdJUllQd1JJQUN4Q0REK0NCQ0FXQVFZZnhBZ1FDd0NqRDhJRUNBV0FjWWZFQ0FRaXdEakR3Z1FpRVdBOFFjUUlNUWl3UGdEQ0JCaUVXRDhBUkFnc1Fndy9nQUlrRmdFR0g4QWVPajRRUVNNWndRQUFRSUFjT3ZyWHpDK1BRQkFnS1NJSHdBUUlPSUhBQVFJNGdjQUJBamlCd0FCQXVJSFFJQUE0Z2RBZ0FEaUJ4QWdBT0lIRUNBQTRnY0VDQURpQndRSUFPSUhBUUlBNGdjQkFnRGlSNEFBZ1BqcHVBQUFBUC8vQXdERGpoU0RtSUFyY1FBQUFBQkpSVTVFcmtKZ2dnPT0"},{ name : "__ASSET__:bitmap_flixel_input_mouse__FlxMouse_GraphicCursor", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUJnQUFBQWdDQVlBQUFBSVhyZzRBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQW1SSlJFRlVlTnEwbHM5ckUwRVV4Nzg3MllTZ0psVFNTaVdwVnZyRElxaEZVSUtnK0NlSUlncWVGRS9pVFJDOHBMUVhqeUwwNGc5Q29tWFRKSVcwT1ZVRU1UZEJSSWs1VzZXdGtLSlNiR25EcHNuNlprMlczVFFicytua3dkdVpuVm0rbjMwenczc2pCVUxCQ0lBcGRNbGMrL3orZDlScTVMbHVBT1JhTzhrZkR5ZW5XMGJ5YU9LZVl3RGpEMDNUZEFnSlJFUkhJTkVlYUpWS0ZZeEprQ1NKajAzWVJYTC85bVZib2Q2QmtIMEV1bWxTdlNjMEVnTnc1ZXAxakE2UENJY1lnQU0rUDU0OG5zYXh3VUdoRUdaKzJTaFZNSjlLNCtqQUVXRVFDMkM3cEVKakhpeWswd2dGZzBJZ3JIRmdhYm1vaTJkbWt6amMzNzlueUM3QW44MHQvRjdmMFBlQ1F3NzE5UmtRT29xUlBRTzRmVjBwNnUzdzBCQXl5U1FDZ1VESGtLYUE0czkxYkc2VjlQN3hrVkU5a29NOVBSMUJtTjNFVWkwS2JpZkd4akNuS1BEN2ZJNGh0b0RWNGkrbzVSM2ovZlRKVXdSSk9JYllBbmgrK3I2NlpoazdNejRPSlI2SDErdHRHOEphVFg3N3NZWkt0V29aQzU4OWg5U3JtYlloTFFHcXVxTXZWYU9kRDRjeEU0M0M0M2JEVkU4aWpnR05tMjIyU3hjdUl2Nzh4WDhoY2l2eFdTV0dmUDRUYmV4K0VtcitLVjhxdFZ3MlEyQ3U4YmFBVk9JbEZ1YlQvejZTWFdBdTF1N1J0MENhQXJJa25Na2t3UXVjTE11UW1PUTBReGlRWFlEWGkxa2thR2tZWTVEZExqNzBsdnhCaDhuVVl3SGtjbThRaXo0MUw4a2lMM1pVbzdjN3Jja0c0T09IOXlnVThuQVRzMWI4cytUWFNGd1ZVbkMrRkQ3VFh4czNpemtSNGtZRUx1c0o0ZUkzbTRuYkxZT1RWS0dRM3hEeDU1YUxWNjBmSTcvRDg1ekltMTA5Z21ma3QwU0wxMi9YdmRUZTdkYjEvYThBQXdDWlVNUU16UW9keXdBQUFBQkpSVTVFcmtKZ2dnPT0"},{ name : "__ASSET__:bitmap_flixel_system_debug_interaction_tools__Transform_GraphicTransformCursorRotate", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFvQUFBQUtDQVlBQUFDTk1zKzlBQUFBQkhOQ1NWUUlDQWdJZkFoa2lBQUFBQWx3U0ZsekFBQUFUZ0FBQUU0QnNjMGZNd0FBQUJ4MFJWaDBVMjltZEhkaGNtVUFRV1J2WW1VZ1JtbHlaWGR2Y210eklFTlROdWk4c293QUFBQkVTVVJCVkJpVmRjNUpEZ0F3Q0FMQVl2ei9sK25KQkJjOFZaMFNRZkpKYVFOZDVFQndmUmhVaVZSNG9WVnA1cHp2TUhDZDRhQmlWR0k3MmlXSERCeHVVUEg1NFFNNWNROFhwbTRKVmdBQUFBQkpSVTVFcmtKZ2dnPT0"},{ name : "__ASSET__:bitmap_flixel_system_debug_stats__Stats_GraphicMinimizeButton", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFvQUFBQUtDQVlBQUFDTk1zKzlBQUFBQm1KTFIwUUEvd0QvQVArZ3ZhZVRBQUFBQ1hCSVdYTUFBQUIyQUFBQWRnRk9leVlJQUFBQUIzUkpUVVVIM2dNSkNSMDFlRVp4RlFBQUFEOUpSRUZVR05OaitQLy8vMzhHQWdDdUJzWkExb1JOREM2QnJoQ1p6L1QvLzM4bWZOWVQ0elR5QUNPNjhZeU1qRmpGbUpBbHNacUVMRWRVOEJBYjRBQzRjRkxGc3d1SW53QUFBQUJKUlU1RXJrSmdnZz09"},{ name : "__ASSET__:bitmap_flixel_system__FlxPreloader_GraphicLogoLight", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUVBQUFBQkFDQVlBQUFDcWFYSGVBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQnE1SlJFRlVlTnJVVzR0dTR6WVE1TktVYzNmcHQvYWYrcE01MjVLNFJRQ3gySnZiRi8xSTJ3Q0VaRWQyTk1QWnQwTGx6Ny9LQzMvb1NkL0RyN3JCOXNXZzZVN0E5Q295MmhjQXB3ZStpNFB2NC84Q0FSUzhSM2VBbE5ld3VBNC9RNCtTMEw0SU9EMWdDcFM0RC81cUFpeEFsSHd2SW9PVHBQQ0VtcDVHQUUwQ0orTzZqQk5rQjlSVFRLSTlDTndDR0wwWDdUd0xnS3lBWlllSUtUVTg2Z1ExSXNaN1ZRRS9TNEE4NzQ0S1h1b0RNdktPVm5XVWdJQ3NSUWNKRkpBeFJVeDdFSHlGY3dSY0EySTg4QU5rRjY5SlVRWTdEalEwaDVZQWI1RkFEdUFxRnNGNWhvQU93UHZ4K1E0cTZBYjR0Qis0eHdscTREWGdKK1cxWmc3c0VERFdMc0NpQ1hqK0ljd1ZXbkwzU1pFK0FwWkFjVlZGRmFSNGRqN0FzZ0MrSDUvWndROGcwRzRvd1EyUjdRNnZYNVhkSHlBYkFHOEtHZmdkMnU0UDRKczR4OWZqZm5ieG5YMDJTclNKM2RkMi9pU09UUnkxZFlMcjBRZDBBRDhBeTRYa2FVUjRvZkkzTWxvaXhkWGlPMG9ld1M2d21xSUdWSUFrUUlKZWp6WCszbVlrUldnS2x2Ui9lZDBtS2poTi9pY0Q5RmtjeitMMzQ5b0t6cENGbzBQZ0RmeUk1ZUZaMmUzeWlBL3draHEwOHdVQXY4SDVJb2lRU2tCUExuZitKcFpHZ0JWQ2krSVV6YWpRa3BWZURhUXZ3WDg3UUkvMVRmeE9tb1NtQUFSL0ZZUlI0RGhMMER0SU9VRnliSitVVUllN1AwQi9QNERMOVNaSWtHYkFRSUFFdjRqZEw0cGlNR21xQWp3Wi9RVFZDVklpSDdETW9BRUJBL0FuQ1QrTzQzZEJ6aG5zZWhBZzdmNFQvRThnQ3NIdlNzSlVJVzBtbzcvSVVSZ2tKd3lpL1dzRWZBSitQd2dZUzVyRzRoRHdDZjRDU2lsR2xyZ2JaS0FTckVZclo0b2hMZDNGMEhkV0NQaHhrUEN1S0dFUkpFb0h1QjdnaDBwSUFhOGxSaWVSTVZZbFd6VHJnMHd4cEJFaGZjRWlTSkFFSUFudmdvQXpSQUpwLzJkbDUyVitzRUtJYk1mN0o1RU00YkljSWJWRTFXZWx2bG9PZ0k0UUNaQ21nQXBZaGRldjRzWXQ4R05wOVlaSHdpOUtpRExCNGhSQUo4TVJuc0VSRG4vd0J4Q3dnTk5hUWZvTXdHVmtXSlQwR2plcVo3ckhUUWtSTldoalJabmdHWlNBSmpITW9JRUNic0lrQnZnQi9BMXlDU3Uxcm80RDU0d1BvQ0FaaWtwZ0xTcThLZUZ4Z0tuQ0I4aW9JTUZmSUwxdWlWTGJhNzJGWVRBVEZTaHdqTTFSeGpDUlJlejRKbXI5TTZUTkMrUU5sdXk5QnF4cEJqTzFnQlVleVZBRGtxRVJVK0hHUmlSb3prNlRrNm5TN0N5eUpZWVRzeDNpQW0xeEN0cG94ZWtZUlUzVnUwQVh1TW1aMlI4N0ZSZzcvVDJyMVYyVWZvRDNXYTk5bmhtcjNhMEE3WTk3N1d4TVQzZFk2MEV3SmtJYnRMMnNuUDllOEdZWUpLZU5aTzF3VDdTeE1HbTVpci9KSWd6dVVQL2Z4R2MyY2R3VVFsQTkzc3pBRElQUkdKcVYzbDBQMmxpeXJKV2xMWW5QVk1nRHJzcTZBUUdhU3Rnd3lSSjFoVnBDTWw3ZkhuY2VnVjlFL0Vid0MrUUJzZ3orT0k2WFl3MHlWa1VORmhIZUlOWE5BNnkrR2twdGQzYitDbVZ0aGZSMmhZS25ReW44QVNSY3dUUlFBWmFQaUtLYW1ncVQ0Z09zY1pVbCtjWG81bGdWWDRmTTd3T1dSOFNtQUk4YzVUOEthY2FPRjRNRWRxUXZuVnd6cXJvVkNDQWdZQld5bCtDUmdCV1VnSW9vR1FjWW1ZQVg0anFFdEhiY21CeVdrTkx4dllGUGtBckFqdEJGVVlFa3dsSUFubk1tQ2hSbnlvbzl0azNKNkc3S0VGVHVyblJ5NkJUeEd1bEFmOExTRklBT2taMlErRnRWT0JNR05UVnNrUGRYQXp6dVBqWkZPNWpCVGV5MGpBWVhKVS9ZamR6QWNvUnVGR0NuZHU0d2t4dm5ZMngxVlZTek83dGZ3UVIyVUFIbUJSZHh0SnhnRDU0eWNVM0E2NkdqS2V4S3I2REF6ck1DQ25jZkJ5TmFQbkZUdlArcWhNTTlDSU4zT1VFckJTYVIxR3lKTWZkTk5FS3QyV0EzU0pESHEyUDdtZDNIOUQ1VkRHbFBjZlNnNVl4Z21taDV6VXlIVjZXbXNNQjNweVpJSzhDZHBSdkFOeU5ibEFTY2xLNU9FVTdRZXo1Z0Qyb0JiL2VuTTBFdkg3Q2V5Y0dFYVFCcHg4MWxtcGRlaldFOUtUSlRLdk1qaVZCSlBKT3p3WmdMbldBTituajRqSkJHUkUvbS96elRGR21KM2ZjYURkM0lGYW80N2tyTHF6Z0U0UENUamVaSWxQV0Z1NS90Q211NUFRNGdHRVpaVlF3cHZhZkROQ2ZibmVKTEE1d3BnKzl1aVZId1hsZUlRSDlnTlRpTEUyVllxZTZpZmlGUE5IZW5HaUxraEVRQ1U4RHFyMExPRUQwMm55R2lPS0dPWnh1aldSTW9Tbmkwd2lRcFQyaVEwNGttQnp3N3RRZ0hOcDhpWW1ZeTVEMTBxRDJwVGNiTWdCTmtsNENFakpON3lmOExjS0tEck8yOE5ZTG53QXk4bHJ5MzAwODFnZG5Ka1VXSU5YVGxoQkl5NzAwUFJlNGx3RXFPTEFkcDNTQWxBSEJ5V0hNWCtHY29nQnhpSWpJeWl1STdydmt5QWlJMXpONGtUeWpqS2VDZlFVQlcyc1dwS1NJbitCTGd6eVlnVXNXak4vNi8rdS94NkticDN3QnEvZnd0d0FDRGVkRE1KazlyRWdBQUFBQkpSVTVFcmtKZ2dnPT0"},{ name : "__ASSET__:bitmap_flixel_system_debug_GraphicConsole", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFzQUFBQUxDQVlBQUFDcHJIY21BQUFBQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBQUlHTklVazBBQUhvbEFBQ0Fnd0FBK2Y4QUFJRHBBQUIxTUFBQTZtQUFBRHFZQUFBWGI1SmZ4VVlBQUFCVVNVUkJWSGphdEpIUkNVQWhEQVBqRzhVVjNNbmhuTVZaWE9IOFVTaFBoSW9ZeUUrNXRJRUdRRjU5T3BDRm82UXFLVzFwd0RvRERTaS91WUFGbmk0amxEM3d2SUlOWEcxMmQ0NUFCZEt1V25qMmxENEFLVWJYUXNkOGx3a0FBQUFBU1VWT1JLNUNZSUk9"},{ name : "__ASSET__:bitmap_flixel_system_debug_interaction_tools__Eraser_GraphicEraserTool", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFzQUFBQUxDQVlBQUFDcHJIY21BQUFBQkhOQ1NWUUlDQWdJZkFoa2lBQUFBQWx3U0ZsekFBQUxFZ0FBQ3hJQjB0MSsvQUFBQUJ4MFJWaDBVMjltZEhkaGNtVUFRV1J2WW1VZ1JtbHlaWGR2Y210eklFTlROWEcxNHpZQUFBUW5jSEpXVjNpYzdWZGJiNkpBR0lWWGZzV0VmVjBGckZZbGFyT3hhZmJGVGJOdDBzMitVYUNXS0pjQWpiWi9iWlBkOTAzL1MvL0J1bmlqaUZ6bUJ0cVcwMkFyenN5WmM4NDNIL1h2djk4dmpNTTRpOFhpK2ZsNWJqck1FcjJ6dWFPb0U5MEh0L3JZc1ByOHk2OC9QREMwUG4vVEdva2paNmpmRzErZlhQM3E2ZHUxK2pSUnV4cC9OdUI2Y3psWXdOUjlCY3pOcWVYSjh6NnZhUGF0TGdkL0wyOExQRmdOOFNkOS9zdnlBL0JqZEFtR3RxdURWbDJzcWVLcENFNmx1blRTYkxmYm4wRkRsRVJCYkFoU295YTE1Wk9HTElwZ0EzN0FCYTg5Vjd1VHY1OWZiT2lDZDMzKzN2Y2RXUkJtczFsOWRsSzMzYkVnZGJ2ZDVUS05SaTBZVWZNZUxWK1oxeXp2MDNxUjdUcm51cWU2aHVNYnRnV1c3NVZiKzhIdjh6d0hJdGpvTXAyUXlQTHFLNDExMVRhRnVlSUlVbDBVd3BXWGl3ZWo1YUdySzc3dFh0djJkTEJXZm1HNCtzeDJKeDRZWHJXQUZNd0tmcHFkSnJneExNMmVlVDBoUGk5cFNmMDh1QWFCVWMyYTJLbUp6V3VwSTdlYWNsUDZHWm0vSGhTYlBySTE0KzR4YWZxcDNPcHNwa2NHYmEwU1lsN2hlcWlwb1lYT2d6dGRKYVdwZ2o3VlRkM3l2Y0JHYWRkR1RaWHZiTmRVL0lGaEttTmRjS3h4VDNpOW1ibS85ZDJnVW9JaUZjSXFqYXdPbUpJQllxajRTY0J1cmtQeG8rL2dmZm9QNzhENzBuL2cvTkZLbno3L2FnZlkrWE52UG45azlkVDQ5MmhoOTBHSG44MjQ4dms1Y3YwNHBSL3lFK3RuWDMraE9rQ3QvakFOb0pkL3RQclI4aWZseDgyZUZ2OTJEd2ZMbjhBQVN2cFRzaTg2ZnhpTzdERWsvRm1ad3pxQnowOVM5VW44SElILytBNFErRS9GQUtMNnk2ajY0dk9QYlFRVFlQZnhpOElmKzIrbjlQeGplOEVEcmZNUFV3dTArTm53WmVjUDZQMlM4Y2NWUisraG53UlUvZ1MxUkgwQTEzL1U3Tk1jUU9ablU5OWdBVU0veHJtbmwvLytYc2lBNHo5cDlvbjVjNmo2eWJQZjRjZnpQN0tYb3ZOUDc2TG9Ucnl1QmN1ZjFjT2puNk5lc2NkdkNuK09Rb0pTb09FL1EzQUtJUG5wRkhzQ29QV3o5Tld6S1B3RkFkNy9yUHh4MVIrZGZvNTBQZXorbjZJL3IrL3NEVVpFTmo4UysyWUN2ZjVmMktGUDRPY1M5YU03UURWL1ZBT281NS9aOVZKMlFDLy9NaEI3L083eTUzUzlKTkErLzBVamdSOURkUkt5YzgvZ0QyY1Rra01oaVo5SzMwazRDYkQ4Mi9sbElEMS9HaEdnNXM4Qk1zNGRjaWlrNVU5c1AybitKZUZJemo5SFdUOVIvdEZWc0oyQW5KdWZmN0dOSUp1ZmhCdk9PUzVYUDlZbXFPYVB1d002K1JlTC9QeHhhd0J1YmtINjM5SDVMeFk3NUZ3cVA2U2F2S2RkRG4rT2ZwaFZVYk9DNVVmOURrQ2JIMnBoakdJTmc4L21oKzJFYkdRc0F2K1IxSDlPL3JEMVYxaitNT1NJZ09TSDdZVElIZk90NUI4aVNTSEJjd0pQZnhJVDNuTWFuWjhlTndGS0o0d3k3M1ZDU3QrWXlGQVdlNUxTd3lvdkZaVFAveHZHVWFnK0pQdFI1SDFjbmZCRDRmRFZYNkZDaFFvVktueHNMQ3BVb0lCTFJtSEdqTTRBUnFxcTZnUGlQMUhNM1VabjEzZmJBQUFBU0cxclFrYjYzc3IrQUFBQUJBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQXBwRE9oQUFBNWNHMXJWRk40bk8xOTJYZmJ4cEkrYm02Y1JQSWlPNW1UZVpnWG5UUHpPNytuNUJJTHQwZFJGQ1hGbE1RUWxDM254UWNFaVZnVGVSbFpWdUxod2Y4K1hWWGRXQnFOVmFSRU9iaStVWk5ZRzE5VmY3VjBOWGowdkhlOWVERzJ6eGVPLzJKOGRMN1EvY0Y0TjlLTWZ6MCtYN1NzZWNPejVqUC9iTGpyTFJyK0sycGVIdmE5aGE3N0I0Y1RiTWQ3dHJkb0cvN1lQajFudTN2NzdBb2UvczhmRFlmWGk5NkkvZG5kbVh4Y2FCdmFWSE8xMTlwSW0ydnYyS2R6N2NJL1BENWllemJabm5kc2o2Nzl4UGFlYTMreEl5NzhjZjlrQ3BmY09jWXI3N0FPbS9PTzMrc2ZRaWQ3UjZ6bkhtdndPWHIySGg1a0QzQ2ZmWUJOYjRnYmU4K3gyVDNtRjlnYjRQZnhCQThhOVBEYllJek5NVzIwUitlTGJzdnZUV2puaEs0K3Nla21SM1E5YWc1M29KZkgwS3VHM3ovUnp4Y2QxaGh3bWY2SmljMkFiVFJZWTFCalF1TVhRdWJmVmNobzI5b08yM3JGdnYvRVBsMncxdEUrc2oyejI4Uk12eUZtK3Fvd2U4Z3gyOWN1R1M0ZnREZHMzNVUyejhUR0ltem1HZGcwbE5pNGJneWJSZ1kyYm9ld01ZM1M2T2dXd2VNUVBBN0IweUY0T2dSUHg3ZEh2N0c3VEgzYjV1M29oS0hXZE5nRy9xRVlnTTg0Z0x2YWU2WmM3eG1NVExXWTBrV1BqSUxKTG94b0dzMHNOSjBDYUVxYWxvV21wR25PY2tjblF0aHFLU0MwUnozYVkxTWJoZlE3RG1rUHgrTzU1bkpBdHppZ05nUFRZN3E0clkzWnAwOXMyeXgzMUNxeDFEMXJ1ZVBXZEN1T1c2ZnN1RTNENkZFQ295SGIrNjdLdUpYUkthUnI2NDJPMEtBRHR2MFNCK01OTldqSnRySUVRbzNWNmsrSVVHWDlLY0w3YTRtTm9QUStZdk1HTllQUTJlRG85Sm5XWElFMXZEWFd5ZVJ3MTZvNHNCb0VUWU9nYVJBMERZS21RZEEwQ2tLekZVQVQ3RUUxbXJQdjE5cm5lMG5PZXR4dGFCSk1UWUxKSVpnY2drbnRGQlNGS1J5RldUQVo2dzNURXNmWmt4UmxRazRxajlHZE0xRVdRazFDcUVrSU5Rc2k5RlNKMElUaGM4NTg5WXNjdmw1WFRUS1hya2xxblBwbzlhZjNGaWVqSWs2UE9FNDdURXN1bVczdnNiK2ZBQmVPMW5jY3JXSjhCUDJPd05PeUNCL2NuNHRQeDhxd2J4amJSUkNhM2REMkc0U1FRUWhaaEpCRkNGa1U4SUZVWXhFZlBBYUdLMnhER1F4RjNEeGh1dllYOHhFK1VlQ1hqYVJTMGJLQjFMc2NTbU9hRlR6TFVKWUtueXVEYVhTTGdmbUVnN25MRk80Q1V6Qy9CK21Henh6UWJ6aWdMeG1NVnpFWTJ6UENzUzFTTTJwSElpdU1nVk5qNDlYSTk3Y3F4ekZHcHhpQ1BaNS82RlhDYXlNeWlOK3l6KysxOTlrSkxZNmFiaFlPYmZTR1ZkNU5iVFlJTnVSUEFNN0x5alpVUSs0M1lCYWVkekQxV1duc3NnbFE2RnZISmVUbVMzSTJHbG5PaHJGU1phc0swSytNMTg3aHFCaEFWcE1BMHFlU2JvbHNhWU13Y3JPSURkUWlYN2ZRZ0VSd2F2RVlDSlZxSmFOUzFxMkEyS29PMERIYk84VUIraTVUemZUdWN2WHNMa2d0aXRIREFLTTM2Tkc3REFFblNKdCtHODlnRmFJdWpneXFWYTZIcGhzdWh3ZE1ZRUY0V25OT1huQXlBSVNKMDJKMnM2Q0NqWmxlR2ZNNSs5Qkw2bFUyWmtLamR0SFhBTnJQRHJnbDNQQ2hGS1pTd3EzdGxsY3JpK2VYSGE1WDVzeGFObTZLZ2RrVDJXWnVib29qV2NWN1U3c2RtTVpQQjlNMXlvTVorRzVOZzlBa2JTeUdwajR2N0h5UXR3WWdlaFdVY0lTMjh5cC84bEZTUXM4cTRIaDRWb1d4SzB3RDEwR0VjZmtxQ0pwbkMrY1hiQU41d2VKRERGajhNRlpvNTBZQU1WaU56MmdiNHJ3NFp0di95SWxiTzRSc2w1QkZVeGxCdG5IVHZLTkZ1SkwyZ1pwMHVOSEZtQVNnaGJrc3dOYkl3TGJKczQvTXZGSDgyaVYwV3h6ZUZzZTN4UUdtRVEwZnBwNDBvd1RlOHZnQWpYOHhNTXNGdXZFNEYrT3Rpc24vSW1xYVJMT0FvcHFHU2xGYkhFa09aQnFPZ2FJS0hLVnhuNC9qQktlSFhlMlBNaU8rRUpERnZFRTFrampRd2VoTWwyNnNjY1RqYUJaQWpxTkRuOGdnSFZIQnBBTXNSSUJwdWdrazdxU2hUcWkrVys2MFZNRzhRV001QlFscU9GdUpLZmNlUjlIdUphZllzOEVTdWVJRDlMWGZjSi83RFJxZ1MrVUVPOXBlMU1kR2pDZkpZaWQ0VXVsYW95RXFHdmc2S3dXdlBGUjl0TjUvc0wxSC9KTU1WWXBCS1ROdzllYThTS3BQN1M2dVVzOG8wNWZNcldSakp5WnVob0Y2cGFNbjU2VmNaWGJQeUFqZ3doaWxncSs5TXZDaUpqZDB0TVd3MVR2ekdKN2ZjRHhQRkRVeGtEUUYzeEVtbUcyY3NIRDRoR3EySGpyS2VLK0FJWWJBS2lPWjREcUVwTUU5RzllUXdyMFpkN1RKUzgyeElZd3RDYzhPQjdSRGlMcTgxTWpsbUxvZDJTTERoN0g0a0N5YUdRY2ZoQTg1R25Pck14NExyOUpPUm84cVVXeEdSSEdPRG52ZWJJaFQxdFFJSndqTWI1NE9tNUpQS1d5M2NOWnh1Q1E4U3IxQWlBTmJCMXdhQTVJR1lveW1lUWM5RElRYXFwSEFWRnN0QWxIM2NqSDhRUjB0OGxtQllxaTJLNkpheUh4elQ5MXpwTlFyNXdackdnUFZVb0hhc3RUSzNPUjFBazFlS01EYWVPNmZuS0V4K2o2MlBlYUE4KzhBdE80VkJub3pTQXBkb1E4S0JUc2ZpMWdza2RRV2sxTzZNNy9wNUJTSHRpa3BiSngxd1dHeXNTZzRuU1lFc2xoZllGSUx5Sm91SVl1dGlTMHFMQ3JvbU9OMndIRzBFNzZsQ3IrSEFYNjN3TFhtckJEWFNrbU5nR296cHdWU1FzaUNDQkpsS21rVnZRTFFWb0V5MElLS1N4OXplRjhpakhPZUJzRUN6d3J1dThmVjFJdXJxZWNzaVZadjZvS3FLZFZRaFVQa0NFU05WeEFGeVZNeCtSaVdDeXlOampJRGgyNXFIb3FRU3lzWlY1b2kvUVl1N28zaVNsTUZKSmJGcGhYT1ZvT3hXQjJXTkEwZHhFUEZLaDVLQUNuQ3lXRE1JMlhjS0pHcHJPSU9jbkpocWdPZGYvRmhmQkpoMVFheHFsU01MSElmWTI1MTNtdHZwV0grQ3FPQTdHSGVLWi9xRkxBV0tZM25abjZxckFPVWpMeHltS2Vab3JSY1hEemZEckNoY2JjVFFWVStmRlJMbVczTVRkWHdsaVlSbFdHNjJTaU9IcXA3RXI2cGxaL0tET0NUVXBtZzM0Z2ZmVERwQTdsSkxGb2lOd2srb0J2ZmFwQ2ZoSlpuTEZTVVBOSmltSXBTaVFGNG9pcEU0V0VpdGwyWW5UTEdQVk1mRVVOVmlsanRIWEZNVFJXbWJrZnRkM1o1WE5ybFdjMXVpOXg0VkVDUmNldUYzcWJJd0JWV1RPRXJ3YnFOZDVvSFZTZXdTRWdGcDk3a2VMYmllRG9sckhoTFNac05GVzFTUXJoS0haU3dQdkdWTHdZM1A5aWEySkxpdFRnWHluWTdIYlRRUWY4ZnBuc094a0haWTdwWmRWSzdoSjJoZUNjU1RaYVl0V1cwcVJ6VHNIM0F0dzlvZTZCL2FHSGEzTUMwYVZnTFBjUlJmVUJoa2FxZTdKVGg5dzROK1NjTWNZVHIvaWhReHpjNHN3dkpxWG1pWmtCR3QxVTFWdGVMSitzQ0syNjJ5azlZQ0N1ZXR4YnJRUGcvQjBuL0p3KzZCeHc2VSt0WG1NQnRGeWxqTEpLZU0rUGVZM3p3TWpWUmhPREZ3aHlqbzhoc0hKQzNVd2FuelJBbmJWdmJSdy95ejJ6RWxCYTVXT1duZ0V6UE44bXUwaUxyYzVYMTBHOFZzaDg1WkM4d3krTmlQZkZIWEZFSzh3K3d3RzhiSjhKaDdVeDJEWXN5T1V3VkdVV1JOUE9WVDBJU0k1aGtWcTJVOXBrOENqUjVxVEZyMGJQaGsySTh5MGJ1RGJmTE1jY2JDVE9TSHVyRXMwTXBaYmRwQW5rY0JJenYwYUY4bzMwUWRRalptcnk4R3U4cy9EdktNajZJV3lQd0cyV3lSR21hVEI2NW5UVGVlUWcraVNENEZ3YmQyeGhabHNZUWF6TktGREFIT0ZyNUxsRGwxZVRnNHhTd054Z3N1bTNGdkRoT0hlRUc4VUZvNjRpSFAvQ0lsSUtQeEVOeStpaFBDbUtHSkNDUGtqTWs2cm1tVEVFa3B0aVZmR0oyTy9FNUVrOXB6OVI1ZXFsWXdWV3J0TXExbHhkamg3TWozTGVLWnBhUmJBRDlkcFBRbDRMNW91QVBHTnhRMzFwMmVxb0MrSVdzSWxiTlJiQjNsT2s4WVJlTDVKemxxRXJKSm9LK3g4RWtVeklZTGVwYm5MRHRWMmdjOHhhVExzTzNhQmFmRTVFdzdPWW5TMFN0alJSTVpYa1cvbURZdjE0TW91dHZQWVROeG9UZGVXU0ZxWWR3SGVNTEE5NGlrS2VwZXppTUEzcU9BZG1pQWZWL3NJZXNPUmozOFpEeG1QWWRVSE1HalQrSWhuYlVJYjdjRjBJNHFVdlJQYWVwZTZwMXlhQXVzV1kvNk5FejFoODNlQUhGakx0VlY1SDNLWHdNYkwvTHB6SmhvTHJhSDh4dWlkZFZEUFpmTU9DUGQrbmloK3p6L2dqZXdES2dWNncwOEg5K1pKY3VkdkgzcjhDK1Y3Q3ZjZlByNkJVdklYYXg3d2lkSHhQZFF5NjZYVnlSNUxLQmRxRVEzNWlEbU5TbzZKNXE0ak5KZkdZdHZncmllOExGTjJZQXVleWhJYlh5dXlURUo0R29WTWVjRmppbW1tQWRFcXhUQzdhQ1lEZURjUW1KUkhDb28yYlJpeVFaeGI3VGpIM1ZCR2lSQUsxYWdEY1ltU1NJS3d6eUx3VnMwc2hVSDNOYTRKZ2JVYTZ1MTVLdElOblEvWEx3QldCaFBiUEgwOWhpKzJuSzltcFNhNUxVbXJYUWJpQzBFYnFiYm1UVnVzZERackg5TkdWN05hRzFTV2p0V21nM0VOb0FnWmtGc0FqaGhOdFBVN1pYRTFxSGhOYXBoVlpCYUkrNTBQYjRHdFlQU0hwUi8rVXhGNVBxaU5QY0k2cUp0RXNpN2RZaXJTRFNiN2xJZXpnNSt6RW93dkNDZFZDWHdSaVV0MVlUbDB2aWNtdHhWUkRYUmhBVXdzaWhOL3JJOFh5NFI0N253ejNWUkRjajBjMXEwZDNBNHIzRWlydDV3dUtGMjA5VHRsY1QycHlFTnErRmRvTllmUlJtK29PZ1lEUHdJNlA3VGpQMlZST2dSd0wwWWgxN0ZHalRYSnRxZlpUSUc1eUlFT1VoUW52ay9hYzUrNnQxVXVmWlkyajdlZ1RZUWQrSWZUTmozNnpZdHdrSllCK1Q0bFcwOVFuWFZ0Z3p4VmR0WE9HaUM1aTJpZXByUzYwa1pnZVVLYkxyWjZNVDdqVzZUanUrMTJxR2U2Y3QrZHhXMXFudGpGTjF1VWZ5TUxsLzNWL2U2S3haYklVNGJYR2N4cmhjYVIvTDllRFk1QWd5VlIya2ZzUTFKYUlvOEY5cTcxVkFydW9tYTRJeUZBbTl4N0s5SysyRXIxLzZQVjhqalc3RGFYWlROS250OGc3bWEyU3g2NnpKeUEzR2F6aUc4M0FTd3lxN2MvazRGYnZPSGVQME5NSndiS1R5RWZ3S3kwS3BiaTluN0RhNmpNbU5sR0dWSEhOUjhsS3EzS3B1Y3NjNFA1TndqaUNjeDVJL2gzMlpOZ3pIU1lOaDVySGQ4WjFkK2N4TXRKZDhvelhSN0Qwc2NzWWFFaXpBQ2F5VG4rUFhHUTNUbFExRzZCanAwMjVibjZZNVJ2cmM4dGkzMk43QU1XbzVjN2VocHpsR3lRdnJjbzlrS2Q2Lzd0K3hianprdWdIRldEUzdEUzlkZlp1bkVTb1h3b2p1bEgxaEsreTM0V1E0eXJMejBmaTVFMTQyMVRNUjNTbWtEdXZiOXp2V2hVMnVDNUgzakxGOXVaclFha0V4b0hwd2RScWRKSnpCQ0dtMVpMOGdnaWVjMlBiU0JoZmRPTTMxWXY4dnJBeHIzUDA3MW9lTlNDN2dBL0xEWlVRYkxGV251bTJycFV2bTBneWViRHJydUJLWGRvSzlMZGVZNjJwSTV0NXM2czZTRXIyYkxxeUpWR3g4VGV5MUpCV2xrbmZOTHZNYjA1VGNNdUJmbXBKUG0xTnpxcWNvZWF1VkhEMmhrcy9tOEUrSkJReXNUbEhDWHV2dXJ3bG5VN1NTOUo5VDRySDBidkg0UWhiTURhNnp4THp5M3FCL3ZkZ2JSS1pUNTRqVElkWklnMi9iWTMrdjhRMlpZaDV1SGhTZU85cVZ2emV5cnhmOTNUMzQ4eHp4czFsY0RMSEhpVGJWL3B0OElMKy8rd0pYdVhub0szOWtpUHFSY3piRVNpNFdVME1wKzVYMmhwL3hENjBSTzNJejdFL2kySzgwWFRwNmcvWGxBcmwycmsyMHo5Q21YUGNoOXRyQmhhSi9obHJCai81VyswK3RFZjZUenR4alQrVnhYKzhJM3hWMXFQWDVtZjlQVzJodDNOdGl2V1A5MHd6dEovYlpaVnZnRTJ5YjRZLzlkZGkyTnR0RDkyamlrVzMyVjJkNzRKc3Y0UkMrM1dzSGN6UVh3YlA5azUxamFrMnBsd2ZJYnBTdlVEMmZGLzZUenV4aFBmd1ZWb1RaV0sxNWxZcmpSa1ErMllnL2pod3BxczB1eVU4SzVObVdudUl4dzNvRytTaDgyUVl1M0VWZFk5Rlg2bDFDblByOE5VY09sdGhFMFpKbHVoWFJteU9zUzczaVAxWnlqdFpCM0V1WDdoVklJdmhSczNmWXg0L0JHV2JzakVmNFhyYVAyaCtweDh2OW9yVUpzWEdwbE9hTVhVMmxyVS93SlFaLzh2d3BqT1JaNHZ5TnVMWXpYZktrWGtRMS9wRDFsNVlXbnZPZkthR3JmTTBqbjdtRTBRSHFZUGJkSTdxb3ZEdjlWZ0REaWJHUWcyTXA3eGxrSEo0RmpFTWFmWm1xSDdJTS9qKzcreC9zL2dNY1QzUE1BMTd5Y1hYQ3pyeGdXayt2MlhyTE5PWTk2dlFsMnhiRjdKUWRmMHhMcFBsZEhrWVlkenZDdVVqUkZkaDVqSVZrdjk5YmRwYlpxMmJubXAxcmRxN1orWDZ6OC9lY25XMTJiYkgybTQ3SHFGT2puMm04cjV4dDFKeGRjM2JOMlRWbmYxR2N2WkhrN0h2TDBIck4wRFZEMXd4ZE0vUVh4ZENibktGL1E2My9qZDNqZCthTDNsZU90bXFPcmptNjV1aWFvNzhvamhaZWRJU2o3eTFEbXpWRDF3eGRNM1ROMEY4a1E0OFo4bkEva01kOVplaFd6ZEExUTljTVhUUDBQV1JvaFJiVWxYYzFPOStJbldVdXE5bTVadWVhblFVN2g1SmRCanZYbFhjMU85ZnNYTE56emM3cnhNNTE1VjNOMlRWbjE1eGRjL2I5NGV5NjhxNW02SnFoYTRhdUdYcGRHYnF1dktzNXV1Ym9tcU5yamw1ZmpxNHI3MnFHcmhtNlp1aWFvZGVkb2V2S3U1cWhhNGF1R2JwbTZMdGg2RDQ3Q3JRendsbFNiUWZYcHdRN1ovT2NqRm9yd1pKNVhPZXdNZHZWTFBadnhqRHFMSVhyYnFKdlQyTFBxNVl3MkExRFl0Zm9XZGxWZ2ZGajZTMk1JVU4wTXF4TWtyZE4xcFBtcldpYjBLRHRtQTZWMWJZdHJtM2hMNE84amgxMU0rMXpFclBGWDZMMi9VTnJyMGozc3JLRTY2NTdUN2p1UmJsZTlrYS80OW9IdFJITW8xeXJPbU81MHFHdU1sNG5UOVNVZkpMYUU4MzNSQTJwWDdVbldzMFQxYVYrckpzbitpamtVOGJRa1NlOEFVT1AyUjNPa1dscmhxNFp1Z2hER3pWRDF3eGQ1d3FVRFAwNDVGTnRsc25SV3pHbTJzYmUwcTgvWFVTaXVFZXhWWC9Mak45a1hzbGp2eWJuTkEvWkREaXZ6ZjVaN0hqQmZpYjdCTDlOQ24wUTkra2dYM29ZOVFFSDF2SGI2djBEbGJaVTBiMHRaTE1MdE0yeHEyay93eitGQnVicDBGVHJNaTF3MlYrd2hITzBvQlp5bk5BaHlBdUFCbmxNdzRTbXd0RWQ5aDAwYjhhT2ordlFmN0E3OVJoV0hpSkpuUHFhWVhhSnZBbzgveWY3ZmhYZ0ROcjF2d0ZpRC9ETzIvQTNkdFh2dEZuQmZOUnFKSm1IZmJRSER6Ukgwcml2R0VwTjZSZzNoNStSV1N0b3lXWk01OFErV1RleS9FSjVMT1Zwa1lFczAySGF3R1NCckFQYUFmcFNuWW1LZURFdENkTjhxMjlWdFBwcDF1NG1mTGx1bGxLdE4zRU5mTVM0ZE1ZaWowL1l5KzBJVnVKWDhuWVEwZmRzM3pCQTlHTUZaZ0tkc05oK0QvMTNIYTJienA3WlN2ajJIYzVNRGxwQnNIOHo5aDk0VjkxYllhWW43TGozWUl2UVgzck5aZnFhZmY5ZG02WkljRXM2NXczM3BlTm4vWk05VDFQUzhVMjJINlQybHYxOWpWcjJLWFhXY0NOMkxEemxMT1hJaDdFamY5ZkU3MTBXdTI3ME9lTkhQazE5em5qUFZVLzZMUFZjdVgrcXMrVTdDNmtrbisxMlpxelU0eUxPZUROa3F5dEpIMEtwcVo1elMzbFdFWVN5ZEREdm5tcHNaVzJVSTZTMGNUTFBpRExWbUdTUGtVZVJzNHFNeHNlSzQvT2VKWGxHbm1hcGU1WCs3RStVejU0eWJrcXg5QWJiQW5LNHh1dFg5UjFOeHJYQXNWTzA1WE5reHk2My82SFZoLzN3SEEzMEw0R2h1NWdYbUtFUEtXZGZWc1BRajBMWjROWGVhK2ZvVDN6MDkwY010UDNSNUhweE50eUZYMXQ3UlkwZmJqT2FUZG9LSDN5Sk5iazBsbnJWVGRMVnBWOFQ0dDlsWG5NMVRLblN6YkxhSFdIWXl0b2Q5eitNd1A5bzF2NUg3WC9jTy85RE5TWnEzNlAyUFc3ZjkvZ20rbmFHU3J3TWQ3VXcwOURsY1NGNEV5MEZMemZ1bEpkWE01TGorSlhEL3BsMmdON0t2elFiNTVvKzRUM2h1U0Mvc2h3L2NCYjRnY1lhK29GdmtQOWVoN2szNlR6MUhPb21PNCs4UEFmWHJIOEMveWxsNUlEVlNHSmI1TXlubUYya0dUV2V0eXAwM21yMHJJaXVsTk8rSDVsRUx4TlArQzg1dTdja1BYUURQZFRYVGcrM1VQK2l6MXhNczZZSy9PNU9ROHJKczV5dWJJWmIyRjdxOTRVaWh4M09kZ0lHczR3cWhIeTdNa083NG5BckFiTWVCbFpJeG5QWW9GRk9ySllBWjFLeGhuSyt4Tm0wYjVsa1B1QWNMTWpwYzJCemszUHFEMUtyRGxRWjYxWGxqbFh5aXN2OEFicyt2SjlwSHBIeUFHTlJtcGVsK29NcXVXSVBLendhVERZZ0NSanZIczVSaFRPaERmUUpRRUozRzZ1dENuMFZqbm5vUCtValZid3BhNXZuSjNkWUx6N0FQRk1GU1Jnb0F3UEhrb01lZ010YUMyY1JvOTVaRStkK2lsWGszQ2RKNUdNYWw4clh3VHcyeVNUOFhtVVU2R3lmaHhHT0ZjeVlpTXpjT21Vc1ZvTjlpRjAyeGh2aU8rdlpFVjQ5V1dsWEZtM2piNGUyQ3NWczNKOWdKUTdNNG9PUHZSMmNYejFEQnhJd3NaYURKR0RnOVlGckxQVDdtbWpGQVdlUVU1UHQ2NktYQ0RMeFVBYnVyVWpnZThSVVBMbUlveStWdnR0WHJJZHhpLzFENnRuL3cxcEh1NGg1Q0YrQnR0MkMvTE9sbWEwSlQ3VjlkdFluOUJmUGNhNDdUeHYrRFROKzBUT2lPQWg4UGdVei9kOHpLZitNSGtINnY3S3J0ZUlaNFVhUUVUYi9KaU0rWDJyWlVuK2svYWJCKzk3ZUxtSHNkL21xSmNqN3RJSzR6a0QyaFJWTlU2eGdnbml1aFQ3OWxMVno5TkpuNkoyWTZISGNoaXllc21Qb3FjdU8rMmZLTSs5eXpLZExNSS81UVlZaWQ1QS8xdDlHam80K2Uzb0ZXTmxvcjhuUTdxREgyVUxkK0FtUHB5eWloWGJjUTl1aG80MW9ZcFhjSEhWb3p2YkJFVTRpMmx1Ti9qeExSU05aWTlhOUplYlBrbVpjRTc3bEZXdVhXUEg5TGxoM0c5OWFmdnk3eUxBUTQwSHRHVVY4Vk9XZmpQamFYeUFYeXdnV1FYMkxYZWNkMXZYVG51MmdXazQ5RG45RWZncVBmNDN6YlI5eDNlcFZ3VlVDWmYxb2E0Mzk2Qjh5OEZpR0I1SjFmWlc5YU43S2FNL1RtaUthOXlpKzlVWnhGMVNNR3ZoZms4Ly9kTkVUYUNmMFJkU2FmbGtqUHgxTE9kOXpqSlVlTUpjaHBMQ0QvczkydUtleS96VkhQQnRZdlR2RlBKdUxTSnRvUDEzdUZjUGZKcTZaRXZYQTRIWE4wWGVEbU94Mi9DOEhuL28xdzBvOGRiSHg5SVB5ekUrOGxhdTMwK2FPVnFVRmFiS1V4eU90TzR4WGlJdjNYaHhnajkrdmZKMWh2T3E2L3NVcGdjUDlXMmtZbDJTeEduMjUzaUYvcGFHOCttK2RWaHBDckZWMjFZRmN3Vkt2TmJ6OXRZYWRXMkRscjFOV1RhaFpXTHdmN2hpdkQ3NWVjb1p6MlV3czEvTFZUUHgzWXVMeWE3Ni9MQ1pPcmhXc3VmaExYZmVkeHNYZnNDZTdRTjkveHZSQzFDUkd0MVdaQy9Rd0swanhwc3R6ME4zSVdqVmFSZHRnSEhTM3EyaFhWWk1ZeFMvT1lEQWFQeXZpSlJoVFhZd0NvVmFqSzdHa0cxd3YvY3d1enVhWkJlVDdERFdSbnVBU1J3bG8rUFlOcFQ3RCtZWTIycGt1U3IyRnM0dmRtTlNubURudXhxUU8vM2w0N08za2tGZFZJWmlQNnQzcXd2ZFlEL09aOTRwV1MzOW1ueTB1RFZpTHQ4ZDFKR3BCSWFkTmJGaDlicnFEbG5DT0k1enkweDJjYTRqbXAxdFlCMlBpZkFMOHBlOFc2dFA5MW8wc05LdkxhRXVhZVpoZ2I2RGZkeVVucWhtOHYzTEtRN1M2ckRiUUY3c2tEK1lPNVFQYjdxOThWQ2pHWmZJRDFwYWRhNVFMdGxrZnp2a244TEFodW9oSzVidXdQbkRGTW1relNiU3hNcWVORlRyd3Q0VzJzb25lMGYyVlNSTER1RVFlSXZaenJOeUYrRnhVdzRvcStCRkdXVmZJaVc4MGVyY254RlhYT0s2aTk2N2lsY0RNMlJ4amJ3OGpYWmdmbWVNWlFqb08rcUp0SEI4TnZrckc0SjVybCsyQmlvb3FkY3hwK1lpdjBVOXdJNUdvbkZsWVZYMTZHYVRoZjBjMkU2TC9HLzRkN1V5dUY3M2Q0Zm5DOHp3TC92a0QrdGJBLy9tOVVTRHg3M0FPQk43czZ5QXFiakRqTWczeTdKZVlyUi9pNkp6NzQvN0pkTUd1c1hOOGpvMTl2akRuSGIvWFB6eGY2SDd2Nk9oOE1XY04yK3o0UFhzUEQ3SUh1TTgrd0crOUlUWFBzZGs5NWhmWUcrRDM4UVNQSGZUdzIyQ016VEZ0dEVmc1dOZnZUV2puaEs0K3Nla21SM1E5YWc1M29KZkgwS3VHM3ovUm9UdjlFd011MHo4eHNSbXdqUVpyREdwTWFQeEJGQnNQc1FuZW5oUFlCeStSL1RwTjNjUHhHbENmQi9TVUEraXN3YjdoY3czR2ZUeGtQS1o5QjlTY1FlTlB6bnJYQzdyeEF4WVlrcEY3eHdUKy9Icnhjc1NPNlRUOEE5NU83Ti9ZOVppRUo0ZnNLU2FIL2ZORjI1dFpIcjZOWjNJMldNNkYvTDJ6MGZWaWNEU0JSOWdkanFFWkRmRkpSanVvZ0VQVWpSSHNnb3VNSnZ3N1EwTDNkMFpEYW14NDZKMmRYZnkyMDhmR25vRDZqSVo5T0dFZkx0cndmeG45ZXI1b1FtdlQxeE5xUm5EKy91QVFtbDlzT01aaDdSNTluY0RsZnJGN0NPeHdoSWdlUStmMjdTRnNHOXFuMFBTcEdkb29nVjM3Q0U3YjI3WGhZWTVmMmZCdGFPTzNnd2txMXNHRWlMS1BCQStEOWs5c3NXemFQeHZnc1dkSDJQL0pHQy9Iem9UbXJMK0RGeCtjc1F0by92R1JkYjFnZjg0WExSOGJqeHFkbW9iVXNIWUF4elAxYWZyWU1JTnhiRGZvV3JiT1c0TzNKclo3eDd0dzNHUUhSOXhrOUJLYU0zZ1EzZC90bmVJeHV6M1V1dDNlRG03dDcrQzMvdEgxWWppWWVJdkd6MDEvY2pLaUQrTkR2cVYzd2ovNHUyY0lzWDkwekxwM2ROekhhL3FqL1dNTWFFZWFnK1ptbTVtM3d5TVUyT2h3U0EwYytsODR4QXdNUllIc2RUNzFhaUxWVXlwaWpxUS93MUtMbnpCc05iQXdybzFsc2xNMDVWTW1KZFpqLzNCSXduM0ZKRDNjZWNWbzhQaytiRGdkbzg0TitTaDl5UzR6UlU1ejBDZTg5SWREaE9qSXh1T09kdkV5L1VOVWdOMGhVTUllWEhMM09XemZHOEs5ZlAvRklYdm1GM1NRN3lmdTErRDMyMFIyaGJlbXcxcFhtcnVkeGU3WUtIVEh3NlA5WU1QWnlRRGZla0JOL0IwSU9KaW5OSmFuTkpRNzhaSGNuYnVRVEp6czRHTVVmcEJ2UThCUW9vcEgwRXVDNXUrUCs5ZUwvWk16NlBqK3lTdHNiUGJOYkxIMkZiWENlREZ6NXJFeitzeXgyTy9qUGZmN3p5Tzc5dnNITU1EN0wrQkdKellTN29tTkN1MlArcnZzdG1NMFN5L0dSMFM3dTVGbS9Dc2pxWlkxYjNqV2ZDWWpldGozRmpvYnlhRC9yQjN2MmQ2aWJmaGoreFNOemY0dTJscm93d2llTzJKZ043aUJIZkUwdzNua3B5ckp4SUxPajlqMnZ5RGtMR0pldlF6enF0L1V2SFpiRmMxcnA1QjVMWVRNdjZ1UXdhVW83OUNSL29rSERnNFdEOHh1RXpQOWhwanBxOExzSWNlTURQc0hYUHArbGVPdVdWWGROZGVOWWRQSXdNYnRFRGFtVVJvZDNTSjRISUxISVhnNkJFK0g0T240OW9qeG16djFiWnUzNEI0WXpCV3diZjZoR0lEUE9JRGhha0I2NjJyMHlDaVk3TUtJcHRITVF0TXA3L3htb1NscG1yUGMwWWtRdGxvS0NPMVJqL2JZMUJZSkliWTRvR0pDYTFzYkMrT1hPMnFWV09vc2tGbnF1QzBSU3VnVlFva1NZVmFJVVpFd3F4QTZaUUt0TlVWbkt4R0UzbENEbG13clZ4eUtyaXhNcjh6N2E0bU5vUFErWXZNR05VTUU2b1JPSDFNcFY3ZklPcGtjN2xvVkIxYURvR2tRTkEyQ3BrSFFOQWlhUmtGb3RnSm9najJvUmhUS2ZyNlg1S3pIM1lZbXdkUWttQnlDeVNHWTFFNUJVWmpDVVpnRms3SGVNQzF4bkQxSlVTYmtwUElZM1RrVFpTSFVKSVNhaEZDeklFSlBsUWhOTUZYOEFSUFI5MUdUektWcmtocW5QbHI5NmIzRnlhaUkweU9PMHc3VEV2cTV5RXNzNG44VFRJa1JXc1g0Q1BvZGdhZGxFVDY0UHhlZmpwVmgzekMyaXlBMHU2SHROd2doZ3hDeUNDR0xFTElvNEFPcHhpSStlQXdNVjlpR01oaUt1Qm1tYVA3UzZHVlJlWDZDcVZTMGJDRDFMb2ZTbUdZRnp6S1VwY0xueW1BYTNXSmdQdUZnN3VKc0diM3pTNlFiUGdjVmFRUW81Rml2WWpDMlo0UmpXNlJtMUk1RVZoZ0RwOGJHcTVIdmIxV09ZNHhPTVFSN1BQL1FxNFRYUm1RUVV5M2orK3lFRmtkTk53dUhObnJES3UrbU5oc0VHL0luQU9kbFpSdXFJZmNiTUF2UE81ajZyRFIyMlFRbzlLM2pFbkx6SlRrYmpTeG53MWlwc2xVRjZGZkdhelNWSHdYSWFoSkErbFRTTFpFdGJSQkdiaGF4Z1ZyazZ4WWFrQWhPTFI0RG9WS3RaRlRLdWhVUVc5VUJPc2FpQVJpZzd6TFZUTzh1VjgvdWd0U2lHRDBNTUtMRm15NldibHdFQy9KaUdheEMxTVdSUWJYSzlkQjB3K1h3Z0Frc0NFOXJ6c2tMVGdhQU1IRmF6RzRXVkxBeDB5dGpQbWNmZWttOXlzWk1hTlJ1TUllY0hYQkx1T0ZES1V5bGhGdmJMYTlXRnM4dk8xeXZ6Sm0xYk53VUE3TW5zczNjM0JSSHNvcjNwblk3TUkyZkRxWnJsQWN6OE4yYUJxRkoybGdNVFgxZTJQa2didzFBOUNvbzRZalcydVJQUGtwSzZGa0ZIQS9QcWpCMmhXbmdPb2d3TGw4RlFmTnM0ZnlDYlNBdldIeUlBWXNmeGdydDNBZ2d2c1NaOGZlUkY0VUlxK0ZvZitURXJSMUN0a3ZJb3FtTUlOdTRhZDdSSWx4SiswQk5PdHpvWWt3QzBNSmNGbFVrcFdQYjVObEhadDRvZnUwU3VpME9iNHZqMitJQTA0aUdEMU5QbWxFQ2IzbDhnTWEvR0pqbEF0MTRuSXZ4VnNYa2Z4RTFUYUpaUUZGTlE2V29MWTRrQnpJTngwQlJCWTdTdU0vSGNZTFR3NjcyUjVrUlh3aklZdDZnR2trYzZHQjBwa3MzMWpqaWNUUUxJTWZSb1U5a2tJNm9ZTklCRmlKY1liWDV1ZlpCR3VxRTZydmxUa3NWekJzMGxsT1FvSWF6bFpoeTczRVU3VjV5aWowYkxKRXJQdURMTWNNWGgwTVpsbXFDSFcwdjZtTWp4cE5rc1JNOHFYU3QwUkFWRFh5ZGxZSlhIcW8rV3U4LytQdHI0Sk1NVllwQktUTnc5ZWE4U0twUDdTNnVVczhvMDVmTXJXUmpKeVp1d2xXLzZlakplU2xYbWQwek1nSzRNRWFwNEd1dkRMeW95UTBkYlRGczljNDhodWMzSE04VFJVMU1EK3NXSFcwV1c1MlJITEt5SGpyS2VLK0FJWWJBS2lPWjREcUVwTUU5RzllUXdyMFpkN1RKUzgyeElZd3RDYzhPQjdSRGlMcTgxTWpsbUxvZDJTTERoN0g0a0N5YUdRY2ZoQTg1R25PckE2WGU1RlhheWVoUkpZck5pQ2hvYVhMZWJJaFQxdFFJSndqTWI1NE9tNUpQS1d5M2NOWnh1Q1E4U3IxQWlBTmJCMXdhQTVJR1lveW1lUWM5RElRYXFwSEFWRnN0QWxIM2NqSDhRUjB0OGxtQllxaTJLNkpheUh4elQ5MXpwTlFyNXdackdnUFZVb0hhc3RUSzNPUjFBazFlS01EYWVPNmZuS0V4K2o2MlBlYUE4KzhBdE80VkJub3pTQXJSdXh6ZTRZcmFBaFpMSkxYRjVKVHV6Rzg2T2NXaGJVb0tHMmRkY0poc0xBcE9wd21CTE5ZWG1OUUNzcVpMeUdKcllvc0tpd282NXJnZGNCenRoRytwd3U5aGdOOHRjSzA1SzhTMVVsSWpvTnJNYVlHVUVMSWdna1NaU2xwRnJ3QzBWYUFNdEtEaTBzY2MzcGYwdWhLZUJvbitZRWNaOTkzamF1ckYxZFJ6bGtTck4zVkIxWlJxcU1JaGNnU2l4aXVJZ3VTcG1Id015d1dXUmtlWmdVTTNOUTlGeUtXVmpDdE5rWDRERi9kR2NhV3BBaExMWXRNS1o2dkJXS3dPUzVxR0R1S2hZaFVQSllBVTRXUXc1cEV5YnBUSVZGWnhCem01TU5XQnpyLzRNRDZKc0dxRFdGVXFSaGE1anpHM091KzF0OUl3ZjRWUlFQWXc3NVJQZFFwWWk1VEdjek0vVmRZQlNrWmVPY3pUVEZGYUxpNmVid2ZZMExqYmlhQXFIejZxcGN3MjVxWnFlRXVUaU1vdzNXd1VSdy9WUFFuZjFNcFBaUWJ3U2FsTTBHL0VqejZZOUlIY0pCWXRrWnNFSDlDTmJ6WElUMExMTXhZcVNoNXBNVXhGcWNRQVh6aXVRQlFlSm1MYmhka3BZOXd6OVJFeFZLV0kxZDRSeDlSVVllcDIxSDVubDhlbFhaN1Y3TGJJalVjRkZCbTNYdWh0aWd4Y1ljVVV2aEs5T3d4V1JZTzNkSzZDVTI5eVBGdHhQSjBTVnJ5bHBNMkdpallwSVZ5bERrcFluL2pLRjRPYkgyeE5iRW54V3B3TFpidWREbHJvb05OTCtmRVZhcGxqdWxsMVVydUVuYUY0SnhKTmxwaTFaYlNwSE5Pd2ZjQzNEMmg3b0g5b1lkcmN3TFJwV0FzOXhGRjlRR0dScXA0TVhpMzlUZ3QvWGxDNDdvOENkWHhEUy9yeHRRQnl6WUNNYnF0cXJLNFhUOVlGVnR4c2xaK3dFRlk4YnkzV2dmQi9EcEwrVHg1MER6aDBwdGF2TUlIYkxsTEdXQ1E5WjhhOXgvamdaV3FpQ01HTGhUbEdSNUhaT0NCdnB3eE9teUZPMm5id3JyaE14SlFXdVZqbHA0Qk16emZKcnRJaTYzT1Y5ZEJ2RmJJZk9XVDA4ZzhYNjRrLzhoODNFeStnR2RFTEVYSnFXSlRKWWFySUtJcWttYTk4RXBJWXdTU3phcVcweitSUm9NbExqVm1MbmcyZkZPTlpObkp2dUYyT09kNUltSkgwVUNlZUhVb3B1MDBUeU9NZ1lIeVBEdVViL01YSWo3bExWdlhsMVhobjRkOVJsdkZCM0JxQjN5aVRKVXJUWlBMSTdhVHh6a1B3U1FUQnZ6RG8zc2JJc2pTR1dKdFJvb0E1d05IS2Q0RXFyeVlISDZlQXZjRmcwVzByNXNWeDZnZzNpQTlDVzBjOC9JRkhwQlI4SkI2UzAwZDVVaEF6SkFGNWxKd2hVYzgxWlFvaU1jV3U1Qk96MjRuUGtYaEtlNmJPMDB2RkNxNWFwVld1dmJ3WU81d2Q0YjVWTkxPTVpBUG90NXVFdmhUTUZ3Vi9vRjFnZld2WjZha0s0QmV5aWxnMUY4SGVVYWJ6aEYwc2tuT1dveW9sbXdqNkhnZVRUTWxndEtodlFlOFd2aWp5enFjbCtCYk40bk1pRW9iZC9HU0pxTFdSZ3Frc3o4SWZEUHZYaTdWN0ZkUWdHdHBSaC9oeVh3amhwQzVGOTV5bTdxbldKWU82eEpyOW9FZlBXSC9jNEFVVU0rNVdYVVhlcC9BeHNQMHVuOHE4NE8vRmVSbThybUt3LzRJQkQ2OHRnb3Nmc3MvNzhPNGg5bmszOGdLenlDNWQ3T0x2WDRGOXIyQmY0K2JYMFN0ZVF1eGkzeEU2UHlhNmgxeDB1N2dpeWNYWGlpZkZGL21KU2tsODBUM1Z4R2VTK014YWZCWEU5NFNMYjh6ZnYwZS9aUmNYNHBOQVZLcGpUZ3NjVTAyd0RnbldxUVZiUWJDYndiaUVSQ0k0MUZHejZFV1NqR0xmYWNhK2FnSzBTSUJXTGNBYmpFenhLeEx2MGJmaHNFa2pVMzNNYVlGamJrUzV1bDVMdG9Ka1EvZkx3UmVBaGZYTUhrOWppKzJuS2R1clNhMUpVbXZXUXJ1QjBFYm9icnFSVmVzZUQ1bkY5dE9VN2RXRTFpYWh0V3VoM1VCb0EvbzFuUUFXSVp4dysybks5bXBDNjVEUU9yWFFLZ2p0TVJmYUhsL0QrZ0ZKTCtxL1BPWmlVaDF4bW50RU5aRjJTYVRkV3FRVlJQb3RGMmtQSjJjL0JrVVlYckFPNmpJWWcvTFdhdUp5U1Z4dUxhNEs0dG9JZ2tJWU9mUkdIem1lRC9mSThYeTRwNXJvWmlTNldTMjZHMWk4bHhxOXhGdTJlT0gyMDVUdDFZUTJKNkhOYTZIZElGWWZoWm4rSUNqWURQekk2TDdUakgzVkJPaVJBTDFZeHg0RjJnUnZHTytqUk43Z1JJUW9EeEhhSSs4L3pkbGZyWk02eng1RDI5Y2p3QTc2UnV5YkdmdG14YjVOU0FEN21CU3ZvcTFQdUxiQ25pbSthdU1LRjExYzRHOENodnJhVWl1SjJRRmxpdXo2MmVpRWU0MnUwNDd2dFpyaDNtbExQcmVWZFdvNzQxUmQ3cEU4VE81Zjk1YzNPbXNXV3lGT1d4eW5NUzVYMnNkeVBUZzJPWUpNVlFlcEgzRk5pU2dLL0pmYWV4V1FxN3JKbXFBTVJVTHZzV3p2U2p2aDY1ZCt6OWRJbzl0d210MFVUV3E3dklQNUdsbnNPbXN5Y29QeEdvN2hQSnpFc01ydVhENU94YTV6eHpnOWpUQWNHNmw4QkwvQ3NsQ3EyOHNadTQwdVkzSWpaVmdseDF5VXZKUXF0NnFiM0RIT3p5U2NJd2puc2VUUFlWK21EY054MG1DWWVXeDNmR2RYUGpNVDdTWGZhRTAwZXcrTG5MR0dCQXR3QXV2azUvaDFSc04wWllNUk9rYjZ0TnZXcDJtT2tUNjNQUFl0dGpkd2pGck8zRzNvYVk1UjhzSzYzQ05aaXZldiszZXNHdys1Ym9oZkU2UmYvMzZicHhFcUY4S0k3cFI5WVN2c3QrRmtPTXF5ODlINHVSTmVOdFV6RWQwcHBBN3IyL2M3MW9WTnJndVI5NHl4ZmJtYTBHcEJNYUI2Y0hVYW5TU2N3UWhwdFdTL0lJSW5uTmoyMGdZWDNUak45V0wvTDZ3TWE5ejlPOWFIalVndTRBUHl3MlZFR3l4VnA3cHRxNlZMNXRJTW5tdzY2N2dTbDNhQ3ZTM1htT3RxU09iZWJPck9raEs5bXk2c2lWUnNmRTNzdFNRVnBaSjN6Uzd6RzlPVTNETGdYNXFTVDV0VGM2cW5LSG1ybFJ3OW9aTFA1dkJQaVFVTXJFNVJ3bDdyN3E4SloxTzBrdlNmVStLeDlHN3grRUlXekEydXM4Uzg4dDZnZjcySS9BcnlZL1JaWG11SFdDTU52bTN3aS9EQlBOdzhLRHgzdEt2RWJ4MXZzbkgwQm1PUEUyMnEvVGY1UURtL05id2hWbkt4bUJwSzJhKzBOL3lNZjBpL09id1orWVY2K2Rqa0x4UnZzTDVjSU5mT3RZbjJHZHFVNno3RVhqdTRVUFRQVUN2NDBkOXEvOGwvS3gzL1NXZm0vYlp6Ry9lMjhIZWM0VGViNFpmUFhiYkZDSDdiR1g3c3I4TzJ0ZkczbmVGZkU0OXNzNzg2MndQZmZBbUg4TzFlTzVpakNYL1IrWi80ZStwTnFaY0h5RzZVcjFBOW54ZitrODdzWVQzOEZWYUUyVml0ZVpXSzQwWkVQdG1JUDQ0Y0thck5Mc2xQQ3VUWmxwN2ljZkFiM3ZDeURWeTRpN3JHb3EvVXU0UTQ5Zmxyamh3c3NZbWlKY3QwSzZJM1IxaVhlc1Yvck9RY3JZTzRseTdkSzVCRThLTm03N0NQSDRNenpOZ1pqL0M5YkIrMVAxS1BsL3RGYXhOaTQxSXBUZmdkY1pXMlBzR1hHUHpKODZjd2ttZUo4emZpMnM1MHlhdnd1K0pmODhobkxtRjBnRHFZZmZlSUxpcnZUcjhWd0hCaUxPVGdXTXA3QmhtSFp3SGprRVpmcHVxSExJUFYvT3I1d3dqamJrYzQxNC85Um4xeGRoNWpJZG52OTVhZFpmYXEyYmxtNTVxZGEzYSszK3o4UFdkbm0xMWJyUDJtNHpIcTFPaG5HdThyWnhzMVo5ZWNYWE4yemRsZkZHZHZKRG43M2pLMFhqTjB6ZEExUTljTS9VVXg5Q1puNk45UTYzOWo5L2lkK2FMM2xhT3RtcU5yanE0NXV1Ym9MNHFqaFJjZDRlaDd5OUJtemRBMVE5Y01YVFAwRjhuUVk0WTgzQS9rY1Y4WnVsVXpkTTNRTlVQWERIMFBHVnFoQlhYbFhjM09OMkpubWN0cWRxN1p1V1pud2M2aFpKZkJ6blhsWGMzT05Udlg3Rnl6OHpxeGMxMTVWM04yemRrMVo5ZWNmWDg0dTY2OHF4bTZadWlhb1d1R1hsZUdyaXZ2YW82dU9icm02SnFqMTVlajY4cTdtcUZyaHE0WnVtYm9kV2ZvdXZLdVp1aWFvV3VHcmhuNmJoaTZ6NDRDN1l4d2xsVGJ3ZlVwd2M3WlBDZWoxa3F3WkI3WE9Xek1kaldML1pzeGpEcEw0YnFiNk51VDJQT3FKUXgydzVEWU5YcFdkbFZnL0ZoNkMyUElFSjBNSzVQa2JaUDFwSGtyMmlZMGFEdW1RMlcxYll0clcvakxJSzlqUjkxTSs1ekViUEdYcUgzLzBOb3IwcjJzTE9HNjY5NFRybnRScnBlOTBlKzQ5a0Z0QlBNbzE2ck9XSzUwcUt1TTE4a1ROU1dmcFBaRTh6MVJRK3BYN1lsVzgwUjFxUi9yNW9rK0N2bVVNWFRrQ1cvQTBHTjJoM05rMnBxaGE0WXV3dEJHemRBMVE5ZTVBaVZEUHc3NVZKdGxjdlJXakttMnNiZjA2MDhYa1NqdVVXelYzekxqTjVsWDh0aXZ5VG5OUXpZRHptdXpmeFk3WHJDZnlUN0JiNU5DSDhSOU9zaVhIa1o5d0lGMS9MWjYvMENsTFZWMGJ3dlo3QUp0Yyt4cTJzL3dUNkdCZVRvMDFicE1DMXoyRnl6aEhDMm9oUnduZEFqeUFxQkJIdE13b2Fsd2RJZDlCODJic2VQak92UWY3RTQ5aHBXSFNCS252bWFZWFNLdkFzLy95YjVmQlRpRGR2MXZnTmdEdlBNMi9JMWQ5VHR0VmpBZnRScEo1bUVmN2NFRHpaRTA3aXVHVWxNNnhzM2haMlRXQ2xxeUdkTTVzVS9XalN5L1VCNUxlVnBrSU10MG1EWXdXU0RyZ0hhQXZsUm5vaUplVEV2Q05OL3FXeFd0ZnBxMXV3bGZycHVsVk90TlhBTWZNUzZkc2NqakUvWnlPNEtWK0pXOEhVVDBQZHMzREJEOVdJR1pRQ2NzdHQ5RC8xMUg2NmF6WjdZU3ZuMkhNNU9EVmhEczM0ejlCOTVWOTFhWTZRazc3ajNZSXZTWFhuT1p2bWJmZjllbUtSTGNrczU1dzMzcCtGbi9aTS9UbEhSOGsrMEhxYjFsZjEramxuMUtuVFhjaUIwTFR6bExPZkpoN01qZk5mRjdsOFd1RzMzTytKRlBVNTh6M25QVmt6NUxQVmZ1bitwcytjNUNLc2xudTUwWksvVzRpRFBlRE5ucVN0S0hVR3FxNTl4U25sVUVvU3dkekx1bkdsdFpHK1VJS1cyY3pET2lURFVtMldQa1VlU3NJcVB4c2VMNHZHZEpucEduV2VwZXBULzdFK1d6cDR5YlVpeTl3YmFBSEs3eCtsVjlSNU54TFhEc0ZHMzVITm14eSsxL2FQVmhQenhIQS8xTFlPZ3U1Z1ZtNkVQSzJaZlZNUFNqVURaNHRmZmFPZm9USC8zOUVRTnRmelM1WHB3TmQrSFgxbDVSNDRmYmpHYVR0c0lIWDJKTkxvMmxYbldUZEhYcDE0VDRkNW5YWEExVHFuU3pySFpIR0xheWRzZjlEeVB3UDVxMS8xSDdIL2ZPLzFDTmlkcjNxSDJQMi9jOXZvbStuYUVTTDhOZExjdzBkSGxjQ041RVM4SExqVHZsNWRXTTVEaCs1YkIvcGgyZ3QvSXZ6Y2E1cGs5NFQzZ3V5SzhzeHcrY0JYNmdzWVorNEJ2a3Y5ZGg3azA2VHoySHVzbk9JeS9Qd1RYcm44Qi9TaGs1WURXUzJCWTU4eWxtRjJsR2plZXRDcDIzR2owcm9pdmx0TzlISnRITHhCUCtTODd1TFVrUDNVQVA5YlhUd3kzVXYrZ3pGOU9zcVFLL3U5T1FjdklzcHl1YjRSYTJsL3A5b2NoaGg3T2RnTUVzb3dvaDM2N00wSzQ0M0VyQXJJZUJGWkx4SERab2xCT3JKY0NaVkt5aG5DOXhOdTFiSnBrUE9BY0xjdm9jMk56a25QcUQxS29EVmNaNlZibGpsYnppTW4vQXJnL3ZaNXBIcER6QVdKVG1aYW4rb0VxdTJNTUtqd2FURFVnQ3hydUhjMVRoVEdnRGZRS1EwTjNHYXF0Q1g0VmpIdnBQK1VnVmI4cmE1dm5KSGRhTER6RFBWRUVTQnNyQXdMSGtvQWZnc3RiQ1djU29kOWJFdVo5aUZUbjNTUkw1bU1hbDhuVXdqMDB5Q2I5WEdRVTYyK2RoaEdNRk15WWlNN2RPR1l2VllCOWlsNDN4aHZqT2VuYUVWMDlXMnBWRjIvamJvYTFDTVJ2M0oxaUpBN1A0NEdOdkIrZFh6OUNCQkV5czVTQUpHSGg5NEJvTC9iNG1XbkhBR2VUVVpQdTY2Q1dDVER5VWdYc3JFdmdlTVJWUEx1TG9TNlh2OWhYcllkeGkvNUI2OXYrdzF0RXVZaDdDVjZCdHR5RC9iR2xtYThKVGJaK2Q5UW45eFhPYzY4N1Robi9EakYvMGpDZ09BcDlQd1V6LzkwektQNk5Ia1A2djdHcXRlRWE0RVdTRXpiL0ppTStYV3JiVUgybS9hZkMrdDdkTEdQdGR2bW9KOGo2dElLNHprSDFoUmRNVUs1Z2dubXVoVHo5bDdSeTk5Qmw2SnlaNkhMY2hpNmZzR0hycXN1UCttZkxNdXh6ejZSTE1ZMzZRb2NnZDVJLzF0NUdqbzgrZVhnRldOdHByTXJRNzZIRzJVRGQrd3VNcGkyaWhIZmZRZHVob0k1cFlKVGRISFpxemZYQ0VrNGoyVnFNL3oxTFJTTmFZZFcrSitiT2tHZGVFYjNuRjJpVldmTDhMMXQzR3Q1WWYveTR5TE1SNFVIdEdFUjlWK1NjanZ2WVh5TVV5Z2tWUTMyTFhlWWQxL2JSbk82aVdVNC9ESDVHZnd1TmY0M3piUjF5M2VsVndsVUJaUDlwYVl6LzZod3c4bHVHQlpGMWZaUythdHpMYTg3U21pT1k5aW0rOVVkd0ZGYU1HL3Rmazh6OWQ5QVRhQ1gwUnRhWmYxc2hQeDFMTzl4eGpwUWZNWlFncDdLRC9zeDN1cWV4L3pSSFBCbGJ2VGpIUDVpTFNKdHBQbDN2RjhMZUphNlpFUFRCNFhYUDAzU0FtdXgzL3k4R25mczJ3RWs5ZGJEejlvRHp6RTIvbDZ1MjB1YU5WYVVHYUxPWHhTT3NPNHhYaTRyMFhCOWpqOXl0Zlp4aXZ1cTUvY1VyZ2NQOVdHc1lsV2F4R1g2NTN5RjlwS0svK1c2ZVZoaEJybFYxMUlGZXcxR3NOYjMrdFllY1dXUG5ybEZVVGFoWVc3NGM3eHV1RHI1ZWM0VncyRTh1MWZEVVQvNTJZdVB5YTd5K0xpWk5yQldzdS9sTFhmYWR4OFRmc3lTN1E5NTh4dlJBMWlkRnRWZVlDUGN3S1VyenA4aHgwTjdKV2pWYlJOaGdIM2UwcTJsWFZKRWJ4aXpNWWpNYlBpbmdKeGxRWG8wQ28xZWhLTE9rRzEwcy9zNHV6ZVdZQitUNURUYVFudU1SUkFocStmVU9wejNDK29ZMTJwb3RTYitIc1lqY205U2xtanJzeHFjTi9IaDU3T3pua1ZWVUk1cU42dDdyd1BkYkRmT2E5b3RYU245bG5pMHNEMXVMdGNSMkpXbERJYVJNYlZwK2I3cUFsbk9NSXAveDBCK2Nhb3ZucEZ0YkJtRGlmQUgvcHU0WDZkTDkxSXd2TjZqTGFrbVllSnRnYjZQZGR5WWxxQnUrdm5QSVFyUzZyRGZURkxzbUR1VVA1d0xiN0t4OFZpbkdaL0lDMVplY2E1WUp0MW9kei9nazhiSWd1b2xMNUxxd1BYTEZNMmt3U2Jhek1hV09GRHZ4dG9hMXNvbmQwZjJXU3hEQXVrWWVJL1J3cmR5RStGOVd3b2dwK2hGSFdGWExpRzQzZTdRbHgxVFdPcStpOXEzZ2xNSE0yeDlqYncwZ1g1a2ZtZUlhUWpvTythQnZIUjRPdmtqRzQ1OXBsZTZDaW9rb2RjMW8rNG12MEU5eElKQ3BuRmxaVm4xNEdhZmpmYUdkeXZlanREczhYbnVkWjhNOGYwTGNHL3MvdmpRSXBmNGZ6SHZBMlh3ZVJjSU5abG1tUVc3L0VEUDBRUitUY0gvZFBwZ3QyalozamMyenM4NFU1Ny9pOS91SDVRdmQ3UjBmbml6bHIyR2JINzlsN2VKQTl3SDMyQVg3ckRhbDVqczN1TWIvQTNnQy9qeWQ0N0tDSDN3WmpiSTVwb3oxaXg3cCtiMEk3SjNUMWlVMDNPYUxyVVhPNEE3MDhobDQxL1A2SkR0M3BueGh3bWY2SmljMkFiVFJZWTFCalF1TVBvdGg0aUUzd3hwekFKbmlKak5kcDZoNk8xNEQ2UEtDbkhFQm5EZllObjJzdzd1TWg0ekh0TzZEbURCcC9jdGE3WHRDTkg3QmdrQXpiTy8vSWZuNjllRGxpeDNRYS9nRnZKL1p2N0hwTXdwTkQ5aFNUdy83NW91M05MQS9md0RNNUd5em5RdjdlMmVoNk1UaWF3Q1BzRHNmUWpJYjRKS01kZGpqN2dyb3hnbDF3a2RHRWYyZEk2UDdPYUVpTkRRKzlzN09MMzNiNjJOZ1RVSi9Sc0E4bjdNTkZHLzR2bzEvUEYwMW9iZnA2UXMwSXp0OGZIRUx6aXczSE9LemRvNjhUdU53dmRnK0JIWTRRMFdQbzNMNDloRzFEK3hTYVBqVkRHeVd3YXgvQmFYdTdOanpNOFNzYnZnMXQvSFl3UWNVNm1CQTU5cEhVWWFEK2lTMldTdnRuQXp6MjdBajdQeG5qNWRpWjBKejFkL0RpZ3pOMkFjMC9Qckt1Rit6UCthTGxZK05SbzFQVGtCcldEdUI0cGo1Tkh4dG1KSTd0QmwzTDFubHI4TmJFZHU5NEY0NmI3T0NJbTR4ZVFuTUdENkw3dTcxVFBHYTNoMXEzMjl2QnJmMGQvTlkvdWw0TUJ4TnYwZmk1NlU5T1J2UmhmTWkzOUU3NEIzLzNEQ0gyajQ1Wjk0Nk8rM2hOZjdSL2pFSHNTSFBReEd3emszWjRoQUliSFE2cGdVUC9Dd3ZlWUltRGk0dnVwbGorMnNTWE1GSDVhMHZ6a1B3YmZDRUVUTGwyK09UNUZLZk9ZWnEyeWFURWV1d1BYekVSRDNkZU1mNTd2ZyszT1IyVHRQbENqWjVHcnl5SGhhWTBjVHJ6aDBORTU0ajA0bWdYbS80aHluNTNDR3l3QnhmZGZRN2I5NGJzTm9kSCs4R0dzNU1Cdm5LQW12Z0xDSEJVVFdsUVRXbE1kZUpEcWp0M0laTTMyV0Y5aC8rOU9HUW92cUI3KzM3cWczekwyTmhCRC9ZU29WVThncDc5Q1BuMzB2bTlOcGdWbXpPSXQ4Tjd4dTZuRjRJc2NUOS92ODk4Z3YzK0FRekovZ3M0NHNSR2lqeXhVUVg5L3dNQmZZTnFGQXJlelFBQUFMNXRhMEpUZUp4ZFRzc09nakFRN00zZjhCTUFnK0FSeXNPR3JScW9FYnlCc1FsWFRacVl6ZjY3TFNBSDV6S1RtWjNOeUNvMVdOUjhSSjlhNEJvOTZtYTZpVXhqRU83cEtKUkdQd3Fvemh1TmpwdnJhQS9TMHJiMEFvSU9ERUxTR1V5cmNyRHh0UVpIY0pKdlpCc0dyR2NmOW1RdnRtVSt5V1lLT2RnU3oxMlRWODdJUVJvVXNseU45bHhNbTJiNlczaHA3V3pQbzZNVC9ZTlVjeDh4OWtnSisxR0piTVJJSDRMWXAwV0gwZEQvZEIvczlxc080NUFvVTRsQld2QUZwNlpmV1NEdEJGZ0FBQXExYld0Q1ZQck95djRBZjFlNkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUI0bk8yZGpaSGJPQXhHVTBnYVNTRXBKSTJra0JTU1JsSklicENiZC9QdUMwakpXYThkMjNnem50WHFoNlFJRXFJQWtQcjVjeGlHWVJpR1lSaUdZUmlHWVhoSnZuLy8vdHZ2eDQ4Zi94MjdKMVdPZTVmaDJmbnc0Y052djY5ZnYvNnE5OXErWi8xWE9hb013L3VCdk0vaTl2Q1cvcm03dG83VmJ5ZC9ya2RYRFhzK2Z2elkxdFZLL3U3L2JILzY5T25YMzIvZnZ2Mzg4dVhMZi9xaTloZTFyL0lwS2kvTzVSam5rVTc5WEs3YXo3SGFiL21UZHAxYmFWcGYxYkZoejByT25mNHZPdmwvL3Z6NTF6YjFULzh0dVpRTWtEa3lZai9uVlA3SUZKblgvbXdYOUd2T0pUKzNFOW9DNVJ2MjdPUmZNdkw0citqa3p6SGtRbisxREpGenRSWDNXZVRITmVBK3ZqcUdQZ0RLWXoweDdObkovNnorVC9sMzd3em9lZVJlZjZzdElOZmF0aXo5ekZqSjMzb0E2UHVWbm5YRDBITk4rU1BYa2xWZDZ6NUlYL2VZd0huNFdaTEhkcm9oMjRuMWpPVmZiY1JwRFA5U2RlTCtjN1FmWGMxWW5HMGZwMTluK3lsWldkNHBEL3B0NWwzWGVTeVhzcXh0MmlCNmhqSEo2cHBoR0laaEdJWmhlRVVZeDkrVFI3RFhwLy96YnkvdldmTGQraDVjNm11Nk52V3VlSVRMNk8xcUI4L21aMGlkOEpiMnZydVc5L09kL00vWThZOThobm1lOTNXK3hDNjlsZnovaHY3ekZseis5TE5oejhPbWprMG0vWGZwMjhNWDVHdnBJNTNQa1Bva1A4NWQrUU5ONTIra2pGeVAvY2krTE5zdjdkL2FwWmZ5dHgvaVVkdEF5dDkrTmg5elB5bDlpYzRzdVNBYmJMN3M1NXowQzlobldDQWo3SFlGNTFIbnRBK1Q5bWUzSGRvTTkwS2VtUmJ5N3V6Wm1WN0szM1gwcU9PQnJ2OERkV2k5NEw1dFA0NTllMTJNMEM1K3lIM1FkbC8zLzBvNzYzam5iOHhuU3ZicjlGbGRrdDZ6NjM5QXR1a0RMdXlyS1puaGIzRi9RNWI4djVNL2ZkOCtRTWY3V0ovQXp0K1k4aWN0L0FEazA4bi9LTDFYa1QvUDl2cWJzckc4aS9URjJ4Zm4rdDdwQnZTSjJ3bTZ4Ym9ZZHY3R2xML1A2K1JQbk1xWjlGTCtuTmY1dy81MjdGdExQMXRCZmFVL0xmMTM5dTNsdGRSdDBkV1IvWDA4UjhoajVVdUVsYjh4ZllpOHAzWGw4WGptVEhyZXBoNGVWZjdETUF6RE1BekRVR05iN0p2OFBENi9aMXc5OW9BWlk3OGZ0bjN4czAyK2l3dTlGWC9EL01ObloyZlQ2dnpnMWdub0RzZUU1OXpBOUMxQ1h1dnphMTluUDh6eW9LOUdQNXlqczZzZy81WGQxM1l3Zkh6WWp0QWIySDg5eDZkSXYxREc3dHRuNTNQc3QrTXZ4MmdmMkpIeFNRM0hkUDNjZmhmWGU1SHk1L3B1WHFkOWdiYnZXdWI0RDdwNVJKN3JsL1BQN0xmek5laUk2Zi9uV01sL3BmOVhkdkQwcGFkUEhSc3A3U0w3c1dNd3poekxkbG5nazlqRkN3ei81MXJ5NzN4KzRMbGZKUy9QQlN6TzlIOXdYSURMeWJsNXpyRG5Xdkl2ME1ucE95OTRoaGZXNGM1ejlmeGY2UWEzT1QvL0hhdFF6Tnl2TmQyN1hPMWJ2ZU41Zk43WkFoakQ1L1hFalRpZDFNL2QrSjluQU9UN3Y4dktzVXg3NUQ4TXd6QU13ekFNNXhoZjRHc3p2c0RuaGo2MGt1UDRBcDhiMjl6R0YvaDY1QnFyeWZnQ1g0T2QvTWNYK1B4Y1UvN2pDM3c4cmluL1lueUJqOFhLNXplK3dHRVlobUVZaG1GNGJpNjFsWFRyaGh4aGZ4SS9iTVQzWGtQamxkOFJkbXV0ck5pOUk2N2cvZHgrWmZ1UTdpbi90RE04TTE3WEI5c2J0cm5DYS9Dc1pHejVZMy9CSnJkcVN5dWJuT1Z2ZnlKbDh2bzhMdVBLbm1DYndlcGVLRE42elBMUDl1aDFDcC9CcG16Ykt6YTcrdDkydE82YlBKbUcxeEREcjRjTnZtczNYZjh2Yk5OakcxdGcvVS9hOXZuUWJuMjkxK2Z5bW9Tcjd3dVJSOHJmNjQ2eEJwclh4SHAwa0JHNFhuYmY1RElwZno4N1YyM0djdlUxbmZ3ZGIrUmo5aCt6bi81SmV1dy8rcjZZajVGUDd2ZDZlUGVNZTdrbTJNY2grNFZsdVhvdS9xbjh1LzJkL05NWDFNVWkwYS9SN2FSLzlBMjUzVEg4Rk5iejVNSHhSMmZYLysxN0s5S1BBN2VTZjljZWJQdDNQQUg5UFgxSDNiM3Mya2JHcUpCZStpa2Y5WjJCdHV4NlNSMXc1RWUvbGZ3THIrTkw3QUNzMXB6T2U4MTcyY25mWmNqdkMvdWFSNVYva1RFeTZjZmJyYS9QY2Erbm1XbDFiV1lYbDVNK3Z5Ni8xZjdkZmF5dXpldnluSzUrbm1Ic1B3ekRNQXpETUF5d21sdDF0TCtiSy9BMytGTjJjYXpENyt6bTFxMzJlYzZGNXdvZHZUL2VncEYvajMwWXRxSGxuQnBZK2VkMzdjVzJrZHAyekQvZjViRGZxZkQzUlBEL2dZLzVXdHVUOEMxeEw1WS8zN1B4UGIvcVBCSEx6SDYyakp1SEkvM2YyZWF0LzlubXV6NjIwOWxHYS8rTTJ5Sngvdmg2c0FGeXJiOVI2RzhKT2NiRWNxWXMrSWp1cmFkdXpWbGJPeHp0cDIvbU9nRXBmMEFQdUMxZzE2Y3QyRGVML0NoN3podXgzNitiVTlMdHA5MzZ1MEN2d3JYbDMvV2ZTK1R2T1Ivbzd2eldvTC9KdUpOL1BnODZuMjdCTStrVjV3cGZXLzlmS24vcmJYU3dZMjNzdzBNKzVIR2svMVArdEkxTWsvZ1F4d2c4c2ovbkVqeHVvby9ScjI0aC84SStQZmZuM1R6eXZEYkhmenY1NDhlcjlIUDg5K2orM0dFWWhtRVlobUVZaG52Z2VNdU1tVnpGZjk2SzNmdnFjQjE0NTdZL01OZUx2QmNqL3pXZTMrRDRldWJIMFkrWmcyTy9YYWF6c3FGNERsNzY2bXlIOHJ5Z2xRL1F4eWdUMTJiNXNmODZmaCtmcHN2VDJhTmVBV3lnYVEvRmJ1YzFHam12czZrWG5sZkh6MzYzWERzVTJ6OTIvbTZPbCsyNzl1ZVNObVhNY3FYZjBmMi84MVZpVTM1MithZitvMTY1OTFVTVR6ZFBLT2w4T3l2NVU4L3BSL1Q4Tkh3LzJHYnRIN1QvMFBlMktqL0hjbzZYOTFkK3p6TFBiOFZPL3BiWm44cC9wZjlUL2puLzEzNWtqbUdyNTVqbjh1N1doOXpKMzIwVVNJczI5dXh0d0ZqL1cvL2RTdjZGL1pCK3puTXU0eExhQTNtYzBmK1FiWU0wMmJaUDNPM3ZGWHhDSHYrdFpQeWU4dmY0TCtmNDJRZVkvc0ZpTmY3YnliL0llZjdkK085VjVEOE13ekFNd3pBTXd6QU13ekFNd3pBTXd6QU13ekM4THNSUUZwZCtEd1FmL2lyV3pqRkFSMXppbjcvazNFdks4TjRRMzNKTFdQK1l0WE15ZitLeEtOK2w4dWU2amtycjdMY1d1amlVam93blB1S1NXRURpbHJ3T3psR3MrMUg5R21LajROcHg5STZkOG5kNGlRdnNZdmNwazcvcjdyaGZ5a3Q4bFkrUmRzNFhJTjdjTWVlTzFVMjhOaEJyQ0dXZlpTMHl4NXZ2K2pYNW56bVg4eDAvUzE2T1JicWtmb2s1OHMreFVlK3hybG11MTBhNU9KYnJmeEVQVGovbGZqczZQVW84bCsvYjMvNmhMZXgwQVBHNnhKSjVUa0hlRzhmcFo3ditRLzZPQ1Z6aCswNzk0bGpLUytxWGN5a242VjVMLzJkY2Z1TG5NbjJiTnUxOTFMTy90K0h2S2JrZTNHNWRUN3Y3Y3Q0ZFhodk05N05xaDM2R0lyZnVleDl3NXJuaStUSTVkNEEybEJ6Vkw5QXVISjk2TFhidE92c3IvY2Yvby9PeVRYdmVWNWNlL1kvN1NsbTVyMXIzcmNycXRhSmdKYmVNRGUzU3BHdzVqNFc4RXVlVjdaNjJtUnpWcjg4alQ4OVZlaXZvd1ZYL1B6dnUvUlA1YzQ3bjNHU2FmaDUyOGVCT3Q1dUhSSjNuTnlvdVdlZXJHeXQyT3RONVpUdjArRGpMZmFaKzZmL2RmSVczc2l2RGtkNkZUdjQ1ZjZQZzNjQjlsWHRDeHA0amRBYXY2WmpYZU82UTQ5V3RjNDlZeWI5cnI0eFRyQjlXN1p2OEw5WG51M1ZLUFcvcURFZjl2L0E4aTlXN1RDZi9vN0x6VEt6eU9nL2tSRjJ5TnR4cXJHYWRtZkpuVEpqckJIcWRMNjhyMkwxYmU0NlozeDI2Y3ZEZFEvUk5ybG5YY2FaKzRlaGJ1eHg3ajNtTHZLT3U4czE1R2dsakJjaDZRYituM3ZTNzlKSGVPOVB1ZCsrRXE3R0F4em1YckJONnlYTjZWNytVKzBpdW5QUHM4MWFIWVhnei93Q2dndm9nNEw4bG93QUFEdGR0YTBKVStzN0svZ0Iva29FQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBSGljN1oyTmtSd3BESVVkaUJOeElBN0VpVGdRQitKRUhNaGU2ZW8rMTd0blNVRFB6LzVZcjJwcVo3dHBFQklJMElPZWw1ZkJZREFZREFhRHdXQXdHQXdHZzhIZ1AvejY5ZXZsNTgrZmYzemlPdmVxNStKenBhd0FaZmozd2Y5UjZmbUsvak44Ly83OTVkT25UMzk4NGpyM01uejU4dVhmenk2K2ZmdjJPKyt3TjJVRTlQdEhSdFQ3dEo2Vm5rLzF2d0kyMGY2dTlsLzFVZnAybGFhVDErM2YrWjFkVlBLczVBUmRHcjFlcGN1dVorMjhlejV3YXVlcmV1dnNIK1ZyMzNXNXRHOTdIcG9QZVFXcS9xOTVaZldPKzU4L2YvNzNlK2d0MHYzNDhlUDN2WGlHdXFndkMwUTZ2UjdwTTBUK25pYnlpTHk1RjJXclhrZ1gxL1Y1NnFCcEl5OVBSeDMwZXZ5Tno2ci94OSt2WDcvK2Z1NEtPdnR6VFdYUjhpTk5sTTh6V1o4alBmY3krN3NNVVo3YkNKdkgzOUNacG9udmpGdGNjejFGR3Azek9MUjlSVDZrUnhmSXFlbFU3dmlnQzlxeXloM1hWQitxWnkyZjhYM1gvdnJNRmF6OGYxWm0xdi9wZjUyOGdjeis2bStvVTFaMzdCeDZWbjNSTHVLREw5QStxSDZCUEZaeWRycEFQc29oUC9jVlZaMzkrWkRQeTk4Wi8rOHhGN2pGL3VnOCtpUDE3dVNsL3BYOWZSM2l3TGJZUGY1R1d5Qi8vdmQraHF6MFVkcUxRdk9oVHBrdThMY3VLKzJSdVY1bGYyVFU1NzM4VEc4clcxekZMZmFuSFd1NzcrUU5aUFpYZjRmdnpmb29mZDM5aitvMjduSGQvU1MrSTdNL2V0QTJsdWxDMDZuTmFSZkk3L2JIUC9KTS9PVVp6VGV1SWVNejdFOWZVWDNRbndGMTllL3FieG5mSEpvZW1lbGIrajJlcFE5MGE2WElpL3Y0VGNEL2tjYnZJU2Q5THdQMXhvZGt1dEJ5TXZuSlg4ZEQrb2YvNzdLby9EcVhxZlRwdWgwTUJvUEJZREFZRERvNDk1ZmRmODN5YjhFOXVJUXJPQzN6TkgzRjI1N0NZK1hFcFZqUFpIR0JlMkpWL3VyWkZaL1djWmlQd3FuT3J1aTQ0bTN2SWF2R3RxdG5LczZxOGg5VlhIcTMvRnY1dEVkQjVkWTlFMTZuSzNKMThmeDd0ZXRNVnVYVi9QNEo1MVdsUHluL1ZqNnQwcFB6aHM0cCtoNEY1M2lRaFh5Y0ExbnByTktCeGhXN1p4NXBmL1RqbkZ6RmVXbmNYbVBtVmZyVDhtL2gweW85RWFNTHdMUEM4eUh6eXY3RTdWUVdsYlBUV2FVRHRUOXladkpuL3YvS0hwb1QrMWVjbDNQV3lyMVdITmx1K2RUMUtwOVcyUi91V1BrajVSUTkvOHhHeU56OWY2b0R6NnVTZjVjclc2RWFxK0JHOUg3RmVRVklxMXhNbDM2My9GdjV0TTVQMG9lampHZ1A5RFdlM2JXL2pobWU5bFFIcC9hL0ZlcHY0QnFVZDY5OFUyWVhydnZjd2RPZmxIOHJuOWJwS2JPM3pqc1pGN1RzekVZQjVSYXp0RHM2ZUEzNzY5akp4L2ZpS1MrSVQxUE9DM215NjFYNmsvSnY0ZE15M3M1bEE4b3BWbVV6SjNldWxPZVJaMGRubVk0OTcwcitybDZEd1dBd0dBd0dnOEVLeEw2SStaeUNkU0JybUZVc3Frc1RjOXNkL3VjZTJKRTFnRzRlV2VhdUxQY0c1MkpZZDNzTWZ3WGlINnkvZDlZbTNmcjFtZnNaTTY1UjE1U0IrRTZzOEZGbGR0Y2ZDWTlkQjZpdnhyZTY5cTluWTBpditzdWU1eG51YWIyZDk0cDc3cGYwekVHbU01N3A5RWwvOHppR3gyaXo4bmZ5eW1UTTBuWFhkOHZJOUxpRFZSeEo5K1JYNTNHVWcvQTRyZTdWMStkSm96NEhuU3VYby9GQTVleVVEM0NaOUJ4UnhaL2g4OGhIWS81YWw2cjhuZkpjeHFyTTZ2cU92TVFiVmNZVHJPemZuYmNFWGN6UytTLzRPdTMvNk1yUE0yVG5POG1yT21kQ09jaFNuWTNJOU85OFIxZCtsWmZ1MTNjWnF6S3I2enZ5Wm5vOFFjZVBrZCtLWit6c1grbC81MndSK2Zxbnl4ZDUwUDJPejlMK25zWGlzL0k5cjUyemhGV1oxZlVkZVRNOW5pQWIvNVZiOURaZjdmdTUydjh6WFZYOVg4dnU3TzhjOUtyL2E5NWQvNi9tZjEzLzE3S3JNcXZyTy9MZWF2K0FqaTAraHVHZmRIenArQ3VYYVRYK3E5eHUvNENlNGF2T24yZTZXczFaZkR6MU1VNTV4YXg4UlRmK2EvcXF6T3I2anJ6M3NELzFydGIvZWk5cm05elhQdVE4bXMvL1BZM09rWDFPbjgzbHV4aUJ6b1g1bmdFWi9EN2xkZVZYZWExa3JNcXNycS9TWkhvY0RBYUR3V0F3R0F3cTZOeGNQMWM0d0VlamtzdlhIeDhCeitJQ1didjdIc3pWT29MOTBzOUVGV2VyOW1PK1p6eUxDOHoyTWl1eXVJRHUyZFg5L3lmclY3VVZzVGE5bm5GdTJKOTduZ2R5NkhYbkluZTRQTkpVYS9UT0xwa2U5RnlnY3FTVnZtN2xHMC9nKysvVlBsWHNqNWdUZm1PSEkxUS9vL0VycnV1ZWVmYnZlN3hSK2NJc2p5eGVuWEZHSFM5WXhmdDJPTG91MXFsbkUrSFhNMzN0eUxqaUFrOVErWC9zand4K2JpWGphRlVIM2tjMERxZm4rQ2hmKzRWemJueFhmVlJuSm5oZVkrdjBreXhHN2YyRnRzZjVGYkREMGEyNER2S3I5TFVyNDRvTFBNSEsveU1yZlMvalZYYzRRczVTYUYvUHl1L2swWHk3TXpNaEQyMldjbHczVlRtTWJlcmZLSHZGMFoxd25abStkbVhjNVFKMzBPbGIrNno2ZUsvckRrZW83N1hNK3IrTzMxMy8zN0UvWnp2MUxPZHUzOUs5QTlwdmR6aTZYYTZ6MHRlVi9xL1AzMkovOS8vSTd1TS8rc2RQVnVtOFBmbTRXdGxmODg3Ry94MzdveU8vZG1YOFArSG9kcm5PVGw5WHh2K2RzNDRWcXZXL2N0NVpUSURyMm04N2poRDVzSi9PTWJObnNqbHdWbDZWUjdWK1BwbGJYK0hvZHJoT1Q3ZFQ5eDBabnhVekdBd0dnOEZnTUJpOGY4RG42TnJ2VWJpU3Q3NWI0eDd2dnRmWXdBbDJaWDlQWEJSclhqZ0ExcFNQcUFOMlBBSHJXbUo2dXEreTJ3ZGNBWTdoRkJwUDdIQ2xqcThGWWhhK2JpUitGdkI5ckw0T3gyL29lcFV6R1BIUm1BMXRTK01MNkt2amRsWEd6djVkWHJ0cHRFNjZEOTdsdUZjZFFmYTdJN1QzZUk3cmxLdnBBcEhtYXQvS2RNVDE3QndMY1F1TnN6b0hvNy9QUlQzUURYb2wxb1hmY2ZrcFEyUHgxVmtCdFVYRjBlMmtjWm0wcnNwNVVrZjlMYUVyZFF3b0QwdGNEL3RvckZEVEVTZWwzQ3BlMktHeXYxNnY3Sy94Y2RvOWJSSTllWHhMOC9MNGRzV3JaZnlKMjF6OW1ITElpcDAwQWJXZnh4ODlqcHZ4ZTFmcXVQcmRNZEw3K3dTZE96M2R0K1h5ZUJ6YTZ4TncrenR2UUQ3Nm01VEltT2tHVkZ6VWp2MHJIa094a3dZOUt1K1p5YXQ4bUw5SDhFb2RUN2hEeXVVRFYxMzVsaFY0ampFdXM1bnZ0YUFQT1Y5Rm45Q3hxZUlOdmYxVy9YSEgvZ0gxZjhyaktYYlNLT2VvNDZES2tYM1A3TDliUitVRThma2RkNmljbis3SHVnSWQyL1RqZXkzaWcyLzB2UnpjVXgxazE1VmZ5NTd2enRlRHl2NzRNdVhVSFR0cFZDYWZkeXJmem5mNmg3ZVprem9HMUFhNnA4ZkhaOWV0dHBOVC9rK2g0d2R6ek96ZWFvL2Q2cnJ2SlZxTlczNWZ5NjlrNmRhdXQ2VHhzaXVkbk5ieDlMbk1kMTNaL3pjWURBYUR3V0F3K0x1ZzZ4aGR6OXhySHRudFNZeDFrTDRyWmFkTVhhc1M3ODdXZ3U4QmIwRmVqK2V3N2pzOVIxS2hzeitjQU9sMjdLK3hGdFk3UFBjVzlIbUN0eUJ2Rm84a1R1NHhHK2UwaUQwNjM2VlE3bGJqRlFHZWRaK2pQTFRISUR3bXEveS82ak5McTNrVFE2bTRHQzhYK1RTV294eHl4eWxwUGJYK0tpOTh6bzVla0YzTFVibE8wSjB4Y1k1SHVRaU5wWGMrdzdsNzVaWGhDenhHcXZYejg0M093VmIrbjNLeU1yMXUyZDVzYi8vWWpkaW54M3l4YmJadm03WUNKK0p4WXV5dDdhTFRpOHZ1Y3AxZ1pYL3M2bVZtc2Y4VmorZzJDakFIcUd4NmtwOXpRZDVmc3J5ckdMRHVEOUo0TjdIVzdMZWpLdTVWZlkzdXJWS3VKZk1aSzcyNHYwT3VFNno4djl0ZjV3bTMycDkrU1Z6OVVmYlhmckZyZi93R2VhblBJMSszLzJwdkIzNUVlVlhsRDhDdVhxcjZubUExLzZPZWNJeTZCK1VXKzJ1NTdvZHZ0VDg2cEJ6Vnk2Nzl5VVBIRHJXNTduZlp5UWQvcnZ5ZnkrcytQOU5MZHMvbE9rRzIvdk45UlRxM3lNNWZxMjRjSzN2Ui9uWC93ejNzci9PLzZ0eHlvTE9iOTNITms3N01zMTArUHYvTFpORjlHQ3U5K1B6UDVScDhUTHlGOWVMZzlURDIvN3N4L1A1Z01CZ003b1ZzL2JlS1pZQzM5Szc1am1jNmhhN1h1dkcyaXAyZVlGZlg5eXd6eTAvalA2dTlrUUZkbDc0RlhEbjdVSUg0MSs1K3pWdXdvMnRQL3dqN1YvbHA3RWRqRlg3R0tlTUlIY1F0UEo0T2Q2YThMdjJQTTNITWZaVVA0NTUvSjNhcWRmQjNKRmF4a3F4dUdwUFJkdUh5S0xKeXNyckMvN2l1Tlk3dk1xbTlpRk03VjdpTHl2OXJqRi9QUzlIUGxQT3RPRUl2QjkzQm5XajU2RVhQMWFBZmx5ZUxPZXAzUDM5TE85SjRPdko0Ry9DNkJUeVc3SHhBdGcvYlk3UEV6NzJ1RlllbitWYjY0SG5peGhVSHUyTi85LzlBMjVhT1V4NTN6VGhDQnh5VjhuR3V3KzcvWGZ1akZ6MlA2VElIOUd5UFF0TmxObFo5WmZiM3VZaWVyYXZ5VXYwb3Q5anB3OHZoM2dsVy90OWx5dlphVkJ5aDY0UTAzZnNmNzJGL1pLS3RaVElIM3BMOUsyN3hXZmJQNW4vNFF2V1h1bzhDbjFSeGhLNVQvSC9YL3dPNy9nN2ZsT2s4bThQditIK3RXeWJQUGZ4L1p2K09XM3lHLy9jUDlmZHpzSHJ1VU9jcEdVZm81ZWpad2FwOWUxclhoYzR6cTdPWmJqZkZhdjRYY1B0WDg3L09kMmJsZFBidnVFVy9kOC81MzF2SHZkYzdnL2VGc2Y5Z2JEOFlEQWFEd1dBd0dBd0dnOEZnTUJnTUJvUEJZUEQzNFJGNzBkbjc5SkhCZmhQL3JQYTlzOGZTMzJrUllHOU05bm1FUG5WdnFjUGZhVnh4aWV4TDgzeDkvd2p2QU5JUCt6ZWV5Vk4yZFRuTlIvZnQ4YW5zcjc5andyNGo5dG5wUHJjc3oycHY4SzN5ZDN2MTFZYjZIaENIMWh2ZHNvZE0rd1Q1UGF0dFYranE4c2d5ZFYrazlvMnMvempZcjVibDZaOXFiNTQvdTlvYnNtdC8zc3RFK3ZqZjM3R2g5bjl0dkliOS9YY0gxRDcwd3c3c0k2NmdmYW5ieXhiWDliZEZPcXpzVDl1aFR6czgvNnovYzUzOGVaZWI3cUhVZlpzQjJwdSthNGw5ZnZxTTdySFZmTFZOa29idkp6Z1pRMVFYL3E2aHJHOHJxRnRYbnZxQ3pQYU12ZmlHVlpua3FlL3ZVWm4xL1hJbjl2ZTk3bHpuZjYwbjU1SjBuRlJadU05MzlJck1laTVFODZVOXFOeFhmTlBKZm5FOVg2RytBSG1xdmsyNzNQSG4yZGtCemNmM2xxL2t4NDlyL2dGMHArOWlVejB5NXZ0OHBkS3h6M20wVHRwZmZVK3Y3bVhYK1pUbWtiM2JqL2JnL2ZCMFRPQ2NVemFmY1dCRC8rM01haHhtL2JRemxpUEw2ZHl3c3o5NjFURUwvK250U08ydi9sMzNtcFBuaWYzMVhDTHRWOHZNM2wzbDg2eksvdnhQTzc0eUowQys3T05BZm5SSEc4NzhPcnFyL0tybmUrWGRkWUhLL3VvM0FXMHhpeFhvbVZGZDMxQlhuUjlXNXhzeSsxT3VqdVY2WGMrbGVwL1NjeCtkL1pISjI5Y3owTVZkZHVjV2tlNnEzTjE0ZDlLZTlOMDYycGMrMm5tS3dXRHdvZkVQaUNScW91dDN2UllBQUFEY2JXdENWUHJPeXY0QWY1N0NBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCNG5PM1NNUXJBTUF3RVFmLy92ZTRWVWhoQ1VOd2FjbE5NbzBxd042cHFOR3JPMmQzNXY3djljdm9YenJXM2dTeGRleHZJOEd4c0ExbTZ0dHBuMkxYVlBzTlhZKzF6dkZ0cm4yYzExejZYOWdBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBRHNYUGJSYkNhRENScE5BQUFFZVcxclFsVDZ6c3IrQUgraU5nQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBZUp6dG1vbHQ2ekFRQlYxSUdra2hLU1NOcEpBVWtrWlNpRDgyK0dNOGJFalpzV1Q0bWdjTWRKRGlzY3RESXJYZks2V1VVa29wcFpSU1N2M1g5L2YzL3V2cmEwcUYzNE95SHBkTSt4THBYMU5WbjkxdU4rWHo4M1AvK3ZyNmMzN0xkYWNlVmRZdFZiNS9lWGs1MkdQcjlLK3Q5UC83Ky9zdlNuV3NlaitqLzJuN3orRC9tVDQrUG43YUFITUJiYU91SzR4MndYV0YxWkg0RmM2OVdacDF6RGl6dFBxemRVNFowaitrVjFBK3lqRktjNlNLVjJsVy8rZjhrZjFmZFV2d1JSLy9pYys0aUM5eW5NejVvOEtJWCtLYVowdVZWMTNYc1o2WnpVVlpIdkpqYk1yekxGdW1uMVNjV1J0SXUxUyt6K0QvRHJhYitmL3Q3ZTN3am9oOWVLYjN4MHdqZlVHYklMelM0cHoyUi95ZVZoM0xON3lYa1Y3M2ZUNlRhZEtldXJJdDV4ejQ2UDZmYWViLzdEdDlua3hLK0xEc1dPMG14MVRLVVBjei9WVGVJNi8wMzZnZFovK3U4RW9mSDliNWJBNGdIbVhrL1NmdlBZclcrRCtGelpodjZlZjVib0R0c1dIMjYreWI5TDE4TnhpTkZmayttdjAveDVEMFZaWWx5enVyN3hLUG9xMzhqeS94YmZhMW5rNS9MK2pqU1k2MTJmZG04MUhXZy94NmU4anhQTk5rek9rMjZXU1pidms3NksvYXl2K2xzbEcrQTVadCszdDc5elh0SlAzQSt3UnAwYVo0NWhUL1p6ekdKUElpelY2K0pUM3EvSytVVWtvcHBaNVRsOXJuelhUdlpTLzUxcFRySUpld1lYMGJ6YjVyK3ZmVVg3WDJlYlUvckRuVW1zbHN6WHFOMHY5OWJTTy84MGZmL0V0cklheWI5UE5yS01zNTZrZjg0ekc3djVUZTZIcVcxeXl0VWI4bTdtek5hVmJtdjRyOXN0ejdJMS9XUFBLYzlzSXp1YzZlYlNUM1hqbG5EWmQ3T1Nhd2Q3TW12TnM2eTVucmlYV1A5V2JXbXZxNlVvWDNPdGE5VEN0dFY4ZjBHWkJYWHFNZXA4UjZKZmRKbDczdXBUS2ZvKzZYYkcrai9zOWFHN1ptUDc1ck5QWlh2TnpITGVnanJQT3RDVDlXTCt5WFkxNy90eUgzSVJCN0dYWE10Y3EwVmFiWjh4clp0LzhUUVp6Ui9aSC9SMlUrUjMzK1A4WC9HWC8yL3BCMjRweTlHWTc0TS8vSldCTithcjM2bkpkN0F2aDZWS2YwUWJkUFhzL3l5ckRSUGhQM3N6OXpuWG1QeW55dXR2Qi8zMGNwbjFDbVBDOHgxakYrTXBiUm50ZUduMUl2d2hnMytJOEFHOU8rRUhOdDkzOGZjM0tQOHBqLytYOGk4eWoxKzkzL3N6S2ZxMlArejdrZE8vUitrblV0OWZFcGZZTy9pTXM4dGxYNE1idG5HTGJrL1RyblljWnc0bUxudERWN25mZ3o5eWlQbFlOL2EvRWhiU2R0eXA3WnlQK2pNcC96THNoK1c5WXBmVWZmenJwaWo5RllSZHhNcitmWC9kbjd3WnB3d3BicWxXSFVnN21rK3pmbjh0RTNHTS8zNTBaNTlURGFRTitMVEJzVFAvT2VsYm4zdFV0b2FiMUFQYjcwdjFKS0thV1VVa29wcFpSU1NsMU5PeEVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkdSTytRZmg1ZU9hdGs3anB3QUFBRlRiV3RDVlByT3l2NEFmNldGQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQjRuTzNXNFdtRFlCU0dVUWR4RVFkeEVCZHhFQWR4RVFleHZJRUx0NlloLzRvSjU0RkRtMC83NjAxc3psT1NKRW1TSkVtU0pFbVNKRW1TSkVtU0pFa2YwWEVjNTc3dlQrYzV5N1YzOTcrNlQvZHZYZGR6SE1kem1xYkh6K3dZL1N6MzFMMTFGc3V5UEY3SE1BeC92b2QwNzdKamxYMnpZWGF0emZzOXRYL1ZONy8ramU1ZnR1dDdWam5ybitWNm5YMzd4dG0vdWw3VC9jdHp2dTlmLzlmbmVYN2FQOWZzLzMxbDIzcnUxKy9idHYzNnpQZm52LzIvci9vZTEvZXI5MEN1MVhmN25FWFZueDNYYTVJa1NaSWtTWklrU2ZyM0JnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBK0VBL0N2bXN1RkxhS21ZQUFDb1hiV3RDVlByT3l2NEFmOVR3QUFBQUFRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQjRuTzE5Szdqc0tOYjJra2dzRW9uRUlwRklKQllaaWNRaUk1RllKQklaaVkyTWpJeU5MSmwvVWZ1YzdwNmU2Zm5VLzlTSVduUHBQbFY3MXdtd0x1KzdMbFRtNTMwMm5nRGFzNUV0eHRkR1lJZWp3d0p3WGNVRmF3RGZoWDdEODJJZDRJRUtFQUcyQ2h2UW5pVEJkOTJUMmJHRXdmSE5mSFA4OFVOdkFKV2IzVUVyMVhFenRyNXNUeFVVNEhpZFFPRW82VER3WWJtdkt6LzNDUktnM0ZRc3BGK05BNjgzZ2JoelhKM2IzcytZWGtKc01TbjhReEh6bGRJUER5dlVhOXNvN2taNVRpSTQ5WlprVUVQTVh6a1d5TkkrVHdZd0pteXJOTGlQU1cwci91N3JicEIzN3R0SEY0OXl4YkQ0alpuZ0FUeFJxb054Q1EvUkZBa3JyNWV5aFVpVGZRejZvYTdCWmFHM0hYOXhqN211Zm42Q1d5a3VvelZqZzRrMkxOYjZ1TVhBd1lKdERwNGRCSFZQb1BqdnFEbHdYUGpUL1R3dkd3OHZQN3o4dDdoT3hEb1NucE5Od3BzRmNDbTJGU0FWOXNTY0xSelZIakp3d0NjUGgzVkxjV0FDdnJUTlg3ZmcydWJBSDlVdnVKbjdOdncwSFR4K0FJVUx0QjQzTjFQcUc0SEg0VTdkMVVKUjErSFc3ZlBycDZpVWRVM2c5M3VQanZzMXlDVXVRcVpPeVlvTEdHczZHQWxybTA3QXZHMkJPZGdQL09jQ0txZDFnVlhGZkRLb2h0a2xPOUh2RVlHYnF4MjRYVWJoWWRlU0tjOExxbEpGSlVoWFl6Qk5ad1BHUHJ2NEtTOTBhV2lUWnBqMTFRblJ1RmlHUHNyS0hLZ1N5MFhMeGZMaktSV1cxRHdQTE9rMjluTTB4ZUhBZjlZMW0zcmdZdkEvcEtKS0gvRGc5bHdiUEJsUEhFMGxUeU1vTitRMjREcW5GajBKbmFycS9kT0xCMWxCby9mQ2cwZ050cXNJa0V5Z2N6YWJ6Z05OZzFqcXlQbENZMWlkSnNlWVNyMFRkQVJsdXk3SzloTDhxTThKTXk0WWFtVW9sTTgvMUR3L25TMHg2U1J3blU4QlBRRDlmM2dVR2hLTUMvL2EvUWtmWFR4S2RNS2h0MVpubTVwZ2ZFa3NQT1M0bFgzZ1J2TU9VV3BkMEc4bFcxQmgwZjBCaURiOUdGZ1NXYi9OUE9FWHFqOFFxRmx2YUFDQVJwNFgvREEyTitHQnJSODJTa2J4bDBkYjhJVUZkM1lwbXM4M1B5d2M1RUIzamdxTkJtNU40TWVtM1JOdHpBWEthejQvOWVqSlROcHE3dyt6RlQyQTNRL2FKWGVEV29ocGVrWlVlQWFCRVBTRUpCR0JyMnRROWppYlJiZVFiZkw0Q1dwQlQ1bngxTmY2M29Dcm5odytmdjZTaHVYYzROaUdrYm9HNlVJNStyWGlDWVlMMXFRQ09GV3RxMHNjRGtQRGRyUnFZdXNQVEF2bzVlZER2QUx2Z0htdkJhRUw1eDZOTzZSdEYyb0xVQzdVQlNDWCtPUHZSR3Z4RmNMcWQvNmhWZjlGd3NLQU0vVGNxTUdVa1pXU09IanJWY0NGU3NyOHVYTVNqNk1TaVo1Y2hMTUlEdWpKbjQ0ck93WjlCd1J6clJoR0VPTWRVU2dlUzBtdDd2ZW1XTjJiaE1hb0Nya3hDOHY2L2l0TGovcW82R1JZakI5ZE8wckVvNDd2WXdpSWVDU2RwMFRSMTdmZUR4Q2VvaE5ZWUduWEhpRHNxT3ZSRUVCc3pJLzdjbTZ3YlNTQnFNWmUxem5PaE85NlFrZlBucUJSUFJYR2JtWVE1R3VFUk9yMnJHVTdDanlvL2ZnV1lkUDhQaXkxNHFLZW0yckc3MnVITUVLZlczQW85ZUlrdngwQXVvZkhvSkhiOXN4dy9UUU1ic3NaeTNGZ2xGakdrL2tKK25iUHRmYm9HTmt1ZVBWSWJvejdqVzl5bjBxK2dNODFyUEhCNFA5STRCeDFxWW54NnV1SGw0OExadUNuRmd6dDE5ZGg3QmlWaG9sYldoY1pPajQ4eDAxQVNxTTU4d0w5QXF6aUpOTnhYUlVCb1FCOVBVaUZGZ3hyQk5EK004YktHTHJqci9ucHNycDB2MUdUUFgrQ0FTd0pOOGJIQnJYZnUvM3M2dWR6RGNRK2tPT2lNL2kyNzk3Y05sdW0wV2VWcUpjTVVreU4ySTJxcVBrUnJUOFh0eWdNalNaMzNTNDNReU4rUW5zSWdsMnYwd3JYNHBkVjFGY0NzZ3czbWRJeGYycHJmb0psbEdOSHU3OXlGc3ZIK1IvUTQwVFlMaHNTUGZUTFM3VGM3dXNJeFVEZFY5M0hzVTBTQS9zdzVZQ1FBK1A3N2Vqa3ZERE9YQWJhOG5oL2tQT3Vkczl4MzA1YW9ncytJd1RHRFlPRWpPQkNSWmNKbWFVcGxZSzZKbm5ZUVgxMDVUOUMrK29MV2V4dEtNSlhTWERoZ2NteDhvRHhDN2g4dlRLWEsrajk0Rnd5dC9ZZzdkNHBrR3pjT0xmV2RHd1lCUnpCUUZvdVFyMkFvKzhZQkpWbDhZV0xqWU5TVTkvMGdjYURiVDVrbUVtQjZmNXMvdlR5SjA0TllZWmt4S0pITTdrbGpZYThJNnNwUCtpOHp5UUZBWE1mSE44SkExODFQUk95N1ZrY3gwSlNJeTFySW5GSFVDM1FaUkwrSXVkbXJjRUl3dUVsMXFrdHo1TXpIamZxME9UTXlEalVUVG1aR1lIUGlobUtMQnVzNk9SZkttNDdTSUxCK3NaRkZrTEdzWVlkMW1Oc3YzNzR6dTZ4NXczTG5WdURqaTl6WVo5bnVFa1ZGMFVJTXVVc2VnUFNNZG9YZElFYk9wSnJUTWJUNTg3QkJxSE43UnpJbVFnUDVhT0xSeW5tSE5SN0VqZktiL0RMeFc1a3FQaWs2TGZ3NFpWN1FITDFVSmcrRU1acnduZU1hOWU5dnFFTEk3Z1BhMWdYWm5tUkV0WkZ4L2VheUVHcHpVTENPY0oxVFJDdzI5NDBVRDI1WHdUVGJKS1F4bWRYajY3WWg5MU9sUlRWSTVaZmJwbUhSKytrY0FOd0N5eGFoUjRTLzFWMW16YklrL2ZEVnFhYjA3QzQ1VEJGUzVFM0tueTMvUmhkcjN1ZC9EYzFSbHpwMUxhNytucFIyQldnZWlIaGdzY0hDWFVWU0lBKzd2L3pwblZ3bXJMYTl2VlUyYU83YnpOUUtZajR0RnZnWHRVMjQ5YmE4K05nSUMyYVpDWVM0U285dGlYRXdNcG1XWkk4djE2U2c5aTNZRjgybmFqZnlIeG9IYmpNNndVejJLRStnSVF5SUJsUXVoRDZjZi9YTndjVno0NnpDLzNWRHZ3c1RuTythcnRHbVQxQ3RZcjhZQXVvN1lHemxVT244dllFYVk1Vmtpa0JVdW1RajBCTXhkOEcwcTZFaS8rSkhRSzN4NmR0WWp3eUUwWklrMUp4c0xJY3c3bEd2UjdsNC9qM1dCeTZhWTNranJMMVQyMnNSMEg5M1JDMzlOSjlPcllxR3I3TEUzVU14R1lGMkRvZFFNcXJVa2laTGdQeTJlK0tzRGJDOGJ5eHd6YU9hcERsQWFkajVrZFBjRTh0RFJENnJUWWRTQmZTL2ZyY3luOUxuY2xLNXR0VndNN3NGanE2U3NlRHZwMksvY2wyUEdkNmp1T002QVR4SVBIL0NERkdLbkZ0bVMwN2t3MUo4bzBVQURjTlB3UGVIdUpQN0NoWmNnM1paR1hIQ3MvSlJnYktGdzNsbVFuUyt0R2wvNVp5eGRoSWxoQWZ5OEZoN01mSDI2SG9wVDRZeGhBQUxLR1Z1Szh6LzRzYlJPeGFDSXU1UmZIS3hxNEIwbkZ4OE96WU4zQWJnVCs0ZzhpTTNrdXNCcEQzeFNVT3lLY2tnVHNQNHJ3L0h2MVJySElZalRhemNGQUROMkM4WVptR3VPbGVQWVFIaFAzSlV1ZTJYeGVHOVptektXMmpoTWMrd0VRekl4N0Nvd3k4WHljTjUwbit3aDNKclhVUHpZdER3Y290VW8xdUVHWGpyNFN6c3MvekgzTnpsY0R1VE0vTVBNaXRMeE8xNEJ0U0tYeE1kRjh4dStueXdUeDE5WDFGQ2tUSWVtekM4U1FVU05NUkRpdnZUZ2dkWHhVeTdMOXpCMk1CMjY4dDhuSklrVll1b0JtenBZajBHdi9PMU5hUEo0Q1I3NHlaaFNoOUMrQnZDYkx0T2wzb3JLZmJOcWRHYUd4M3NZYThRSXpTZXNaN05ycFFYNWsvREFHMkRVWHJHOUxkR05Cb3M2TDIzN21qZzhOMm91Wkxxd3d2KzBMcElrM1MvckpvTzhEWDhmSDZGK2NFMExHaGI3L3JLV2RTQW0wZ3d5U3NOYjhzSUpSRmczajhLRCtxT2hPMlo4QlY2N1dGRjBhOE5KNlo2c0FnQ2VqZ0Znanp0ZCs1dzBVMGpJRUdJWmF6Y1Q4UWJPU1lCNUQxUWE3MURvaWZGbGwydE81ek9tMVNIcW9vUndmL3NGcmZlZHBIY1lRcmR6QVJLVTU2Ky9ibjRYV0lXZlF0eFNhVnA0L293Q0tpV1JBSlBTZEpodjNPSFlNNDhMZm9HSHU3bVcySUcwd3Zmb1M1anhtRHdpSCtqOGY3L3k3alF1K3U0TmpSekVFOXFKNzQ1N3l4V1puTERIeDZCUFR3T21hSkd5UENySDl2YUxreVdHcUIrTWU4U1h3eDF0aHBNeE5CS0h6NXAzWVFaakhGQXhPbDFnMU9TNENJbWt6QXphc2EyaTZmNjlQclA5SnkyVjNEY1VKVG9GNGpieGJ5L2k1c2dDVUVlZ0xpNG9HTERhL0U5MW5TNDM1cGlPU1VnMUN1QUloeEVCN3JkU1kzS0lRRkhQbFZPMElDb1pKc0lIcEc2M2pYamdhemdhS0xUWnYzeS9JTExIeFFaZ3hXOWRhZzltdUNrU2ViVHJyMFlzeVVMNkVrUlU2VnVhb0tTQU5CMTJuZSsxRUxQWUoxTFI4dlZPWlJRVVE1azZPbzBtZlY3RmZ0OE9BbFdWcnZybHlBbjlwaDFLV2s0eldRVDYxcWNxZ1B5OUh4cWZoMUlqbmoxa0xZZW5DRHpLeldkbXlscld3OUM0TVFqeDRWeWJoWjdPakhlWjhWM0w0MWRBUDloYWJTRVF2WGJVV0RnWHFlSy95cUhlOU5HN0craXo2b1RMOXJ4ejJMY25JTU5JMEQrZXpxcC93VUwyZjlENXBGd0hJUy9zQitVSVlZcG01QzMxdWdybHhuV3hWN29hdUhrbWNhbytOWjJ3TjJVcDlYSnh1R2h3cDdSbVd3YlRIdjNnR01ld3NDM1hlK0J3Tk0vOVU3a0IwM3FDWWtrZWYrZVBwajJ2akQwRENmQzRHT25tN2Q5b256N1NZUit0cDF4VUExYzBQb0ZFUFZzVzJjOFI4NFNCaUQ0MlZtOGUrNXhuUU1rczQ4VUVwYS8vU09zRUNEaisrUStjamMvK2dkb2JzV05KMUxmSzZQSTJBT0YzMFhZWjlyRVZKTzR2K2dKNWQrU1ZVaHdtdnlWd0dBZ1V5TW0xclg5VVNZQkU1TGxjR2xCZmZNb1ZYakJneWpuTS9FOS8zZE83U2FaOHdTNzB4K1lTaGQ1YS9lSVVKcWR1Z28wV2J5eC9VZm83KzU5RnkzODBMbEJYMlNRWFZJOTFLaHBLQVJCczRDQU5WbjYvZVk3aHBOSCs0THFEdzNod3hQaTdjNnlPM0tXL2R0Tm5YdGR2YU8zY2M3TTQ3bXRUM0kvTzUzSGVtbmQ0eHVIdWo3ci8vNCtvK1hCS1NrTTNCTC9zNU5vcVMycFlPb3EzdnpMZ0IwQzY0aW9RUHpiblNhR2o4VDRPdU5aR254c0dMTVF6YXo4ejJ3eWtVSnN4bWdIcTBlMVE2RkxJQ2xHOUd1VDhnS3NwejFNTGxvL25hSHkwY1hqNUk3SGoyNjcvVk5WaVdsRS9iM204cXFpSEw4cHdEQTVNSTBuVWdZRFIwNGN1VFoxQVpMN0kyQXlYaTY3VUVjOURyS01nM2FFV1hBTHFtc0FkZmRuekJPUEdlZDYrU0QrSmtuaUtiSzdzMDJvK21ISmNIRFI4d3gxdGEzYlgzdW9WNXFybTd0MHIzVFUvMHdERU42QVl2SDdVeFloalA5bk1oVmcvYUVUVHRlQmVMK1hoVitXR093dlk2QUFXRUJHdWgyQTBkSUJYVWk0ZWNOTVlyemEwN1hTLzFVZ2o4c2lObm5jb005N3R5T2hsaDlOa05DRUZjMjI3c0FrRWJmRjZoYzdqT1diWHMwSVYwNS8rRzdyZGZjU2pSdTZSVFlFelZLMDNPRWQ0TGNYZ3lxUkovM2FLZ1BnbzMwakhyMmdydTJvOS85T1ArVjRCeFE2NVJkbDNxZEYvRHp1akcyRzNpbDRuNFhBUHkxU2pnalk3NGxnYysrRTY2M1kwWjdaUE9YRzkzZkF4MjZ2VzhkOTRoQWQ4VXdpVkZ6VUsvanVSS2FYeFhNZ2M0Z1B3Z3plVUl5eEpCN2ZMNy9CVFd6cDdpSGZjcytlSHR4S0dHL3N0dlJnbUdoUHdXQWp0RCtVWk1sOHFmTWJNR3M5alQwZ3FUUGduaHRWMG5YaG9CSDdhK21RK2dhMHZUc01STHFFcElJMnhKcjExSFcvWXd6YVVwb0c5d3N4LytBK3VQNmlScEx1cHBTaVBmRnhQQ2lGY1RDeVBiSVR3Rmcrc2puaGNxeXU0YVBQQ0h6alZzUW5yaE9kOW4wdG1IRTNQaTJvbHFBanNCNGlWeFNkSGFhQWRKZVdrcnQzV0ZjS0FIS0hzaGFtVkJGbG8vci8rNGdNWXFhM3FNRm9XaU80UGVkN0hrR01QZFRBSkJNSWNoNURzMVJBMUFQeko0UTdTTlNRTk94SmpTdllaODVFQUluTXNrQm5zU0w0TFpKRmF4Rnh6aFl5ZmhKY3RYRUNqU29FNVlxZVo3OVloL1BmNHZMdk5NYUx5T0pEWGl3M2RIY084WXlVbjRYQUtxTEFmWGlHZGJoVHpmUDdhSm83NVBWbUZXTzgxNElwMnNFOUEyN21xWGpweWprdnFBc3BZaWZNaGlIL05jcHowTUg5em9vMlpBN2x4eFJNejY5L2pUaEtmb2xpUG5VWWpidUYwSTRBZjFjb0JRZnN3Qnd0ZldheWV5clpUenF1dTFUNmJrUWtJTFk3Tm9yMDJwejhNUndqSVM0Q044bFBDWVpkSHN6UDR5akNLeDhUZ1lwY0RjUllwblVBbi91NCtrLzFHR2thZVJFRTdWWGJBaC9raFlCb2Izd2lGaVhud0xBV3RvK08zWDRuU21rYTI4REtTTlg0Y2pOVTVwdXJtTlN2WGowbEh0YndITllkakdrckRrMWlSRmZyQnFzTUV2cEdQWEJHSW9SdHRXWk45bytuZ0JVY0tFMWg0dTQyYlNrYkJvenBWUDhJdGlkNmt6dXZZaFlrT3FGNTUyclcrRTFiZmFoK0E0TXVyOVJBRDBpZFgzMmtjWnd6NWdxZUkxaTl0V0p1dTdqbCtNamFVMHJzL2xBdTFvaGtBbit0OCt1Zm1yZzBsbVUzYXdWR0pHaHROSWtIajgxaXBXZ2JRWjA2bldJWFNDSEpZNUFqdmZkaFRvT05HZzQyNE80bUtHN2RIWHNGelBBTy9vS3pwRlBwREZCTDNLTHZ3UyttUVVLRzhZUnoxSXFOY0RIKy8vTDdHbmNKbW9qQkZrZU1qcTZKRm9JS0dHdFpPWkEzejRuZWdxZUZBYUUxMHdRcksrenJOc0NGK3VIdHFtOU5scVEwY0E0ZkdBYnhqYmRJZ0xsakZnQk1kOWZnQTk2QlNjUURlNUdMYW4zdTlHUCt6K3crbGhlQXZJTFFUby9NUWlpQnp2WXpHZ3ZTeGllVmtJbjlRY00vSFpQYmhJZkdjOEVSbFB5Z3J6SkRQVUd4cVRxc08vTTNsRjdQV3RvTjVuQUYwM2xyOEIzV0ZINWNQeGNkdS9Oazg1UEwvKzJMc1gyMnZHNUN2U05Uak8zelVoTFV2REpiSXBMbGlLYmNSMFA4cFFlaVY1WDNBU3phSUc4TVhkMCtSN2pvQXRvUUFjQ3A2elJNL0JsRWg4Mi9rNThscElYdHNHcGkwazdlZTZQOHo4ZkF6aDBXd2FEVytraGtRdjZwYlVrTEIvT3JreXR0MldXSW84RmVxYmxKVW5laGtIcWE5ek1GeEZTNUd3aE0zWDZPT0RhZ1hrVDMrcy9FMStlVjhYcHZTbURRV0pEMHZYcDlVLzVJWEo2djRSaG9xUTFVN0hOYnRhWG83T0lFU1BDRkR6OU5ETjVqOXcySXFvVm9OSlMvZXJSOU4rRFE0R0NVUVRsdnlZK3VGdVB2Q01LUWdCSXpjZTkzM3Qyb1dYZ0JkZHJUOFBYVk1sc2NTaVBWVWdEOE0yMWFJOFBETHZkbERnUXVpeEFkTEMxOXNqRDFZSk0yM3R3Q0xRWmxmd2ZpUy9ZS3N0TUlvMFVaRjk1REIvdmY1OXJMRFR1QzBmTWx2M1JZa1ErTE1IUExtOXJFaUw5UkR1R2ZEZVdXeTRWSExWRTFrUHRGMEdjbnhIa0k0bHB4K2JwYlAvOHI0blBuNkZKMXF6UUZ2SUk0dlBlSDBTL2NiMWRLOTRZWlVVSmxmS1dYNnN0TGFDWmc2WUwyckJqcVJ5YnMram5nRjc0djZWTTlCS1ljYkV4ZmhIckVFT1EzME9ULzVUNG5rT1RPYUdPQ0dkT2pSSGs4LzMvK3hxVDlVaklCRGhDRm10bzZ1ZXJTc0dPSTFxa0xXRDZWb0Z2cDVsTnkyRWdPWElZRVJja0FCUHUxYm9VQTFvdHZHanphMmp5SHdvZlAwT1RKTGNKKzE2VzhYVEVqL2UvT1dRb2tUZ1dVTjJGWGRxMm1xUFhkMXNTb2dGM2JCanB6enUxakdTVjFHNlgxNGIwYjg1THEraU5aUGtNU0JxbTNvUW9SUHF2aGErZm9VbHUvRW5NSUUzdjQveGZLQUQ1Z2J3T0dmQWFuSklZN3ZBMUtUWVNTQy8yOWN4WnpUR0h1Q0N4VVZMbWpHc2ZMRzdMMXZ0WVNMMnRCc3FKOEE2Umc4ckxQeFErL3hpYVpHYVRCQUhuSmphemYvejh2VjVGZnhWS2xtMkxFaFNxNlhUZXlIdWxRNWUxbTczTVE2d0NZMkM5N3Rrd3lvVjJIalVkdzhKNFBPU0Q4MXc1V1FLMzNmOWo0ZnZYME9SOU1kb3dOaUxYdENIV2ovT2Y2em5xWkd3Nko1WU0rekZJSXNFOFNFNjJBaVpkQzhRMXovYVBOclk1eHlFV1NlMHhPeUtReVI3NDdsbDRRYy9YU3kyWGVmVi9iWHhvZngrYURHUWNEYUlpWGZEUDEvL2I2N2tJVmJrdVlXdXJaMkppZHpJMHJJMm0vWmlEd0dvdHVTQlJEcXJNd2dCUFpKWXQxZ1RXd1RwT2loUUpaRWVubDh1bFRkbitwZkhsK1BlaFNRbFcrRWM5czFmNGZ5RUJjamJwbTNmUlNEUHpzUmk3RnZ2U2NDTHhIZGZiaXhjTUFibWhncU1qWnpZcWVLVTVIL0N1aE85cmUwaVFyanhYa0tqMkNPM2NRaFpSMzQxUDU3OFBUVllFRWZtRmUwdG85WjllUE14R2Z4V0pWdzBkUE9TMVRNQ0d4LzA2ZHlSOHNHOVpnSnd0VVYwOEU4cXJ6ZG9oNFNIbG5ybjc4RWJQSG5GQUVIMHpacUZTK0NVZHU1aU5ieFhFdnc5TmpxUFFCbkt2UlBYeThmNFBLOHRPZk94WnpWbjhtWTQyL1dvYmwzSURNZEV4RldzMCtQcHBKMWpKR2Z4bWcxdzYzR1d1M3J6M0lOeCt1VkE1bXVYU01lM2ZqWSt6Q3ZZZmhpWTNqamhSb1dGd1pmWEg4ZStHNlBhSU5TQTViM09tVGRwNWx3bjFTd1F0MGR0MWlxUjFGam5tM0FkQ1pIZzNTSWRXbWI3VzJDYW1YdytvcjUwaFEvS2piQUVZWjB3T0lQOHdOSW14ZjdkNVUvY0NwWDE4L25IWnM5NXIwUERzQWRuNnpHS3Vjem9CWnJvbkw5RDhnc0FPSGVPOHMwQWgvbDBsdVlQY2VpUFhQY1JLcEhQSFlET1hmMWNnWlhvOGpWQkpSL0lQUTVPQ3J2c3dxRURvTk8zSCs3OExBOVhlSHZzMXVBSTFaN1dWZVA5amp1MVV2MGYwM1B0VkdmUWpyMUxVRzBORHhqOTBaSGpISFBTRytFeGdqTWFCT0tmMTYrbGtaM05VNGo4UFRUWjlMQXdDWDUyYWt5QWZsbHlDYTltc0JONzRubXgwem9Sc3IzT2dpenB0SWpMWDR6VzNZZ0ZsWEYwSVhQSU15NXZjNUh0NFlkOU1iN21MVWROL2JGQjNTemVON09rL0QwM3VwWWtBWG1FczFSOWYvbXhpS05UQU1ZYy84Yi9yZ3didDh3N1BNNU1kaE4yTVhqZWkyL1k2OEJDRnk5NkR3OE5ldW5WenJNK2FjVUs1T0NyQmplaG9nRWQ0akIrd1dmNFBRNU50TlFLRFRYN3RlMU1mWjhBNWJ1aVJVbGlXSFVOOVcvbXJpeGVmYUFkUHpuUkRtNWN4STFjejZBY3FtdnM2TzcwbVh4aUhSeFRiMjRLMEpweElmSW5kME9EQjZEV0NUSkdKL3p3MHlZUHY4bHhpQmFiN3gvdS9oaEdYUkQ5ZFprMTdWallxZ2xQa1BJZWIyZHRsbVkwd0xLQWhxOWdOUWJUTDJMNjg1L2FGNUtIMmpFdTRDSjl0cEp4dG5jSEczNDNEY291ZHZVLzNiME9UcmFTYS9Md3lpUW9JSC9kLzF1RWpnOE53SnlTMFJwREx2MEFoMG5zd25oZFdoQkdtV1ZlcDJNSnZaYTBzcVlvbnFvdElKN3EvOTJEbmN2MHh6dUxhNkJXREk1ck52dzlOVWxPV0d0MFFFMW02ajk5L2tscENIZEJveEh5V2VMSzNTUE5BRFRiYldYcHBWeDlzaEhkUkU4RU1FUnpoZllKNWNROFhjK0N0N0xNaFlLdXpIMzU1STZJdFR4amRDOVdScXZhM29VbWlXSlgza0czV3l4RVVmN3orQi9Hb3pIblA4WUhSOVo5ODcvd3FNRzlBb29FYlhkdVRpVjRvWUZBUEVjcHg3YXZDZzNhMnJXVm10d0hwejNidUo1cFBRVDFDZ1BzZWpJUGRnbkRrNzBPVFNpTUt2S2dRRE5hZW5vK24vM0dWNWpXeERWTFJ3KzRYdW9EcmdYZFdKdTJGS1F6VXFZUFpia0J3YisrTjU3SmQzY3g3TTZ4MnRqb0wrZzRZeC9xMWh0N0RXWkhveldZcVlWZnYwbCtISmljS1Ntc3dicVdKb3E5RXVIam9qL3QvQzVSY0wwaVQzTXpKUkF6aGRRUE9jUTlhbGx6YWpFY3I1WlcxV0F0LzdGcWxWRDU2SnhFMytWR0hnWEVSbTRTNWpyNjV5WXp0QWlOTDRsSXU4aTlEazdzSFZ0YmNaOGRSMThpc3FPWHA0L01mWEF2aUVPeGd1TGMvWk56YkZ6RjVzNVRsZFUzYk5zYTFPRnBZWFRqRCtGNXdoYXAzVWVzV1JiN25EU1lJNzR5SHJURVdabklUVXBvRHdVdHArL0huMENRUVI2UVd6aFBUOE5UZG5KMlAyOGNCMEpVWUhveXY4R2d6SjRIQXJzTDRsTGVUQnNkN3ZCd1VBYkdhSGg0N085WitScUQyUys0ek45QnJtaFNXekhVOENIRDJ0V1RLanVYb2lDdERxSDhabXFRSW1ReU5VdUVQa2ZkTmVybkdqK2UvTnhzcGJnRFNnQWlwNWdUMjFDQnNSUU1PUngwYmVjMXN2WWM2RXN5Ui8wbU4zdTJTYngreFF1dzhRVnlPakpwY05vOWs4T2o5UnFiZ2NSL2d6NkhKaFZHSlcrSzFNVHhycU83ZFRzTSszditYVXlWODY0TE8wSlh2Y3dGVWRjWnNaY0gxa21LYVFYMUJ1T3ZtN1JhZXpiVCtNZVA5R3pEQVFYc2Z5VXY1azhxWUd4VFR1cngwYXRFSDhzZlFaQlpNU1QxeW5na1JENkpRVW1meis4ZnpYMHhpdUZLem8ra054WjdyRUd3L3ErS1FsSjRwSWJEV1c2dUpSc0xtQ0cvVzV3dDNhU1lDYTE2VVExWW9kRUJ3L0ZjeTAvZXlEdk43YU5KNGdVaVhSMUp1c2dUTmlZeGxFUVJEWXZwNEJkU0pzSUdxNlRaSHdiT3A5eDJSckkxUmhkWmtNamRjek5pclpKeFRrUnZKUFZ5N1JnS25aaXE4TU9tUkhRUGJvd0RjRGs5UUE1RDZ4elVvY29SYTM1a1RlRkdSRUZvV1BnaWxma2VnUVdVZVRpMzE0L24vYWxuMDNEZVgwcjV1Ty9wdVA5TzVJbEMzcjNqU2ZSYUh0NVVhRmhBZEwrQk81UFlZQU41WE90MktKclNYMTc2RzJUcDRJZ3pxcmFYUmd4QTdoc1JTNXhUdGpwUzVGd3lCcm1Qa200WFJtZld4OGR3Vi9mejlGMFZzYlVmQ3AyRTlqd3NYYUFqeUZzS29Ra2RmNW5XRnM5ZFpibHJzcTYxR1dYTWc5RlhwdFNJVmVrMGJKc3M2eTkxSGJyZ0J6M1h0THZWRVdJa2FnOGsxV0c0VUhKckJvZllDbXp2ZWZiYlVxeVZZVHorOWZqSW0rZDNZSE82NEIwWnlhbXFpRVJpaUhZVTRpSnNMZVVIS3h1UVhLckZYRUFrUm9iTVRpWUNwMGhCSmtOSVJtUGNFa3prdnVhZDFnbUlwOVlGYXMyd1lPdXNNYytHOERya2dPTElJTmNEQVN2V2FQbjcvYWJTQm5JR1EwUE9ZU1R5UWE1M3REc0syRFlqWnBPTmVvbFBYZUpwYmkrZ0hzdFp6RG9DdFIwUVh1T0VXd09Nb2hnQXJpWmNpUmFPNXMwaHUxb1pCWDV2aFhFYXdDMXI1dmRrWkpkTE1HNHVTeE5JLzN2ODBZTFVFckt4M25kY2VYM3ZaTjZFY0hCSzVFQ0wwM1RDcldlMEc4YTVBazJaOW1LVzJ5Zi9ueFZCRmFxOXR5TnAyT3U5UnlCNGRpTDhFNzlMZWNrNityMXQzelBTZGV1QXE5ckdLTlJ3SWkyTS9vbW9mbi8vbEdKU3NsR2FkTjdXMWx6OUxYOUVhVUozUkp5d2djMW9vYjFRTmZKSHF3NU5jTFNYcTZKU1MrMmlFa3V4NWc4SDR4ZlBLWEFsalN5OFhDY3VuV1VmVXU5cVEvb2FORXRGNkptTWlEQ3JIS0N6ZjBYL2MvN2Q1N1VXZmNTaWFlUWVZVy9XOHNoeHhZT1Zob0RkWXhMemQ0SDRRLzhIK3BMNVNycVhRTCtiSmUyaVNhSVh4ekNLbVovakRHaEU5ZHdpWWp2ZmRvUHZWbDRpS2hELzYwK24vekxhUmRSSk9IV2g3M0djWEQvUDZQM1J4cXA2SWJlMHM1YUoxb2x2M1djTHoybTkwL3dhaEsvU0FGQ0dyYUdiYTV5NHlYZXpkdVQrSEpwV2NkMEhoVW9pMHZrYkR4TDdydHI0UlZXV3RncXNISmYyZFpNL0xiQUliczJuNGdZdmEvbkgrbDAxekp1YzJtVmliZHhZdEpzNGVGbG50dm9VektLV3RtVWM1a2F4N1k5ZUJ6TmFzeDc4UFRlYmRPNk9pcmVrY2R0N3crb0J1Z1NLWHpnZ0I3V0sxSGJrcEJMMDhnOWUremR6eGgyVmY4REcyRlIzOG5IRG82UGZuZmZlck1USDAzVVlqa2Q5WldJT0JjQldrY1JRYVhaZmNjNDUvSDVvc1c4SWxLaVljb1FheFFJTWRSTHhtODhQU3VVR0gyWmxtYzVRTXZjc3NxSVBlUHIvK00xblBITlNWRndnNzV6b2phRVZNck5lZFd3RlNUMlNMeWhGZVIrbWFRWTNMcVdiZmZsa2gvY3ZRNUVYbDZoanhDRzRYdHc3MC9EQ3Zmc1hnTDZ0QkR0M3lnUXFXUytWdDk0SUJzUkErWHYvZFYxbWljWVlpdFFFU0U2WGlQQmdJMFlaR2lyTE82eXBqQjdtOU9ocDQyM2VFZktUTm5uZXRseVg5WldoU1o3RGwyUG9CNXR6bVpMODU1N1Q4ekpXcXk4TjJualBBZGcxRVo1bU5hT2MrUGovLzhqUHBpV2lmV1VScmtHZEQ0eWdEeXJrUXdvT3ExSldOOU5kVHlRRzNocXpVbkh6b0RSRXlVY0g4T1RTcEtQRzlQMDlIRkpWUk16U0ZEV2JyWTJPenRsQnZjQU5VZ0ZsaGc1WlhLS00rSDhmL1FLMTA0MWcwaUdEd1RFZW0yWjV3bFFpTHlZVGpZZS9qbXNXd2JCNWNwRnM1Z21QN01qYno0bFVPZnd4Tk5tWXN1b3J5dk1zQUo1c1hwQkdGQnA1RDBOYnhOUGhwUEVUM2JnU3k3NkVqK0hqOGw5Q3pEVWg2TmVlK0QxdXFDckpmcWMvQnQrZ2J0RkYwbk1GdGlYWk95ME5melBGZ29JZDQ2Tkg4NG40TlRXSUlEWE1BRnRjVVVFVjR1NGJIMkljNzRzRDNZMWZCRjR3cWJsd0NtTlkvbWYrUDE3OTJnenBQQ1BXeE0wQm12aCtEd3RKU3p5YkdaZHZ5OWZNZEZlL0hiUVdXVzIzWm5FTUhoSWZxTldZWEtQd01UZGJrMXRsT2FRTy9qbGxZMEhqUXFCT2w1dFU5cHpRS2VjUklHRStSUE9TZU1IeWFqK2QvSEJNejlLWE1FQWpNVy8vMlFnazZmMlF4a1NKYTJVOGtLMHQ0OTJuTWtqM3ZjNWpsU3JqK2dOUm5wb2pJREFWKzMybGJVbm9uaGhpOG1nZkdSeFdlSTY5MmtaZDkyajZsUDFkK2NCK3ZjOCtnUDU3L2E3UGVRZmZYUzhOeXhiWEV4YzVyUUpaSjhIdytYbmp3YzdnLy9WelY4R0FzUkJ2bzVQWE1rZ0dwakxDTyt6V3ZCK21kVndNWGo5djh5VjZqRStqNDUzY0xnRVRUR2JWTkI0amhGdmhZWmw4NFBDVjhIZ0FUT0Yvc21ZbHdFbER6TVlhRjQrNkVWLzdBYkczZmc1aVRpbVkvTko3OXZMczZ2ZkxNZ1ErVFg2UFVsSFlnKzQ4ZCswM2dPMnVlT25ETjFuK3lIdzdpSEkxZjF2bmhjMnJZam5GM1hTUkdoNk45SFAraUZidDVxdzNYMS9zc1loZ24xZWl3VG9mTy9qM1ViN24yMXZUVU1Dd0s5YWpILzdxNzRuNld4azJMSG9QRSt3cFpsVkswaWFVMDRqWXJJWStVZlVCK2RZZHFzR04wblVQVSt1RDFVQzdGV1NqOWVQL1hqbytndmRkNnRUODNFakRHVjFoRzNLTytieHNEakJ1OXQ2K0xNM29PaTRHS2dEQUlmN0FXcmhEQll6aW9VcVBxUjdHaVp4K2JNT0QyRXd3Q3BsU1hWZXNhK1BLRXZic0VpNTEzclNJdk5MUGUxbytQOTcrKzdrTytVV0JiQlh0UHM1TUV1bVBJYnE5ZGxRTzJLNVY3MjN1dDU3emUxYzRMVGhFaGdUT1ZnVHl1M3NkVzdZTHNlWGpwTENGREN1YVpZckl1b09vSWJHYlcxK1hCK0NjT2hOTEJYQ0RYbjg3UDdlUHJaM1VzRU02OHQ3aWFkeTB2RnZUZk05dWwrYnJ4N1U2dzdlSllLSnRqRFlPTzArSnY5VTBSUlBDUmM4b1pvbUczSS93ak1IdGpEY0hJd1BBbHRYVkVWME5DQVJPbFdvQkI2YzFhTnJzczJJL24rM2o5Q3loYUpZZXh0ZGpuZDREUndPR0tTR0lHYUZSaU12bitQQ1QzeGlwandMem1DRzVyOTdPVVgvZlhrSlh3cTlEM3Z5TjdSQ3RDRUR5WkllTEgvRk12dkdmL0E4T1BZUGc1bEswdVhnZGRuNC9EbjVuR1ErM01LejZaN0RQdmd5dVZCZjAxeHV0ZHBBWnhuWWVFeEhDbWFpY0tjcTg1dGJ4R1JNaXNLWDQ2RE9Qb0U3cWZsemxIYmR6c2szZ3lrcVg1TFQ5ekJwWnlZVWNpZVhaVnM0RndZVHRTRHc4Q3ErZmorUGZFZzV3WElNeEJuMXdtRi9xNWt3ci9QNDBqeEFmc2JnbmI3VERhWldXTnZiU1RaSDV2a25IbHRxMnZJUUFoeDdKUVhrZ3BQcjV2dGV2SWtTNnV4THdJa2RTMlBVaDV1eGszdEZPMExVMEN2UXJoUDk3LzlEaDVvMk8yemhHWjM2ZHhFNFI4M0NNSTNqVWkrVExRa1F1SGJMVnRJNWY5VlluUnlnNjc3UDFsL002a3psYUd6c2hpRjAyUUZJT2t6WmdGOTJwQnpHTTNCcjVhSHdya1hUNExOTDFuWXZZS3hCWDk4ZlZ6Q1RKWFVuTVZTMmNEN1RiZUNPYm5EU2R6T0hFZkczcnhWRlJibEZLYlczZkVBTTBwU1l1WE9mZzFlS1dPM0ZkcS9kb05JNVFoYms0cmVsQ1N4TnFVRStJSndVc1FaK0t5d2Q1VVJZd3NCOElCd2ZuSDZ6K3pwWHZwWGxKL3FFVGRwVDIwQkZLbGRWNTZ3NjVqcjVLbnM4d0hwU1pFRHJ3RWlTZHBOelQ0VXhYTFNyMGMzNVNQN1NaSXBlWlZxUnRINExzY1d4SDdndUZqY2dqRHphYUJpano2a291aEh0ZS9maDcraVRSOTJvVVludTFvb3JET082Lzg4bXh3UVZyd3RDV1NXTlJhRmp0MHJsRS9oQk94OS9jZERwN3plWm52YXpFcnhyTjFOc0lkVzZ1cHpOYm9oZ3poUlBXWll6Uy94cHphODlEZEttU0VsVUlqSVgzZS8yVSt4M05oYldpaHVmL3FSek5qWHVjZTVwYzRkVG56dkxXVkcrSzRpTitDejFYcGVZZUhRanRtQ3lKWmtHazkxa1NuQ3ozSzRoeUN3VFNSN1lvbW9ZNlMzdGQ4dmtQOWs5SXp1OFQzbW1kZDJINzgvcHRYWjJvR2FGTkpXRlVPazVFaU1VRTFSaDUvY2pRRzF4SjcvT0hjNjBIa2wrbHNhcDkzdUZUd3p1R1czWFEyUEIzdkwwN0JvQ0NOWFB1azlmT3JVcVYweC9zT21HRjhETVpwcU16TlBvbFVMcHBYYno0Ky8zaU1sYyt2dkZtODVzaDc1N2UzQUcwc0IwcXllMmRuZmNsMmZpbnFYUThYMGVaeklUOTMrT2ozV0p1SmdlYm9tQjVIbDBhd3BXd2hONDZHVlp6V2ZFTnU0UlptNzdPRk9pNUFiWEVscnNIb2g1U3hmOXovMDFJR0YzVS9CeTZXanpxdjZHRkM2N3pXdXN6TUQwVWpSeHlEWnlkNVdLdEU1ZjkxaDFOWHV1U1p4NHBFS1l5WU1qSFgwYlVaaVZhMWlHRm5WNnpnVUk2enNuR052ZWVyejhpU3p3c0R6Ulp6bEI4L2Y4SzJsVURsWnlJcHF1MnE1Nmx6WE5aVTh1TDBlOTRCNnF0bU0yZjNpVzhDMGY3UEhWNFFkenBlNjd3aUFKWGRlN2tZcW1RanN4VVlJYytHZE9COXFTeHV4bmxYUmt0MkNJL0NoRmlVRWpTV2czdzgrNDFDS3dTZzZLN0NPSWhwUFk4dE83UUlzMWdKTlJ4c1BTOTRiT3J6am5lVmx1WDNIVzZ6WGV3Z0NobmdLMVBiMDd3c2U5V2VBSzh2MEpUaVZnQ2grN3NyUER3TjJNd0lwSzdBYnlBZW4rTGU1K2pVaDJWT2NQbGVULy8rRnJ6WitZNVBkZ3R4VXJZZ294TjNTQUZHTS92ZGdkODliLzJQTy94Z2ZtdVNVczhEZDBQZnorMnlsSFhDcHVNWmE2RnFSWmdUZlB1SmNjK3BqdFFVQklKTFZpelBDK0RQS2ovZS8vNTRhK0hjZlZHUWVNRlZ1ZWtUQnB3dlRkdjgzZ1BFd3VHQlBaMExwTld3Y1AyK3l1WTk1NHFRQ0I3T1huajZRaGJMai9jWDN0cExlS3VuMDBEd1c1RHl6a21adnRSWlFsMFdWS3FtNHA2UUI1bVA1Ly82MFV0eEJja3VBdUc5Z0ZEVzIzY2IvN3pEMDBGSFhQU2FWOExQaTRIWTRqbjU0dzdQTWxNZXM1ZmxRVnpvazFsY25OOTVQY2VvOEVkcTk3N002Y2YxMWFMQ1RlNUFHdUtNZE5TQ3RvUjJBMFIvdnZ5RERuck9LN0xaekVJT3hMcGN0NStzL0x6RDFheUY5OW5yTnN2YmE1azJUUDY0eXFiYVV0OWZjdjF1bld4OFZVSFByeEE4RVFxaXVjdDhwckloZ3JnN3VoTEJPSmxmTWR4bjZYUGVqZm5HUTUrSC83L2tJQXMrNmxaQ2lYN21MTGE1cmhtZ3k1aGYveVptbWVUVmFuRHhMMWZaMUkzS2QyRUErVThndkpxd1NBd1NNOG5iKy82K0FVbGdtTWp5ZGRqNUZidjF1REhxemFUSis3Y0l5TS8zLzMvbEsxLzV5bGUrOHBXdmZPVXJYL25LVjc3eWxhOTg1U3RmK2NwWHZ2S1ZyM3psSzEvNXlsZSs4cFd2Zk9VclgvbktWNzd5bGE5ODVTdGYrY3BYdnZLVnIzemxLMS81eWxlKzhwV3ZmT1VyWC9uS1Y3N3lsYTk4NVN0ZitjcFh2dktWcjN6bEsxLzV5bGUrOHBXdmZPVXJYL25LVjc3eWxhOTg1U3RmK2NwWHZ2S1ZyM3psSzEvNXlsZSs4cFd2Zk9VclgvbktWNzd5bGE5ODVTdGYrY3BYdnZLVnIzemxLMS81eWxlKzhoV0Evd2ZkbWhtWmR5bW05d0FBTWlGcFZGaDBXRTFNT21OdmJTNWhaRzlpWlM1NGJYQUFBQUFBQUR3L2VIQmhZMnRsZENCaVpXZHBiajBpNzd1L0lpQnBaRDBpVnpWTk1FMXdRMlZvYVVoNmNtVlRlazVVWTNwcll6bGtJajgrQ2p4NE9uaHRjRzFsZEdFZ2VHMXNibk02ZUQwaVlXUnZZbVU2Ym5NNmJXVjBZUzhpSUhnNmVHMXdkR3M5SWtGa2IySmxJRmhOVUNCRGIzSmxJRFV1TUMxak1EWXdJRFl4TGpFek5EYzNOeXdnTWpBeE1DOHdNaTh4TWkweE56b3pNam93TUNBZ0lDQWdJQ0FnSWo0S0lDQWdQSEprWmpwU1JFWWdlRzFzYm5NNmNtUm1QU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh4T1RrNUx6QXlMekl5TFhKa1ppMXplVzUwWVhndGJuTWpJajRLSUNBZ0lDQWdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlLSUNBZ0lDQWdJQ0FnSUNBZ2VHMXNibk02ZUcxd1BTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM2hoY0M4eExqQXZJajRLSUNBZ0lDQWdJQ0FnUEhodGNEcERjbVZoZEc5eVZHOXZiRDVCWkc5aVpTQkdhWEpsZDI5eWEzTWdRMU0xSURFeExqQXVNQzQwT0RRZ1YybHVaRzkzY3p3dmVHMXdPa055WldGMGIzSlViMjlzUGdvZ0lDQWdJQ0FnSUNBOGVHMXdPa055WldGMFpVUmhkR1UrTWpBeE5DMHdPQzB3TkZReE9EbzFORG8wTkZvOEwzaHRjRHBEY21WaGRHVkVZWFJsUGdvZ0lDQWdJQ0FnSUNBOGVHMXdPazF2WkdsbWVVUmhkR1UrTWpBeE5DMHdPQzB3TkZReE9Ub3dNVG93TWxvOEwzaHRjRHBOYjJScFpubEVZWFJsUGdvZ0lDQWdJQ0E4TDNKa1pqcEVaWE5qY21sd2RHbHZiajRLSUNBZ0lDQWdQSEprWmpwRVpYTmpjbWx3ZEdsdmJpQnlaR1k2WVdKdmRYUTlJaUlLSUNBZ0lDQWdJQ0FnSUNBZ2VHMXNibk02WkdNOUltaDBkSEE2THk5d2RYSnNMbTl5Wnk5a1l5OWxiR1Z0Wlc1MGN5OHhMakV2SWo0S0lDQWdJQ0FnSUNBZ1BHUmpPbVp2Y20xaGRENXBiV0ZuWlM5d2JtYzhMMlJqT21admNtMWhkRDRLSUNBZ0lDQWdQQzl5WkdZNlJHVnpZM0pwY0hScGIyNCtDaUFnSUR3dmNtUm1PbEpFUmo0S1BDOTRPbmh0Y0cxbGRHRStDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0Nqdy9lSEJoWTJ0bGRDQmxibVE5SW5jaVB6N0JGZ0ZLQUFBQVZrbEVRVlFZbFkyUndRN0FJQWhESzFmKy8wL2hYRTh1akJVekVxSThDZ1lFU1NpUENIWm1FSmFack9leGo3Z0xhbXczWWVlTDVBUGNmZDJLckFzQm9ONWZURTFkTjFMejQ1b1VIeE9xZ2V3MHZmVHI1NDV2NmNuMUlTSXBCOW9BQUFBQVNVVk9SSzVDWUlJPQ"},{ name : "__ASSET__:bitmap_flixel_system_debug_interaction_tools__Transform_GraphicTransformCursorScaleXY", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFvQUFBQUtDQVlBQUFDTk1zKzlBQUFBQkhOQ1NWUUlDQWdJZkFoa2lBQUFBQWx3U0ZsekFBQUFUZ0FBQUU0QnNjMGZNd0FBQUJ4MFJWaDBVMjltZEhkaGNtVUFRV1J2WW1VZ1JtbHlaWGR2Y210eklFTlROdWk4c293QUFBQlBTVVJCVkJpVmxZOUJFb0F3Q0FNM0hmLy81WGdRMndyMFlJNndKRUcyelNaSkFraGpSZ2QxR3FkRkN5cjAxc2l4QUNVcVlJWEJBcnRyd0xudlZTS2V2WFpud0FWTXRXYmN2NjhQK3BTL0FmNTJIUmZ1cmtCMkFBQUFBRWxGVGtTdVFtQ0M"},{ name : "__ASSET__:bitmap_flixel_system_debug__FlxDebugger_GraphicDrawDebug", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFzQUFBQUxDQVlBQUFDcHJIY21BQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUU5SlJFRlVlTnEwa01zTkFDQUlRNnRic3FCcjF2Z25haFFQTnVrRlhna3BTS0phZUZhWVFWSGg1WWdWbEFiZjFJN1E1UVRnc0pmZTBlTkJYMkFwajR4V2RxWnV4QUwzUnRJZ0dLdERGR0FBNGg0Vk01NWl5QnNBQUFBQVNVVk9SSzVDWUlJPQ"},{ name : "__ASSET__:bitmap_flixel_system_debug_GraphicArrowRight", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFzQUFBQUxDQVlBQUFDcHJIY21BQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUQ1SlJFRlVlTnBpK1AvLy96SWdqZ1JpQmtJWVJNQUFRVTNJaWdscXdxWVlweVo4aWpFME1mNEhheUVLTENmSlpJcmRURlJvRUJYT1JNY2dRSUFCQU1xdGZ6aUhGZ2JoQUFBQUFFbEZUa1N1UW1DQw"},{ name : "__ASSET__:bitmap_flixel_system_debug_GraphicWatch", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFzQUFBQUxDQVlBQUFDcHJIY21BQUFBQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBQUlHTklVazBBQUhvbEFBQ0Fnd0FBK2Y4QUFJRHBBQUIxTUFBQTZtQUFBRHFZQUFBWGI1SmZ4VVlBQUFEY1NVUkJWSGphakpBaFM4TmhHTVIvZTFGWkdNSmd3U2FyVnNPS1dSSGJtcGo4Qkg0Q205L0JabDJ3R3NSZ0U5Um1GbHcwQ0NKWUxIZG44UDF2KzZ1SUIwOTU3cmk3NStrazRiOG9BTmdGZXhmN0d2c0ZlNHA5Z2oxb3FaTVFhVDlTSXQxSE9vNTBGdWs5MG1Xa2ZoS1N6TVRUU0xlUnVnMFI2VENTSXgwMHUxSUQxb0VIU3ZsWUNMMEJYb0ZodS9NWHNZYzlxamVzQWtkQXQzS3R6cHVSSGlPOVJicUtkRmR2T0krMDFOVG96RjVuYndEakd0c0hkb0JuWUp0U251Yk9peU90Uk9wRk9xM3VGeitkdjhOZUF5YkFNcVZzQVgrSWY4SG5BTlI0d3BRazlwRnhBQUFBQUVsRlRrU3VRbUND"},{ name : "__ASSET__:bitmap_flixel_system_debug_GraphicInteractive", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFzQUFBQUxDQVlBQUFDcHJIY21BQUFBQkhOQ1NWUUlDQWdJZkFoa2lBQUFBQWx3U0ZsekFBQUxFZ0FBQ3hJQjB0MSsvQUFBQUJ4MFJWaDBVMjltZEhkaGNtVUFRV1J2WW1VZ1JtbHlaWGR2Y210eklFTlROdWk4c293QUFBQndTVVJCVkJpVmpaR3hEWUF3REFSZnpNSTYyU0JTT3RaZ0tBWmdBYW9NUVU5SmRSUUprUXVjOE5MTHNuVitGeGFnanFQdEovbUtrdVphaXpxSkFiaXJvNWNjSlYyU1ZqTXJGNXpFQXpockRXL3liOURDeXdpMDhFNlJDelk0NTR4WitBUWJuRkxDTEN6ZWt3UnNneTgyUDZENlFrZUFUREtHQUFBQUFFbEZUa1N1UW1DQw"},{ name : "__ASSET__:bitmap_flixel_system_debug_interaction_tools_GraphicCursorCross", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFzQUFBQUxDQVlBQUFDcHJIY21BQUFBQkhOQ1NWUUlDQWdJZkFoa2lBQUFBQWx3U0ZsekFBQUxFZ0FBQ3hJQjB0MSsvQUFBQUJaMFJWaDBRM0psWVhScGIyNGdWR2x0WlFBd05TOHlPUzh4TnJ0VlFGa0FBQUFjZEVWWWRGTnZablIzWVhKbEFFRmtiMkpsSUVacGNtVjNiM0pyY3lCRFV6Ym92TEtNQUFBQUxrbEVRVlFZbFdQOC8vOC9BeGJ3bjRHQmdSRmRrQW1iU2x4Z2tDaG1ZWUI0Qmh2QUVHZGh3T0pyaG1FVUdnQjN1Z2NXZXB2bWtRQUFBQUJKUlU1RXJrSmdnZz09"},{ name : "__ASSET__:bitmap_flixel_system_debug_interaction_tools__Transform_GraphicTransformCursorScaleY", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFvQUFBQUtDQVlBQUFDTk1zKzlBQUFBQkhOQ1NWUUlDQWdJZkFoa2lBQUFBQWx3U0ZsekFBQUFUZ0FBQUU0QnNjMGZNd0FBQUJ4MFJWaDBVMjltZEhkaGNtVUFRV1J2WW1VZ1JtbHlaWGR2Y210eklFTlROdWk4c293QUFBQkdTVVJCVkJpVmZaQkpEZ0F3Q0FLbDZmKy9iRTl0RVlPY3pFaHdRV2FHNkFJd1hNYWtkVEcyYUdhYklLUTVqcllhamNBUEhZMzhFZDVSanltN2NpS2k2ekVkRFZQSEFlQm5EaFZYand5eEFBQUFBRWxGVGtTdVFtQ0M"},{ name : "__ASSET__:bitmap_flixel_system_GraphicVirtualInput", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQVk4QUFBQzNDQVlBQUFEcXhOS1RBQUFBQVhOU1IwSUFyczRjNlFBQUFBUm5RVTFCQUFDeGp3djhZUVVBQUFBSmNFaFpjd0FBRHNNQUFBN0RBY2R2cUdRQUFJLzRTVVJCVkhoZTdWMEhlQlRWMm9aQVFocEo2RFVKRUZJZ0NUV0IwRU12Z3ZUUWV4VlJxaUJGQVJYcjlkcTc2RlV2WEFWQkZPV2lRRUxvSllRV0NFMUV4UUplRkZFUkNQRDkzM3QyWmptemV6YVp0TjBOZjg3enZNOU9kcy9NZWVma20vZWRjNzRwSllqSUZpV3RlT1MxYUVhY2t4Rmw0R0RQenhaRmw2OTd3TUFQeGZZN2hyVithbXBxOUpZdFcrS2NDVzR6ejMxODh1VEphRWFjay9IL0tpWWVlWXFpSDNtUzRweUtweWpQZlZ6VStMb0pEUHhFMmVBWEthQlZBRHhvMFN1ejZPR1hMOURDNTRubVA4ZjRwNVBBYlMxOGdVVGJpMTZaSkxob3ZDU2VPdXo1TG5tRkJCWTdDWHA3S3I3TmU1WUFlTm1lcndXbE5KUjJNdlIyZFI0V3Zsci9va3lkT2xWQS93MzFVbEpTWmlVbkoxOUlUdDVNeWNtYm5BeTBtWHlCT1JqNldPSnAxOGZIangrZnhiaVFtWG1NamgwNzZsU2dUYlROTVBCZHVuUnBDWUNYN2ZocWNLdVkwUHNYcFZiNEV3TDZiNmkzNkhHYTlmQlN1c0NmeEovMDhHTk9BcmVsdFltMkRYMnM4MndZWjRIK1Blcm9mQjk5aWdoZ1FYY0s5TFpVZkJuV3ZyWHRYdzF1RlJNNlQxRWs0N0FRZmZpbGoyZ0cvMmNTeHhIVjcwOFUxYys1UUp1ZEpoRE5RblF3bDlzN0lBU09QKzM1TG42WmFESkgxTkNIaUlZc2RDN1E1aFRtdW9RNTJQSzliUjYzK1ZyK01aNE1MdzFsbkF5OVhYRFFnOFRhdnlpU2NRak9MTm9mYmRyMEpYMzAwVWYwM252djBiLys5UytuQW0ydVdyV1NObTM2aXNBRm5EUnVRdUQ0MDhDWFJmdWpJMGNPMGJadHFiUng0MWYwMVZmT0JkcmN2bjBiWldRY2hva1krRXJtVVNSaVFqWVAvSzE5WDRxRjhLUDVTNGlTUmhGMXZwc1AyVjdPQmRvY01wWm93U05DbEExOURLNlNjVmo1TG4yR1pXVStTOFUwb2tuM094ZG9jemEzRFE0cXZyYjl5M0RibUxDYUIvN1F2aXhGaTE0ZVRiT2ZKR3FZcEJaMlp3SWN3QVdjSk9JYWJ2T0ZjWXg0bUdqd0F0Y0NITUFsTzc2V2Z3VCtNZDVkdW5TcEhSRVIwZHJaQ0FzTGE5V3paODhRY05DNGdKT1ZyMjFNc0ZpUDNyejVLL3JnZy9lVnd1NU1nQU80Z0JPNGFSd05mY3hpUFJxaXZXblRKcVd3T3hQZ29CbUlMVjk4Q3I2TUloY1RpNStnMFF0WnRIdmdQRThoN000RU9DeDhsQTg5NWdSdUdrZERUT0MzeDFpMDc1MUpOUEUrMXdJY1lDRFo4V1VVaVpoQVVPaUV2V2orODRlb3h6MUVrWDNkQTcybThLbkY4enNFTnd0SEdSYStVNTlRaTdrcmNEK2JuWm92bkJ2ZmVWZXJWcTFQNmRLbDk2RHJPMVlPb2I0MTZqb1Y3U3JWeElRbE1ZZHR3Y0hCWGNGSjR3YWVIcll4a1p5Y2ZHajE2bytWWXU0S3JGbXpHbE5ZRG1QaTJMRmpoM2J1M0s0VWMxZGcxNjRkeEp4a3ZySkEyTVZFZ3dZTktDRWh3YW1JaVluSlZVeXdjUndhTVpHb0k0dTNPMkEwUzlaRGo1RERtQURmT1F2Vll1NEtQTWpubVE3NEtuV2lXdlhXRkJMYXphbW9VaTBoeDVoQVVJZ09admhjZitEcExISEdyeEp5VnlCdUtQMDE2OG0vbVp0T0hBY2NPaGhPYU9FNzRpRVdiaDRQdWdQR0xITElsOCtXL2IyOXZkOUNsNy9icWlkZG5jMm5Id3VlSjVyM0hPT2ZUZ0szdGVBRjBmYUxjWjFGY1BqNStURUp3VmVjV2RqR3hJWU5HN0krK09BRHBaQzdBaXRXTEtjdnZ2akNZVXdjUG53NGEvTm0xNDg2ZEtTa0pGTjZlcnJPVitlS1QwTk1USnMyamY3NzMvOXErUjFWM3Fjd3NWbTBQWEhpUkZNeE1mZmg2MW5kKzdGdzkzUVA5R0xKZW1EQlh3NWpBbnp2bmM3Q1BkVTljTjhzeDN6bG1Halg4VVdhL2VEdjlOQ1NHN1J3eVUxYXVOaEo0TFllZXVTR2FMdEY2NlVPWXdKQmdUKzhmWHg4bnFMWi95Q0tnbkQzY1E4MFNxSkw5ejFHL3Y3K2p6RkhId2FDUVFTRWxTOUVlNUNiWVBoRDJmRjlFZDE5cUQrUHBxYTdPcWZFcDQwem5oQmN3RW5qS3dMRE5pWTJidHlvRkhGWEFVYTJkdTFhaHpGeDlPaFJwWWk3Q3BzM2I2YmR1M2ZiOGtWZlcyUGlsVmRlb1kwYmtWUDYwTVU1cFM4Rmw1eGlZaTZmT1dQS1NDWGtyZ0NtcnFiUHZlUXdKc0FYWi93VFdMamRBVlBZeUxMaEsySmk4UEFkTk8vaFc1UTAwb1U1cFRGOHZybm9sdUNpaWdrRWhWZEVSRVE4TDk2Z21VK3JSZHhWNEZIUW4xTWZCZkViVFpzMmpVWG5BdlhyMTI5bTVUdG9udnRnMkVMbSs1Z2QzOGpJeUJibzZpY2J0aVdhNlVZNXBWbFBDazRTWHk5ZU5zUUVCRkFsT0s0QzhoNmZmdnFwdzVqSXlNaFFpcmlyZ0x6SDNyMTdaYjQ0K0h4alltSmFsaXhaa2thT0hDbnlPTzZVVXdJbmlhOWRUTXpod1g2SHU5d0hHQVZObi9PSDRKeVFrTkFBOFFEb01RRytFKzUxSDl3ekRlWmh6emNxS2tyb1JGeXpCVFNmUmR0ZGNrcmdBazdnSzhjRWdvSkhTWlpoRWsxallWT0p1S3ZBQW5mMW5rZEFtbng5ZmQ5Z3JuNE1meDVDdlkwRFQvQlZpYmlyd09aeDlWNWhkZ2ErZkRheEVueC9HYnVBSTkyTmNrbzk3NlZ6SXg0UWZEa0dYbWV1WlhqWkVCTmZmdm1sVW1qeUFwelZBcXJmekFJQ3QyN2RPb2N4Y2VUSUVhV0k1d1ZmZlBHRmdPbzNzNEI1N04rL1grYnJ5eWlyeHdTdVlITzNuQkpHZCtEcktDWm1jeGlyUk54VmdIbE1lK0FLb1Q4NURxd3h3ZjM5dHM1M1BJdTJ1d0JYWGsyYlk4KzNUSmt5SzhGMzRwVHZhTVFFSGxXeGVMc0RSazhpR2pQaHBGMU1JQ2g4UER3OHpvckYrNWF5cVBUT0YwN1g2VVI3UTl0WmNhUldlMlU5VTJnNGtLNVBXaVJJTThkTTVob0FsQzVkK2l3Nlh2Qk5lakJmT04xak11M3ROTXFLSTEzSEtldVp3dEFGZEgzS0VoWGZuOEQzeGd3ZUtibFpUdW5hZlU4SXZxVktsVHFCV09CbFEweHMyTEJCS1RLNXhUUFBQRVB6NTgrbkJRc1c1TXRBWlBOUXhjVGh3NGVWSXA1YnJGbXpodDUvLzMyQi9CaUliQjRhMzdMZzYrbnBLV0lDL2V1R09hVnNZMkltbnllcFJOd1JFdHBsVWx5cnZWYTA2bmhPV2E5bGg3T202dG1pTzRmeWZiUC9GbUxNY1dDTkNabXZTc1FkWWNEUVRPbzljSzhWUTBhZlU5WWJQUEtzcVhxMmdIbmMvNENTNzAvZ08rdkJhOElRVlZOMHJnQnlTdE1mK05NdUpoQVV2dnh4UXl4T2VaUW9na1U3SC9qNjJiZnA0czc5VnB6NzZITzZFczRNRkhWelJBTTJqL0VQQ2RMYzBiOHgxMENBZCtBR09sN3dWWWw0THZEMXU2dm80b0dqVnB4YnY0V3U5Sit0ckpzallCNlRGaHY0Wm1Sa2xHZStOd1hmV2U2WFU3cCszK002MzB0NlVNZ3hnVVNxU21SeWc2VkxsOUtERHo0b0RBUll1SENoc3A0WndEdysrK3d6aHpGeDZOQWhwWWpuQmhnTm9DMFlDQUJ4VjlVekE1aEhXbHFhekRjZ016T3pnaDRUcUdPN2o2NEU5bFUzRDBjeE1YMHVVZnNlNXZIUjZyOXBYOXBGS3g1KzVDZ2xkczh5MUduWDlRbzkvYy9NMi9YMi8wcFAvdk9tb1k0amRPTlF2bmVtVll5dE1TSHpIVGZGUFA3NzFkOTA2UEJGSy83NXdsRWFNem5MVUdmMHhDdjArbHVadCtzZCtaWGVmdSttb1k0ajRMNlBxYk9NZktFVHpQVW0rRDR3NzZhWU1sSUp1U3ZRQTlPQ3M2L1l4WVFlRk9JSG1yUkVMZUltY1Q2c0cyWDkvZ2R2MGxqT3RSbXVySjhqWUI1akYrcWtzZUVnZ0E4ODBmR0M3MENPakR6aS9OMzNVZFlmZndxT2NqbkhiYXJxNTRnaDg5anNIamJ3WGJKa1NiQ1Y3M1QzeXlsZG55SnlOT0NIamtBc0dHSmkvZnIxU3BFeGk4Y2VlNHdlZnZoaE1kcDQ2YVdYNk9XWFg2YlhYMzlkV2RjTVlCNWF6a01aRXdjUEhyUVQ4TndBeHZIdmYvOWJDQ2hHT0o5Ly9ya3dVRlZkTTRCNTdOdTN6MkZNRk9TMFlFRUEvWXQ5MXZncVkrTCtCOVFpN2dneitOQ1F5K1hMV2RTcDV4bERuYnNIWkdpL1dzb2ZmOXlpWGdPTjIzR0VyaHpLOTB5M2lyRTFKbVMrS2hGM2hLZWZFeFNzNVk4L3MyajBoRE9HT2hQdk5mTDk2NjliNGlvcXVZNGpJSGsvWllhUjc2SkZpMEowdnJNZXZLa2NZYmtLR05uZFA4dHFIdGFZTUpvSEN4OUYzSjFuZkR2aElmU2pYVG16K0VWbC9Sd1JPNEN1ajVvbmt6YWFCL2dPbkpObmZMdjRKY0hQdHB4NTVRTmwvUnd4NUVHNlBrWWtscXg4V1NoQ3JYeHhINGhLeEYwRm1NZGtTMDVKRGdydFUzd1BFVldKakJub3hnSERnSEhBUU41ODgwMXhOcStxYndZUU4xeHRKWEUyeE1TQkF3ZVVJbTRHdW5GQVBHRWMySGRNSyszY3VWTlozd3lraExreUpncHFXaEFvNkp5U281aVl5aUxadm52dXNPcVRtN3lKMitXMU4wOVJ1eTVYeEcrdE8xMms1QzNudFY4czVhRkgxTnRSb1N1ZlowNjYzeXJHMXBpUStZNjlKM2Y0Y3BPUjd3ZkxUOUdvQ1ZmRWI4UEdYcVFkdTR4OFgzcGR2UjBWY01YVjVHbEd2b3NYTDY2bDg1MHh4LzNNWStxTW5NeGpESjl4cTBUY0JMTENlNGtwS2xXNW5IR1Nyb1F6QzhWNjJRTG1NWHl1VE5wb0h1QTdnRVU3RDhqcVA1dk9yVThSL0d6TDVaUGYwSlcrTTVYclpZdkJiQjRqaldZM2QrN2NPbGErOXo3T29zMlJuZzhVZUU1cGduV2F6Um9VMnFmNEhrS3FFcG1jb0J2SHE2KythZ1dNQTZPR0R6LzhVTG1PR1VEY1B2bmtFNGN4a1o2ZXJoVHhuQ0NQT0hSQTJIR1o3ZGF0VzVYcm1BSE1ZOCtlUFE1am9pQ21CWUdDekNsSjA0TEttSmd5Z3lpUlJUczM2RG5BTXBxUVN5OGViZUMzQ1ZPTVovRmJkOXl3V3o4N2RPRlFuampWc1htQTc5akp1Y05VWGdlakNibE11Q2REL0Radm9aSHYvdlFiZHV0bkIxeHhOZkUrSTk4NWMrYUU2WHluemM2ZGVSUjJUcWtibThlVWFUbVpCd3NmUmZUS0UzNXN4QzFJNWNiR25kcVNwWnh1UFVTNVhyYUk3VWZYaDh5V1NSdk5BM3dIOEpnMEQvZ3hpYzFCS2pkMkg5YVdMT1gwU0I1cks5YkxGb1Btc3RuTk1mQTFtTWRrTjh3cGpiWG1sS3hCb1gySzczRVdxaEtaN0lBY2g2MXh2UEhHRzJKYksxZXVGRWxvMVhwbUFISER5RVhpYklnSkpLZFZJcDRkVk1ZQlVjZUlZZHUyYlpTY25LeGN6d3hnSGpBZ21hOGNFL21kRmdRS09xY2tUUXNxWTJMU05MV0k1d1E4MGtRdW0zbTBFZC82Q0IwL2NWbjdCZ1p6a3dhUFZxL3ZDRENQY2ZjNk5nL3dIY09pblZ1ODlKcWdaQzBZYmZSSk9rS252NzdOOTgrL2J0SURDOVRyTzRJbGNlN1lQTzZiYVM3WG82T3djMHFZRnB4OFgwN21NWXdGazBjUWVjSFpXVStnTDI4WDNBUW5sWE52ZmFoY0wxdkVzSG13eUlPYlJ0cG9IdUNMNUhZZWNQYnB0d1F2YTdsbnFiWmdLZWRXclZldWx5MlM1dGlabmNFOEpyaFpUaW1XeldPME5hZGtEUXJ0VTN5UHMxQ1Z5RGdDaEd6Um9rVWlyd0hUZU8yMTEyalpzbVZpQktNYlIzNXVoTXZKUEpDY1ZvbTRJOEE0bGk5Zkxzd0NwZ0V4eC9leWNlQkdQOXYxekFMbXNXdlhMb2N4Z1RaVisya1doWkZUc3BrV3RJdUpDZmV4R0hYTEc5SVBHcWVEMXE0N3B5MVpDcVovVk90bEI5elFOdVlleCtZQnZyamNOQzg0ZHR6STk4dU5ScjRyVnFyWHl3N0llNHkxNFN1Yng3M1RjMmNlenNncFRidzNKL01ZekFLSXM5aGM0a3JkN25UK3Yxc0VLWlJyUjArTDcvLytjcnYyRGRHVjczNmt5eXgrdHV0bWk1aStkTDMvTkptMDBUekFWeVhpT2VCS24rbDBmdXNld1F2bDJ0ZmZpZS8vM25sUSs0YjUvblNCTHZlKzMyN2RiQUh6U0pwaDRHc3dqN0Z1bUZNYVlaaG1zeE1LQ0lsS1pGUjQ4c2tucmNZQjA4Q25iQnd3amZ5TU9nQ0kyOGNmZit3d0ppRDZLaEZYWWRXcVZWYmpnR25vaVhIZE9HQWFNQThZZ08yNlpvRjFkK3l3M0tHcmlvbThUZ3NDaFpWVHNwa1d0SXNKaUo5S3hNMWcwQ2dXTng1ZHFFcjZ3UnZLZFhJQ3pHUFVSTWZtQWI2akorWU5zK2RaUmhlcWNpenpobktkbkREdUh2NmM1Tmc4N3JtZnpZTkhWTGxCWWVlVUprekp5VHdHekZTTGVBNDQxMmFZSUtTWDY0KzlJYjYvT2NkNDJjSTMzY2ZiclpzdFlCNTk3cE5KRzgwRGZQdk55alhPalhwUThOSEw5YmZYaU85dnZyUkMrOFpTdnBtOHlHN2RiREh3QWJyZWI3cUJyOEU4UnJsaFRtbW9JYWRrSnhRUUVwWElxUERJSTQ4STA4QVVsUTZZRDg3dThidHVIUGtkZVVEMEpjNkdtRUIrUVNYaUt2em5QLyt4bW9ZT1RESEJPQ0Q2dW5Ia2QrU1JuWG5rWlZvUUtNeWNrczNJemk0bU1QV2lFbkd6ZVBjRDNwcWk1TldVWUI0anhqczJEL0FkeGFLZFYzenltYUJuVng1NlZGMC9KeUJwUG5LQ1kvT1lPUFdtM2RSY1RpanNuTkxZeVRtWlI5OXBMTm9zUXJuRW1jVXZDRkxXa2pqVzhsdlRKTzBMUzdGTVhkbXY3eERSZmVoNnIzdGwwa2J6QU45K01KRGM0Y3hMN3drKzFqTDVNY3R2SXhab1gxakt1WlZmMksyYkxRYk9wdXU5aldabk1JL2hicGhUR21TWVpyTVRpdHlleGNyR0FUejk5Tk9FMFFjTVE0WnFYVE9BdUdFVUkzRTJ4QVRFWHlYaUtrRFlaZU1BVnE5ZUxYNkRZY2l3WGRjczBNYjI3ZHNkeGtSdXB3VUJKK2VVN0dKaUpBdGcyNjU1UjhzT0Y4WFVpbHpXcnZ1Uno1Q3ZLT3ZuQk53VE1YU3NZL01BMzFFVDhvN0JJeStLeTNYbDh1WEdIMm40bUN2Sytqa0JTZk5oNHh5YngvZ3B1VGNQb0RCelNyaXZCZHprbURDYXg5MVRpZXF5YU9jQ1Y4SzY4Wmt2YmpxMGxHdEhUeGwrRjM5ckJWTlg1MnQzTnZ5ZUxlcXplZlNZTEpNMm1nZjQ0cXFvWE9ESzNmZlQ1Wk5uQkIrVWE2ZS9NL3d1L3RiS2xSL1AwM2x1WC80OVd3eGc4K2hwZWRpZ3p0ZGdIa1BjTUtmRW96ZUpyNTFRUUV4VklxTUNoQkRDaFROZ2lCaytIMy84Y1pIQWhZSG85ZDU5OTEzRGVya0J4QTBqR1lteklTYVFYMUNKdUFvWXBXQjBnYXVxWUJ6NGhQanFOd1ZDK0hYWXJtc1dXQmNqR1ptdkhCTVlLYWoyMHhHY2tWUEMvMXppYXhjVHc4ZXJSZHdNMm5USm9uR1REL0htakFWbWNsZmZROHAxY2tLbm5pendveDJiQi9pT1pOSE9DMGFNeTZJSDV0bnpoWm1NbVhoSXVVNU93RWhveUJqSDVqRjI4azNsQ01zTUNpdW5OSEo4VHVaeEY0OGJWU0tlRGM2MjRqTmVxV1F1K2lkdHFON01Ddnd0bDI4bjhObTlZanRLd0R5NldoNFRyWkUybWdmNDlwMlJLNXdkOFlEZ29aZk1GOTZoRFMzN1dZRy81Zkx0d3p5cVVteEhpZjR6N2N6T1lCNUpzMW0wYmFibVRLQlFjMHI5RERrbE82RkFma0VsTWlvZ2Y0QnBJSWpYVzIrOVpUVVE1RUllZXVnaGc0SGtGUkEzVE10SW5BMHhrWnQ3TXJaczJTSVM3QmhaNEdZOTNVQXdMWWFycjFDbklNd0RsL3JLZk9XWUtBSTVKYnVZR0RxV1JidEwzdENoMnhuNjRZY3J2RG43c2pmdElyVklQSzljTHp0MFpLbElHdW5ZUE1CM0pBd2tEeGcrNWd6OS9MT2E3OEZERnlscDJIbmxldGxoekNUa2ZoeWJ4K2dKZVRlUFFza3A4WGttUmxuZ0pzZUUwVHk2OFY3VjdaRXJuSDNXNXFxbEhNcVBtTGRYYkVlSityM3BlcWR4TW1tamVZQnZuK201d3RsM1Znb2Vac3VQWHlRcnQ2TkV2eGxzZGhNTWZBM213ZWFpRlBFY1VHZzVwV2cyRCtNMG01MVFRSlJVSXFQQ08rKzhReXRXckRBWUNNd0RlT0tKSjZ3amtQeU1QQ0NPYUVQaWJJZ0o1QmRVSXE0Q0hqZWZtcHBxTUJDWWgyNGc4Z2pFZGwyendMcG9RK1lyeDBRUnlDblp4UVFFcWcyTGRtN1Jzc05sZXVXTjJ6TVJLTGJ6OU5ObUg2TFduYk9VNnpzQzdrVVlNTXl4ZVlEdkNCNm81eGFEUjE2bTl6NHc4clc5OTJQUkk0ZFlXTE9VNnp2Q3FJbk1kN2hqOHhneEx1L21BUlI0VG9uTlk4aW9uTXlqTTR1UFNzUWQ0SEtkTHVLTU56Y2w2L2ZMZEw1MkorWDI3RkQvYnJyZVliUk0ybWdlNEtzU2NRZTQzSE9LbUlyS1RjSGpTODUzNS8rMlludDJnSGwwR212Z2F6Q1BQbTZZVStwcHlDblpDWVV1VEdZQVU0Q0I2RmN3UWN6ZWZ2dHRZU0lBRENTL0k1RDMzMzlQYkYvaWJJZ0o1QmRVSXE0Q2hCMEdvbzlBOVBzNVlDS0FQQUxKSzlBR3RpL3psV01pTjlPQ2dHd2NRR0hrbEd5bUJlMWlZdUFJdFlqbmhFRWpqSW5iSDMrNktiWWxGMHhmSlhZOXFWemZFV0FlL1lZNk5nKzBvUkx4bkRCMW1wSHZoVjl1MmwwVys4Y2ZXVFJrNUVubCtvNkF2RWQvRzc2eWVRd2JjMU01UFdjV0JaMVR3dk90Qm8zSXlUemFzeWpWN1c0YTMzVGorbmtvWDQ5L1VMazlPOVRyUmRmYmluY0w2S1NONWdHK0VHU1QrR2JpUXRGK2JzdlhELzFUdVQwNzlKdE8xeE9OWm1jd2oxNzM4WDV4cE9jQ2haNVQ2bjZQWFZCb24rTDczRnk1QS9QUW9Sc0l6dDUxQThFbmNpQ1l0MWV0YndZd0R3aTZ4TmtRRThndnFFUmNCUWk3RHBXQjRCTWpMNGlwdkY1dUFITktTVWx4R0JPNW1SWjBWazdKWmxyUUxpYjY4MEM0RFlkWmJ0Q3N6Vmt4TFNXWCsyZGJmbHYybm5HYTVmM2xaNmxGNGtXN2JUaENCejdQN0RQWXNYbUE3M0FXN2R5Zzc2Q3pZbHBLTGt1ZnR2eTJlcTJSNzhkcnpsTFM4SXQyMjNBRTVEMzZEbkZzSGtORzVkMDhDaU9uQlBOSUdwYVRlYlRsOFYwWWk3WkpmUGZtZndReGErR3pXRlU5YW9kM3ZkOHVtTC9QcXNQaklWVmRHVkZzSHEyR3k2U041Z0crdUJmREpMNzdjSjFvMzFxbVA2V3NSeE1XYXhVczVYenFic3BDY2w1VlYwYmZhWFM5amRIc0RPYlJ3dzF6U2wwTU9TVTdvY0RsckNxUlVRR2pEdmxUdjJ0Yk5oQWd2K2FCN1VtY0RUR0JLU0tWaUtzQVlkZEhIL2lFeU9NaGhyWWprUHlhQjZiRVpMNXlUR0IwbzlwUEZaeVZVOEwvWE9KckZ4TjlPU1JiczJpYlJjdU9WK2lwWjIrZkFLR2ticjloL1IyUHY3Q2RweDg3Q2ROWDl0dFNBVGV5M1ozazJEekFkemlmWjVvRnBtaGVmZDNJZDkvK0c5YmY4U3BaMjNzL1pzODlaTmhHZGtEZW8vY2d4K2FSTklMTmcwZFVlVUZoNVpUNkQ4M0pQRnJ4K0U0bDRncWNyOVZSVEVIcEpldjduNVQxZEZ5VnpwQlJmb3p0cGF4bkFNd2pZYWhNMm1nZTRLc1NjUVhPZDV0Z2VJSnUxcysvS092cHVIcjZXNjJtcGZ6WTM2UjUySmlkd1R5NnVtRk9xYU1ocDJRbkZNZ3ZxRVJHQlhua0FRT1JSeURZRGd3RXlFMGV4Ull3RDV4OVM1d05NWUVSaEVyRVZaQkhIcnFCNkNNUTJZUnlNNXF4aGI1ZG1hOGNFMFVncDJRWEU3MEhzV2gzTW84ZWZUSU0weWd3aWdFOEdwRHI0S3hlTHVkWUFPTmFuVGJVY1FUY3lOWnpnR1B6QU45aFk4eGp6UGdNTVIybGx6Ly92RW5USHpEV2VlTnQ3VWV0L1BUekZlbzk0TFNoamlOZzZxclhRTWZtTVdEWVRidXBPVE1vekp4UzM4RTVtVWNML28vaWloMFR1RFRSZUxmejllZmZWOWJUSVg2WHl1K3orYXhmVWMrQXFKNTB2ZGxnbWJUUlBNRDM3dnRNNGRLU1YwUzdlcm0rbkVWV1VVK0grRjBxdi8vakhXVTlBL3JjVDlkYkdNM09ZQjZkZUx5cUVuRUhjRXBPcWYwWXU2RFFQc1gzRUgrVnlLZ0FjZE9oR3dpQUVZaCtPU3hHSW5tNXQwRUh6QVBDS1hFMnhBUkdEeW9SVndIQ3JrTTNFQURid0RPeVlDSVlpZVRteGtOYjZOdVUrY294VVFSeVNuWXhnY2RhcUVSY2hWWWRzeWhsS3paenV5eDdUMTMzNUNuajJmd2J5eTRxNjlrQzV0R2puMlB6QUYrVmlLc3dkRlFXN2Q1ajVMdDZyYnJ1TjJlTmZQL3owVVZsUFZ2QVBPN3E3OWc4K2czSm0za1VaazZwZDFKTzVzRkNyUlJ4RlNZdklYcmhnOXRvaHlrdlJUMGQrRjJ1ai9WVjlXVEFQSm9PbEVrYnpRTjhWU0t1d3VOOEJyOWkvVzJNWDZTdXB3Ty95L1d4dnFxZURCNTlYRzgyeU1EWFlCN3VuMU95RXdvSXYwcGtWTkROQXRDRkRrS0dUd2crNXZlUklNYmZxdlhOQU9LR1Q0bXpJU2IwS1NjejBJVWQwTTFEL3g1VFRiaHlDOUMvend2MGRXVytja3dVZ1p5U1hVemMxVjh0NGlyZ1JVMHdDeG1xZWdBdVlUVmJWd2JNbzFzZngrWUJ2a05adE0wQUR5MzhtTTFDaHFvZU1JOGx3bXhkR2NoN2RPL3IyRHo2Sk4xUzVuYXlRMkhubEhxeDJZR2JIQk5HODhEVk95b1JkeFZnSG8zN3k2U041Z0crS2hGM0ZXQWVObVpuTUkrMm8zbS9PTkpOd2prNXBSRjJRYUY5aXU4aFRpcVJjUlVnYmhCUGliTWhKdkp6TjNoaEFPYUJ2SW5NVjQ2SklwQlRzb3NKdk4raEZZdTJ1MERjQlgyM1kvTUEzNkY4aUxnTGtQZm8ydHV4ZWZRYWNNdVEwOGtKenNncDlXQ3pBemM1Sm96bTBYZ0FpMHBYOTBIVVhYUzlZVitadE5FOHdCZUpiSGRCNzZsMlptY3dqMVlqZWI5c0JOd0JuSmRUR21ZWEZOcW4rQjVUSXlxUmNSVWdiaEJQaWJNaEpqQ0NVSW00cXdEendKU2R6RmVPaVNLUVU3S0xDVHdvcjFWSDkwRTdsb3JPUFIyYkIvaXFSTnhWZ0hsMDd1WFlQTzdxeCtiQnBtZ1d6c2dwZFdPekF6YzVKb3ptMGFBZlVUak9XRzFFM0ZXb3grWVIwMXNtYlRRUDhNVVpmeThXYm5kQW4vdm9lZ09qMlJuTXcvMXpTblpDZ2VrbVFDVTByZ0N1QnNySlBEWnVWQXU1SzdCcFUvYm1VUVJ5U25ZeGdjZFZ0R0ZSVVFtNUs1RElvZHp4THNmbUFiNFE3U0dqM0FNajJEdzYyWmlkYkI3ZCs1ZzNENmZrbExoL3U3RFpnWnNjRTRhZ3VGYVB6MVliY0UvWFllRjJCelRxUTFkNDlBRnVHbW1EVUZ5TDdVUFUvMzRXN252ZEE4emxTcXpSN0F6bTBXeUlXc1JWY0ZwT0tja3VLT1NZd0puczh1WG04eDZGalJVci9pMnVMcEk0RzJJQ0FwcWM3RDVUVnlrcHllTHhJVEpmT1NhS1FFN0pMaVlTdS84bG5pZWxFbkpYQUNPTGR0MStGLzJwTW8vMlBmNFNOK2FwaE53VkdETVJaL05HdnJKNWRPMXQzanlja1ZPQ09XTmtCMjV5VEJpQzR1ZGFIZGhpeGhCRjlGQ0x1VE1SY1JkSHhUajZOaVJSSm0wUWlwOWhkSU5taUROK3BaZzdFMzJadzVDWjlHMkRuZ2ErQnZOb09rZ3Q0cTZDeUNrTnNBc0tPU2FlZSs0NUZxU1AzV0wwQVE1cjFud3M3cXFXT0J0aUFsY3ZiZCsrTFY5SjdvSUNPSUNMVFFMYUVCTkZJS2RrRnhQTjI1MFF6NHZDbFRndFdieGRDZHpFTm13Y1VYenJnNkkvVmViUnV0TUptblRmTFJvKzloYUx0MnN4Z2psTW5uYUxXbll3OHBYTm8zT3ZXOHJjanF1QVI1UmdaQWR1Y2t3WWdtSnJZQXpkaUdUUjdzWTIzWXlGTG9iRnVUNlBScHdKdE5tYzIrNDJucm4wcEs4Q28yWFNCcUhZR3QrVGJtQzBOR29lMGZDNVJBUHdpQkRjNmUxRW9NM2hEd29PNFBKVmsrNEd2ck5temFwdE5ZL0dBMW0wT2RyZEJTS24xTTh1S09TWVlQN2k3SGJ0MmpYaXlpQUlJUVRQbVVDYk1BVThCd3BjcGsxei9JS3dmL3pqSDJMMHNXUEhkbkhQQmhMb21NcHlKdEJtYXVvV3dRRmNjQVdVekZlT2lTS1FVN0tMaWZENnI3Tm9YNk1SNDRsNjlyZGNqWU41Y1dmQ2NnV1E1YkxYZHQyeUtLemVTNkkvVmViUnVQbnJYT2NhM1RmckZwdklUUjZGM0tTUjQ1MEx0SW0ycHpJSDhHMFliK1E3WThhTU9qcmZUbmV4ZWJBeHVndVFVK3JRUFFmejJPQVhTZWtWbWxBV0x1UHNpWHZvcHhEZGZRLy9sNXdFdE5XSDI3eHJBbDJyMjQzMk01ZlZ2dUV5YVlOUWJHamVrOUtiOUtRc0dON1FXVVQzTENMQ0M1d21QZXdjb0szSi9EbDRKbDFqRHZ1WnkrcTRiZ2EraXhZdENyR2FSME9PZG5mTEtjWDJzUXNLT1NhbVRwMUtDeFlzRUZmeHdFRFdyZnVNUHZ2c1U4WmFKd0Z0ZmNadHJ4YlRWZUF5Y2FMakp5M2pTaU84VVE4MzB1M2N1WjEyNzk0bEh0UHVUS0JOdEkzOEE5N3loM3N2Wkw3ejU4OFA4ZkR3RUh3eG1uS0hVWjBPUlU3SkxpWnFoVDlCOVJwOXpDT1BxK0sxcXVQNWtOWGZ6KzBzb00xUjNIYnJ6bjlSdllZcktTUnNrZWhQbFhrMGpIdUM0bHAreklaM2xhWk12MFVQekw5SnN4bXo1amtIYUF1NGg5dHUyK1V2NXJLU1lob2IrUzVjdURCVTU5dWgreTIzeXlrbGRsV2Jodysrd09KSHZuV0ZnV3dKaUthdnE3YWdYME02ME8raEhaMktpeUh0UmR2Slplc0xMc3Q5dzNUU3Z6TFhBSUNGNGs5MC9FZE51Z2dEMmNJamtLOWo3NkpmbzNyUTcwN0d4WG85Uk52SnpBRmNsamZ1SlBNTlpERXB6M3l2Z2U5Vk44d3AvUlZsbldZRFh4OWVOc1RFdUhIamhJSHdtWkU0ZzM3eHhSZUZJRG9UYUJOdFQ1OCtYWEFaTThaNlk2TmRUTEF3Q3dQQjFCYW1YNUFId011Tm5BazhjZ1J0UC9YVVU0TEwzTG5XdHpYYXhRUk0yZDF5U25qc2ljVFhMaWFDNnl3VUJoSlc3MlZxMUh3SE5XLzNQU1VrL3VSVU5HLzNyV2k3VHRRTGdrdHc3WG5nQ3pHMnhvVE9ON3JSUW1FZ2padTlUTTNiN3FDV0hiOW5VZnpKcVdqWjRWdlJkcU5tTHdndTlSc1krQWJ1M0xtelBQOTlEWHpiZFA3RHZYSktMRm10TzEyeWl3a0VoVGZ2UUFZV0gvYXVJUVRibmZCQW1XcUN0S2VuSjE0NlhoYnc4dkxLUU1jL0hCRW5CTnVkOEVCWUl3UGZBd2NPQk9sOGo0VzJkYnVjMHY3Z1ZqSmZiMTQyeEVTUEhqMkVZTHNUT25mdTdEQW1oZzBiSmdUYm5UQmdnQ1d2eEJ6Qk55QXRMUzBRZlBFZFhpZnJiamtsdktWUTZsKzdtS2hjYmJnUWJIZEN4YXBKUW95OXZiMnRNY0Y4ajRKdnJiRGhRckRkQ1NHMWpYelQwOU9EZEw1TkV2YlJrTkh1azFOQ2ZxdGhNOHRyQmVTWVFGQ1U4ZlB6ZXgyTDFUMjg2QlBmY0tXSXV3S2YrVVZRVGVZRWJnRUJBZjlncm40QUw3OGgrSHI3MFNkeDNaUWk3Z3A4RnQrZGFucjdxL2lLL20zcEhVUlpmS1pQM2QwZ3A4UWNia1Qxb25iZTVRVGZzbVhMUG9WWTRHVkRUQVFHQnRLa1NaT1VJdTRLVEo0OG1jcVZzM0JXeFVTRkNoWEVDNU5VSXU0S0xGNjhtQ3BXckNqejlXZjRjbisvaHUvQ3dzTEVGVzN1bEZPS2pJek1OaVk4UFN0UVNOZ1NwWWk3QXFGMUh5RlByMHFDTThmR000Z0h3Ti9mWC9BdFU2WUN4VFpab2hSeFZ5QzJ5U05VeHRzeDM3SUJjZFM2NDFWeFA0aXJjMHJnMExyVGRRb0lhbUVYRXdnS3o5RFEwSzRlSGg3ZjQ4K0VVdjRpejZBU2MyY0NVMmpOU3ZrSnd1Qld0MjdkVHN6VkcrQURycHVWYjdrcUlzK2dFbk5uQWxOb3pZSXFxL2o2UkVSRUpQSjNGL0RiQXdHMTZIbzQvMmQ2VGlUcWU2OXJja3JjOXRYdzdqUWpJTVRLdDM3OStzMFFDL3kzWFV6VXJsMWI1QmxVWXU1TVlBcXRWcTFhT2NaRXZYcjFSSjVCSmViT0JLYlFJalVoQnJmdzhQRE9pQWZ3bFdPaWE5ZXVicEZUd25TVlBxb0QzK3hpd3Rldm5zZ3pxTVRjbWNBVW1vOWZsREltNnRTcFk0MkpnS0I2SXMrZ0VuTm5BbE5vQVlGS3ZqNGNIOWFZcUZaekNyWHM4TGQ0ZlB0NFBteHhtYTB6TVk3YkhEbmhGclZvL3dkVnJUbEpHUk1JaXRKOFFEYm5zNk5KUEl5NmhLOHFsQ3hObzd3cTByUGVJZlNTVDZoVDhZeDNzR2c3c0dRcFFaZzVYYTVjdWZJNFB0amltS3NYd0IyZVlPRHI1VTJqYWtiU3MvVmIwa3N4Ylp5S1orcTFFRzBIZWxwR1NDcStyVnExQ21PK1UvaTNLNmdUNCtsUG4xVnVST2RDRXVsOGFBZW40anR1RTIySGxmWXg4RzNkdW5VSVlvRy9VOFlFbjNWU1FrSUM5ZS9mbjVLU2tweUt2bjM3aXJaOWZJeWNzNHNKUHNzWFFnalRtekpsaWxNeGZ2eDQwVGI2VE1HM0RNTXpQajYramh3VDFhdFhGd2FKcThWd2ViUXpnZndRMnE1VXlYSTJyUFBOS1NaS2xRNmdjaFc2Q0hHcEhqTFZxYWhhYzZKb3U1UjJncWx6WnJPMnhnU2ZVQmhpd3RNcmdLclc2RUoxb3laUlJQMnBUa1ZZNUVUUmR1blNqdm0yYU5IQ29CTStmQklkR2JPY21yWThTWEd0djNVcW1yUTRMdHIyOWc1MUdCTUlDZzhPaWxvY3ZKMXIxS2lSNU9ucHVRTmZ1d05LbFNxVlVhVktsVkhneHVKUWs3bVdBb29ZMzlMcjE2OHZFeHdjM0FhZHozVk9xZFoxQlhTK0lTRWhyZFBTMGp3UkMveDljVXdVSUdTKzBkSFJ3WWdIb0RnbUNnNUZPU2FLc2s0Z0tFcnljTld6ZlBueUxiaENKeWJmaFplbjgxblRNaTh2cjFUc2hEUEJiYVp3MjIrQ0E3aUFFN2lscEtUZ29QTUFpaHBmUnFuRXhNUWcvcTBEeDNQWGN1WEt6WFlYdmxXclZrM3MzcjA3cms1QkFKY3Nqb244d3dUZmtvemltTWdIVFBSeHNVN2tBN1o4VlRFaGdnTGc0VlBab0tDZ3RoVXFWT2lFSFlNcllpWHNoQXgyeWdLRjdmYlJKdG9HQjNBQkp6NWpRNUpSOEN5cWZCa2U2SHl1MTl4ZCtISkF4QThjT0JCY2RVR3pDZ1ZRSEJQbVlMdjlIUGhhK3hyTHhURmhEcmJiejZHUHJTaldDWE93M2I3TTExRk1JQ2lzZ2NHa2NVVkZBMzkvL3c2QmdZRWRzWk02c0pIQ2hOd1cyZ1lIWDEvZnBseDhkWDRhMXlMTGx5SE9McUtpb2lxRWhvYldybG16WmdQZUZvS2tPUSt0RXdvVGVqdmNaaXpham8yTkxhZnhrY1dzT0NieUFibXQ0cGdvSE1odEZjZEV3VU52eDB4TTZLUU41SG00Rk1qT0dNbzdHc003R2g4UUVPQVVvQzF1TXhwdGc0UE9SK09tUXBIa3EwSC9oNGhBY1JMa05tVXVWbzdGTVpFLzVJR3YyNk00SnZLSHZQTFZJQit6cW1PNk1DQzNLWE94Y2l3dXhhVzRGSmZpVWx6eVZtUTMwV0IxbWh0SGwwUXo0cHlNS0prRFE4VlJScEhsNnlZdzhNc3BKbEpUVTZPM2JOa1M1MHh3bTNudTQ1TW5UMFl6NHB5TS93OHg0VXBnS2dYM0d3eGl6R0E4eG5pTzhhWUdMT003L0lZNkNReXNvOXFXUzNCSGxHOW5XOEE3cEFlT3g0Mk1oMmZkeUhqb3dvM2pDK2ptOFhsT3hZM01CU1Rhem5oNEVyam92Q1NlT3V6NW5saENOMDgrNGxTZ1RSWGZzeTkzTEFId3NoMWZEZm9RRVZkYk9CTzJRMVBCUys5ZmxLbFRwd3JvdjZGZVNrcktyT1RrNUF0NFYwWnk4aVluQTIwbVgyQU9oajZXZU5yMThmSGp4MmN4TG1SbUhxTmp4NDQ2RldnVGJUTU1mSmN1WFZvQzRHVTd2aHJjS2liMC9rWGh2L09GL0JSZUgvZEN6R1I4d3ZpV2tkZUNkYkVOYkN0TzI3eFRDcmRYWVAzaE5rVXlEaEc4TnpNZSt1alc2VmxFMy9SaEpETGFPUmxvc3orQkE3aUFrOFpOQ0J4LzJ2UDlkaW5SL3g0aSttMHVZNDZUd1czKzhoRGRPcnZVanE5a0hsYStEQnlzdUZaYTNCakV3RTFqem9UZUxqam93bUh0WHhUSk9BUm5GdTJQTm0zNlVqekN3aFhQWUVLYnExYXRwRTJiOEhLbEZFTWZTK1poNWN1aS9kR1JJNGRvMjdaVWw3eFZFRzNpUFI0WkdZZGhJZ2Era25rVWlaaHdsWG53T3YwWWVJbi9PWWFoWExwMGlmYnYzMDlyUC8yVTNucDdHVDN6ajJmcDBjZVcwcno1QytuQmVmTnA4WkpINk1tbm5xTFhYbnRkUEJoeno1NDk5TnR2djJsckd3cTJqVGI2YWMwV1d1RTI4dFVmYmxsNFIyNEw4ZEZGbzIrZG1zM2kzWkhvREF1NUs4RWNicDE2Z01BSjNEU080R3JrK3cyUFRuK2JSL1FyQzdrcndSekFKVHUrREJ5Y09GaTl1M1RwVWpzaUlxSzFzeEVXRnRhcVo4K2V1RXNVajBRQUYzQ3k4cldOQ1JicjBaczNmMFY0VkxkSzJKMEpjQUFYY0FJM2phT2hqMW1zUjBPMDhWNE5sYkE3RStDZ0dZZ3RYM3dLdm95aUVoUDVncG5DOVpveVhtVWNabGpMc1dPWjlPNi8zcU1ac3g2Z3Uvc09wR1l0MnVRYURadkVVOXZFRGpSbTdEaDY2YVdYNlBCaFF4TW8rQUp0RjhxSWhMZWI2LzV3KzhJN29nZXgxODJNK1lmbzYwRkVYN040dXdQT0RHRXhYckFEM0RTT01peDhmMzZZUngwUHVBZVlpd08rT0p2RGQ5N1ZxbFhyVTdwMDZUM28rbTVOSzFGU20ycE9SY2RHRlJDNWVCVDB0dURnNEs3Z3BIRURUK3ZkeE5yZlhzbkp5WWZ3MUZlVm1Mc0NhOWFzeGhTV3c1ZzRkdXpZSWJ4TFF5WG1yc0N1WFR0WS9JN0pmR1hUc0l1SkJnMGFpRWV4T0JNeE1URm1ZaUpmeUs3dzc0a01UQ2RaeTlHalIrbVpaNStqbnIzN0tjMGd2MmpZcEJrMVQyZ2hIcGQvNE1BQnJWVnJBWmRFalY2QkZONmU2ZjRvTW9WM1JCeDBESityQitkazBkYzg2ampkMWszUWpmNU1tLzAzYzlPREdRY2NoQmhuUnhhK0Z6QnR4TUx0RHJnd3p5RmZQbHYyOS9iMmZndGQvdEhDNW5SMTMweTZjWHcrM1R6K29GTnhJM08rYVB1dDZVMkVZUGo1K1QydjhSVm5tN1l4c1dIRGhpdzhlVlVsNUs3QWloWEw4WklsaHpIQlo1UlptemU3ZnRTaEErOHdUMDlQMS9ucVhQRnBpQW04SFZGLy83bzY3MU9ZMkN6YTFsK3k1U0FtOGdWVjRlK2JNOVl4UlBucnI3L29nMzh2cHlIRFJsSjhRbXVuSWJwQlkwcHMzMEU4NSt2UFAvR3VJMnNCdCtZYTNYd1YzazZPL1ZIa0N1OElBc1RieDhmbnFac1pjNGhPOFJuL0tSWnVkOERwVHZUcjdtbms3KytQS3lmd05GSUloQkFKSzk4THM5MEg1K2RreC9kRmRQZUo1WDNwNXVtWjVNcWMwcTB6L2VqbXFWbUNDemhwZklWWTJNWUUzc090RW5GWEFVYTJkdTFhaHpHQk0xYVZpTHNLZUNYdDd0MjdiZm1pcjYweGdUY2ZidHlJbk5LSExzNHBmU200T0lpSmZFRXUvRGRNZnhsRGxOOHZYNlkzMzFwR25idmRwUlIzWndHamtlaVlCdlRvbzQrS3ZJcFV3TlZMbzUrbnd1czc3SThpVzlBcEVSRVI4Yng0NDJZR0MrQkpGbTEzd2FsTzlNZmUrOURUTjVvMmJSckxYSEh3K2VDeHdGYSs1MmU1RDM1K2dQN1lKOTZ2YmVBYkdSblpBbDM5L09RWUlkcnVrbE82ZVdxMjRDVHhGUWNJUHZXWWdBQ3FCTWRWUU43ajAwOC9kUmdUR1JrWlNoRjNGWkQzMkx0M3I4d1hndXdiRXhQVHNtVEpralJ5NUVpUngzR25uQkk0U1h6MW1NZ1g5TUxMQXhuSEdIVDkrblg2MS9zZlVJZE8zWlJpN2lyRU5tcEtFUkZSNGduSDE2NWRBMVVVY0I2ZzdVYXVDNityN0k4aVhYaEhlT1JzR1RyZnpHQmhPOUhHZlhDeUkxM2RQeFU5VGI2K3ZtOHdWN3cweForSDFXL2p3Qk44ZjNZai9QUUFYVTBYNW1IZ3kyZVlLOEgzMHFZeDVGWTVwYStIMElYMXd3VmZqb0hYbWF2KzRoOXJUSHo1NVpkS29ja05jRFlMcUg3TExTQnc2OWF0Y3hnVFI0NGNVWXA0Ym9CM2p3T3EzM0lMbUFldURKTDQ0ckVVWmZXWXdCVnM3cFpUd3VnT2ZHMWlJbC9RdG1FZGJlemV2WWY2SncxUmlyZTdJQ3c4aWswa0FoZG9hS3hGV1NaMkpwZUYxN1ByanlKZmVFZDhQRHc4em1MeDVwRVpSTWRadEUzaTlGZnh0T0h0bUJ5eDR6OE5SZDJzbzYyVjIzR0lFeDNwK3Y0cElwQ1pZeVp6RmU4bUxsMjY5RmxoSHVENzAwelRPTDFyTEczNFQ3OGNzZU96d2FKdTF2ZlRsZHR4aUI5bjAvVUQ5NnY0L2dTK053NXdIVGZMS1YzZlorRmJxbFNwRTRnRlhqYkV4SVlORzVRaVl4WXdqUVVMRm9nWEl6M3p6RFBLT3JtQmJCNnFtTUJWTkNvUk53dVl4dnZ2dnkrQTk1R3I2dVFHc25sb2ZQR0sxQUJQVDA4UkUraGZOOHdwcVdJaVA4Qmp4Ly9MRUdmeS8vakhQNmtaQkxwNUs3ZEhYSHdMcWxxdHVzaEpYYjE2RmJ1QWduMnBpWDR4VzdpK0FYZEU0UjN4NVk4YldMeDVaSnBheEIzZzRtbmN6Smx6dWZ5L1REcTEveFhhczdwMTdneUV6U05yLzJRUnlIeWc0VUp0UEJjbWtJUDZoc1U4bU8rUEVHMXp1UGpkV3NFbnAzTDUxek4wNnZDSHRPZS9iQ0Rmc1lFb3RxWEVEN01wNjRCbHBLVHp6Y2pJS005OGJ3cStoMmFUVytXVVRuV2lySDFpV2hCOE1jbXJDNFUxSnBCSVZZbU1XU3hjdUZDWUJ2RGdndytLTit5cDZwa0Z6QU52dnRNNDI4WEVvVU9IbENKdUZoQnltQWFBOWpBeVVOVXpDNWhIV2xxYXpEY2dNek96Z2g0VHFHTzdqNjRFOWw4M0Q1dVl5Q3R3dC8xWkJuMzMzWGMwWXZRNGlvTW9GekhVREE2bHVMZzRPblBtREhZRkJUY2NScUZ2ekJTdWE4QWRVWGhISUJRaVdHNGVtVXFVeWFKdEVtYk5ReTh3a1dQL1pmRlViRXVKNHpBUHl4VWdITWgvOENhQ0FEN3c4TGVGN3c4OCtqQUpzK2FoRjVqSXNkVEp5bTJwTVl2TjR4NEQzeVZMbGdSYitSNWlnMUhsZGx3R21NZTlPbDljWm9KWU1NVEUrdlhybFNKakZxKy8vanE5L1BMTDR0cDZqRUllZnZoaGV1eXh4NVIxelFEbW9lVThsREZ4OE9CQk93SFBEV0NXbjMvK3VSamRRRVQxOTN1cjZwb0J6R1Bmdm4wT1k2SWdwZ1VMRXVoZjdML0dWNDZKdkFCWFUvM0ZvSlF0cWRTK1UxZWxNQmNWMUkyb1IwRkJRYUovdElKOU0zVTFGdGN6NEk0b3ZDT1NlVXdod3NqQUpDNmV3aFJ1N3NxUEoxbkFGZHRTNGxnSE5vL3hjaURibUFmenhkU1NTVno4Tm5mbWdmTGptV1RsdHRTWXllWmhlZCt2enBlRkl0VEs5eURYVWVWMlhBWTI1NzFXczFPYUJ3UlVKVEptZ1RQNE45OThVeGdIREFSR2toOERnYmpoYWl1SnN5RW1jTTIrU3NUTll1Zk9uV0lxQ2ZzTkE0RlE1TWRBcElTNU1pYnlPeTBJRkZaT3lTWW1jZ3MrZ0MzbGs3V2ZVdk9XYlpXQ1hOUVFGZDBBOThPSXZwSkthL1JSZG9YckdIQkhGTjRSeVR6NExEdUQvK2NtSVp2SDVmUDdsSFhvOUJpNjhlZEpyUlpSMXJYTDZub3FIRzNQNWpIV29WQUl2cGhXTWduWlBDNy83Nml5RHYzMEROMzQrM3V0RnZoeXM2cDZTc3hnODdDT2xBVGZ1WFBuMXJsdEh2ZmJUODFsZzBMUEtXRmt0OWM2TFNnTGhUVW1JSjYyQXBNYmZQamhoMktrQUFONTlkVlhyY2lyZ1VEY1B2bmtFNGN4a1o2ZXJoUnhzOWk2ZGF1NHRGWTNFQjE1TlJDWUJ4NlBJZk9WWXlLLzA0S0ZrVk9TcGdYbG1NZ05PQkF0NVYvdmZTQkV0Mm16bG5jTVlobzBvY3BWcW9tcnNhU1NyWUh3N3diY0VZVjM1TFo1SEo1SWRJVC83eVp4OGFTTmVTanFBTCtrczhqTFJWRkhpUXcyajdUUkRvVkM4UDEybW1sY1BIdjdKbFpoSG9vNndDK1pUMnUxdEtLb284WjB5a28zanBRTTVuRmdxa0xBSGFQUWMwb3dqejBHczdNekQ1eUZxa1RHTEpCNFhybHlwZGpPRzIrOFlXY2d1YzJCUU53d21wRTRHMklDeVdtVmlKdEZjbkl5YmR1MlRZd1dJT3o1TlJDWUI4eEk1aXZIUkg2bkJRc2pweVJOQzhveFlSYkljZnpPb0xlWHZhc1UzenNCc1EyYmlqNTY0b2tuc0tzbzJPZDY2Q3RWNGQ4TXVDTUs3NGhrSHVPSkRyVXlqWXNuYnB2SHBaLzIwY1d0emUxd2RrTWNIZDJ5UUt2RlovSlhmbEJ1UzRuRGlXd2U0cHB6cFZBSXZ0K3dhSnZFeFc5dW04ZWxDMGZwNG9GSmRqaTdmU3dkM2ZtU1ZvdjUvdjJMY2x0cXdEeU1JeVdEZWFSUFVlZDJIS0RRYzBxWkhTaHJ0OEhzN013RFo2RXFrVEdMOTk1N3oyb2dHTVVzVzdhTVhudnROV0VleUljc1dyUW9WNEtYazNrZ09hMFNjYlBBVFgyeWdlQTdDRHpNQTJheWZQbnlYQmtJekdQWHJsME9Zd0xiVmUybldSUkdUc2xtV2pBMzVoSE1FQTh5L0d6ZDUzZmNpTU1Xa2ZWaXhQOFFKeFZhd2I0SG83OXNDMzl2d0IxUmVFZXNRbkhyOEJpaWd5emFKaUdieCtWZk1tbnYydEYyeU56K0pHVmR2YXpWNHZMVE11VzJsRGlVU0RmU2hqa1VDc0gzelAybUladkg1WXRuYU8rR0JYYkkzUHUyWmFwS0w3K3VWMjVMaldsc0hxTWNDc1hOOUVuMmVaMXNVUGc1SlI3WjdSNmpFZ3ByVEVCSVZDS1RHOEE4WUNLeWdVRDBZQ0s2Z1R6NTVKUEtkVzBCY2NPVFVpWE9ocGpRQlQrdmdOakRQR0Fpc29IQU9HQWl1b0dzV3JYS2JsMFZzTDBkTzNZNGpJbjhUZ3NXUms3SlpsclFySG5nbVYyYkdiUnBjN0s0VDZKSmZJczdIa2lpNDMrSjBacFdraG5pZVdCeTRlOE11Q01LNzRoa0hxT0lEckJvbTRSc0htYkt6NW4vcHN2YkU1VGJVdUlnekdPSVE2RVFmTDltMFRZSjJUek1sSjlQZjBHWEQwOVdia3NObU1jSWgwSnhjLzhFKzd4T05uQktUbW1Yd2V6c3pBTkNvaElaczRCcDRCTUdnaytjdGNPUU1JV2xBeWJ5eUNPUEdOWnpCSWdiaEZ2aWJJZ0o1QmRVSW00V01BM2RRUEFKQThHMEUweERCMHprUC8vNWozSjlXK1JrSHZtZEZpeU1uSkxOeU02c2ViekxvTk5mZjAxdDIzZFdDdTJkaXBvaHRTZ3dNSkF5TTNFYmp5anZvcy9rd3Q4WmNFY1UzaEhKUEVZUXBiYzBqWXZIY1FPcStYTHgzRjdhczZvL1plMXJvZHllSFE2MFkvTVk3RkFvQk45VDk1bkd4VE5yQkErejVlSlBSMmpQdWhtVWRmeGU1ZmJzY1QrYmgzR2taRENQdEhIcTNJNERPQ1dudE5OZ2RuYm1BU0ZSaVl4WndEeGtZTlR4OU5OUEc4d0RVSzJyQXNRTkl4aUpzeUVtSVBRcUVUY0xtSWNNZkxkNjlXcURlUUF3QmR0MVZVQzk3ZHUzTzR5Si9FNExPaUduWk1ZOEJqUG83Ny8vcGdGSlE1VUNlNmNEQ2ZUNjlldlRsU3RYMEJVb1E5QnZldUcvRGJnakN1K0laQjVEaWZhemFKdUViQjQzY01aN09kMGVWMjZmRmFOZ0N1dTdMeE9WMjdORE9zeGpvRU9oRUh4UFRUVU4yVHh1WE9mTmdac3RydDYrMGdvRlUxamZiYjlIdVQxNzNNZm1ZVFE3bzNtTXRzL3JaQU9uNUpSMkRsVUpoVFVtSUp3cWtUR0xkOTk5MTdvTTQwQ0M5L0hISHhkbnloQTdmRUlBellvb3hBMmpGNG16SVNhUVgxQ0p1RmxBN0hYZ2I5dzBCM0hHMVZjd0RYeGlWR0oyaElQdFlQUWk4NVZqQXFNRzFYNmFCUXk1b0hOSytKOUxmTTJZeHlFR1BmSFVNOVE0THVIL0pSbzFiUzc2Yk1xVUtlZ0tsRVBvTjczdzN3YmNFWVYzNUxaNUhPSVRpRFFXYlpPNG1IbmJQQzcvekdmR2lqb0NlR0dUVkw3ZDk3UzZuaTMyczNuczYyODQ4QUNyZVlEdlNSWnRrN2o0OVczenVIemhxTEtPd004ZmFMVXM1ZHRELzFMWHN3T2J4LzVCQnI0Rzg5ZzMwajZ2a3cyY2tWUEsybUV3T3p2elFINUJKVEs1QlVUdG9ZY2VFcmtOM1RqZWV1c3RJWDZZQmtJZVFiV2VMU0J1bUtxUk9CdGlBdmRwcUVUY0xHVGpRQ0lVVTJTNmNlQ0dQb3hHa0pUZnNtV0wzYm9xWUZ1NC9GZm1LOGRFRWNncDVXUWU0cXFPZmR3bk9BTlhDZXYvRjRUV3JpditweGhwYXVWTjlCMEtMeHR3UnhUZUVjazhrb2oydGpDTmk4Y2s4L2hwcjdLT2prcy84dTlheWFtdUZmdmFzbmxZSGh1dUgzakFiZk5ndnBoU01vbUxwMWVMOWxFdVg4aFExdEZ4NlR6L3JwV2M2bHB4WWlxYmgzR2taRENQdmNQczh6clp3Qms1cGF3ZFNTcWhzTVlFQkVrbE1tYUJrWWMrNHNCbGpUQU9RRGFPRlN0VzBEdnZ2S05jM3hZUVN0U1hPQnRpQXZrRmxZaWJoVHppMEkwRGtJMGpOUld2dDkxb3Q2NEsyQjdxeTN6bG1DZ0NPYVhzekNPZVFWbFpXVFJveUFpbG9QNS9RNlhLVmFsaHc0YWlUN1FpM2t6SW53YmNFWVYzUkRLUC9rUjdXTFJOd3M0OEZIV0FjNTgzWlFHMkpwUG9MOHpmSytyWllXOGJObys3SFFxRjRKdUp5MS9Od2M0OEZIV0FjMXRHMGVYL2ZhM1ZaTDY0SjBSUnp3NXNJRm43K3prVWlwdDdodGpuZGJMQlJTZmtsTEsyRDFBSmhUVW1JRVlxa1RFTGZjUUI0NEJoQUcrLy9iWVFPNXpOWThRQjQ1Q250N0xEKysrL0o5YVJPQnRpQW1kOUtoSFBEZlFSQnd3RHdIZVlxdEpISERBTzNXUnlBdXBoSFptdkhCUDVuUmFFZWNoQWYrYzNwMlF6TFppZGVZam5kT0JHUUV6YkZLTTUxWXR1S1BvT0w1YlN5dWVxL3JzakN1K0laQjU5aVhhejhKaUViQjYvc25EdGZTZldEcW12UmRPUnIrWnJ0U3dsNjl4L2xOdXp3eDZZUjAvRGdRZmNOZy9tZTR4RjJ5Ums4L2oxcHlPMGQrVUFPNlMrMzRlT2JMSCs0MFhKT3I5SnVUMDdzSUZrN2U5ajRHczBEeDRwcVhJN0RpQ2JSK0hrbE5xeWVSaEdkbmJtZ1NraWxjaVlCZWJia2VPQVllakdnYk42M1RoZ0dqcFU2OXNDNWdGeGx6Z2JZZ0w1QlpXSW13V0VFNk10TEt1TUEyYWdRMTdQRVdBMGVLUzN6RmVPaWZ4T0M4cjlwby93OHB0VHNwa1dkR1FlUFJqMDIyKy9VZXQySFpWQyt2OFZWYXBXRjFkZlhieDRFVjJFZ3I0eTlOOGRVWGhISlBQb1RiUXJ3VFF1SG4yTlY3Y1VpTmJGNy9mWTRjcnY0cDRoWTBsbjBWZHN6dzU3V3JONTlIQW9GSUp2eGoybWNmSFViZk5BSXZ6aUQ0ZnRjT1h5ZWEyR1ZFNHNWRzdQRGtmdllmTXdqcFFNNXJGN2dEcTM0d0NGbjFOaTg5aldXeVVVMXBqQUpha3FrVEVMbUljODR0Q2YyZ29Ed08vNmRKWDVhYXYzeERZa3pvYVl3QlNSU3NUTkF1WmhPK0xBZ3cxaEFEQU1mZFJoZHRvSzlURGRKZk9WWXdJakhOVis1aGI2Q0s4Z2NrcjRuMHQ4SFptSGVIM3M4eSs4UkkyYU5DdUdCRHkrQkYwMmI5NDhkQkVLK3NyUWYzZEU0UjI1YlI0SGV4SHRaTkUyQ2RrOFRKZFRqeXEzcGNSdU5vKzkzUXdISG1BMUQvQTl3cUp0RWhkUDNqWVAwK1hjZThwdEtjRUdrcFZtSENrWnpHTlhQL3U4VGpZby9KeFNHOHJhMmt2bWEyY2V5QytvUk1Zc2NCWVAwd0N3TFhuRW9VOVg1WGJrZ1ROcGliTWhKc3dtc2gxQkhybkFpT1FSaDI0Y091VDFIRUZmUitZcngwUVJ5Q21wekFOUHk2VkxsMzRYb3c2OHZyVVlSaUQzZ1Nmd1NxK3pSWjlaKy9DT0tMd2prbm5jUmJTRFJkc2tycC9KeGVNemNDTmI1aHpsZGh4aUY4eWpxME9oRUh6eGNFU1R1UDZEOVM3UW5Bc2Vqdmd0bTZOaU93NlJNWm5Od3poU01wb0hqNVJVdVIwSGNFWk9LV3VyZ2ErZGVaZzlZM1VFVEpmb2ovWkE0aGtqRGdpWmJoejZzbmx4czh6dFM1d05NWUVSZ2tyRXpRS1g0R0trQWRQQWM3S3dQUmlBYmdMNk1xQmEzeFo2WFptdkhCTkZJS2VrTW8rM0dmVE91LzlTQ21jeG1sRmsvVmpSaDlMREU5Rm4xajY4SXdydmlHUWUzWWx3dFk1WjdPdkxvamtsWit6dXBGNC9KK3lFZVhRMkhIakFiZk5ndnJnRDNDeU9MeUQ2K3A4NTQrZ005Zm81Z1Ewa0s4MDRVaktZeDA0ZUthbHlPdzdnakp4U1ZxcUJyNTE1Nk5OTGVRV0VDMGxoek8xRDlQRTNCRThYTkh6cVVLMXZDNGdiUGlYT2hwakFOSk5LeE0wQ1FvOHJ0Z0JNTitrbWdjKzhtZ2MrWmI1eVRCU0JuSkt0ZWVBeEpIVHIxaTNxM1hjQU5Xd2NYd3dIOFBYenA4aklTTkZYV2tIZmlYNjhJd3J2aUZVbzZHQlhGbTBlWGJrTGRyWmk4K2pvVUNnRTMwT1QzQWVISjlHTk5PTkl5V0FlTzNpa3BNcnRPRUNoNTVSMnQ2YXNMUWErZHVZQklWS0pqS3NBY1lNUVNwd05NYUhmRmU0dWdIa2dmeUx6bFdPaUNPU1ViTTBqaVVGNzkrNmpCaXlReFhDTTZqVkRSRDlLOTMyZzcwUS8zaEdGZDBReWo4NUUyMWkwM1FVN1lCN3REUWNlY05zOG1POUJGbTEzQVJ2SWpUVGpTTWxnSHR1N0dYTTZPYURRYzBxNzJEeFNPc2w4N2N3RDB4OHFrWEVWSUc0UVFvbXpJU2JNNWlLY0JaZ0hwdXRrdm5KTUZJR2NrcTE1Zk1TZ3h4NS9naG8waWl0R05xZ1gzVUQwNDMzMzNZY3VRMEhmaVg2OEl3cnZpR1FlSFltMnNxaHNaZUYyQndqemFHYzQ4SURiNXNGOEQweG1zSEM3QXc1T1p2TXdqcFNNNXRIRm1OUEpBWVdlVTlvSjgrZ2c4N1V6RDB3MUFTcWhjUVZ3TlZCTzVyRnhvMXJJWFlGTm03STNqeUtRVTVMTnd6cGwxYUZ6ZDRwbGdTeEc5aWpqN1VQVnExZTNtN3E2SXdydmlGVW9idTV1emFMU2ppaVZoZHNkc0xNOVhkL1owcUZRM05qWFhnZzJwVTkwRHh5Nmg2N3ZNWTZVRE9heExaZTVuOExPS2UxZzgwaE9WQW1GTlNad1JydDhlZjd5SGdXSkZTditMYTRta2pnYllnSWltcHpzUGxOWEtTbko0cEVoTWw4NUpvcEFUa2syajJZTU9ucjBxRklvaTJHUGlwV3FpTDQ4ZlBnd3VnNEZmWWd1TGZxRmQ4UXFGSDk5RnNNQ09JRFArbHV3ZVBNK3VoSmJXektYZ2ZUYnFucUdBdy9RRDd5L05yV25XOGNtMHkwZWZkeGk4WFlwd09IWUZQcHR2VUdNYmN5akE0czJtNks3WUVkTE5vKzJNbDg3ODhDZHNxdFhXNFRKVm1pY0RYQllzK1pqY1FlMXhOa1FFN2g2YWZ2MmJhWVQyb1VKY0FBWG13UzBJU2FLUUU1Sk5vK1pESHJ6cmJmRm0vU0trVE5DUXV1SXZuejIyV2ZSZFNqb1EzUnAwUys4STFhaCtHR0pEOTNhMTRyRmNCRGQydEdOYm0xclI3ZTJ0bkV1MENiYVBzQWMwbHJUcVlVK2hnTVAwQSs4YzI5MzREcHQ2ZGJSbVhUekVPUEFWTVlVSjRQYlBEU0xqV01tM2RyZmxrNitZcHhtbXpWclZtMnJlV3hOVk9kMlhJWHRiQjZiVzh0ODdjeUQrWXN6MmJWcjE0Z3JneUNFRUR4bkFtM0NGUEFjS0hDWk5tMmF3NWpBcFpFWWZlellzVjNjbjRFRU9xYXluQW0wbVpxNlJYQUFGMXdOSmZPVlk2SUk1SlJrOHhCUEZwMTYvM1NLWVdFc1JzNklxQmNqK3JKLy8vN29PaFRjYklZdUxmcUZkOFFxRk4vT0xrRVhucTlBTi9lMm9GdEhodEN0UXlOWXhJY3poamtKM0JhM1NVY0cwODNkQ1hUaHVmS1VjWitGbTBvb3pyN2NrYzZ2YUU4MzA5aDBNbG5JTStlNUFBOXkyNVBweHQ0MmRINTVlenJ5ak5FOEZpMWFGR0kxajlTMlBLSkt1SjNUY1RXMnQ2S3NUWVpwUVR2em1EcDFLaTFZc0VCY3pRTURXYmZ1TS9yc3MwOFphNTBFdFBVWnQ3MWFURmVCeThTSmh2ZXVHMklDVngvaHJYcTRPVzduenUyMGUvY3U4WmgyWndKdG9tM2tJdkJtUDl5SElmT2RQMzkraUllSGgrQ0wwWlE3ak9wMEtISktzbmw4eTZET1hYdUl1NmlMWVE3NFg0ZUVoS0RyVU5DSDZOS2lYM2hIZkJBa1dFeWZZakdRY3c5NzBlOGZoTkxWcnhyUXRjMk5uSXFyWDhhS3RyOWY0Q200N0psc05ZOWZtV3NBd0VMeEp3Njg5Q2ZiQ0FQNS9zME9kR2xkTzdySzRueHRXeHVuNHU4dGJVWGIzNy9SUVhEWi9aajFUQjU4QTFsTXlqUGZhK0I3N1N2a0d0d29wN1NqUGYyOXdmSWVBbzJ2RHk4YlltTGN1SEhDUUdiTW1DSE9vRjk4OFVVaGlNNEUya1RiMDZkUEYxekdqTEcrT3RjdUpsaVloWUZnYWd2VEw4Z0Y0T1ZHemdRZU9ZSzJuM3JxS2NGbDd0eTVEbU1DcHV4dU9TVTgya1RpcThjRVRKcCsvLzEzaW1aQkxJWjUrUGo0aXY2VTdqWVBRcDhXK2NJNzRsMjZkT2tNTEw3WjIySWU3b1RuZWxqTXc5UFRjdzl6TFF0NGVYbGw0TUI3WTBJRElkanVoSCtPakRid1BYRGdRSkRPOTh5eUtMcTF0eCtmOWJ0SFR1bld2djUwOU5Wd21hODNMeHRpb2tlUEhrS3czUW1kTzFzdWgxYkZ4TEJodzRSZ3V4TUdETEE4dVpnNWdtOUFXbHBhSVBqaU83d3ExdDF5U25nRG9kUy9la3p3bVEvUnZuMXBGQjNidUJpNVFFQmdrT2hQUEwxQUs4M1FwMFcrOEk2VThmUHpleDJMdFlKSzBMRnBhaEYzQlU1TUwwRjF5bHZNSXlBZ0FQZjUrd0c4L0liZ1c4bUhqajZicUJSeFYrRDRjKzJwVGhYTFdZWU5YOUcvN2VwNVU5YW01bXdnU2E3UEtlMUxvaHViRTZoanJDV25WTFpzMmFjUUM3eHNpQWs4SFhUU3BFbEtFWGNGSmsrZVRPWEtsWE1ZRXhVcVZMQytQYzhkc0hqeFlxcFlzYUxNMTUvaHkvMzlHcjRMQ3dzVFY3UzVVMDRwTWpKU0ZSTkRHTFNhUjFiMVdSQ0xZUjdsSzFRUy9Zbi9yMVlHb1UrTGZPRWQ4UXdORGUzcTRlSHhQZjdzSEZaQzVCbFVZdTVNWUFxdFF4MkxjWUJiM2JwMU96RlhiNEFQdUc1V3ZyRVZSWjVCSmViT0JLYlFPc1JZUk1LR3IwOUVSRVFpZjNjQnZ6M1V2eHhsYll4bjhSNUV0L1lQcDF0cHd4aERuUVJ1YS84d3VzbkdjZTNMcGpTdmorV01DSHpyMTYvUHd4SHk1TC90WXFKMjdkb2l6NkFTYzJjQ1UyaTFhdFhLTVNicTFhc244Z3dxTVhjbU1JVVdxUWt4dUlXSGgzZEdQSUN2SEJOZHUzWjFpNXdTcHF2MFVSMzQyc1RFREFhOS9zYWJTb0VzaG1OVXFsSk45S24wam84WjZOTWlYM2hIU3ZNQjJaelBqaWJ4c1A4U3ZxcnFYNEptdHk1Qkh3OHBRWitQY0M0K0dtUnB1NEt2TmRkeHVYTGx5dVA0WUl0anJsNEFpMGFDZ1c5UUdacmRLNHhXeldoSzYrWTBjeW8rbXRaRXRGM2UzOHNoMzFhdFdvVXgzeW44MnhYVWFSVHFSUnNYMTZRTC82bFB2NjZLY1NwK1hsNVB0QjFSemRQQXQzWHIxc2pvbGVidmxESEJJeEZLU0VnUVY0MGtKU1U1RlgzNzloVnQrL2hZcjd6TE1TYjRMRjhJSVV3UDc1VjJKc2FQSHkvYVJwOHArSlpoZU1iSHg5ZVJZd0kza3NFZ2NiVVlSTWFaUUg0SWJWZXFaRGxEMXZuYXhJUjQ3ditUVHoxTjlXTWFGU01YcUZLdGh1aFhuTkJvNVZIMGFaRXZ2Q01lTEJTMU9IZzcxNmhSSThuVDAzTUh2bllIbENwVktxTktsU3Fqd0kzRm9TWnpMUVVVTWI2bDE2OWZYeVk0T0xnTkRraXVjMHExcml1Zzh3MEpDV21kbHBibWlWamc3NHRqb2dBaDg0Mk9qZzVHUEFCRk1DWmVaTkRDaHg2bWVpeUl4VENQcXRWcmlyN0ZKZVphZVFGOVd1UUw3MGhKSHE1NmxpOWZ2Z1VIVFNjTzZDNjhQSjNQbXBaNWVYbWxJckNkQ1c0emhkdCtFeHpBQlp6QUxTVWxCUWNkYnUzM0tHcDhHYVVTRXhPRCtMY09ySEZkeTVVck45dGQrRmF0V2pXeGUvZnV1R0lKSWx5eU9DYnlEeE44U3pLS1dreUlCNjNOZlhDZWVOVnFNY3lqcWpieXVPZWVlOUNGS01oM0ZmM0NPNEpBTGhrWkdWazJLQ2lvYllVS0ZUb2gySEdtaEVCQ1lNdmdzNzBDaGUzMjBTYmFCZ2R3QVNjK1kwT1NVZkFzcW53WkhqZ2d1VjV6ZCtITEloRS9jT0JBY05VRnpXb2VRSEZNbUlQdDluUGdhKzFyTEJlaG1CRG1NV2Z1Z3hURmdsZ004NmhjdGZvZGF4NVdzZUJBeGxVMkRmejkvVHNFQmdaMlJPRHJRR0FWSnVTMjBEWTQrUHI2TnVYaXEvUFR1Qlpadmd3Y2tLV2lvcUlxaElhRzFxNVpzMllEM2hhRW8zbU5HalVTQ2hONk85eG1MTnFPalkwdHAvR1J4YXc0SnZJQnVhMDdNQ2JFdE5XOCtRc29xbjZEWXVRQyt2T3Q3c1JwS3hraVlIZ0lIY2huUzZFYy9ERWMvUEVCQVFGT0FkcmlOcVBSTmpqb2ZEUnVLaFJKdmhyMGcxU0loNU1ndHlsenNYSXNqb244SVE5ODNSNWFUSWlFK2RLbGoxTWtDMkl4ektOY2VjdFZtSGRjd3J5NEZKZmlVbHh5S2l4NDRsTGRWMTU1bFNMcnhSWWpGeWdiRUNqTUExZTJhZVdPdVZUWEZ2cVpVc2xIemxFMEk4N0ppSkk1TUZRY1pSUlp2bTRDQTcrY1lpSTFOVFY2eTVZdGNjNEV0NW5uUGo1NThtUTBJODdKdUJOalF0d2tpSmRQcVFTeUdJN2g3VzI1eEJ4dmpkVEtFTkdwUmIzNHp0d293RHVrQjQ3SG91OXAxc1BmMDRWNVB4RE4rZEc1UUp0b216bE1BaGVkbDhSVGh4M2ZKVDhSTGZtWmFMR1RnTGJRcG9wdnc4VmZsUUI0Mlk2dkJuMHFTVnk2NlVUWVRtRUpYbnIvb2t5ZE9sVkEvdzMxVWxKU1ppVW5KMS9BdXpLU2t6YzVHV2d6K1FKek1QU3h4Tk91ajQ4ZlB6NkxjU0V6OHhnZE8zYlVxVUNiYUp0aDRMdDA2ZElTQUMvYjhkWGdWakdoOXk4Sy95MGVUN0o3OTI2S1lFRXNobmw0ZUhnSTg3ampIazhpR1ljSTNvZStwNC91WVZHcy93dFJBTVBmeVVDYkRTOFFUV0VPNEFKT0dqY2hjUHhweDNmeHIwU1RyaEVOdmNtVzdtU2d6WHV1c3Brd0IxdStrbmxZK1RKd3NPTDZlWEZ6R3dNM2pUa1RlcnZnb0F1SHRYOVJKT01RbkZtMFA5cTA2VXZ4Q0F0WFBJTUpiYTVhdFpJMmJjTExsVklNZlN5Wmg1VXZpL1pIUjQ0Y29tM2JVbDN5VmtHMGlmZDRaR1FjaG9rWStFcm1VU1JpUWpJUDhXQkVQTnl2ZGxnRVJVVEZGTU1FMEZmb1B1Qk9mRERpYlNFK1I2UHZaZEd1Q0NGbkFYY2x3R0VxRElRNWdadkdFVndOZkJmOWoyakVEYUxCTGdZNGdFdDJmQms0T0hHd2VuZnAwcVYyUkVSRWEyY2pMQ3lzVmMrZVBYSG5NQjdyQVM3Z1pPVnJHeE1zMXFNM2IvNks4S2h1bGJBN0UrQUFMdUFFYmhwSFF4K3pXSStHYU9POUdpcGhkeWJBUVRNUVc3NzRGSHdaUlNVbUFQRkk5cmhtQ1JUT3dsaU1uRkd0UnJBd2pqdjFrZXg2RUhzOStCMGRhbjZleGR0TjBKSXg3enZhQVc0YVJ4bUM3NzEvc1hoZmR3L2N4MXdjOE1YWkhMN3pybGF0V3AvU3BVdnZRZGRYanU5RU5STDdPaFdWR2x2ZWRNZ2N0Z1VIQjNjRko0MGJlRnJ2TU5mKzlrcE9UajZFcDc2cXhOd1ZXTE5tTmFhd0hNYkVzV1BIRHVGZEdpb3hkd1YyN2RwQnpFbm1LNXVHWFV3MGFOQkFQSXJGbVlpSnNieXdLSWVZQU1UTG9FYU1IRVhoa2RIRk1JR2djaFZFMzk2cEw0TVNCeDNEWithWjYxbVZJTng4eHU4T0NHWXUwMC8rOVRkejA0TVpCeHlFR0dkSGd1K0lxeXpjMTl3RG81bXBJNzU4dHV6djdlMzlGcnE4NVNQL29sa25ydExjSDRobS8raGNQTWh0b3UyNE9TK0pvUGJ6ODN0ZTR5dk9ObTFqWXNPR0RWbDQ4cXBLeUYyQkZTdVc0eVZMRG1QaThPSERXWnMzdTM3VW9RUHZNRTlQVDlmNTZsenhhWWdKM0FPZ3YzOWRuZmNwVEd3V2Jlc3YyWElRRTRCNERlM3p6ejlQZFZrWWk1RXp2TXFVRVgxNnA3NkdGZ0hpN2VQajg5UU1IbEQ1LzBUazV5YW93Z1l5SmVNUytmdjc0eHB6UEkwVUFpRkVRdWM3bU0xamtKdGdPRXRFTm54ZlJIZjNYM09ZSnZGKzFkUHlPNnE4VDJGQ3p5a2hyd1V1NEtUeEZXSmhHeE40RDdkS3hGMEZHTm5hdFdzZHhzVFJvMGVWSXU0cTRKVzBTRExiOEVWZlcyTUNiejdjdUJFNXBROWRuRlA2VW5CeEVCTUFuckpMQnc4ZXBGcDF3cWx1UlAxaVpBUDBFYm9PT0hUb0VMb09CWDJJTGkzNmhYZkVLeUlpSXA0WGI5elBZdXpIWjZmdWdzcU15Y2YrUkUvZmFOcTBhU3h6eGNIbmcwZEY2M3dIc1dDN0M0WmRZVkhPdE9jYkdSblpBbDNkNEw0bmFRcWJvcnZrbE1BRm5DUytYcnhzaUFrSW9FcHdYQVhrUFQ3OTlGT0hNWkdSa2FFVWNWY0JlWSs5ZS9mS2ZDSEl2akV4TVMxTGxpeEpJMGVPRkhrY2Q4b3BnWlBFVjQ4SkFGTnVkT3ZXTFlwdDBFZ3BtTVc0allxVnFxSWZ4Uk9UMFdkYVFSK2lTNHQrNFIzaGtiTmw2SHd2ek9PSC9NSDM2RVh5MlhuYUN0OUQ1OG52Mnl4bDNaeFFpYzFqd29tcjRoL2c2K3Y3Qm5QRmkzLzhlVmo5Tmc0ODhCM0VncDBmOVAzaEl0MlZjZHFLM3QrZXA2VExXY3E2T1dIWVgwU1RUdHJ6NVRQTWxlQTdldmYvcUptV3ozRUh0R0FNUy8xQjhPVVllSjI1NmkvK3NjYkVsMTkrcVJRYVZ3RUN0MjdkT29jeGNlVElFYVdJdXdvd2ovMzc5OHQ4OGFpU3NucE00QW8yZDhzcFlYUUh2all4b1FOWGo0bFhBb2V4UUJiRE1ieTExODlPblRvVlhZYUN2aFA5ZUVjVTNoRWZEdytQczFpY2ZKYVB4SE41ZysvdXMrVDk0U2Jxc21rdlBYcjRsQlVEVTlPcHlxcE41TFA1Q1BtZFpSTlJyT3NJbGRoQXhwNjRMdjRCekRHVHVZcjNWWmN1WGZvc0RqendUV0xCemd0NlpwNmxkbDlzb3Z0MzdLVjNqcCt5WXNHZWRPcXhmaE4xM1hlRUJ2NmVwVnpYRVliK1NUVCtwSkx2VCtCNy8ra2I1RTQ1cFpxTWU0OWZFM3hMbFNwMUFySEF5NGFZMkxCaGcxSmtYQVhaUEZReGNmandZYVdJdXdxeWVXaDg4ZHJjQUU5UFR4RVQ2RjgzekNtcFlrTEhZQVp0Mzc2ZGdrUHJVRmg0dldJb2dMNUJ0d0hidG0xRGw2RU1Zb2grdkNNSzc0Z3ZmOXpBNG5pWXgvZTVoOCttSXpRN0xaTXVYY3RDQnluTCsxK2ZveXFmN2lDL1UxZVUyMUNoRWh2SUtNMDgrRUQ3alRlRFp3VUZjbERmd0lFSHZra3MyTGxGMTcxSDZLVWptZlRIZGNkODEzOTdqbnB0M2tIOWY3bWkzSVlLUS84Z0dxT1poODQzSXlPalBQTzlDYjdUbUsrNzVaVHV1ZDIvdUFoZEZ3cHJUQ0NScWhJWlZ3SG1nVGZmYVp6dFlnSnp5eW9SZHhWZ0htbHBhVExmZ016TXpBcDZUS0NPYWo5ZEJSaVpiaDQyTWFIRE9uVVZGOStNNnJCUUZzTWVnVUhsUlI5R1JrYmFUVmtCZDBUaEhZRlFpQjBkL1EyTHluZTVnOCsyMC9UK2FWWjVFK1hzSDFjbzhzczA1WFpVcU1RR011eTRWZHhZbXNXTlNrRjg0T0Z2d1hjZ2Y1c2JkRDk4V2hpRG1mTFRYMWRvNlBZMDVYWlVHSHlaYU1SdE1lWnZLR2pKa2lYQk90K3A2Rjh0bitNT3dMVGd4TnY5eS9ZbllzRVFFK3ZYcjFlS2pLc0E4OUJ5SHNxWVFETFhWc0JkQ1pqSHZuMzdITWFFTzA0TGZ2NzU1NnFZa1BFMlE3ejFNTFIyT05XcEcxVU1DZWdUZEJtQVB0SUsrc3phaDNkRTRSMnhDc1VJaUJ0R0gyWngvQW85ZXZBVWI4SllQdUJEWkNtZlk3MzhPeHVHemNuOW9ZdVh5WGYzT2ZYMmJGQUpWMU1aeGMwZ0ZPQTdrTnN3aTM0L1g2RjNqdG56VGJsT3RQSXEwZWZYaUM3YzFMN1V5c2xMbDZsbjVqbmw5bXd4bU0vVGh0NDJEOEdYaFNKVTV6djVETytYVFY0bnR5am9uTkxZek96TkEyZWhLcEhKRFY1NDRRV2FPWE1tY1YvUSsrL25MekVNY2NQVlZoSm5RMHdjT0hCQUtlSzVBVVkyYjcvOXRuZ1dVWEp5c3JLT1dVZ0pjMlZNdVBPMG9FMU15R2pPb045Kys0MUNhOVZSQ3VqL1orajNkZ1FGQmNsM2xhUFBySDE0UnhUZUVhdFFESUc0d1VCTUltcjdhVjc5ZGpsNzdTYTFnRERaMUlPWnlHVmkraG03T2lwVVpBTVpZQlEzZzFDQTd3QTJLYk1ZZWNqSTkzeldUWnJOb3dYYmVpbHNJbko1K3RnWnV6b3FEUHFWS01uRzdPYk9uVnRINXp2aGE5NHZMWitUV3hSV1RtbjBzZXpOQTJlaEtwRXhDNXg1TFZxMGlGNSsrV1h4cnV5SEgzNDRYNWVqUXR3KytlUVRoekdSbnA2dUZIR3pXTE5tRFMxZnZsenM5K3JWcStuZi8vNjN1TnhXVmRjTVlCNTRwcEhNVjQ0Sk41OFdsR1BDRnVzWU5HL2VQQW9PRGFQYUxKckZpQko5Z2U0QzBEZGFRVjhaK3UrT0tMd2pWcUVZQ0hHRGdaakVTeWRZZ2FUU0RkTWhpbnJBMmI5dkQwRlNmN21zckdPTGltd2dmWTNpWmhBSzhCM0FnbTBXcTg0WStTNkNjU2pxQVQ5TCtadUR2MTVXMXJIRm9JdEUvVzNNVGhhS3NlaGZLYWRqRm9XWlV4cVJnM25nTEZRbE1tWUFzM2owMFVmcGpUZmVvRGZmZkZOODRnWXp2TmRBVmQ4TUlHNFFlSW16SVNhUW5GYUp1Qm5BTEQ3ODhFTWg2QmdSNEJOVFpEQVFtSUJxblp5QTlYQ2ZoOHhYamdrM254YVVZOElXUFJoMDhlSkZxbEV6aEdxSFJSYURFUkJZVHZSZFlHQ2c2QnV0b0s4TS9YZEhGTjRScTFEMGhianh5Ymtwbk1nU09ReTlwUDdHb3FXcXAySE9MMFJidWJvT1ZSMWJWR1ErdmJJeEQvRHQvejl6NlBkekZ2MzA1MjIraHk1ZlVkYlQ4UzYzbG5IOU5sUjFiSkhFKzlnN0cvTVlpZjFTNUhheVEySG5sSVljemQ0OGNCYXFFcG1jOE5SVFQxbU5RemVQMTE5L1hTeS8rT0tMZVRhUW5Nd0R5V21WaU9lRWp6LysyR29jc25rQTZJTzhHZ2pXMmJWcmw4T1lLSWhwd1lJRSt0ZG1XdENSZVFCZk1PakpKNStreWxXcUs4WDAveFBRQitncUFQR3ZsYzlWL1hkSEZONFJxMUQwZ3JpZE1vZHFCL2hVV3lxUC9jRG1vYWlYSDFSa1B0Mk40bVlRQ3ZEdHo0SnRCb05QRy9tdStCK2JoNkplZmpEd0F0RmRObVluQzhWUTdKZE5YaWRiRkhKT3FlSzN6Sm1kVWVKclp4NFFFcFhJWkFlTU9CNTc3REZoR0crOTlaYUFiaUQ2Q0VRM2tIZmZmVmU1RFVlQXVFSG9KYzZHbUVCK1FTWGkyUUVqRHR4dkFjTkFBaHZRRFVRM2tid2FDT3J2MkxIRFlVemtkMW9RS09pY2tzMjBZSGJtMFlwQlY2OWVwZkR3Y0twVkorTC9OZEJOQVBvQ2ZhS1ZscXIrdXlNSzc0aFZLTHJEUEU2YVE5ZmpsM25WMndWL3ErcmxCeFZZTnp0bll4N2cyNDhGMnd6bWZXL2tpNzlWOWZLREFlZTVIN0l4anlUc2wwMWVKenM0STZmVTkwajI1Z0VoVVltTUkrQ01DOGFobXdhQTd6RTlzMnJWS29PaHdFQ1FBN0hkUm5hQXVHRTdFbWREVENDL29CSnhSNEFSd1RoMDB3QWcrQmpCNEY0RzJWRHlZaUE1bVVkK3BnV0J3c2dwMll6c3NqTVA0QjJHdUxBQWw2ZXFSUFgvQS9UcEt2eFAwUmRhZVFkOWg4TExCdHdSaFhmRUtoU2RjV1o4M0J5Nlp0cVlCLyt0cXBjZlZEaEIxTjU0Wm13UUN2RHQ5N001elB2T3hqejRiMVc5L0dEQVQwU2RiTXhPRm9yK3ZEK3EzSTRqT0NPbjFEc0g4NENRcUVSR0JUM0hzV3paTW5HMUVvQ1JoWDdtams4SXYvNGI2dWtHWWxid0lHNTRtNTNFMlJBVHlDK29SRndGUGNjaGY2Y2JCMHhJTnhENWQ5MUF6Q2JSc1Qxc1ErWXJ4d1MycDlwUE0zQlNUaWtuODhDenVuRHpJMDJaTW9YS1Y2aWtGTmM3R2RobmRCR0FQdEFLK2tUY25ZL0N5d2JjRVlWM3hDb1U3V0Vldk10bTBQWEVYN3pxN2RMMTRDL0tldmxCQlRhUXR0bVlCL2oyWmNFMmcvbm5qSHpublBwRldTOC82TS9pbnBpTmVmU0dLV0owWndaT3lpbmRkVGg3ODREQXFrVEdGcGc2MFkwRG93cVlBNzdIaUFNSldDekRPSEFHcnh1SVh1K2xsMTZpUng1NXhMQTlSNEM0WWFRZ2NUYkVCUElMS2hHM0JVUmJOdzV3d3FkdUhMb0JRZlJ4OVpadUlIbzlqQlp3R1MrV2N3SzJpVHVNWmI1eVRPaDlrMXNVWms0Si8zT0piMDdtQVloWDFGNjVjb1hxMTY5UGxhdFdGL2M2L0g4QTloWGRBMkRmLy9yTHFqT0dWODN5M3diY0VZVjN4Q29VYlRDdGNzd2NXdkNacTF3bXBwOVQxdFBodStrcythemNhNFdxamkwcXNJRzBOSjRaRzRRQ2ZQdXlZSnZCVEJaWHVUeDk3Snl5bm82dWU4OVM0dnE5VnFqcTJLTC9EMFN0YmN4T0ZvcTdZQjR3YUJOd1JrNnBBaHRJMXh6TUE5TTZLcEdSQVJOQTBsUWZjZUFUMzJQS3gvYk1XamNRYkJmMWRNQjhYbnZ0TlVOZEZTQnVFSDJKc3lFbWR1N2NxUlJ4R2JxQnlkOUI1SEdsbHUyMGwyNGdtSHFTdjhkK3dSamw3MVRBZHJkdTNlb3dKb3BBVHNtTWVRRHZNdkRpSzNHbFVkVnFOWlZpZXljQis0aXVBYkRQbVprc1dKYnlML1NaWFBnN0ErNkl3anRpRllvV21GWTVhaDV5ZWYva2orUjNPRXRaRDVpOTl6U2wvbmpSZ2d0L0tPdllvandiU0xOc3pBTjgrN0JnbTRWY3Z2am1SK3I5YlpheUh2RGlvZE9VL3ZORmdRTVgvMURXc1VWZlJvSU5YMWtvdW1KRXBlVnpjb0t6Y2tvZEQyVnZIcGdpVW9tTURDUnBZUUR2dlBPT0FCNXhBZU53ZEZhdEd3ak9jUFYxeklvYzJscXhZb1hEbUxBVmVSWDBHLy93dUhrQWY4TTRIRTE1eVFhaXJ3TlRBRlQxWmFCT2FtcXF3NWdvQWprbHMrYUJSMjlzWm9qL2UrblNwYWxHY0cybDZONEp3TDZoV3dEOEw3SFBXa0hDUTd4QVN5NzhuUUYzUk9FZHNRcEZQTXdqd3p3KysrVnZYdDFTY0E5QzFiV0hsUFY4L251YXpsNitQUVdEOVZUMWJGR2VEYVJKTnVZQnZuM09tY2ZPMzI3ei9ZUDU5dHAwU0Ztdjg0N1Q5S04wV1MvV1U5V3pSVjlHWERibTBSRWpLaTJma3hPY2xWTktQSmk5ZVdDS1NDVXlNdlN6Y0l3SVVCL2ltdE1adFg3bWp5a2dtQTIyWVR0S1VlSDk5OThUTi9GSm5BMHhvVTh4WlFjOW40RVJBYWFVY0ZkNlRya1NiQmYxY0RVWHpBYmJNSk9jaDNsczJiTEZZVXlZblJZRW5KVlRzcGtXTkdzZVFEQ0Rqd0lTZWFHeUFVRlV2V1lvaGRTcWUwY0IrK1JmTmxEdkk3R3ZXc0crQjZPL2JBdC9iOEFkVVhoSHJFTFJtQVhGOTRoNVRCUmhjcnQ4K3MxNTh2NWdCL2xzUGtjKzJ5K1NUeXIvdlRLZEh0M0hwN2hTd1hxcTdkbWlIQnRJUStPMGlrRW93TGZQOStieG9uRW1pRksvTzA5dFA5bEIzZmFkb3g1SExsTDNBK2VwL1gvVDZlMURScjVZVDdVOVcvUmxOTGJoS3d0Rk80eW90SHhPVG5CV1RxbjFnZXpOQTRhZ0VobGI0TXdMSW9tejdOeWNUVU5nSWVBWXFhaCt0d1hNQXdlcnhOa1FFOWlXcllDckFMUEE0OXNCczNrU0FBYUNGMDZadlJrUlJwcVNrdUl3SnN4TUN3TE96Q25aVEF2bXhqeUFLTWJ2REhyaWlTZkVkakM5b3hMaG9naDVxZ3JBUG1vRisxeVB2MU1XL3MyQU82THdqbGlGSWhibWNTaDMyUHFIOVltUm9oejg1VEtOVHo1Q25UL2RTd00zcE5Pblo4NXJ2MWpLb2I5dUtyZWpRcm5EUk5IWm1BZjQ5djQyZHpoeXhjajM1TVhMOU5pT0kzVHZsM3RwYmtxNk1CUzVmSDMxcG5JN0t2Umh4R1pqSHEwd29wSnlPdG5CV1RtbGhQVHN6UU9KWVpYSXVBb3dELzE5RTZxWWdIbXBSTnhWZ0huZ3lpeVpyeHdURUhyVmZzcUFDVGd6cDRUL3VjUTN0K1lCdEdhSWd0RVM5ck5TNVdwS01TNUt3RDZnSzdTK29XZWVlVWJiUzFGYW81OGNGZjdkZ0R1aThJNVloYUllaTRudndkeWhHbzhRemw0ekNyS2pjdW5HTGFySG9xWGFqZ3JsMkVBaWpYUHlCcUVBMzk1bmM0ZWgzK0daVnViNC9ubnpGazNnVVpKcU95cjBZZFN6NFNzTFJYUHVLMVZ1eHhIa1VsZzVwYmo5MlpzSDhnc3FrWEVWWUI3SWUwaWNEVEdCMFk5S3hGMEZQVDhpODVWam9namtsUEppSG9EVlFOQTJjaUNCNVNxSVp6OFZSZWdQT3dTd0w5Z25xV1JySENoY3g0QTdvdkNPV0lVaVBBL21BY0JBdHRyY3FHWmI4SHR1akFNSVl2TUl5OFk4d1BmdWIzS1BJVHhDT0hJNy9hRXMrSDM4OStyMXMwTjROdWJSbEVkU3F0eU9JemdqcDlRNExYdnpRSDVCSlRLdUFzd0Q4L2NTWjBOTVlJcElKZUt1QXN3RGtQbktNVkVFY2twNU5RK2dCVU1FSnU2a0R3Z0lvTEpsQTZsbVNCMmxRTHNqd0JXYzBRVUE5Z0g3b2hYc1d3TDZKNmZDOVF5NEl3cnZpRlVvNmtEY0QrUWRDY2VKSHZ2SlloUTZYcnBBMVBXVXVuNU9DR0lEcVcxTTZCcUVBbnp2UHBOM1RPTlJ4WXBmTFVhaDQ5UGZpZWIvcUs1dkJtRTJmR1doYUlqcE9DMmZZd2JPeUNuRjdzdmVQSkJmVUltTXF3Qnh3NmZFMlJBVCtwVlU3Z0lJUFQ1bHZuSk1GSUdjVW43TUEwQU9oRS9YaU02Y09VTnhjWEZpMnhVcVZsR0t0VHNCSE1GVkI3aC8vZlhYMkJVVTdGTVVmMitxY0YwRDdvakNPMklWaWhDWVI3cjdJSWdOSkRnYjh3RGZ1L2wvNlRaZzh3ak54anhpdEZ4T2JsRFlPYVg2T1pnSHpscFZJdU1xUU53d1pTQnhOc1JFZmg2ZlhoaUFlV0FLU2VZcngwUVJ5Q25sMXp5QUVNWi9HZUtaVDNpbk4vWWRWeXhWclJGQ05WbW8zUW5ncEY5TnBmV0Q0Q3c5cjJvREl3VDlZclp3ZlFQdWlNSTdZaFdLR2tmNWovM3VneUEya09yR3E0RU1RZ0crZDU5Mkk3Q0IxTXpHUEtKc3B1WE1vREJ6U3BnV2pOaWJ2WGxnRGx3bE1xNEN4QTF6K0JKblEweVl1ZmZDbVlCNTRLeGY1aXZIUkJISUtSV0VlV0FUK0Z6R0VBVWpSRHhBRUYvamt0NXFNSkdRT2k0Rk9JQUxPT2tBUjB5RlNtVVpmNS9yd3V2WjlVZVJMN3dqVnFHb3ltTHNuOFpmdUFuS3NZRlV5Y1k4d1BmdVUwUzkzQVM5MlVDcVpXTWVkVEVkcHhEeG5GQ1lPYVU2ZTdJM0QrUVg4dk9ndllJR3JnYkt5VHcyYmxRTHVTdXdhVlAyNWxFRWNrb0ZaaDRvdkR5SWtjbWdhOWV1aWF1eGtFZkFULzVsQTZoSzFacEtZUzlNb0UxNXBBR0FFNjZtQWtldDhORkZnL2kzUEJWZVY5a2ZSYnJ3amxpRm91TCthMVFGVTBiNzNBUFZXR3dyN3YxYmNGTUpSWlgwYTlTWEJWc2w1SzRBdUZUWlorUXJDMFZ0OUsyV3o4a0xDaU9uVkd0Mzl1YUJTME9YTDNlZnZNZUtGZjhXZDFGTG5BMHhnUnZsa3BQZForb3FKU1ZaSkZobHZuSk1GSUdjVW9HYUJ3ci9qWWNwaXFmeG91QjF0cmlIcFVJRnl4Vk5ucDVlRkJoVW9WQkhJOWcyMmtCYmFGTUhPSUNMOVBwWUZIQzFQdVF3TDRYWGQ5Z2ZSYmJ3amxpRkl1aUw4OVNZendrQ2NPYXZFSE5uSXBBNU5HVXVnV3UrRTl4VVFsSHp5L1BVNjJ1aVBpZFp2RjJNdml6Z3ZURnQ5Wm1Scnl3VUlaaU8wL0k1N2dDUlU5cVZ2WGs4OTl4enRIcjF4MjR4K2dDSE5XcytGbWVyRW1kRFRPQnFwTzNidDFrVDFhNEVPSUNMN1UyTmNrd1VnWnhTZ1p1SFh2aDdYSTBsWGlpRjh1ZWZmNHFuQXNmR3hvcjJBWWc3UmdWSVhsZXRubmN6d2JyWUJyWmxheGdBMmtTc2c0TlV3TTNVMVZRNUZkNU9qdjFSNUFydmlGVW8vQmJ2WUVHNVFmRThRS3ZGd2xLSkJieUNrNEUyYTNQYjRCQjA2Q2I1TGpCZUl3L29CMTcwUDdaVHVZTTNhUEFab3VGODFqK0FCYndmQzdremdUYlJOamlVWTc1Ump4c3Z5NXcxYTFadG5XOE5LWi9qRGhBNXBSek1nL21MZXd6V3JsMGpyZ3lDRUVMd25BbTBDVlBBVlViZ01tM2FOSWN4Z2ZkYllQU3hZOGQyY1hVU0V1aVl5bkltMEdacTZoYkJBVndlZi94eGh6RlJCSEpLaFdZZWV1SGZFeGxyR2RhQ1o0bk5tREdEcWxXN2ZXTWVVTkxEZzd5OHlwQ1ByNStZNXNKN05QQWVFZHlIQVdBWjMrRTMxRUZkckNOdlF3ZTJqVGJRbGswQmwwU3VVMkNGdDJlNlA0cE00UjJ4Q29YdnpJM2s5L3hCQ2tqUG9vUVRSRzM0ekw4VmkzaExKd0Z0b1UxTXp3U2tYU08vNXc2UXo3MkdWMklhaEtMaDRxOG8vTTBEYkhoWjRxeC8zRGNXakhVUzlMWjZjdHZsOWwrajhEZlNLZVpCdzF2WWdoWXRXaFNpODYzS3h1aDJPYVdkMlpzSHJqSlpzR0NCdU1zWkJySnVIZTRYK0pTeDFrbEFXNTl4MjZ2RmRCVzRUSnc0MFdGTUxGMjZsRjU1NVJWeFg4VE9uZHRwOSs1ZDR2RWp6Z1RhUk50NHhTeGUwb1NuMjhwODU4K2ZIK0xCZ2dhK1JTQ25WT2ptb1JldTE1VHhLdU13UTVSYnQyNEpjWC8yMldlcGI5KytGQklTSXJqbEJWZ1gyOEFKQnJhSmJVc0ZiYUx0T0s1YjRJVzNtK3YrY1B2Q08rS0RJTUdpenowZkN3UHhYYmlWL1A1OWh2dzMvVWIrVzM1M0xqYitLdHIyblo4cXVQaE10RDRxQVUrbUNnQllLUDdFZ1JmOXdDcGhJTkZQcFZMd3FqTlVNZVUzcXJEMWQ2ZWlVdkt2b3UyWUo3WUlMdlZuV3UvT0JkOUFGcFB5elBjYStGYmNkcFdxNEt4Zk1VM25DbFRqRTY2S1c2N0lmSDE0MlJBVDQ4YU5Fd2FDTXpTY1FlTkJleEJFWndKdG91M3AwNmNMTG1QR2pIRVlFeXpNd2tBd3RZWHBGenltQXk4M2NpWndneDdheGhOd3dXWHUzTGtPWXdLbTdHNDVKVHpTWGVLcngwUytrTnZDNi9SanJHVFlGZVJJOEd3eWpJUXgxYlJ3NFVJeEdzVkpCWUJsZklmZlVBZDFzWTZEZ2piNmFjMFdXdUUyOHRVZmJsbDRSN3hMbHk2ZGdjVXlkeSsybUljYndhdWI1Y0R6OVBUY3cxekxBbDVlWGhrNDhHb05XaVFFMjUwUTBuZU9nZStCQXdlQ2RMNkJIMlJTNHlNWVZhbkYzSmtRT1NWd2VXdS96TmVibHcweDBhTkhEeUhZN29UT25UczdqSWxodzRZSndYWW5EQmd3UVBCbGp1QWJrSmFXRmdpKytBNlBWM2UzbkJLZXdpdjFyeDRUK1VKZUM2K0xSNzAzWTh4a2ZNSVFOeHptc1dCZGJHTTJvem5EN3RIcGhWVzRyUUxwRDdjcXZDTmwvUHo4WHNkaXlhRHE1SHZmWjBvUmR3bnUvNXc4eWdXTFFBNElDUGdIYy9VRGVQa05mRmVtZkhXS25mK3BVc1JkZ2RnRjY2aE1SY3RUTjIzNGl2NHRWYjhsQmUzTW9uZ1diWmZubEpoRDBLNGJWRG8yVWZBdFc3YnNVNGdGWGpiRUJGNXlNMm5TSktXSXV3S1RKMCttY3VVczc0dFd4UVN1bGxtMGFKRlN4RjJCeFlzWFU4V0tGV1crL2d4Zjd1L1g4RjFZV0ppNG9zMmRja3FSa1pHcW1IQW5sR01rTUhEWjd3ekdZNHdYR0c5cXdESyt3MitvZzdwWVI3VXRsK0NPS0x3am5xR2hvVjA5UER5K3g1K2x3bHFJUElOU3pKMElUS0dWcXROY0JERzQxYTFidHhOejlRYjRnT3VtOHcySWJDSHlEQ294ZHlZd2hSWVFvZVRyRXhFUmtjamZYY0J2WGtsektHRDdkVXJJSUdwemxNU1RkbHM2Q1dnTGJTWmd4TEgxS25uMW4ybmxXNzkrZlp6ZGVmTGZkakZSdTNadE1SMmdFbk5uQWxOb3RXclZ5akVtNnRXckovSU1LakYzSmpDRkZxa0pNYmlGaDRkM1JqeUFyeHdUWGJ0MmRZdWNFcWFyOUZFZCtNb3hVVnlLaTEzaDRDak5CMlJ6UGp1YXhNUCtTL2lxcEg5RjhtdzFocndIUFVmZXcxNTFMcEtlRlcyWDlMRytiT1Z5NWNxVngvSEJGc2RjdlFBV2pRU1pyMmRBUmFyYVlUVFZIZnRQaXBqNGlsTVJOdm9mb3UzU2ZvNzV0bXJWS296NVR1SGZycUNPUjYxWThsbTZqdnpXL0VCKzZ5NDRGNnUvRjIxN1ZBc3o4RzNkdWpVZUlWR2F2MVBHQkk5RUtDRWhnZnIzNzA5SlNVbE9CWktjYU52SHg4ZDBUUEJadmhCQ21ONlVLVk9jaXZIang0dTIwV2NLdnJqSHdUTStQcjZPSEJQVnExY1hCb2xrTHVicW5RbmtoOUIycFVxVkhNWkVBWmVTREV3WndaZ3dMWWFrZkZrYjREdjhoanFvaTNXS2l6c1ZEZzRQRm9wYUhMeWRhOVNva2VUcDZia0RYN3NEU3BVcWxWR2xTcFZSNE1iaVVKTzVsZ0tLR04vUzY5ZXZMeE1jSE53R0J5VFhPYVZhMXhYUStZYUVoTFJPUzB2elJDenc5OFV4VVlDUStVWkhSK05OZTZXQm9oWVRCVkFnL2pBaW1FSVFveFpqSUdNQjR4M0dLc2FYR3JDTTcvQWI2cUF1MXNHNjJFYXhrYmhENGVBb3ljTlZ6L0xseTdmZ29PbkVBZDJGbDZmeldkTXlMeSt2VkFTMk04RnRwbkRiYjRJRHVJQVR1S1drcE9DZ1EvTE1vNmp4WlpSS1RFd000dDg2c01aMUxWZXUzR3gzNFZ1MWF0WEU3dDI3NDRvbGlMQTRLUEZaSEJONWh3bStKUmxGS2lieVdMQXV6QWQ1RTRoL0U4YVRqQVBjNXEzSXlNaHJIVHAwK0h2dzRNRi9qeG8xK3U5Smt5WmQ0VkhiMzRNR0RmNnJWNjllZi9EbzdFODJzU3VsUzVlK2lYVzBkYkVOYkF2YkxCNlJ1TEpvZ1Z5Uy81RmxnNEtDMmxhb1VLRVRnaDFuU2dna0JMWU1QdHNyVU5odUgyMmliWEFBRjNEaU16WWtHUVhQb3NxWDRZRURrdXMxZHhlK0xCTHhBd2NPQkZkZDBLem1BUlRIaERuWWJqOEh2dGEreG5KUmlZazhGTjAweWpPR001TFpJRy8wN3QzbjZ0S2xqOTk4Ny8zM2J5MWI5ZzY5L3ZycjlOUlR6OURpeFV0b3laSWxOR2ZPWEhyZ2dibmlpcTk1OHhmUXdvVVBpL3pWMEtIRC9temNwTWtsWDEvZjY5aVd0azFzVzVoSXlaTEZIdUwwd3NGaEZRc09aRnhsMDhEZjM3OURZR0JnUndTK0RnUldZVUp1QzIyREF3ZEtVeTYrT2orTmE1SGx5OEFCV1NvcUtxcENhR2hvN1pvMWF6YmdiVUU0bXRlb1VTT2hNS0czdzIzR291M1kyRmhjZlFJK3NwZ1Z4MFErSUxkMXA4VkVMZ3BVSEhtS0FBWUVQaVU4UER4cjRjS0hycTFjdVVyY2dMajA4U2RvNnRUN2FHRFNJT3JZc1RPMWFkT1c0cHNsVUd5RHh0UzRjUk5HVTJyU05KN2F0azJrTGwyNlVzK2V2V0VlTkc3Y0JCb3pkdHl0RGgwNi9zNUdoUHVRdGpCR2FHMmh6V0lIY1daQmNFZ1FBY1AvbUVBK1d3cmw0SS9oNEk4UENBaHdDdEFXdHhtTnRzRkI1Nk54VTZGSTh0V2dINlJDUEp3RXVVMlppNVZqY1V6a0Qzbmc2L2JJUmNGb0EwbnVtb3ozS2xldWZJTkhFTmMvL25nMXZmVFN5elJqeGt6cTJldHVhdGl3Q2RXdVU1ZXFWUSttY3VVclU1V3FOUVRLVjZoS1ZhdlZGTUF5dnNOeTVTbzFLRHdpaXVMaW0xT0hEcDJwVDU5KzFMLy9RSXFQYi9hL01tWEs0SUtEOTdRMjBYWkI1V2lLUzNFcExzV2x1RGlobEdJZ29UMjBaTW1TTFBCOXJ1SWQ2cSsvL2dhUE11NFhONXZXQ1l1Z1NwV3JVVVJFQkZXb1dKVXFWcXBHOWV2WDUrK3FNMnBRVEV5TU1Bb0F5L2dPdjZFTzZnTDRIa2JTUEtFVjNYMzMzVHhxU2N5cVhLWEtUOXd1WEc2WXhnRmNpa3RoRjhXWmhuNm1WREkxTlRWNnk1WXRjYzRFdDRuWFZsbzVNRlFjWlZqcm5qeDVNcG9SNTJUa21hK2J3TUF2cDVoNGxQNFYvZ2k5RytkTW9FMlpBMFBGVVVhUjVlc21NUEF6VVNEV3VMeDJJWSs4Ymk1Y3VQRDZpaFgvb1lVUExhSzc3dXBGRVpIMTJSQ3FpMUZFOVJvaFZJbk5vV1p3YlFvT3FVMVZxZ1ZUU0dnZFJoai9IaUkramN0MVJCM1V4VHBZdDBiTlVQRjlSRVE5YXRhOEphTUZmeGY4RTV2V05YRFF1QlFiU0dHWHFWT25DbWhCQTNpa3BLVE1TazVPdm9EM0lpUW5iM0l5MEdieUJlWXdDVngwWGhKUEhWYSt4NDhmbjhXNGtKbDVqSTRkTytwVW9FMjB6VER3WGJwMGFRbUFsKzM0YXRDbmtzU2xtMDZFN1JTVzRLWDNMMHJRRkc4Qi9iZFhicTN4VzNScjJUOGZ2dlgycFFlelhxYloxNTUzS3RBbTJtWU9UNEtMemt2aWFlaGptZStpckRmb29XdXZPUlZvVThVMzR0NWFKUUNOcTVVdnd5MWpZdUxUaVNXQUhJcHVIRXZMbFN0Mzg0VVhYcnorOXR2TGFNcVVlNmxwMDNnVy9GQXhQWVVSUkkyYXRZUUo2TVlRV2d0VFY2SGlFNmhlSTVScTFRNFh3TEwrdlY1SE54VnNBOXZDUzV4cTF3bW4yQWFOZUhRU1MxV3JWci9FQnZJWGMzbGM0MVJzSUlWWkpPTVF3Y3VpL2RHbVRWK0t4eFc0NG5rN2FIUFZxcFcwYVJOZXBKUHlFVGhwM0lUQThhZUJMNHYyUjBlT0hLSnQyMUpkOGdZNXRJbDNObVJrSElhSkdQaEs1bUhseThEQml1dm54YzF0RE53MDVrem83WUtETGh6Vy9rV1JqRU53WG5qenpRMGpmMTlBRmI1cFJ5VlBOYUVTcHhvN0ZXaXpJcmM5NnZKQ1lpNWZiTDZWQnY2Q3MyUWVCcjRQL1A0czlUNXpMM1U4T1pZNk9CbG9FMjNQWVE2MmZDWHpLQkl4a1lONUlML2d4M2lvZlBueU4xNSsrWlVzM0tVK1pNZ3dpcW9YUTFGUlVjSTBJUElOR2pRUUpsQzlSaTFxMHFTSkVQOGFOV3V6d1RRVm4rYVdMZXRpRzlnV3RsbVZSeVg0UGo0K1hoaUp2My9nYnlWS0NBTjVTT05XbkFNcHJJSUEwUUlGeGpGNjgrYXZDSTlsVmdtN013RU80QUpPNEtaeEJGY3JYeGJyMFJCdHZFTkJKZXpPQkRob0JtTExGNStDTHdNSEp3NVc3eTVkdXRTT2lJaG83V3lFaFlXMTZ0bXpKKzRjeG1NOXdBV2NySHh0WStLaEcyL2VNK0h5SWlwektwNUtuR1F4ZHlIQUFWekFDZHcwam9hWXdHOXpMejlIWFU1T29QWW54cm9VNFBBZ2M4bU9MNk5JeElTaTRIc2txTWY0K1BqY2ZPYVpmMlR4cUlNR0RCaEVFVkgxcVhyTkVLck1waEVjV3B0SERXSDhkMjJxeGVKZU95eUNhZ1RYRVovNVdjYTJzRTFzTzZSV0hmNitGb1ZIUnJHUmhKQ2ZYOWxmbUJlbXNNWm9ISXV2d2lxTW9nVUlBc1VyT1RuNUVKN3dxUkp6VjJETm10V1l3dG9CYmhwSEdWN0hqaDA3aFBjbXFNVGNGZGkxYXdjeEo1bXZMQkQ0enJ0YXRXcDlTcGN1dlFkZGp6TW5QSGJEbVVEQ0VXMHpoMjNCd2NGZHdVbmpKdmhLTVlFelVLKzUxMTg1VXUrNzNsVGlCQXU0RzZEaDl3UG93ZXV2N2dZM2hoNExnSlh2a085bVUvdmpZOXdDdzcrZmt5MWZoaUVtYWphdFNSSGRJcDBLdEpsVFRDZ0tMbzBOUlhKOHpweTVmNy80NGt0aXhGRTNuQVVjcjQ5bE1jZm9BRk5RdGV0RThOOTFxRTVZcEVETjRMQUNXbVlqNFcxYnBybHE4V2NZMWEwYlNlVXJWQ0ZmUDMveDNEQUc3azRIMStKUzBFVUxFQVNLejRZTkc3THdsRTJWa0xzQ0sxWXN4d3QxL21adWVqQkRoSEhRNGV6STUvRGh3MW1iTjd0KzFLRUQ3NnRPVDAvWCtlcGN4WmtsajZEOHZiMjkzMEtYNDMwRCtydTIxWG1md3NSbTBiYitRaVUvUDcvbkpiNWlqaGlmREM5d252SFg4emU5VC9LbzQzZ2p0MEM1MDYxcDJxVm5sVEdoOCsxeVlqeTF6MlR4ZGdQY2RlcWViUGtpSnJ3RHlsRFN5aEYwMzIrUDA3MS9QazZUL25qRXFVQ2JhSHZBOHFFRUxxcVlzQ2t3bEVERys5MjZkYnVDRy8zR2pwMUE5ZW8zRUZOVnlFdEF6QnMxYWlURVBqaWtycGg2d21kaExLTU50RldqWmgzK3V3NUZSMGV6Z1ZTbVVxVktmd3VPR3RmaTZhdUNMbHFBZVBQUTh5bThjMWtsNHE0Q2pHenQyclhrNysrUHh5dmphYVF3RFdFYzRIdjA2RkdsaUxzS2VQMG9Yanhqd3hjSElmaStpTzdHVys0MmJrUk82VU1YNTVTK0ZGekFTZU1yeE1JbUpsNmMvdmR6VkNLVGhkdE40SCt5QmQxei9nbEhNU0g0Smg0YjdUYm9lbUppdG56UjNXUFRwbEhTeFJsVTRadTJWUEowRXlweG1rZFpUZ1Rhck1odEQ3bzRrOGJzdVo4OFBFdlp4WVJVTUFXRXU3cEhWYXBVNmZvTEw3eDRhK2JNMmVJbVB5U3lxMVVQNFJGQVhURWlDQTRKbzdDNlVRSWhvWFVMZFJsdG9VM2tQWkJZeDFWZDVTdFV5bUtldjRPcnhybDQrcW9nQ3dlSFYwUkVSRHd2M29BQXFnVEhWVURlNDlOUFA0WEEzZUN6akZnY2NBQWVGWTN2TWpJeWxDTHVLaUR2c1hmdlhwa3ZEajdmbUppWWxoamVqeHc1VXVSeDNDbW5CRTRTWHk5ZUZqRlJ0MjVkdlBpZjdydnlEeXB4aklYYlRlQjNJb0VtWFhqTUxpWWlJeU5iNkh3VGo3Snd1d202SEIvUGZKYzY1TnZ4MFM0MC9OY0hxTXhwSHQwcExoWndKc0JoK0s5ekJDZUpyNGdKcVdBa2dzZUNiSjA4ZWZMZmp6enlHSFh1MG8xQ2EyT0VnZHhEYmFxTmFTV0llNjF3Q2d1dkorQ01aYlNKdG1zeUQweGxWYWxXZzgrQWZNK0JxOGE1ZVBSUmtJV0RnMGZPbHVtVUw3LzhVaWswcmdJRWJ0MjZkUWhrOHZYMWZZTzU0ckpIZng1V3Z3MHhQbkxraUZMRVhRV1l4Lzc5bGpmemFYenhXSXF5ZklhNUVueHhCWnU3NVpRd3VnTmZqb0hYbVN2T3prUk1lSGw1ZllURmUvNThpa29jWmVGMkUvZ2RUNkR4RjViWXhZVGV4K0NibU1IQzdTYm9ram1lSnZ6eWlFTys0MC9QcFlodmV5b3ZFSEFGb3IvdlEyT1BXdDd6SXNlRVZNU29JelEwOU5vVFR6eUp4NFdJNlNPTU9HQWNtRDZDa0lmV2poRGY0OU9aeTJqYndxR3V1QklyT0RnWWo1ai9IM1BHWTB4czk2VzQ1S2R3Y1BoNGVIaWN4ZUtHRFJ1VUl1TXF5T2JCSERPWnEzaGZkZW5TcGMvaXdEdDgrTEJTeEYwRjJUdzB2bmhGYW9DbnB5ZHVZQkw5NjRZNUpjRzNWS2xTSnhBTHZDeGlndm4rZ01VSmx4K25FaGtzM0dieFZYMHE4ZDk2dDdHbmdib2VJTmNERGpWVTE1UGdsNWxBb3k4c3Nvc0o1djhEK2hoODJ4MFpaUnJOdit4UHpkYjNzNkwxN3FIS2VvQmNEMmg3Y0tTeW5vek94OGJSbUF1TFZURXNZbUxDYjRzdFY3S2Q0UDF6QXdTZGJrVVR6ajlrRnhOYXdiUVBubWk3WmZpSWtYL09uNytBMnJmdnlHZjZ0YWtXaXpXUzJCRHc4SWo2QXJYcVJMcGtHUnd3bFFWT2xhcFVKeDlmdi9QTU9VWGpYangxVlZDRmd3TzM4OS9BSWhLcEtwRnhGV0FlZU1zWnVQR0JoamZZNDFsQmdSelVOM0RnSFRwMFNDbmlyZ0xNSXkwdFRlWWJrSm1aV1lINTNnUmYxRkh0cDZzQUk5UE5nL2xkMG9WaSsvYnR1TUZLeE1UWVMzeldmSVJGM1NTbW4zeVNGdTE3M29wR0crNVcxaXV4UGNaUWI5R1JGeW5vV0d0MVhRbSt4NXJUaUo4WEdHSWlJeU9qdkI0VDROdnVNQXUzU1R4MzRsLzA2cjczclJqeTMvdVU5VnB0RzJ5bzkvcmg1WFRYMFh1VWRXVjBQanFPUnY2OFVNVlh4TVRZUzJ3c2lnc0RYQVcva3drMDlvS1ZyelVtdElKM2FUUXJXN2JzOWZrTEZ0NGFQWHFzdURrUEl3NFlSOTN3ZWtMRUl5S2pCV3FIUmJsa0dSekFCYWpPSTZLS2xhcmNZdDY0OTZPeHRnL0ZwU0FLQndmTVF3VEwrdlhybFNMaktzQTh0SndIQXZrUDVob0U4SUdIdituZ3dZTjJBdTVLd0R6MjdkdG40THRreVpKZ25hODdUZ3QrL3Zubk90OC90VmdvTVhyMDZLcjREaGo1SzUvbEgyYmhOb25SM3ovRW03bGRVbjdZVFNXMnhkalZTOXcwWEt0aEtTbS83N1dybzRMdjBlWTA1TWNISGZZeCtMWTd4Q01DazNqaXU3Y3NCTFN5OTRlRDFHcnJJTHQ2RXpiTjFXcFlTdnJ2UiszcXFOQTVZeXdOKzNHZVE3NmpmdVd6Zk1XRkFhNkM3NG5tTk9wbksxOXJUR2dGeTg4MGI5Nzgwb01QUGtpZE9uVVZ5V2xjL2wwTHlXb1djRXdmMWFsYlQ4Q1Z5K0NDL0FldXZNTHp0SGlrOXgxemYxcmJoK0pTRUVVTERoRXNPQXRWaVl3dDhLcE12RzRUbDV6Kzg1Ly9WTlpSQWMvbHh5V2lDeGN1VlA1dUM0Z2JycllDTnkyUURlWng0TUFCcFlqYllzMmFOZlRxcTYvU20yKytLYmFucXFQQ3YvLzliM3I1NVpmRkdicnFkMXRJQ1hNclh4YUtVSjJ2TzA4THlrTEIvNk5xK0E0WThqOCt5ei9Jd3AwTGZQUDNEN3lwMnlVeGViaXh6cDVZWVNweWFYUWl5VmpIQVh5UE5LT0I1MlliK25qcDBxVWhlaCtEYjlzREkzT0ZILysrWUNHaGxRbWI1eGwrYjcxN0dPMDlkMUQ3MVZMR0hsOW9xT01JSFErUHBhUnpjeHpHeFBDTDg1VVhCcmdLdnNlYjAvQ2ZESHgxc2RXbnJOS1RCZzM2YS9JOVU4UlRibkZsbFppcWlxeFBrZldpS1N3Y256RUNybDJPRnB6QURZOUlLVnMyQUhtUGRHMGZpcWV1Q3FKb3dTR0NCV2VoS3BHUmdmY2R6NW8xaXg1NTVCSHh3aFlZQ0w1VDFaVXhkKzVjbWoxN05qMzIyR1Awd0FNUGlFOVZQUmtRdDA4KytjUnc0QUg2Z1plZW5xNFVjUmw0c3VleVpjdm9QLy81anpBREdBaStVOVdWZ2ZheEhwTGNlQWNCUGxYMVpNQTg5dXpaWStETCsxMUg1K3ZtMDRKV29SZzNibHgxZkFjTXZEQ1hTaHhnNGM0RkVrK040MDNkTHArYytZcEs3STYxL2w1cmZRZnRGMHQ1OXdLZklFanJad2ZmdzgybzczZlREWDBzaXpINHRrMGZrU3ZjZi9KeEN4R3RiRDZ6blZydkdtcjl2ZGNYeHYxWmZ5SFZzSDUyNkhob05QWDd6cEtBVnNYRTRGOTRGR1Z6VVVDMjJGaWZTbXlvZHh0N0c2anJBWEk5QUtNM1ZUMEp2cG5OYWZBUEJuUFd6UU5YS3RYaU0vaWJiQnkzQmc0YVF2VllxTVhkM3BneWlvSnd4MUpZUkxUNGRJZGxjS3JOSTVHUVdtRlVzVkpsVE1QaTBsM2NORmg4MVZWQkZDMDRSTERnTEZRbE1qSndKdjdNTTg4SXczanFxYWVJei9wbyt2VHAyUnJJbkRsemFQNzgrYUtPanBkZWVrbFpWd2JFRGFNR2NOTVBQRUEvOEpDY1ZvbTREQmdpdGdIRCtQampqNFVKdlBYV1c5a2F5THZ2dmt2dnYvKytxS01EZmFPcUt3UG1nZnM4Wkw2eVVMajV0S0JWS0lZT0hScU03NEMrUDdPUXBMTkE1UklwbC9ieTVtNlhXbCswdC95Mkw1YmV6VnlsZldzcHRUSzYyYTN2Q0Q0SDQ2blgyZnNkOWpINHR0M1B3cDFMcEY4NmFpR2pGUmdHdm0remR6aXR6ZHlnZldzcFNVZG0ySzN2Q0IwUGpxYTd6MDV6eUhmZytRZW9SQWFMdWtsTVAvVWtMVXA3M2dxUlUxTFVLN0VqeGxCUDVKUXlXNnZyU3ZBOTFveVN2amVZblc0ZXVOOGpxV3JWcXBmSFQ1aEV2WHIxSWp3aXBGYnRTSEYxVTFoNE5OV05pQkZUUnZoMGgyVndhdHk0c2JnZnBHS2xxcmhnNFRmZWgwSGF2aFNYL0JZdE9FU3c0Q3hVSlRJeUlLeTQwUXdHZ3VrcmZEN3h4QlBDUUdBbXR2VXgybGl3WUlHb3A2L3oybXV2MmRWVElTZnpRSEphSmVJeUlPaTRlUS9iMGJGcTFTcGhJREFUMi9vWWJjQTQ1UG9RZld6SHRxNHRVR2ZYcmwwT2hjTHN0S0N6Z1A2MW1SYTBNNDllUC9KWi9uNFc3bHlpMGJHQnZMbmJCWVpSWW1jTUJhMlAxNzZ4bEhkLzRmWVY2enVDejRGNDZuNW1pc00rQnQ4MmFjTnpqYkhIRmxnSWFXWHRzUTNVYXNjUTZ2REZVTzBiUzFuL1M2cHlmVWZva0Q2SzdqcHpyME8rZlg5aW9WWmNHT0FJbzg4cGNrcmJZK3pxSlc1VzVKUnM2cWpnYzdRWjlmdldZSGE2ZWVBWlVZc2pJNk4rR3pWcURMVnNuU2h1eXNQVlRYVlpwT3ZWYnlnUUhobnJWc3ZnaGl1djhEaDRIalY5ei91d1JOdVg0cExmb2dXSENCWUlpVXBrYkxGaXhRcGF2bnc1UGZ2c3N3SXdCSXdtWnN5WVFVOCsrYVMxSHFhbmtPZlE2eUEvZ3R3RFJGdmVuaU5BM0ZBWDNQUUREOUFQUE9RWFZDSnVpOVRVVk5xeVpZdVlBZ05nQ0JoTndFQmdKSG85VEU5aGFrdXZnLzZBNE8vWXNjT3dQVWVBZWFDdXpGY1dDalBUZ29BemMwbzIwNEoyNXRIdDNGUXFrY2JDblFlOGUzNHRiL0oycWJVMmtSYnR4Wk12TE9XMzY1Y3A2RUFyNWJxTzRKTWVSNTFQV3g2dG91cGo4RzJ6ajRVN0QvamlmS3FGbUZidSttUU12YnIzUGUwdm9zdlgvNlR1NlJPVjZ6cEMrLzJqcU12WGt4enl2ZnNISGtYaEV1VmN3QzZubERMY1dHZXZJcWQwTXNsWXh3RjhqalNqM3Q4WXpFNDNEenloOWwrTkdqVytPR2p3VUlwcjFvTHExSTFrb1VadWdjVTZtc1dhRVJIVndLMld3UTAzRWVLT2N5K3ZNakNQZjJuN1VsenlXN1RnRU1FQ0lWR0pqQW9yVjY0VUJ2TGNjODlaQVFOQlB1VHh4eDhYT1E3a1JKNS8vbmtoZ1BqRU0zQWd5aEJwMVRadEFYR0R1SU9iZnVBQitvR0gvSUpLeEZYWXRtMmJNQkFZZ2c0WUNFWWEyQmUwQitQQU5BNSt3eWR5RkR0MzdpUTh0a1cxVFZ2a1pCNW1wZ1gxUG5SV1Rnbi9ENG12blhsMCtuWXlsZGpId3AwSDFEcmNUUmlFWGo3NStrdjY3ZXJ2Mmw5RWk3NS9WYmxlZHZEWkgwZnRUNDUxMk1mZzIyYnZzRHhoNEtIcHdpRDBzdm5yN1hUNUtpNlFzcFJsMzMrc1hDODd0RThiU1IxT2puZkl0OGM1Rm1ycGdnQXpTRHl0eUNudGliWCticGRUd3VoT1dqODcrQnlPNTVFUy84OXRZb0lMTHQvK21NM2pmSjkrQTZoRml4YmlpaVpNRCtFeDZaSDFHZ3BneXNpZGxzRU5DZlJxTlVMSno4OGY3ejFmcmUxTGNjbHYwWUpEQkF1RVJDVXlqZ0R4UlNJYStRc2RPR3ZHQ0dUUm9rV0c3M0dXRDBFMmF4d0F4QTNDRG03NmdRZm9CeDd5Q3lvUmR3UUlPMFloRUhFZDJHZHdneEhLMytPeVdtemZySEVBTUkvdDI3YzdGQW96MDRJdXppblptVWU3YjFqNElFeDV4S0x2WHVITjJwZmZydjlPUVdrdGxldGtCKzk5VGFuMThWRU8reGg4Y2FOZlhySHN1NDh0QkcwS1RLWGJ2dHh2TzNFdmowQ09qM2JJdDh0M0xOUUgyUmh6Q2J1YzB2cjJsdC8ySzNKS3g3clpyZThJUG9manFOdnBDWFl4d1FXQ3U2RlJveVlYNzc2N0R6VnNIQ2VtcktMcU5SQWlIUjNUV0NDcWZpTzNXZ2EzaU1nWXdsTitmWHo4Y09QckJtMWZpa3QraXhZY0lsaGdCaXFSeVE0UUg0d084SkE5VEVucG44aHI0Qk9BWVVDUWMyTWNBTVFOQ1c1dzB3ODhRRC93a0Y5UWlYaDJ3RWdDQW8vcEtCbklhK2pMTUF4TWllWEdPQUNZQjBZNE1sOVpLR0NlcXYyVTRleWNFdjduRWw4NzgyajFOUXNmcnBUS0k0TDJ0VFNNUHZRaVJoMksram5CZTI5VFNqZzJ6R0VmZ3krdWxNb3JZQkR5NkVNdkdIV282dWVFeEQzRHFlV3g0UTc1ZGpqTFFxMjRNQ0FuTk1wVTVKUjJ4VkRRZnhVNUpjWDZqdUJ6TUk0Nm5SeG5GeE5jaEhuRXhqYjRwWHVQWGhUYktJNGlvcUxGMUZCVWRHT0thZEJFb0Y2TTVkTmRsc0VOVjE0Rmg4QThmSC9FUG1qN1VsenlXN1RnRU1GaU5oZGhDeGdJZ0xlSVlXcEtCbjdIWEg5dWpRT0F1SDM0NFllR0F3L1FEendZZ1VyRWN3TFdBekF0WlFzWVFGNk1BOEM2VzdkdWRTZ1VtQTVUN2FjdFhKaFRzak9QWnFkWStCUWluaHVNL25vaGIvcDIrZWF2YzhwNlpnRHppTXNZNUxDUHdiZjFUaGJ1ZkdEcEtUelM2WGI1OGMvenlucG0wRzczY0lyUEdPeVFiOXN6WSt3dUNqQUxYT0lzbDFxZkpvcTc5ZlVpY2tvSFd5blhkUVR2QTNHVWVNSXdzcFBOWTNWNGVPU1BuYnAwRTIvdUMrY3orcWpvUm1KcXFINXNVd0ZNR2JuVE1yaEZzSG5nVFlSKy92NjR5N3g0MnFxZ2loWWNJbGowdWYrOEFPYUJuQWtNUkFmT29QTnFIQUN1ZW9LUWdwdCs0QUg2Z1djMmthMEN6QU1qRjlrNGNGVldYbzBEZ0hsZ1drem1Ld3RGRWNncDJabEhreE1zZkR0ajhnMjVMRHI2b3JLT0dYanZia3lORHZkMzJNZmdpNnVrOGd1NXZKR3hRbG5IRE5ydUdrYU5EdzkweUxmVjZaSEtDd1BNSU1lYzBqa2UzU25XeXc3ZTZYSFVKdE13VXRMTlF5VE1nNE5EZms1czM0a2FOb2tYWi9TWUdvSkl4emFNRTRodVlQbDBsMlZ3dzlSYWpacWg1RlhHRzAvWUxVNllGMVRSZ2tNRUM2YUlWQ0pqRmppTHhidytwbDR3WXNpUGNRRHZ2LytlRUZCdzB3ODhRRC93TVAya0VuR3pnUGtnNmE2UEdQSmpIQUMyZzZTOHpGY1dpdHhPQ3pvanAyUXpMV2huSGcweUI0aDdCdklMdVN6S1lQTlExREdETXJzYVU4ekJQZzc3R0h4YmJXZmh6aWZrSXN4RFVjY00ydTRjUnJFSCt6cmsyL3prVUhGMVZGNng2UHRzY2tyN1d5clh5UTdlYVUyb3hWSERTRWszRDF6ZXVxUmN1WEkvdG1qWmhwbzBUYUNvK213ZXNZMkZXRGRvWkVGTXczaTNXZ1kzM0hWZXZVWXdMdFhGdEZYeHBib0ZWYlRnRU1FQ3dWZUpURzRBTVVwSlNSSEc4ZmJiYnl2cm1BWE1BMWRBZ1p0KzRBSDZnWWY4Z2tyRWN3TnNBMC9uTlh2WmIzYUE4V0RmWmI2eVVPUmxXckN3YzBvMjA0SjI1bEV2ZzRVYTl4SGtFM0lSNXFHb1l3WmxkamFteVAwOUhmWXgrT0loaHZtRlhONDRzbHhaeHd6YTh1aWozdjVlRHZrMlBUNUllV0dBV2VDaUEyVk9DYU1PUmYyYzRMMnZDVFU3WWhncDZlWWhiaEwwOHZLNjBJaEhIWmkyUWpKYW54cUtiZFJNQUZORzdyUU1iblVqWTZoeTFScTRTUkF2aGlxK1NiQ2dpaFljSWxod2xxc1NHVmNCNXFHL2IwSS84QUQ5d01NVWtVckVYUVdZQjZhK1pMNnlVTUFFVlB1WkV3b3pwNFQvdWNUWHpqekNEN05RNDhHRytZUmNjTGV6cW80WmxOblJtT3FtZFhQWXgrRGJjdXVnZkVNdXI3TjVxT3FZUVp2dGd5azhyYnREdmcyUDhjaE9JZUs1Z1RLbnBLaG5CbVhZUEpvY01rd0w2dVloSGsvQzMyVkZSTmE3RWN0bjlGSDFHNGlrZEd6RFp0U3dzUVVOR2pWM3ErV1lCdkVVVmplU0tsV3FjcFA1RnorZXBDQ0xGaHdpV0pCZlVJbU1xd0R6UU40RDNQUUREOUFQUEV3UnFVVGNWWUI1WU9wSzVpc0xSUkhJS2RtWlIrMkRMSHhiV2JqekNia0k4MURVTVlNeTJ4dFRyYjJkSGZZeCtMWk1aZUhPSitRaXpFTlJ4d3hhOCtpajlsN3haajRsMytpTXZ1SXFxZnhDTGlLbnBLaGpCbVgyTktZR0J3elRncnA1V0IrTVdMNThwZk9SdUVTWHpTTWE1c0ZuK0EyYnNHQXpHalJPY0t2bCtyRk54TE90L01zR1hBSjNiUitLSDR4WUVFVUxEaEVzeUMrb1JNWlZnSGxBSU1GTlAvQUEvY0RERkpGS3hGMEZtQWNnODVXRm9namtsT3pNSXppZGhUbzFPdCtReTZKakxHNktPbWJndGEwaDFkemQzbUVmZzIvTExTemMrWVJjM2ppNlFsbkhERnB2SFV6QnV6czY1QnQ1dUpmeXdvRGNRaTc1dVNDaHpPN0dWTjg0TGFpYkJ3cVcvMUdtalBmWFlXRmg0bjRLVEZ2aCtWRU5tN1FRd0pTUk95M2prZXg0eTJIcDBwNC9NL2ZpUjdJWFpOR0NRd1FMOGdzcWtYRVZJRzc0QkRmOXdBUDBBeTg1T1ZrcDRxNENqQU9mTWw5WktJcEFUc25PUEtydDcwQWx0ckJ3NXhNcHYrMjFZdlR4QmNvNlp1QzF0U0ZWM2RYT1lSK0RiOHVVcEh3ai9iZWpWanlXK2FxeWpobTA1dEZIOVYySkR2bldQZGhEZVdGQWJpR1gvRjZRRUxYUE1NMG1pNjE0R1JUamo1QmE0YmR3bndjUzVwZ21hc1JuK1kyYkpsQ2pwaTNGcHpzc04yZ1VUM1hDNjFPbHlsWHhNcWkvR2NVdmd5cklvZ1dIQ0JaM2VrVXFBSEhEV1RhNDZRY2VvQjk0eUMvWUNyZ3JBZlBBbmVreVgxa29pa0JPeWM0OEt1OXJxeFJ4VndIbVVYbEhLNGQ5REw0dGtwUGNCcTIySkZHVkhhMGQ4cTJWM2xWNVlVQnVJWmY4WFpEUWlPb2FwOWxrODlDbnJyWUVCVlU0aXpmMTFZOXVTTEZzSG8yYk5xY21jUzJvY1Z3cjhla095ekZzYkRWRDZwQ3ZueCtlcGx2OEd0cUNMbHB3aUdEQkhMaEtaRndGaUJ1bVpjQk5QL0FBL2NCRGZrRWw0cTRDekFNdmZKTDV5a0pSQkhKS2R1WlJmZzhMZFFvTHQ1dkFLN1VobGQrVzRMQ1B3VmNsNHE1Q1N6YVBDdHRhT09RYnZMK1Q4c0tBM0VJdStia2d3V3RISTZxOWh6blp4SVJVeWpCR01mK0xlSHRnWlAyRzFLQkJBOHZaUG9zMnBveWF4TGNXY09WeXd5WUo0aWJHeXBVcll6K1E3eGloY1M4dUJWVzA0QkRCZ3Z3Q29CSWFWd0JYQStWa0hoczNxb1hjRmRpMEtYdnpLQUk1SlR2ekNOeVZRQjRwTEN6SkxONXVnREpiR2xGZ2FyekRQZ2JmVmhEdXpRUGRBcTFTa2lnb3RabER2dFgydGFjU1czbmY4Z201aUp5U29vNFpJS2NVdk11UVU3STFqMUtNOG95dDVjcFYrQW1qRDl4TDBhaHhNM0cyMzdSWkcyb2EzOUlDRnkzRFFEQ2RKcDVuNWV1SE53aHUxVGdYWDJWVmtFVUxEaEVzbUVOZnZ0eDk4aDRyVmxqZS9BZHUrb0VINkFjZTdncFBUbmFmcWF1VWxHU1JpNUQ1eWtKUkJISktkdWJobjl5RUFsTGpxTVJtRmhjM1FMbXR6Y2gvVTJPSGZSeVFFa2Z0dGd5aEZwdFl2TjBBN2JjT3BjQk5UUjN5cmJ5bnJmTENnTnpDTHFla3FHTUdtQmFzdm9NNTJjU0VWRER0STBZZi9QdWxrRnAxYm1EMGdXZGROWTVMb0NZUThXWThBZ0dhdDNYSmNnTWVkZFNwRzBFVktsYkc1Ymw0a3U0b2pYUHhsRlZCRmkwNFJMRGdFUmlyVjMvc0ZxTVBjRml6NW1QeFNBNXcwdzg4UUQvd2tEemV2bjJiTlZIdFNvQUR1TmplMUNnTFJSSElLZG1aaDk5L3dxbHhXaC95M055QVNteXE3MUtVU1c1RVRkUDZrdDk3WVE3N3VQeUhzZFJsM3hocXZXa3dKV3djNkZLMDNUeUV1dThiU3hYZVkyRjJ3TGZDN2xaS0VYY1Z4QVVKMncwNUpWdnpRTUVaZkNEamZhOHlaYzdVcWxXTDZzVTJvWVpJV0RkdVRIRUpiUVV3ZmVUczVjYnhyU2c4UEp5cVZLdUJPOHAvQVVlTmEvR29vNkNMRmh3aVdQRGNKTHpmWXUzYU5lTEtJQWdoQk0rWlFKc3dCZHpUQUM1NG53VzQ2UWNlb0I5NGVGUUhSaDg3ZG13WDkzd2dnWTZwTEdjQ2JhYW1iaEVjd0FYUG5aTDVjcC9XMXZrV2daeVNFSW9CQXdiVXhIZEE0TndBOGtwcFFLMzJENkd3SFYycDNKWUVDdGpTektrb245cUM2dTdzU3EzU2g1TFhsb1lVTUN2QVlSL1hubHVIdkZNYVVsTGEvZFIvKzczVWVjc282cGd5d3Fub3NtVTBEZGd4bFpMMjMwOWxtRy9vck5vTytRYnRiS0c4TU1CVlFFNnAwbFpEamtabEhpaTRTMXVjWkFTVksvOGRYcmdVelFiU1dFd2h0YUs0NXEwcHZrVTc4ZW1zNVNieExjUlRmcXZYRENWZlh6L2NUWTc5QU1maU84b0xvMmpCSVlKbDZ0U3A0dkhlZUU0U0RHVGR1cy9vczg4K1pheDFFdERXWjl6MmFqRmRCUzU0TXg2NDZRY2VvQjk0ZU5jRkh0ZUJ4Nm52M0xtZGR1L2VKUjUyNkV5Z1RiU05SN25qWFJ4NHlxM01kLzc4K1NFZUhoNkNieEhJS1FtaEdEVnFWRFY4QndSTjhTYi9wUlY1NUJGRExkT1RxT3ZCc2RUNXdCaW5vc3ZCTWRSaWZ4SjVib3dtLzhjcVVPQjRiME1mTDFxMEtFU1BpWWg3YTFITngrdVMxK1pZdW12L2VCcDdZQzZOTy9BZ2Z6b0hhR3ZNZ1RuVWJmOVlLck14bG1vdXJVdDFKNFE0NUZ0MlJ6UHkyQktqdkRqQUZTaURDeEtNT1JwSDVvRXBJRHdqYWpqamF1VXExWDZyRzFHZllodkZVK09tTFNpdVdXdHF4b0llMzd5TlFMTVdpWVc2REFPcEg5T0lhZ1RYSXYreWdYOHdwK3NNSk1uQnNYaTZxakFLQjRjUGdnU0w0OGFORXdhQ0IrL2hEUHJGRjE4VWd1aE1vRTIwamZkWGdNdVlNV1AwUVA2VnVRWUFmT0Q5aVFNUEwwQ0NnV0JxQzlNdnVJbE9mNVNIczRCSGpxQnQvY1ZOYytmT2xma0dzc0dVWjc3WHdOZnkwaW4zeWluaFRuV0pydzh2bC9qMDAwL0w4dC9YOEgzZ21ETENRQUpuK1pQUGF6WEljM1ZkOGx3YjdseDhIQ2JhRHB6aEo3Z0VqQ3Jqc0kvRHhnWUxBNmt6dXpaVmVEMkNmRmZYSTUrMTlaMEt2NC9yaWJiRFp0YTJjQmtkN0pCdnVjM3hGTEExVG5seGdDdFFibHN6cXJEUmVrR0NOU1ljRkV3RjRRbTFEekgrcUZLdHhxKzRlVEMyY1hPUis4QnpwWnExVEdTMEY5TksrQ3o0NVVScXlzWVJGUlVsTHNzTkNBekNZOWV2YXB6QXJYaTZxckFLQjRkMzZkS2xNN0RZbzBjUElkanVoTTZkTFkraThQVDAzTU5jeXdKZVhsNFpPUENHRFJzbUJOdWRNR0RBQU1HWE9ZSnZRRnBhV2lENDRqdThHdGJkY2twNHJMdlV2K0pwb3l0WHJ2VFhZOEt2bTZjUWJIZUNiMGRQUTB4czI3YXRuQjRUMWJ0WEZvTHRUcWphcWFLQjc0RURCNEowdmpYZmIwU045dlVteitRR1ZHSnpmWmVpVElvbHB4VDhWa083bU1pbTRPb3J2QjlqS2VPdlNsV3EvaElXSGlXZWVZVXJvT0lUTUVKb1M4MWJkUkNmQmJrTUEya2MxNElpNjhkUzlab1ljUVRveHZHNHhnbmNpa3RoRlE2T01uNStmcTlqTVRBd2tDWk5tcVFVY1ZkZzh1VEpWSzVjT1JISUFRRUIvMkN1ZmdBdnY0SHZLbFNvSUI1TnJoSnhWMkR4NHNWVXNhSkZLRFMrL2d6ZnNtWEx2b2J2Y0ZhR0s5cmNLYWNVR1JrcCtETEhweEFMdkZ4aTNicDF2bnBNZUFTV3BNQUphaEYzQlFJbmVwTkhVRWxEVE96WnM0Y1hMVEhoR2VoSmRTZUdLRVhjRlFpZkZFcGVRUmF6MC9rQ3ZDejZ0MnhNSVBra043YmtsSFoycFhLcENSU1Eyc3lwS0wrMUJkWGQxWlU1RENWdk5wQ0Foa0YyTVpGRDBRMWtJZU5xWUZDNTg3VnFoMVA5bU1iVXVHa3ppbXZXaXBxejBEZUgrRE1TMkFEeXU0eHROdVFSRGg1NldLVnFkZkx4OGNHTmdKaXFBb2RpNDNCRzRlRHdEQTBON2VyaDRmRTkvcXhkdTdiSU02akUzSm5BRkJxdTRnQW5jS3RidDI0bjV1b05zQWgzMC9uV3ExZFA1QmxVWXU1TVlBb3RVaE5pY0FzUEQrL01YSDNBTnlJaUlwRy91NERmdW5idDZoWTVKVXhYNmFNNjhLMWZ2MzR6eEFML2paandDZzRPN3FsejlxemxJZklNS2pGM0pqQ0Y1aG5xb1lvSkg0NlZYanBmLzlxK0lzK2dFbk5uQWxOb2ZxRStTcjV5VEZRZVhKTzhOeldrbHZ1VHFNc0I1K2VVZ0lTMEpQTGQySkFxRDZ5aGpBa1RCV0tOL0FoeUlEenlMdk5kdFdyVnFXNWtOTVUwaWhjM0VtS0tDU01IVERjbHRPNG9rTHZsRHVKcXJrWnhMU2tLaWZIcTFhbDh4Y28zU3BVdWZSRnRNcERqQUlkaTQzQkc0ZUFvelFkZWN6NWpuc1REYU55SlNYeldTUWtKQ2RTL2YzOUtTa3B5S3ZyMjdTdmE1ak1KRWNUTTZYTGx5cFhIOGNFV3gxeTlBRDRJRTJTK2ZCWW5oQkNtTjJYS0ZLZGkvUGp4b20zMG1ZSnZHUng4OGZIeGRaanZGUDd0Q3VvZzZHR1F1RnBNZmxPZ000RDhFTnF1VkttU2dXL3IxcTFERUF2OG5Sd1RWczRlZmlYSnUzbHA4dS9yUldVSE9oZitmYnhFMnlWOUxDTU9tejZXWThMS3Q3UmZLYXJZdkJ3Rjk2dEtJVW5WbllyZ3ZsVkYyNlY4U2puazI2cFZxekNacjI4ZFA2cStOSklxcklxbGNwODRGeFZYeG9xMnkxUzNYb2hnRnhNbUMvSUxtT2JDMVhydmxTaFI4bytBd01CZmdrTnFDeE5CUXJ0UjArWVV6eU1IVEdjMWI5bU9XclRwS0Q2elcyN2VxcjI0K1E4dmQ4S1RmSU5EYTFQRlNsWDAwUWFlV2NWdGlUYlJkbkdPdzFtRmc4T0RoYUlXQzFybkdqVnFKSGw2ZXU3QTErNkFVcVZLWlZTcFVtVVV1TEU0MUdTdXBZQ2l3RGM2T2pvWUJ4NndmdjM2TW53bTN3WUhKTmM1cFZyWEZkRDVob1NFdEU1TFMvTkVMUEQzaUlsU1VWRlJvby9kbGJOTlRKUXVhbnlMV2t6a291REtKb3hXQWhnWUNXeGhNL3JOUHlEZzUrbzFRMjdoOGVnUlViRlVqNDNFY21NaEhtdlNncHF3T2VBK0RYeml1eWJOV212djQyZ3EzcE5lcTA0NFZhc1J6S1pSOVphM2o4OWwzaVl1OHRtaXRZRzIwR2J4VlZYT0xCd2NKZDk0NHczUDh1WEx0K0NnNmNRQjNZV1hwL09aOURJdkw2OVVCTFl6d1cybWNOdHZnZ080Z0JPNHBhU2tRSWc5Z0NMR3R5U2pWR0ppWWhELzFvRjlyMnU1Y3VWbXV3dmZxbFdySm5idjNoMVhzVUhVeE1HSFQvUXg4MnlGL1hFM3pvNWlvaWp4WlJTcG1NaERnZWtnWDRMSGdtQXFLNWx4eGRQVDZ5Y2VqVnl2VXEzbVRWeFd5NmJLeGhCQmRlcldvOURRVU1MOUlyWHJSaEtmR0ZLTjROckU5WWg1a2E5ZjJkOUxXNmFuY0JVZ3RvVnRZdHRvbzNpMDRZcUM0QUFpSXlQTEJnVUZ0YTFRb1VJbkJEdk9sQkJJQ0d3WmZQWlVvTERkUHRwRTIrQUFMdURFWi9GSVBBdWVSWXl2Ymg1aUdRY2sxMnZ1TG54WkpPSUhEaHdJcmxhZWNrencrZ0c4UDRsRkpTWjQzU0xGbDFGa1lpS1BCZXZxSm9JbjJqWmhQTWs0d01qeThQRDRyVlRwMHVmTGVIdi96OXZIOTZLdnIvLy9HTCtWOGZiNTFhdE1tVi80dDE4eGhjWjFiMmpyWUYxc0E5dlNUU00vL0lwTGZnb0hoMVVzT0pCeDVWVURmMy8vRG9HQmdSMFIrRG9RV0lVSnVTMjBEUTYrdnI1TnVmanEvRFN1UlpZdlE1eHhSa1ZGVmVDenJObzFhOVpzd051Q2NEVG5NNjJFd29UZURyY1ppN1pqWTJQTGFYeGtnN09MQ1loZVFFQkFmRkhwNDZMR2wxRWtZcUlBQ2tRZStSTWt0Q0grZUIzc1FBYXVqbnFYOFRIakt3MVl4bmY0RFhWUUYrdGdYV3lqMkREY29TQTRKSWlBNFNGMElKOHRoWEx3eDNEd3grTmdkQWJRRnJjWmpiYkJRZWVqY1ZPaHFQRjFlemlLQ1JiRGNrVXBKb29hWHcyNmNBdERjUkxrTm1VdVZvNkZVUFFSQ2ZJVVNITERGSEI1clF4OGg5OVFwM2lFNFhhbFJJbi9BelRGVHVNU1FjMzJBQUFBQUVsRlRrU3VRbUND"},{ name : "__ASSET__:bitmap_flixel_system_debug_GraphicArrowLeft", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFzQUFBQUxDQVlBQUFDcHJIY21BQUFBQm1KTFIwUUFBQUFBQUFENVE3dC9BQUFBQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBQUIzUkpUVVVIM2dRWkVqQTAzU0hjY2dBQUFFQkpSRUZVR05Oai9QLy9Qd01SSUpLQmdjR1g0Zi8vLy9odzVQLy8vNWY5aHdLaUZPRlNqRlVSdW1LOGlwQVZFMVJFdHNra3U1bXMwTUNyaVpHVUdBUUFzOU5wbXo4SWloRUFBQUFBU1VWT1JLNUNZSUk9"},{ name : "__ASSET__:bitmap_flixel_system_debug_GraphicLog", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFzQUFBQUxDQVlBQUFDcHJIY21BQUFBQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBQUlHTklVazBBQUhvbEFBQ0Fnd0FBK2Y4QUFJRHBBQUIxTUFBQTZtQUFBRHFZQUFBWGI1SmZ4VVlBQUFBa1NVUkJWSGphWXZ6Ly96OERzWUFGaVkxUEZ5TzZZc1pSa3dlSHlRQUFBQUQvL3dNQStmWUlMQWhqbnhZQUFBQUFTVVZPUks1Q1lJST0"},{ name : "__ASSET__:bitmap_flixel_system_debug__Window_GraphicWindowHandle", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFvQUFBQUtDQVlBQUFDTk1zKzlBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUZCSlJFRlVlTnFNandFS0FDQUlBeFgyeWg3b055MmpRa3lwUWJUMGRFU3FTblllRXZoWE5zRE1ZblhlelZHNHdBME5OVlJaSGpLUEgyaDYvNWwxVzBPaXgzTlRFbDFDSjdxS0MvNExraTdBQUQ1WWZydllMZlJQQUFBQUFFbEZUa1N1UW1DQw"},{ name : "__ASSET__:bitmap_flixel_system__FlxPreloader_GraphicLogoCorners", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUVBQUFBQkFDQVlBQUFDcWFYSGVBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQlkxSlJFRlVlTnJrV3d1eW16Z1FsR1Q4d1g1Sk52ZS9UUTYwdFhrdi9tRkFDNjRaMG01TEFwejFPaENxcHJEQnh1NmVuaGtKUnRZWTg2MnhkV1A3eG40MDloM3NIem4yMGRpeHNaTlkwZGlsc2JLeENxd0c4MkQ4M3NDZVg3ZWJoWDFyRHZacVdXTUwyUzhiV3dtT1RXTnZZbDhhKzlyWVg3TC9MTWZiejJ3Yk8yZHljQ2tBQ3JtZ0FTQkZ3QzZ5Ui9BZVNJZ0Jad0lZT0pPQVJDandSZUQ2K1BrTS9sc054OVlDZWlmN055VmdMeGQ5QjYrMzlyZnN2NHNLV2dXY3lmczFlVDRGT3VUOVBnSVFXRWdKQzFCQklZNjhpT20xVVNVWlhIZWhCSnprd0VHQUtoSHZRc0M3a0hRU0FpNEF1b29BcjhuTEtlQkRWR0FEUkRnaTRnSktacy9uNHZWYzNxL1VrVXFBRjVBZllrakNoNUNqM2k4SFNOMzBBQjlDZ0Uwb0FVbXdRa0JKdVVpUHJ5RG1jM205RkNJNkFpcngvZzhnUU1Hci9BdncvcEQ0N2dPYzh2eFFFcFNJQ3ZhbFhKc1Y4Q2J4bndNcFZTYmVMWUVBQkw2WDh5ZUsrMGRCRHdYK0tCRTFPQWdKVUd4YklzQm5VTmEwREI3azlSRkszeGtraGpFK3hMc2h3SDRrZUQrQUNFM0VXc1cwVkI0QW0xWUFMWmMyZzlwK0lQQUhxdmxWSk5iTlNFOC9vZ0QrYm93SXZMWVR4eDBCMTE0STJJZ3RNZ0NxSHp4Q3lWUFpsMVRxbmdteTcxcVdsR1poYjZqOEZZUnRUOGt3eXdUb2lZQVhFZkQxTDRKOGxCZzdrSFF2d0d2NDc1Y0F4b09RMEJHQTRNODB6T1doN2JNOVBsUUZzWE0xNUlRU0JrWWhFbFlaZ01haGJxeld2d0o4MzIvYWdBbzhPSzZDb1R1VFVDTUJPTkJoNzc4YThKakU2R2wwV29FS0NzQjYwaktJRTV3TGxic3hZL2ZmZ1FoV0ErYXVNa0NDeVFMU0x3Zkd2Zm5OeVdBVmxLU0VRc2NCUlVUNmZpS2VUeW1ocGx6QUpGd0pLQlAxZnFvSzRMQ3RZYUtFSkRoSDRLc1pTRDgwTnFnREpGd3R3emNrbWFtSGdROGt3NHBJV0RqeS90UVZFQ01pUmtMbElqYzFwK2oxUGdKOElDRldMbkZuMTgvTSsxWGdIdWFOQXVvQk56dW1Gdis5WWVBQ1NXL29sSGVxT2VER2hpcGc2dU9BS0JFdVVmYm1zREVKRlpQZ1RQcWh4bHhJQ0QybTZ3Z1krOGhxVHZuQXU1bDZQVFl6dkZPRCt3T2tINW9YZE9kY1l2dzg1ZEdnSHhvT3pveDdiaitYSE5BZGMyYittMDlNazQyYmFlSWJzbGtsd1A0cFlFUHZYZVFEcVMvUGFsTUZoR3lPS3Jqck8zSXpCODBLdm51czdoTGVueklwc2NmbmQ2cDNpVENZaStkakpEZ2t3TTI4SW9SYTdib2NNR2NWaE1CamE1M3JYZ1NJbUVNSkRMWGNJdVlGZGxzdUlpVE1EZnhObDZrTGdIZG1Yb21RUTBCYlp6c0N0SWRXRDA1OVlHUURCSEJ2c2JiUVpZN0FZM3hNT1JuYW52aS9VVUJHS3BoVFNXVHBZM2Q1aTNuWm5sanBtNTU4WUNlWStFS0xMQlRyQ2dsWXc0bU13c0JNWkdnY0d2bTVsUGVOdE1sZDI4YUZpQlVSNEdES1hKdGhEWXV2bnV2SEZJREFPd1VnQVdzS0IrNFB0aWJjbWhxN0RXVk11TkY1N08yc01mY2wrbGFWNE5xaXE3VUhOd0owQXlmTzhnVnNqMC9kWDdPSlAydi9ZKzhPbWVveStDVTRkdzFxdjRaQUxuOCtGK05HNlJBQi9oYzkrOHg1UG51ZFBhOXJCWElOQVNWZ0srQnpjN3MyQ0lIR1dtZTVXenNXTGo0U0Zxd2VQd0kwMzlwRHI3UGtOMkJyVkVDN3RZc0plRjBncnI3Z0xqSm53azlmWGxYdWVLaTdCTkNxN3EzNTJTNi9WUVZzNVlzS0h0dmxhMkFZMXduZVBXSXkvOCtUSkp1WTZOaEF0a2ZRT3lLZ2E1ZlBoVFgwUGk0OHhEc29xV2JLWnl1aER6eU84VlgyQ253WEljRXBBVXZ5UEpaQWpDdGRXZnFLbmlMYjQza3VkUnNCck10b1B4RUpMVzZMWlhCbjd0Y0xlQ0lnSXhYRXdpRkZRbXdNMFZmelkwdHBPZXVyOTNQQjlFbE1sYUR5YnovVExTc3pKdDR5YitCSGxrUlFUQWtwRXZ6STBoa2I0ckxzMmZ0YklPQU5iQXRWNExwZVlHZCtManIwZ2RLSGlhVnZQZEV6OGtIb2xyYUwxSHYydmtxL1hVWGVyaUQvVEdxb2NQSDB5ZHl2dXViWXFzejlpbTFWZ251Z01neXArVFl5ekkxTmNIQm1pM01aWFIxL3hLVCtyd0FEQUFKQmFpQW1tNXh3QUFBQUFFbEZUa1N1UW1DQw"},{ name : "__ASSET__:bitmap_flixel_addons_transition_GraphicTransTileCircle", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQWlBQUFBQWdDQVlBQUFBckZzTTFBQUFBQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBOE1HbFVXSFJZVFV3NlkyOXRMbUZrYjJKbExuaHRjQUFBQUFBQVBEOTRjR0ZqYTJWMElHSmxaMmx1UFNMdnU3OGlJR2xrUFNKWE5VMHdUWEJEWldocFNIcHlaVk42VGxSamVtdGpPV1FpUHo0S1BIZzZlRzF3YldWMFlTQjRiV3h1Y3pwNFBTSmhaRzlpWlRwdWN6cHRaWFJoTHlJZ2VEcDRiWEIwYXowaVFXUnZZbVVnV0UxUUlFTnZjbVVnTlM0MUxXTXdNakVnTnprdU1UVTFOemN5TENBeU1ERTBMekF4THpFekxURTVPalEwT2pBd0lDQWdJQ0FnSUNBaVBnb2dJQ0E4Y21SbU9sSkVSaUI0Yld4dWN6cHlaR1k5SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpFNU9Ua3ZNREl2TWpJdGNtUm1MWE41Ym5SaGVDMXVjeU1pUGdvZ0lDQWdJQ0E4Y21SbU9rUmxjMk55YVhCMGFXOXVJSEprWmpwaFltOTFkRDBpSWdvZ0lDQWdJQ0FnSUNBZ0lDQjRiV3h1Y3pwNGJYQTlJbWgwZEhBNkx5OXVjeTVoWkc5aVpTNWpiMjB2ZUdGd0x6RXVNQzhpQ2lBZ0lDQWdJQ0FnSUNBZ0lIaHRiRzV6T25odGNFMU5QU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2Ylcwdklnb2dJQ0FnSUNBZ0lDQWdJQ0I0Yld4dWN6cHpkRkpsWmowaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOTRZWEF2TVM0d0wzTlVlWEJsTDFKbGMyOTFjbU5sVW1WbUl5SUtJQ0FnSUNBZ0lDQWdJQ0FnZUcxc2JuTTZjM1JGZG5ROUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXpWSGx3WlM5U1pYTnZkWEpqWlVWMlpXNTBJeUlLSUNBZ0lDQWdJQ0FnSUNBZ2VHMXNibk02WkdNOUltaDBkSEE2THk5d2RYSnNMbTl5Wnk5a1l5OWxiR1Z0Wlc1MGN5OHhMakV2SWdvZ0lDQWdJQ0FnSUNBZ0lDQjRiV3h1Y3pwd2FHOTBiM05vYjNBOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZjR2h2ZEc5emFHOXdMekV1TUM4aUNpQWdJQ0FnSUNBZ0lDQWdJSGh0Ykc1ek9uUnBabVk5SW1oMGRIQTZMeTl1Y3k1aFpHOWlaUzVqYjIwdmRHbG1aaTh4TGpBdklnb2dJQ0FnSUNBZ0lDQWdJQ0I0Yld4dWN6cGxlR2xtUFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwyVjRhV1l2TVM0d0x5SStDaUFnSUNBZ0lDQWdJRHg0YlhBNlEzSmxZWFJ2Y2xSdmIydytRV1J2WW1VZ1VHaHZkRzl6YUc5d0lFTkRJREl3TVRRZ0tGZHBibVJ2ZDNNcFBDOTRiWEE2UTNKbFlYUnZjbFJ2YjJ3K0NpQWdJQ0FnSUNBZ0lEeDRiWEE2UTNKbFlYUmxSR0YwWlQ0eU1ERTBMVEE0TFRBMlZERXpPalU1T2pNMkxUQTFPakF3UEM5NGJYQTZRM0psWVhSbFJHRjBaVDRLSUNBZ0lDQWdJQ0FnUEhodGNEcE5iMlJwWm5sRVlYUmxQakl3TVRRdE1EZ3RNVFZVTVRZNk16QTZNRFF0TURVNk1EQThMM2h0Y0RwTmIyUnBabmxFWVhSbFBnb2dJQ0FnSUNBZ0lDQThlRzF3T2sxbGRHRmtZWFJoUkdGMFpUNHlNREUwTFRBNExURTFWREUyT2pNd09qQTBMVEExT2pBd1BDOTRiWEE2VFdWMFlXUmhkR0ZFWVhSbFBnb2dJQ0FnSUNBZ0lDQThlRzF3VFUwNlNXNXpkR0Z1WTJWSlJENTRiWEF1YVdsa09tWmxZVEZqWlRRMkxXRmlabUl0Wm1RMFlpMDRaR1prTFRBek9EWXpaVEExWldKaU9Ud3ZlRzF3VFUwNlNXNXpkR0Z1WTJWSlJENEtJQ0FnSUNBZ0lDQWdQSGh0Y0UxTk9rUnZZM1Z0Wlc1MFNVUStZV1J2WW1VNlpHOWphV1E2Y0dodmRHOXphRzl3T2pSa05HUmxZakUyTFRJMFl6TXRNVEZsTkMwNU9UQmlMV0kyTkRnMk1EQTRNVEpsTXp3dmVHMXdUVTA2Ukc5amRXMWxiblJKUkQ0S0lDQWdJQ0FnSUNBZ1BIaHRjRTFOT2tSbGNtbDJaV1JHY205dElISmtaanB3WVhKelpWUjVjR1U5SWxKbGMyOTFjbU5sSWo0S0lDQWdJQ0FnSUNBZ0lDQWdQSE4wVW1WbU9tbHVjM1JoYm1ObFNVUStlRzF3TG1scFpEb3pNMFpHUVRBME9URTRSVEF4TVVVME9UbEJOMEpGUlRRM09ESTVOalk0Tnp3dmMzUlNaV1k2YVc1emRHRnVZMlZKUkQ0S0lDQWdJQ0FnSUNBZ0lDQWdQSE4wVW1WbU9tUnZZM1Z0Wlc1MFNVUStlRzF3TG1ScFpEb3pNMFpHUVRBMFFURTRSVEF4TVVVME9UbEJOMEpGUlRRM09ESTVOalk0Tnp3dmMzUlNaV1k2Wkc5amRXMWxiblJKUkQ0S0lDQWdJQ0FnSUNBZ1BDOTRiWEJOVFRwRVpYSnBkbVZrUm5KdmJUNEtJQ0FnSUNBZ0lDQWdQSGh0Y0UxTk9rOXlhV2RwYm1Gc1JHOWpkVzFsYm5SSlJENTRiWEF1Wkdsa09qTXpSa1pCTURSRE1UaEZNREV4UlRRNU9VRTNRa1ZGTkRjNE1qazJOamczUEM5NGJYQk5UVHBQY21sbmFXNWhiRVJ2WTNWdFpXNTBTVVErQ2lBZ0lDQWdJQ0FnSUR4NGJYQk5UVHBJYVhOMGIzSjVQZ29nSUNBZ0lDQWdJQ0FnSUNBOGNtUm1PbE5sY1Q0S0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEhKa1pqcHNhU0J5WkdZNmNHRnljMlZVZVhCbFBTSlNaWE52ZFhKalpTSStDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHh6ZEVWMmREcGhZM1JwYjI0K2MyRjJaV1E4TDNOMFJYWjBPbUZqZEdsdmJqNEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQSE4wUlhaME9tbHVjM1JoYm1ObFNVUStlRzF3TG1scFpEcGlOVGN3WlRoak55MHpNemhpTFRSbE5HWXRPREF5WkMwNFptSmpObVJoWkRnNFltSThMM04wUlhaME9tbHVjM1JoYm1ObFNVUStDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHh6ZEVWMmREcDNhR1Z1UGpJd01UUXRNRGd0TVRWVU1UWTZNekE2TURRdE1EVTZNREE4TDNOMFJYWjBPbmRvWlc0K0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEeHpkRVYyZERwemIyWjBkMkZ5WlVGblpXNTBQa0ZrYjJKbElGQm9iM1J2YzJodmNDQkRReUF5TURFMElDaFhhVzVrYjNkektUd3ZjM1JGZG5RNmMyOW1kSGRoY21WQloyVnVkRDRLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEhOMFJYWjBPbU5vWVc1blpXUStMend2YzNSRmRuUTZZMmhoYm1kbFpENEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BDOXlaR1k2YkdrK0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4eVpHWTZiR2tnY21SbU9uQmhjbk5sVkhsd1pUMGlVbVZ6YjNWeVkyVWlQZ29nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4YzNSRmRuUTZZV04wYVc5dVBuTmhkbVZrUEM5emRFVjJkRHBoWTNScGIyNCtDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHh6ZEVWMmREcHBibk4wWVc1alpVbEVQbmh0Y0M1cGFXUTZabVZoTVdObE5EWXRZV0ptWWkxbVpEUmlMVGhrWm1RdE1ETTROak5sTURWbFltSTVQQzl6ZEVWMmREcHBibk4wWVc1alpVbEVQZ29nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4YzNSRmRuUTZkMmhsYmo0eU1ERTBMVEE0TFRFMVZERTJPak13T2pBMExUQTFPakF3UEM5emRFVjJkRHAzYUdWdVBnb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThjM1JGZG5RNmMyOW1kSGRoY21WQloyVnVkRDVCWkc5aVpTQlFhRzkwYjNOb2IzQWdRME1nTWpBeE5DQW9WMmx1Wkc5M2N5azhMM04wUlhaME9uTnZablIzWVhKbFFXZGxiblErQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4emRFVjJkRHBqYUdGdVoyVmtQaTg4TDNOMFJYWjBPbU5vWVc1blpXUStDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lEd3ZjbVJtT214cFBnb2dJQ0FnSUNBZ0lDQWdJQ0E4TDNKa1pqcFRaWEUrQ2lBZ0lDQWdJQ0FnSUR3dmVHMXdUVTA2U0dsemRHOXllVDRLSUNBZ0lDQWdJQ0FnUEdSak9tWnZjbTFoZEQ1cGJXRm5aUzl3Ym1jOEwyUmpPbVp2Y20xaGRENEtJQ0FnSUNBZ0lDQWdQSEJvYjNSdmMyaHZjRHBEYjJ4dmNrMXZaR1UrTXp3dmNHaHZkRzl6YUc5d09rTnZiRzl5VFc5a1pUNEtJQ0FnSUNBZ0lDQWdQSEJvYjNSdmMyaHZjRHBFYjJOMWJXVnVkRUZ1WTJWemRHOXljejRLSUNBZ0lDQWdJQ0FnSUNBZ1BISmtaanBDWVdjK0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4eVpHWTZiR2srZUcxd0xtUnBaRG96TTBaR1FUQTBRekU0UlRBeE1VVTBPVGxCTjBKRlJUUTNPREk1TmpZNE56d3ZjbVJtT214cFBnb2dJQ0FnSUNBZ0lDQWdJQ0E4TDNKa1pqcENZV2MrQ2lBZ0lDQWdJQ0FnSUR3dmNHaHZkRzl6YUc5d09rUnZZM1Z0Wlc1MFFXNWpaWE4wYjNKelBnb2dJQ0FnSUNBZ0lDQThkR2xtWmpwUGNtbGxiblJoZEdsdmJqNHhQQzkwYVdabU9rOXlhV1Z1ZEdGMGFXOXVQZ29nSUNBZ0lDQWdJQ0E4ZEdsbVpqcFlVbVZ6YjJ4MWRHbHZiajQzTWpBd01EQXZNVEF3TURBOEwzUnBabVk2V0ZKbGMyOXNkWFJwYjI0K0NpQWdJQ0FnSUNBZ0lEeDBhV1ptT2xsU1pYTnZiSFYwYVc5dVBqY3lNREF3TUM4eE1EQXdNRHd2ZEdsbVpqcFpVbVZ6YjJ4MWRHbHZiajRLSUNBZ0lDQWdJQ0FnUEhScFptWTZVbVZ6YjJ4MWRHbHZibFZ1YVhRK01qd3ZkR2xtWmpwU1pYTnZiSFYwYVc5dVZXNXBkRDRLSUNBZ0lDQWdJQ0FnUEdWNGFXWTZRMjlzYjNKVGNHRmpaVDQyTlRVek5Ud3ZaWGhwWmpwRGIyeHZjbE53WVdObFBnb2dJQ0FnSUNBZ0lDQThaWGhwWmpwUWFYaGxiRmhFYVcxbGJuTnBiMjQrTlRRMFBDOWxlR2xtT2xCcGVHVnNXRVJwYldWdWMybHZiajRLSUNBZ0lDQWdJQ0FnUEdWNGFXWTZVR2w0Wld4WlJHbHRaVzV6YVc5dVBqTXlQQzlsZUdsbU9sQnBlR1ZzV1VScGJXVnVjMmx2Ymo0S0lDQWdJQ0FnUEM5eVpHWTZSR1Z6WTNKcGNIUnBiMjQrQ2lBZ0lEd3ZjbVJtT2xKRVJqNEtQQzk0T25odGNHMWxkR0UrQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDancvZUhCaFkydGxkQ0JsYm1ROUluY2lQejQ0OHNzb0FBQUFJR05JVWswQUFIb2xBQUNBZ3dBQStmOEFBSURwQUFCMU1BQUE2bUFBQURxWUFBQVhiNUpmeFVZQUFBS1RTVVJCVkhqYTdOek5XdU13REFWUU5PLy96bWJCWmhiTU5HMFNYVHMrWjhsUHBBYXdidTE4MUJqakMyQVJyeGFzQ3RTOHE1ZXJGdWNLMVgyM2o2NWhWTUhhdi9XUUdzSVZyUDNUZ0FBQ0NBQUNRTk13ckhENEVBQW1Jb0FBQXNEOUE3RkNkZC9wSTdVRElRQUlJTURpZ2FDYTZnZ0F6d29BaVJCUTRmQ0JBQUxjTkJobjJYMzRwQi9QSVBUMllBY0NBUVFXRHdNelBmOXdwcWNkbjBGSUJoQUJnQzM5Y1F2Z3JjRThUbncrRVFSR29PYW4xeDVOUDhOaytFZ0dEcGlLSFJCV0RRSlh2ZHUvYzJCVW9PYVpYaHhCOVBkZ0FXWmJka0JZTFhoMDdrQ2NIVTRqVU5PN2JrQUFZWXN3Y01mUVB6dEFSNkRtNm9NL2VRUXhncTkzYkhMUFFRRGhNY0hqNk1kVEMvVlkrUDRhZUlBQXdwSmhJRG5Bbm5BRWN2WHJNUGdCQkpCSEJvK09JSkk0QW1HZVlIbFhUVWNnSUlCd1FSQklMNXJqZ2ZjM2NZM1VRNkJqa1hzS0lJQk1NaHpIUnEvVm9BTmcrd0NTMklINDEzQ2Q1ZDJyd1ErQUFBSUE4TFFBVWwvMy9mZkxWM1dQZkt5amJxSVBBTmc2Z0tURHp5NUR2NXErQndBQmhJTkR0Z0kxZHhuNkZicEdUZnBhQUFRUXBnbytIVUdvYnZwYWV1OWJUZkx6cWdsK1YveWVnZ0RDUlVGa2hnVzdBalZuKzE2RERrQUFvU24wM0JtR2Rub0dwUmE5Tm9BQVFtc1E2ZHFGU1J3QjFTVFhXRDM0dktybENBZ0VFRmdpOUh6NitlNGhVWUdhaGgyd3hvSStobitjQ1FjZC9XT3A1bnBYOW5QM2dsREIydi9yb1hzaHJHRHR2M3N3QUlpeEF3THZMZGlkT3pDSkk2RGtNeWpKbzd6Wkh1YUc1eStvZGtCZ0NlLytvVlp6dlN2N3VXdFJxbERkSTMzWWdVRUFBWllOSTlWVXArTWRmeW9BT1lMcTdjRUFFa0FBTGgrTXMrekNDRUJ6QnlBN01BSUl3T2tCV1lHYVR3dEFxU09vWkFCeUJDV0FBQWhBQWxBa0FIa0daN01BOUEwQUFQLy9Bd0FwRU5ZQU4zRnlhZ0FBQUFCSlJVNUVya0pnZ2c9PQ"},{ name : "__ASSET__:bitmap_flixel_system_debug_interaction_tools__Mover_GraphicMoverTool", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFzQUFBQUxDQVlBQUFDcHJIY21BQUFBQkhOQ1NWUUlDQWdJZkFoa2lBQUFBQWx3U0ZsekFBQUxFZ0FBQ3hJQjB0MSsvQUFBQUJ4MFJWaDBVMjltZEhkaGNtVUFRV1J2WW1VZ1JtbHlaWGR2Y210eklFTlROWEcxNHpZQUFBSnZjSEpXVjNpYzdackxqdE13RklZanNiUDZFRlpZc0NGeG5LYTNxTWtJdFJyTnBtakVWQXhpbHladUoyb1RSMGxHU2ZzMnZBTUxKQ1RZSXg2QXQ1Z1ZXOERwalU0MVlzR2lxZVR6OVdyWHgxLytFeS83N2RlWEJ5VlJrdDhWM3llTkhFL1lMSXdkOWVIelZ4V0hnYVBldGtiR0tCbXd1L0JxbGJLYjFldXh2NXI3dlVDOWNGRy90TXNvaVZqdTRUSmF4SmxkT3FvWDhBbXp4ZmRxbXFoNHZTU2ZPK3FyNmdmOGJuU05CenhsdUtVYm1tKzBEZHltT20xYW5VN25KVFlOYWhEREpOVFVhTWR1bXJaaDRDMnFpOFI3UHcybTlwdmg1VlluUm81NmwrZUpUVWhSRkhyUjFIazZJN1RYNjFYYm1LWW1WbWpaTXM2OVVvdXo1NXROZHZzTVdlYW5ZWktIUE1iVjJKdncrOXhSVllRUDJPYUtrcjBvenZSMVJ0M25FU205aEZEZElQdWRxODNGYW51UU1pL242Wmp6aGJ0SmZobW1yT0RwUE1PRG14YW1va284cks2RmI4TTQ0RVhXSjhkMVQyM0podUxsaWtaWm10SFZER3RNdTdiVnRXbnovVUg5WnRGUitZZ0g0WFQ1UkhtcmFWdnRiZm5Cb2wycnlGR3YvcmVIZ2I5dllYS2ZMdFozS3ZBSlc3Q0l4WGttMmtnZnR6SHc3U2xQSXk5M3c4aWJNWkxFc3o3NU8vblA2OXZNaXBNaURpblpuMUwzMFdVZG9wd1k4TzlCa3VlWDFvOGt6dzkrOElNZi9QWDZrZVQ1cGZVanlmT0RIL3pnQjMrOWZpUjVmbW45U1BMODRBZi8yZmhSelg0TS9ucjhTUEw4MHZxUjVQbkJELzZ6OGFPYS9YWG5sOWFQSk04dnJmLzRqeGluOXRlZEgvemdQeHMva2p5L3RINGtlWDd3Z3gvODRLL1hqeVRQTDYwZjFaNGY5Uy9LeFBQbjdOUitBQUFBQUFBQUFBQUFvQjQraU9lem4wdmwwOXVQalI4di9FYmQxd01BcCtSYThaU1p3aFNzVURIYWZRS3k4QWVWbzZ2ekVKZzhjUUFBQUVodGEwSkcrdDdLL2dBQUFBUUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFLYVF6b1FBQU9TaHRhMVJUZUp6dGZkdHoyOGFTUGpZbmppUDVubXhsSC9aRlZidS8rajNGaDdpUUJCOUZVcFFVVXhJUFFkbHlYbHdnU01UYTJGYU9KQ3ZIeThML3Z0UGRnOXRnY0NVcFVRN0NXRU5pY0JsODNmTk5kMDhQY1BTcWU3TjRQYmJPRjdiM2VueDB2bEM5d2JnWEtjYi9PRDVmTkJ0NlIydWJEZTlzMkhNWERlOHRGVzhPKys1Q1ZiMkR3d21XNHozTFhiUTFiMnlkbnJQcTdqNDdnNHYvZWFQaDhHYlJIYkUvdmQzSjFVTDVYcGtxanZKTzZTcTJjcVdjSzQ1M2VIekV0ajltMnoreDdRZHMrNlV5VTNhVUlhdjlwTXk5Y2Y5a0NpZmRQY1p6NzdJbTYzUFQ2L1lQenhlRzF6MWliWit6QXUra2ErM2hUdFlBYnFGckhlQ3Y3cENLVjFqMGp2a0o5Z2I0ZXp6QmZRZGQvRFVZWTNGTUc2MFIyOWZ4dWhPcW5ORFpKeFpkNUlqT1I4WGhMclR5R0ZyVjhQb25LalNuZjZMQmFmb25PaFlEdGxGamhVYUZEb1ZYQUp0bkNXekd5b1h5bVcyYktYTmx0aXhDNnYxSHlOY2VpK0hpS3RmTGFJL3FHcFgxUjEwU0hYVzkraE9pczZUK2lCaVYwYUE3eHVneHgyaVg0WFBKa09peXY1OFpXdTg1VnQ5enJFSU1zOUNCZGtmZ2FSbUVEOWJuNG1NYU1Yd2FNWHgwTFk3UWJNaytwaEZDR2lGa0VFSUdJV1I0MXVoWGtxcGxzUy9PbEcwNG9kdXdyQlBjVUFiRFJ4ekRDZE91ZnpGOSs4enE4L1JNMTJTS2xnMmsydUZRYWxPbkJKU09TVkRpOXJXQnFYV0tnZm1VZzlsakN2ZUJmYzZWM3hoY3R2S0g4bDc1d2dIZGlpamxSL2I5UXJuSUJGUGx2VmJWQzlPKzJqRGszYmFSMFcyYkRVSVMrUUNRZE8zQ1BWY3pDMk9wbXhwaHFhdXowdGhsZCtqMmpLQXpIVUp1dmlLRG9wRTFYR29WeWE0WVpGVUIrZ2ZycCtld1Z3d2dvMGtBcVZOQnQxd09VWU13Y3JJNktxaEZ2bTRoSVVad0FqWUZuRkNwMWdCVVVyZUNqbHExZzQ1WjdSUTc2S2RNTlZNN3E5V3oxUTZxNjlHejd6aEdiOWhZY0MxRnB5Mm9tR0IwWk5sbGNHZ01IKzNPOGJGR1hXSi9xNXNnL1VjQlh1L1JwbmVZeGpEa0JHM3E0YmdKbFArbEVOMXp2RlROa1NJbUVIN2JLYTlTUm9zZ3N6bG0rc3dvUEhaVzc1VHNnbHJUSmlCaHFDbVA1QWpKLzVxaCthRVVrcTVSWU9SMC9aRVQ3SW1DUUFiY3hvRkVtMlQxT0FKOGxtK05BTG1SV2VKL0FXVEpMdkcvakV0RC9ERHVYSlNCRjhlTVhIY0MxYmswdm5OdW1jREJBSENudFdxQXh3eFhiVDRuek1SQkl4dXpLZ2F5bkJTMVpxYUI3R2psKzNoZ0hqYzFnbzR3TElhZE9pOU1qWUhpYVc0TXVxMEFPaGhCdnVCWVdzVTNpN3RtNkNKVWpIMFU2Y2lheWEwVWRFb0tvcVZyTXJSYWhGYUwwR3BSVnlZQ2hDOVRWK2pLTU1hTUQwcmcrREN3Vm16bDk1d1lpVWtvZGdoRk5ORWlLRGFXUmRFZ0ZFbkZwREEyYmNKUnk4Q3gyZUJoZ0E2UEEzUTRrbHp4V2x6eldrWWFtTFFsQWlZek9zc3A1WVQxZEthU3l1OWxlbkVoclN4bVBjdlZFanN6RE5UVGxmTWZEakRZaDMwZ3g5R1Joc2FlZlBYc1kyZCtqL3dYRDFkRmFncDNlbWtVWVFQQ1ZXckZjRlU2U3MrbEtQVXhzRGRsSm5oMnQ5NVVuTFJid21uQyt2RTVjMC91SzA3NnluSGFDbkM2WUJiSjlTMEdock40ck9NWUZaMDBQaVEwQ0pvR1FkTWdhQm9FVGFNZ05FK2xLc1JuWThxclQ1enJHN2MvKzVKRlJrMUNxRWtJTlplaTdBUDBYbTl5dk5kTm5XSGdLTEVSRzJGcUVreE5nc2ttbUd5Q3laYmEvZ053TjNHNlpRSmNJMUdtUzJaKzdTaEgvTnRjdVN4aWlwVXhIZFRtdk1oa1EwUHE1SmZ1Y25MRGdadXpKa0Zsa3ZGUGN3M3BnWkZzN0E0d3dQU2VCNXJlSTF2RnNRT3JFY09XNEFHaE5Cc3hRNWI4cG9RaEsrMk1xSXRGSStMMldyRXJEcFhmSTRjQlJPbUtKc2JmSEZtUGhLaDFLbTJGUG5xRllOTGE5Q3hxMTRlUkpMQlVNWkpremt2ZytUQm01bjlhN1p4N3dZa3NZV2k4aFc0YWdBVTRSc0g2am9OMUFsTUdIS0x0d0QwSDJ3ckNiWG5XbFYwMU9RRzhtVHlZZE1HMTlGMGhQOVNHQ3Axd0xOVUM0UXpZaWhZV0Iwc3p5ZmRCVDJjWEhUWlV2bGFMUEI4RFNnd241bUw0SW9JaFJJd2cyY05DTzlYbVZsbjJHR0ZMQTJ3RklJVklWc2JVakdNVHFCb0gxZEdFK05xTXg0aG80TTd4TUpucUVxd214OVVrWUIyVGdIVTRzSTRwK3V2d1pleC9pWFZ3cWdxKytBR20wWmo3cE9PeEgrSzBrdUU2bVNqOElOMnR3Sy9QQ3NFdmhPZ0M5RFBuWFZOaUpRYTMrd3pDbmhsSWlEMldPcGFJTktFb1JSb0hjUUFZRlgxTWlsOFUzdTBBM211TXFVQXl5bFVSKzhlZjFQYVRMVlI3WGdEZkl2WlBVMkNNT0xNQzMxcVlLSmNPYnNzb0I2NFBuT29HTVJJRVVNdG5paC9sTVdTZWpsR01mOXNWK2JmUU1NVkRlNjR0NUFod09JMXBqSDROR2YzNmNJbzgwZVIrWEpNN2NxeU1KMTFRRkdwTWdGcGpUczM4TndDdHVsSks5ajJjRVlQeUUvdVdWRmRWK1puVm5qUEljK2VTNHZQa2xhUFBXYjVmQ1JzZ3JxaG0xY0JCRXBuL2tDSEQxSENYYmIxbXYzOW0zOEJRQjg4d2Q1Smp0Wml0MW01YUlXYitNTjlqZy93SDlzL3Z1dEU5WmU0TXVpMnBKcVpkUHJCUXdzQXNQc1FVQWdyN0tmQmZjbXdCeXhOcUxDcUxRZW9QMS90QjRzRTVETmpyU1I5MmlwdnBwYkxOQk91VDA1OU5RTm9FcEprdzFMbnBHYzAyaXdFYUJmQUpCL0FOV2pSelBqV0pPaWhNYUJTTDNnaDVlNEZmWFN5QUExT01KYlV4c0huUVpGcHFXbEtLWkRCbkhrNjBZYXpDL3pJK2lRemJEUnBOQkNVdGpuR3hTU1BObE9rcEJZQldpTEEvWjZUNzg3N040Z0RMZlVwZE5tZUVQVHV0NzVlRHNZeFQ3bkxyMFkxYmo2NWRBTVFpN3VheUFTQzVpbW95Qk1rcmozcEJ3V1NibUNIcDgrV1lXOWdYeWtlQkwyRUkrcVM0a0pRRnc3VU1RN1ZwRUlhdE9JWjJDUWhiVWoyVUdqVTA5VnZGcXZHMU1FNllHbGRETEhVc3FmZTJlUGN0RHBxdmNEUkprdTJ1NkxKT0s2Ukp5a2VYUm5Ickd2azJpZFhVeUo4MEQzd1ZZZEljQ0JieG9pODZmU0g3MnB4eit4cStqSHdNTGQvMUcvc2NTVUdQWXBqNmVZRURjR0ZraUU2Tm1IUHRhMThaN3pwenZFWU1aY2tJY3YrUFk2ckxNSFZNdWNQUzRkRzFEay9xNkxRb1VvUnVpVDlIM2czZEZIL09YSWlPcDRNWWV0UC9aRERhYUZCbXEyZXpxdTFUWWtRaG55OFNleXVSaGNYOFE2bDZ3dllCM3o2ZzdRR1VPRnEzK1dEZEpnMzFJVVVGUFNEWHNGeG5mNHQ0Wm84dThSRzZVTjVnR1Z1U2ErWlVPaGtxZU5MUzBTVXRNSkdXSVJQUHdPU3FpQjV6eWxxUVV3YlZKeHlvUDZNQjdwdmxEemlJdXRLdmtON1dMcktPcG9oTG84ZE5uRGlBVEZVa29ZaGlZVFBObE1TQ0QyaU1Mb1BUZG9nVDh3UDMwY3o1TXhzeDZRQlRiT21SRDVtYXIzT09kSUJSNXpJeVZHOFZzc2VCQmZNZWs2UWg3REJQcE42THNMV3F6am1veFdjQkExOUZiNVZQQ3ZRTndUeXY3OEEzblErU3BuTWVkQytDTWZjRHJ2b29PODBnbnlGY1h2VXduend5ejJCTHJXbGYrWXBFWXNXUldLcDh2a1V6RGlZTGtnWk0wUTU4d3JaZlk4QXJiL25wS2pwd3MzZ0FWc0N3a3o5bytPbXBnam05b3U3cjZ5RGs1cDlqckhEdE9waklwTlNsU3RneDQ1TmRyblRVa004ZkNnbStqcHdDWmZhZ0dNWUpwN200RlJPTlk1TzZzaHRzTjJsWWJwWFQxaWVCNTN5QnJzeDdCanhmSXBHdHM2dExpTXNhcDAzcEVqbUlnMFFRMThyTXdLUnBMZGszVnRJSnpFUHdhUVRCZjJFUVp3Y2pGYVV4eE1CZ2ljV3VBWTVHdml0ZGVYNEFmT1VDZ3hBR0laeTJKQ0VkazN4d2cvL0ZuMzRaY1dNU2JwRW1aQ1BXcFRoem1DZUZuN2dVWHVPTWw0UFpyMWM0K1FBTURESGluWkJneXRNSkxhVXFxdGhTTm9rcnRtQk5ZYWd0eVNXbExGQ2R4NGgwSGxwbkpYSUpGMDkwZkJ0eDRjU0NtU2l0eUZTWkdaOHBBM3ZmR3d6N040dEI5RWtETG9yRndvRGNlU1NKMUVWeEhPT2N4a2NVMUdscURSZkhnQUFaRURjTUNJZkJIbXJ4WU56SFhjWmpxanVnNGd3S2J4RDE0cWhCL0xFUDRMRUpUWXJXbktiV1ZHdVNSazFpeFg3UW9oZXNQVTR3SHpIajJuZ2RtZks1Q3JqWTRUa2ZNUFE1eXUrTVIvelppOEgrYXdiOGNZOU9mc2krNzQvZ0NTd0Rlc1JLQS8veklsV3FYOFdmdndKMWI2R3VzZng1MUlxbjhLdlliNFRPaTRudUVSZGRENThtNExBTy9FRWl2akVITWFsUjBacHE0dE5KZkhvdHZncmllOHJGTjJZQU9leW1JWXJ5bXlERXA0R29aUHVjRnRpbm1tQnRFcXhkQzdhQ1lMZURmZ2tUQkdEZ1JKMGROeko1NE5lZFp0UlZFNkJCQWpScUFTN1JNMGtRMTJnYlhmcXdDVDFUdnM5cGdYMldvbHhWclNWYlFiS2grV1ZqaWsyNEZ0SGxzd0QrOXRPVTdkV2sxaVNwTld1aExTRzBFWnFiVHVTSlV5NlBnL2piVDFPMlZ4TmFtNFRXcm9XMmhOQUdDTXdzZ01VWFRyajlOR1Y3TmFHWkpEU3pGbG9Gb1QzaFF0dmp6Nkw1QTBrdmFyODg0V0tTN1hHYXUwYzFrWFpJcEoxYXBCVkUrcENMdEl0enNWZkJESzBiUEJEaU11aUQ0dFpxNG5KSVhFNHRyZ3JpMmdxY1F1ZzV0TXhhOU9mREd0R2ZEMnVxaVc1R29wdlZvbHRpeEh1RHlaL3p4SWdYYmo5TjJWNU5hSE1TMnJ3VzJoSysraWljT3d1Y2d1M0Fqb3pXbldiVVZST2dTd0owWXcxN0hHalRYSmtxZlpUSWU1emE4K2Z3ZmUwUjYwOXo2cXMxVXVYUll5ajdhZ1RZUVYrTC9kSmp2NHpZcndrSllCK0Q0bFcwOVNuWFZxaVpna21CazU5ZG5JeVA2bXRMcmlTNkNjb1VxWHFwbVdHdDFySGI4VnFqR2RaT1crS3hyYXhEMnhtSHFtS0x4RzV5LzVxL3V0NVpzOWdhY1hyR2NScmpzcGw5ekhhRWZaTTlTSmMxa05vUjE1U0lvc0MvMU5iTGdGelhSVFlFWlpoYnZjRGNxbXZsaEsvVi9DMWZJN1ZPdzI1MlVqU3A3ZkFHNW10a3NmTnNTTThOK212WWgvTnc4cnRWZHVQeWNTcDJuanZHNlhtRTRWaFA1VDM0TGVidVVjcGpUdDl0ZEJpVGF5bmRLdG5ub3VRbFZibDFYZVNPY1g0aDRCeEJPSThsWDRadG1UWTAyMDZEWWVheTZuaGxSend5RSswVlgyaEROSHNQTTFFeFJ3WFRLb1BSeWN1eDY3U0c3b2dEUm1nWXFkTk9XNTJtR1VicTNIRFpyMWh0WUJpMTdMblRVTk1NbytTSlZiRkZvaFR2WC9QdldEY2VjZDJBOUVhYTNZWVhKbnpNMHdpWkNhRkZLMFZiMkFqYnJka1pockpvZkRSZW11RnBVeTBUdnptRjFHRnoyMzdIdXJETmRTSHlTR3BXbDZzSnJSWmtlTW83bDlrd2szQUdQYVRWRXUyQ0NKNXdZTnRONjF4MDRUVFRpLzFmV0JrMnVQbDNyQTlia1ZqQUg4Z1BseEZ0TUdTTjZyU05saW9NbDNwd1o5T1o2UWhjYWdhMUxVZWJxM0pJNXU1czZzeVNFcjJiSm15SVZDeDhKY2FOSUJXcGtuZjBEck1iMDVUYzBPQ1RwdVRUNWxTZnFpbEszbW9sZTArbzVMTTVmS1JZUU1jeWl4TDJSamQvUXppYnZKV2svWnppajZVM2kvc1hvbUNXT004SzQ4cDdnLzdOWW04UW1VNmRJMDZIbUlNTnRtMlgvYjNCQitENDgzRHpZRG1SclZ4N2V5UHJadEh2N2NHZlY0aWZ4ZnhpOEQxT2xLbnlQMlFEZWYzZWExd2c2S0t0Zk1VUTlTTEhiUG1MNEpoUERRdVVycFgzL0loL1V4cXhQYmZEOWlUMi9VWlJoYjIzV0ZzK0lOZk9sWW55QmNxVTh6N0NWdHU0SnZUUFVDdjQzZytWLzFJYTRVYzRjby9kbGN0dHZTTjhrdHVoMHVkSC9qOWxvYlN4dHNWYXg5cW5hTXJQN0x2RHRzQTMyRGJEeCttWWJGdWIxZEExbXJobm0vMVZXUTM4OGdRY3dvYzk3bUtNNWtOd2IzOWp4K2hLVTJqbEFiSWJ4U3RrOStlR0grSElMcTV5dXNhTU1BdXpOYTlUY2R5S3lDY2I4U2VSUGYxc3MwdXlrd0o1dG9XN2VNS3dua0U4Q3A4Q2dldWVVZGVZOTVWNmxSQ25QbjlTbG8wcE5sRzBSSmsraStqTkVlYWxYdk1uU0ovajZPQmZTeFd1RlVnaWVQM2VKMnpqVlhDRUhqdmlNVDZtODByNVBYVi9zVjIwNGl6V0w2WFNuTEd6eWJUMUtUN080RThlUDRXZVBFc2N2eFhYZHFaTHJ0Q0txTVlmc3ZiU2lveHovaXh5T3N1MzNQT1pDeGdkb0E1bVh6MmlpOUtyMDN2UkdFNk1oV3pzUzNuM0lPTHdJbUFjMHVqTFZQMFFaZkQvMmRWL1o5Y2ZZSCthWXh6d2t2ZXJFM2JrQjZiMTlLUzJqMHhqTGxDbkw5bTJLR2FuYlA5aldzZktyL0lvd3JnN0VjNUZpcTdBem1OTUpQdnQzckt6eUY0MU85ZnNYTE56emM3M201MS80T3hzc1hQN2EzRnBmL1E2RlhvVHczM2xiSzNtN0pxemE4NnVPZnVyNHV5dEpHZmZXNFpXYTRhdUdicG02SnFodnlxRzN1WU0vU3RxL2Evc0dyOHhXL1MrY3JSUmMzVE4wVFZIMXh6OVZYRzBiMFZIT1ByZU1yUmVNM1ROMERWRDF3ejlWVEwwbUNFUDF3TjUzRmVHYnRVTVhUTjB6ZEExUTk5RGhwWm9RWjE1VjdQelV1d3NjbG5OempVNzErenNzM01vMlZXd2M1MTVWN056emM0MU85ZnN2RW5zWEdmZTFaeGRjM2JOMlRWbjN4L09yalB2YW9hdUdicG02SnFoTjVXaDY4eTdtcU5yanE0NXV1Ym96ZVhvT3ZPdVp1aWFvV3VHcmhsNjB4bTZ6cnlyR2JwbTZKcWhhNGErRzRidXM3MUFPeU9jSmVSMmNIMUtzSE0yejRtb3RSSXNtY2QxTnV1ekhjVmdueG5EeUZ3SjF5MmpiMDlqOXl1WE1Jd2Jtc0N1MGFPeXN3TGorOUpUR0VPR01ETkdtU1J2NjZ3bHpWdlJObCtEZG1JNlZGYmJubkZ0Qzk4TThpNjIxM0xhWnlkbWk3OUc3ZnMzcGIwbTNjdUtFbTY2N2ozbHVoZmxldEVhL1o1ckgrUkdNSXR5by9LTXhVeUhPc3Q0a3l4UlhiQkpha3MwM3hMVmhIYlZsbWcxUzFRVjJyRnBsdWpqa0U4WlEwZnVjQW1HSHJNcm5DUFQxZ3hkTTNRUmh0WnFocTRadW80VlNCbjZTY2lueWl5VG81L0ZtR29IVzB0dmYvb1E4ZUlleDFiOXJkSi9FM2tsai8yYW5OTmNaRFBndkRiN0dHeC9uLzEwOWczZVRRcHQ4SzlqSWwrNjZQVUJCOWIrMi9ydEE1bTJWTkc5WjhobUgzQnNqcDFOZVFrZmlRYm02ZEJVNlRBdGNOaGZHQW5uT0lJYXlIRytEa0ZjQURUSVpScm1heXJzYmJMZm9Ia3p0bjljaC82VFhhbkxzSElSU2VMVWR3eXpTK1JWNFBrLzJlL3JBR2ZRcnY4TkVIdUFWOTZCdjdHemZxL01Dc2FqMWlQSlBPeWpMWGlnMklMR2ZjTlFhZ3I3T0RuOGpNeGFRVXUyWXpybjE0bTZrV1VYaW4wcFQ0czBaQm1UYVFPVEJiSU9hQWZvUzNVbUttTEZ0QVJNODBkOW8rS29uemJhTGNPWG16WlN5dlVtcm9HUEdaZk9tT2Z4R1Z1NUU4SEtmMHZlTGlKNndlcUdBYUpYRlpnSmRNSmc5UzdhN3lxT2JpcTdaeU5oMjV1Y21Xd2NCV0g4bTdGL1lGMTFib1dabnJMOUxtQXNRbnZwSFpmcE8vYjdOMldhSXNGbndqSHZ1UzBkUCtwdjdINmFnbzV2czNxUTJrZjI5eDFxMmVmVVdjT3QyTDV3bDdPVVBSL0Y5dnhOOGQ5M1dleTgwZnVNNy9rODlUN2pMWmZkNll2VVk4WDJ5WTRXcit4TEpYbHZ0ek5qSmU4WGNjYWJJVnRkQy9vUVNrMTJuOCtrUnhWQktFc0g4NjRweDFiVVJ0RkRTdXNuOHd3dlU0NUpkaDk1SERtcVNHOThJdGsvNzE2U1IrUnBscnhWNmZmK1ZIcnZLZjJtRkV0dnNTMGdoeHM4ZjFYYlVXZGNDeHc3eGJGOGp1elk0ZU4vT09wRFBkeEhBKzFMWU9nT3hnVm1hRU9LMFpmMU1QVGpVRFo0dGd2bEhPMkpLMjkveEVEYkgwMXVGbWZESHJ4dDdTMFZYcmhOYXpacEszenhCTmJrMGxqcFdiZEpWMWQrVHZCL1Yzbk85VENsVERmTGFuZUVZU3RyZDl6KzBBTDdvMW5iSDdYOWNlL3NEMW1mcUcyUDJ2YTRmZHZqdStqVEdTcnhNbHpWd0VoRGgvdUZZRTIwSkx6Y3VGTmVYazlQanVOWER2c1h5Z0ZhSzM5WExKeHIrb3pYaFB1QytNcHE3TUJaWUFkcUcyZ0h2a2YrZXhmRzNvVGo1SE9vMit3NHN2SnNYTFArR2V5bmxKNERvMFlTMnlKSFBzZm9JczJvOGJoVm9lUFdvMmRGZEtXYzl2M0VKSHFadU1PL2k5RzlGZW1oRStpaHVuRjYrQXoxTDNyUHhUUnJLc0h2N2pTa25Eekw2Y3AydUlYVlVycy9TR0xZNFd3bllEREx5RUxJSDFkbU9LN1lmSlNBV1E4Tk15VGpNV3pRS0R1V1M0QXpxWmhET1YvaGJOcERKcGsvY0E0VzVQUWxHSE9UYytvUFVyTU9aQkhyZGNXT1pmS0t5L3dCT3o4OG4ya2VrZklBZlZHYWw2WDhneXF4WWhjelBCcE1OaUFKNk84dXpsR0ZNNkVOdEFsQVFuZnJxNjBMZlJtT2VlZy81ejNWZjFMV0RvOVA3ckpXL0FIelRCVWtvYUVNTk94TE5sb0FEaXNObkVXTVdtZE5uUHNwbHBGem55U1JqMmxjS3Q4Rzg5Z2trL0IzbFY2Z3Nqb1hQUndqbURIeEkzT2JGTEZZRC9ZaGR0a1liL20vV2N1TzhPekpUTHV5YUd0L09iUmxLR2JqL2hRemNXQVdIMnpzbmVENDZoRTZrSUNPdVJ3a0FRM1BEMXhqb04zWHhGRWNjQVk1TlZsZEI2MUVrSW1MTW5CdVJRSS9JS2IrbmZ0KzlLWFVkdnVHdFRBK1l2K1lldlEvV1drckgySVd3amVnYmJjZy8yeHBabXZDYzJXZkhmVVo3Y1Z6bk92TzA0Wi94NGhmOUlnb0RqNCtuNE9aL2grWWxGK2lSWkQrS2J0YUt4NFJiZ1FSWWYwdjB1UHpwWll0OWNmS3J3bzg3KzNqQ3ZwK2g2OWFncmhQSy9Eck5HUmZXTkUweFF3bThPZGFhTk5QV1RsSEszMkcxb21PRnNkdHlPSTUyNGZ1dW15L2Z5RTk4aTc3ZkxvRTg1Z2ZaT2pIRHZMNytzZkkzdEY3VDg4QUsrdnROUm5hSmxxY0xkU05uM0YvaWlJYU9JNjdPSGFvT0VZME1VdHVqam8wWjNXd2g1M3c5dGFqUHk5UzBVam1tSFZ1aWZtenBCblhoSWM4WSswU003NC9CZXR1NDF2TDkzOEhHUlo4UE1nOUk0K1BzdnlUSGwvN0srUmlFY0VpcUQ5ajUvbUVlZjFVc3hOa3k4bjc0VS9JVCtIKzczQys3UXJYclY0WFhDVlExbzQyTnRpTy9qRURqMVZZSUZubmw0MFh6VnZwN1hsYVUwVHpIc2UzTHVWM1FjYW9odithZlA2bmc1WkFPNkV2ZnE3cDE5WHowN0VVNHozSG1Pa0JjeG0rRkhiUi90a0pheXJiWDNQRXM0SFp1MU9Nc3ptSXRJN2pwOE90WXZqYnhEVlRmajR3V0YxenROM0FKN3NkKzh2R3UzN0hzUEx2dWxoLytsRjY1R2RlaXRuYmFYTkg2OUtDTkZtSy9aSFdIY1l6eFAzblhoeGdpeS9XdnM0d25uVmR2M0hLeCtIK3JUU01TN0pZanI2WTc1Qy8wbEJjL2JkSkt3M0IxeXE3NmtETVlLblhHdDcrV2tQekZsajUyNVJWRTNJVzlwOFBkNHpuQjFzdk9jTzVhaVlXYy9scUp2NHJNWEg1TmQ5ZkZ4TW4xd3JXWFB5MXJ2dE80K0x2MkoxOVFOdC94dlRDejBtTWJxc3lGK2hpVkpEOFRZZkhvRHVSdFdxMGlyYkJPT2h1VjlHdUt5Y3hpbCtjd2FBM2ZwSDRTOUNuT3VnRlFxNUdSMkJKSnpoZitwRWRuTTNUQzhqM0JXb2kzY0VsOWhMUThKMGxwVDdEK1lZMmpqTWRsSG9MWnhjN01hbFBNWExjaVVrZC9ybTQ3KzNFa05lVklaaVA2dDNxd2crWUQvT0Z0NHBXUzM5aDN3MHVEVmlMdDhkMUpEcUNRa3liMkxENjNMU0pJK0VjZXpqRnAwMmNhNGpHcDF1WUI2UGpmQUw4cGQ4RzZ0UDkxbzBzTkt2TDZKa3c4ekRCMWtDNzcwcE9sRE40ZitXVWgyaDFXVzJoTFhaSkZzd2R5Z2UyM1YvNXlGQ015K1JIekMwN1Z5Z1diTEUyblBOdllHR0RkeEdWeXZkaGZ1Q2FaZEpta21oalprNGJNM1RnYnd2SHlpWmFSL2RYSmtrTTR4SjVoTmpQTVhNWC9ITS9HOWJQZ2graGwzV05uUGhlb1dkN2dsOTFnLzBxZXUwcVZnbk1uTTNSOTNiUjA0WDVrVGtlNFV2SFJsdTBqZjJqd1ZmSmFOeHk3YkFheUtpb2tzZWNGby80RnUwRUorS0ppcEdGZGVXbmwwRWEvanV5bUJDOVgvSHZhSGR5cytqMmh1Y0wxM1VOK0hnRCt0WEEvN3p1S0pENDl6Z0hBay8ydFJFVko1aHhtUVp4OWt1TTFnK3hkODY5Y2Y5a3VtRG4yRDAreDhJNlgraHowK3YyRDg4WHF0YzlPanBmekZuQk50dGUxOXJEbmF3QjFsa0grS3M3cE9JVkZyMWpmb0s5QWY0ZVQzRGZRUmQvRGNaWUhOTkdhOFQyZGJ6dWhDb25kUGFKUlJjNW92TlJjYmdMclR5R1ZqVzgvb2tLemVtZmFIQ2Evb21PeFlCdDFGaWhVYUZENFEyaTJMaUlUZkQwbkdCOGNCUFJyOVBVR283WGdObzhvTHNjUUdNMTlndnZhekR1NHk3ak1kVWRVSEVHaFRjNTY5NHM2TUlQbUdOSWc5d25KdkJYTjRzM0k3YVAyZkFPZURteGZtWG5ZeEtlSExLN21CejJ6eGR0ZDJhNCtEU2V5ZGxnTlNmeTlzNUdONHZCMFFSdW9UY2NRekVhNHAyTWRsRUJoNmdiSTZpQ2s0d20vRGREUXZWMlIwTXFMTGpwM2QwZS90cnRZMkZOUUgxR3d6NGNzQThuYlhpL2pQNXh2bWhDYWRIUEV5cEdjUHorNEJDS1h5ell4MmJsSHYyY3dPbCtzYm9JN0hDRWlCNUQ0L2F0SVd3YldxZFE5S2tZV2lpQm5uVUVoKzMxTExpWjQ3Y1cvQnBhK090Z2dvcDFNQ0dpN0NQQlE2ZjlFMHRNbS9iT0JyanYyUkcyZnpMRzA3RWpvVGpyNytMSkIyZnNCSXAzZkdUY0xOaWY4MFhMdzhLbFFxV2lJUlNzSE1EK1RIMmFIaFpzd0RpMkduUXVTK1dseGtzZHk3M2pIdXczMmNVZU54bTlnZUlNYmtUMWV0MVQzS2ZYUmEzcmRYZHhhMzhYZi9XUGJoYkR3Y1JkTkY0MnZjbkppTDZNRC9tVzdnbi80dlhPRUdMdjZKZzE3K2k0aitmMFJ2dkg2TkNPRkJ1SG14MDJ2QjBlb2NCR2gwTXFZTmYvNWxQZEhUUjNpT3BibVA1cTgrbFkyRXFwc0JxZktJZGdCRXlIcXpoMWJ1T3lsaG1URW11eGR6Z2s0YjVsa2g3dXZtVTArR29mTnB5T1VlZUd2SmUrWVJlYUlxZlphQk5lZXNNaFFuUms0WDVIUFR4Ti94QVZvRGNFU3RpRFUvWmV3ZmE5SVZ6TDgxNGZzbnQrVFR0NVh1SjZEWDY5YldSWGVHbzZySFdsdWR0WjdJcU5RbGM4UE5vUE5weWREUENwQjFURW40R0FuWGxLZlhsS1hkbU05K1NwYWtNUWRyS0x0MUg0Umg2R2dLRkVKYmVnbGdUTjJ4LzNieGI3SjJmUThQMlR0MWhZN0pmZVl1VmJLdjNCaXcxbkxqdWl6d3lML1Q1ZWM3Ly9LbEsxM3orQUR0NS9EUmM2c1pCd1R5eFVhRy9VNzdITGpuRlllajArSXRydFJZcnhQNDZCWmZTTzFqWVRpQjcyM1lYS2VqTG9QeXZIZTVhN2FHdmUyRHJGd1dhL2gyTXR0R0VFOTcyMkFkYTQvd05zQVd5ZUpiQVorOTFHZ1lYZlN5S2szbitFZk8zeEp3dVcwQjZWbVlkVjlVZGRFaDExdmZvVG9yT2svb2dZbGRHZ084Ym9NY2RvbCtGRHI1eTV4RVNnOTRGYlRWaUZHR2FoQSsyT3dOTXlDQitzejhYSE5HTDROR0w0NkZvY29kbVNmVXdqaERSQ3lDQ0VERUxJOEt6UnJ5UlZDMFpIWjhvMm5OQnRXTllKYmlpRDRTT09JYmg1LzFKb3dYbWVudW1hVE5HeWdWUTdIRXB0NnBTQTBqRUpTdHkrTmpDMVRqRXduM0l3ZStoeDAzTUR3QmVCTllaZkFnOHJWRXFhMzd2STlqdDVyMVgxd3JTdk5neDV0MjFrZE50bWc1QkVQZ0FrWGJ0d3o5WE13bGpxcGtaWTZ1cXNOSGJaSGJvOUkraE1oNUNicjhpZ2FHUU5sMXBGc2lzR1dWV0Evc0g2S1lXM29nQVpUUUpJblFxNjVYS0lHb1NSazlWUlFTM3lkUXNKTVlJVHNDbmdoRXExQnFDU3VoVjAxS29kZEl5Qk5PaWduekxWVE8yc1ZzOVdPNml1UjgrKzR4aUJzM2t0UmFjdHFKaGdkR1RaWlhCb0RCL3R6dkd4UmwxaWY2dWJJUDFIQVY2VUFPNWcrUGVEb0UyOUlLYnlwUkRkYzd4VXpaRWlKaEIrMnltdlVrYUxJTE01WnZyTUtEeDJWdStVN0lKYTB5WWdZYWdwaitTSUVxaGdFck1Va3E1UllPUjAvWkVUN0ltQ1FBYmN4b0ZFbTJUMU9BSjhsbStOQUxtUldlSi9BV1RKTHZHL2pFdEQvRER1WEpTQkY4ZU1YSGNDMWJrMHZuTnVtY0RCQUhDbnRXcUF4d3hYYlQ0bnpNUkJJeHV6S2dheW5CUzFacWFCN0dqbCszaGdIamMxZ280d0xJYWRPaTlNallIaWFXNE11cTBBdWt1TXJsMEVpNC9LK1daeDF3eGRoSXF4anlJZFdUTzVsWUpPU1VHMGRFMkdWb3ZRYWhGYUxlcktSSUR3WmVvS1hSbkdtUEZCQ1J3ZkJ0YUtyZnllRXlNeENjVU9vWWdtV2dURnhySW9Hb1FpcVpnVXhxWk5PR29aT0RZYlBBelE0WEdBRGtlU0sxNkxhMTdMU0FPVHRrVEFaRVpuT2FXYzROTVZIZVgzTXIyNGtGWVdzNTdsYW9tZEdRYnE2Y3I1RHdjWTdNTStrT1BvU0VOalQ3NTY5ckV6djBmK2k0ZXJJaldGTzcwMGlyQUI0U3ExWXJncUhhWG5VcFQ2R05panVmejdpSk4yU3poTk1DdmhqM3VMazc1eW5MWUNuQzV3VmNQdEJZYXplS3pqR0JXZE5ENGtOQWlhQmtIVElHZ2FCRTJqSURSUHBTckVaMlBLcTArYzZ4dTNQL3VTUlVaTlFxaEpDRFdYb3V3RG5nbVE3YjF1Nmd3RFI0bU4yQWhUazJCcUVrdzJ3V1FUVExiVTloOWd6dXcxNW1JeXJwRW8weVV6djNaNFh1RHZPTzlld0JRcll6cW96WG1SeVlhRzFNa3YzZVhraGdNM1owMkN5aVRqbitZYTBnTWoyZGdkOExWTDRWTjJSZXpBYXNTd0pYaEFLTTFHekpBbHZ5bGh5RW83SStwaTBZaTR2VmJzaWtQbDk4aHdtVmU2b29ueE4wZldJeUZxblVwYm9ZOWVJWmkwTmoyTDJ2VmhKQWtzVll3a21mTVNlRDZNbWZtZlZqdm5YbkFpU3hnYWI2R2JCbUFCamxHd3Z1TmduY0NVUWZBTVdOODl2K1NyeGZLc0s3dHFjZ0o0TTNrdzZZSnI2YnRDZnFnTkZUcmhXS29Gd2htd0ZTMHNEcFpta3UrRG5zNHVPbXlvZkswV2VUNEdsQmhPek1Yd1JRVERDMHdHaStaL0oza3VHMUhITEF3cFJMSXlwbVljbTBEVk9LaU9Kc1RYWmp4R1JBTjNqb2ZKVkpkZ05UbXVKZ0hybUFTc3c0RjFUTkZmaHk5ai8wdXNnMU5WOE1VUE1JM0czQ2VGWkZJS2NWckpjSjFNRkg2UTdsYmcxMmVGNEJkQ2RBSDZtZk91S2JFU2c5dDlCbUhQRENURUhrc2RTMFNhVUpRaWpZTTRBSXlLUGliRkx3cnZkZ0F2clcvK2hLdk1DdGcvL3FTMm4yeWgydk1DK0JheGY1b0NZOFNaRmZqV3drUzVkSEJiUmpsd2ZlQlVONGlSSUlCYVBsUDhLSThoODNTTVl2emJyc2kvaFlZcEh0cHpiU0ZIZ01OcFRHUDBhOGpvMTRkVDVJa205K09hM0pGalpUenBncUpRWXdMVUduTnE1cjhCYU5XVlVyTHY0WXo0SXNpa3VzSWltUkhiL3EvOHVhVDRQSG5sNkhPVzcxZkNCb2dycWxrMWNKQkU1ajlreU9DRHNqL2hNcCtmK2JJbUd4OXRsRFBKc1ZyTVZtczNyUkF6ZjVnUEg3VlBYVGU2cDh5ZFFiY2wxY1MweXdjV1NoaVl4WWVZUWtCaFB3WCtTNDR0WUhsQ2pVVmxNVWo5NFhvL1NEekFWVWZyU1I5MmlwdnBwYkxOQk91VDA1OU5RTm9FcEprdzFMbnBHYzAyaXdFYUJmQUpCL0FOUGE2RVQwMUdYOWp4ZmVCa0Y0bmVDSGw3Z1Y5ZExJQURVNHdsdFRHd2VkQmtXbXBhVW9wa01HY2VUclJock1ML01qNkpETnNOR2swRUpTMk9jYkZKSTgyVTZTa0ZnRmFJc0Q5bnBQdnp2czNpQU10OVNsMDJaNFE5TzYzdmw0T3hqRlB1Y3V2UmpWdVBybDBBeENMdTVySUJJTG1LYWpJRXlTdVBla0hCWkp1WUllbno1WmhiMkJmS1I0RXY2UmxEc05RSUhKeHpHWVpxMHlBTVczRU03UklRdHFSNktEVnFhT3EzaWxYamEyR2NNRFd1aGxqcVdGTHZiZkh1V3h3MFgrRm9raVRiWGRGbG5WWklrNVNQTG8zaTFqWHliUktycVpFL2FSNzRLc0trT1JBczRrVmZkUHBDOXJVNTUvWTFmQm41R0ZxKzZ6ZjJPWktDSHNVdzlmTUNCL2lZY1FtaVV5UG1YUHZhVjhhN3poeXZFVU5aTW9MYy8rT1k2akpNSFZQdXNIUjRkSzNEa3pvNkxZb1VvVnZpejVGM1F6ZkZuek1Yb3VQcElJYmVORDFWSHA4QmxxbWV6YXEyVDRrUmhYeStTT3l0UkJZVzh3K2w2Z25iQjN6N2dMWUhVT0pvM2VhRGRaczAxSWNVRmZTQVhNTnluZjB0NHBrOXVzUkg2RUo1ZzJWc1NhNlpVK2xrcU9CSlMwZVh0TUJFV29aTVBBT1RxeUo2ekNsclFlRFIwcCtVOFBXQ3ZsbitnSU9vSy8wSzZXM3RJdXRvaXJnMGV0ekVpUVBJVkVVU2lpZ1dOdE5NU1N6NGdNYm9Namh0aHpneFA5Qi80RmttWXRJQnB0alNJeDh5TlYvbkhPa0FvODVsWktqZUttU1BBd3ZtUFQwdEFwODRJYWJlaTdDMXFzNDVxTVZuQVFOZlJXK1ZUd3IwRGNFOHIrL0FONTBQa3FaekhuUXZnakgzQTY3NktEdk5JSjhoWEY3MU1KODhNczlnUzYxcFgvbUtSR0xGa1ZpcWZMNUZNdzRtQzVJR1RORU9URStoL0ZEazZTQXI2TURONGdGWUFjTk8vcURocDZjSzV2U0t1cSt2Z3lONjhBYk91SzVaQnhPWmxMcFVDVHRtZkxMTGxZNGE4dmxESWNIWGtWT2d6QjRVd3pqaE5CZTNZcUp4YkZKWGRvUHRKZzNMclhMYStpVHduQy9RbFhtUGJ5aTl5bzJZcWF0TGlNc2FwMDNwRWptSWcwUVExOHJNd0tScExkazNWdElKekVQd2FRVEJmMkVRWndjakZhVXh4TUJnaWNXdUFZNUd2aXRkZVg0QWZPVUNneEFHSVp5MkpDRWRrM3h3Zy8vRm4zNFpjV01TYnBFbVpDUFdwVGh6bUNlRm43Z1U2Q2xXRG1hL1h2RzNkUHBQVWdzSXBqeWQwRktxb29vdFpaTzRZZ3ZXRkliYWtseFN5Z0xWZVl4STU2RjFWaUtYY1BGRXg3Y1JGMDRzbUluU2lreVZtZkdaTXJEM3ZjR3dmN1BZdUVkQkRhSmVIRFdJUC9ZQlBEYWhTZEdhMDlTYWFrM1NxRW1zMkE5YTlJSzF4d25tSTJaY0c2OGpVejVYQVJjN1BPZmpBMzh1enB0ZzltS3cvNW9CRDQ4dGdwTWZzdS83OE93aDlyMFhlWUJacEVyMXEvanpWNkR1TGRRMWxqK1BXdkVVZmhYN2pkQjVNZEU5NHFMcjRkTUVISHlzZUZKOGtWZFVDdUtMMWxRVG4wN2kwMnZ4VlJEZlV5NitNWC8rSHIzTExpN0VwNEdvWlB1Y0Z0aW5tbUJ0RXF4ZEM3YUNZTGVEZmdrVEJHRGdSSjBkTnpKNTROZWRadFJWRTZCQkFqUnFBUzdSTS8yM1NGeWc3Y1JoRTNxbWZKL1RBdnNzUmJtcVdrdTJnbVJEODh2R0ZKdHdMYUxMWndIODdhY3AyNnRKclVsU2E5WkNXMEpvSXpRM25jZ1RwMXdlQi9HM242WnNyeWEwTmdtdFhRdHRDYUVONkcwNkFTeStjTUx0cHluYnF3bk5KS0dadGRBcUNPMEpGOW9lZnhiTkgwaDZVZnZsQ1JlVGJJL1QzRDJxaWJSREl1M1VJcTBnMG9kY3BGMmNpNzBLWm1qZDRJRVFsMEVmRkxkV0U1ZEQ0bkpxY1ZVUTExYmdGRUxQb1dYV29qOGYxb2orZkZoVFRYUXpFdDJzRnQwU0k5NGJoUjdpTFk1NDRmYlRsTzNWaERZbm9jMXJvUzNocTQvQ3ViUEFLZGdPN01obzNXbEdYVFVCdWlSQU45YXd4NEUyd1JQRyt5aVI5emkxNTgvaCs5b2oxcC9tMUZkcnBNcWp4MUQyMVFpd2c3NFcrNlhIZmhteFh4TVN3RDRHeGF0bzYxT3VyVkF6QlpNQ0p6KzdPQmtmMWRlV1hFbDBFNVFwVXZWU004TmFyV08zNDdWR002eWR0c1JqVzFtSHRqTU9WY1VXaWQzay9qVi9kYjJ6WnJFMTR2U000elRHWlRQN21PMEkreVo3a0M1cklMVWpyaWtSUllGL3FhMlhBYm11aTJ3SXlqQzNlb0c1VmRmS0NWK3IrVnUrUm1xZGh0M3NwR2hTMitFTnpOZklZdWZaa0o0YjlOZXdEK2ZoNUhlcjdNYmw0MVRzUEhlTTAvTUl3N0dleW52d1c4emRvNVRIbkw3YjZEQW0xMUs2VmJMUFJjbExxbkxydXNnZDQveEN3RG1DY0I1THZnemJNbTFvdHAwR3c4eGwxZkhLam5oa0p0b3J2dENHYVBZZVpxSmlqZ3FtVlFhams1ZGoxMmtOM1JFSGpOQXdVcWVkdGpwTk00elV1ZUd5WDdIYXdEQnEyWE9ub2FZWlJza1RxMktMUkNuZXYrYmZzVzQ4NHJyaHYwMlEzdjc5TVU4alpDYUVGcTBVYldFamJMZG1aeGpLb3ZIUmVHbUdwMDIxVFB6bUZGS0h6VzM3SGV2Q050ZUZ5Q09wV1YydUpyUmFrT0VwNzF4bXcwekNHZlNRVmt1MEN5SjR3b0Z0TjYxejBZWFRUQy8yZjJGbDJPRG0zN0UrYkVWaUFYOGdQMXhHdE1HUU5hclRObHFxTUZ6cXdaMU5aNllqY0trWjFMWWNiYTdLSVptN3M2a3pTMHIwYnBxd0lWS3g4SlVZTjRKVXBFcmUwVHZNYmt4VGNrT0RUNXFTVDV0VGZhcW1LSG1ybGV3OW9aTFA1dkNSWWdFZHl5eEsyQnZkL0EzaGJQSldrdlp6aWorVzNpenVYNGlDV2VJOEs0d3I3dzM2TjR2SVc1Q2ZvTTN5VGpuRUhHeXdiWU0zd2dmemNQTmdPWkd0WENmZWRiek4rdEY3OUQxT2xLbnlQMlFENWJ4cmVNdGZCTWQ4YWxpZ2RLMjg1MGY4bS9ETzRlM0lHK3JGZlpOdktONWliZm1BWER0WEpzb1hLRlBPK3doYmJlT2EwRDlEcmVCN1AxVCtpNzhySFQvQ2tYbnZkbTVqYlF2ZjR3enZiSWJYZkRwc2l4YTgyeGtlcDJPeWJXMTh0ek44bXJobm0vMVZXUTM4OGdRY3dvYzk3bUtNSm55ajg5L3dmZXBOb1pVSHlHNFVyNURkbnh0K2hDTzd1TXJwR2pQQ0xNeld2RTdGY1NzaW4yekVuMFQyOUxQTkxzbE9DdVRaRnU3aVNmQU9iM2dLQks1N1JsMWozbGZxVlVLYyt2eEpXVGFtMkVUUkVtWDZMS0kzUjVpWGVzMmZJSDJPbzROL0xWVzRWaUNKNFBWN243Q05WOEVSZXV5SXgvaVl6aXZsOTlUOXhYYlJpck5ZdjVSS0U5NGpMdFBXcC9nNGd6OTUvQlI2OGl4eC9GWmMyNWt1dVJYZUsvNHQ5M3ptQWtZSHFJUFpWNC9vb3ZUcTlGNDBoaE5qSVJ2N1V0NDlpRGk4Q0JpSE5Qb3lWVDlFR2F6bnJlZVBJb3k3RStGY0wvYU8rbngyM3VMcy9DdHEvYS9zR3IvZFc0YldhNGF1R2JwbTZKcWh2eXFHM2s0eXRLTGRXNDQyYW82dU9icm02SnFqdnlxTzltTWNZMXlPY1g4dGFKRzlhbmF1MmJsbTU1cWQ3emM3K3pHT01VTWVyZ2Z5dUs4TTNhb1p1bWJvbXFGcmh2NnFHUG9IenRBV083Zi96REhhSDJmWEZYcmo1SDNsYkszbTdKcXphODZ1T2Z1cjRtemZxbzV3OXIxbGFMVm02SnFoYTRhdUdmb2VNclJFQytyTXU1cWRsMkpua2N0cWRxN1p1V1pubjUxRHlTN0R6blhtWGMzUU5VUFhERjB6OUtZeWRKMTVWM04wemRFMVI5Y2N2YmtjWFdmZTFleGNzM1BOempVN2J5STcxNWwzTlVQWERGMHpkTTNRbThyUWRlWmR6ZGsxWjllY1hYUDIvZUhzT3ZPdVp1aWFvV3VHcmhuNmJobTZ6L1lDN1l4d1Z2QjBmR0xvOEYwTjcySjdpV3lkelhzaWluYkNyczNqUHB2MTRZNWlzTStNWVdhdWhQdVcwYituc2Z0TmszaGI0TnJvTWRrNWd2Rjk2Wm1NSVY5a3pZUW1XVnhuOTkrOEZkM3o5V2tucGl0bGRjK2ZFZUZjdHFTdXRSSnhyNjlSMThCbTBkYWtiZVk5MXJhblhOdWlYQzlhbzk5emZZT1lBYk1vTnlyUFdJd0ExRm5HbTJTSjZvSk5VbHVpK1phb0pyU3J0a1NyV2FLcTBJNU5zMFFmaDN6S0dEcHloMHN3OUpoZDRSeVp0bWJvbXFHTE1MUldNM1ROMEhXc1FNclFUMEkrVldhWkhQMHN4bFE3MkZwNis5T0hpTisySFZ2MTU5ZUpUSjNGdXFKZm04ZHlHcjVmMUdSOWxuay9UR3JBYUJyN05BS1dnMjJ3RDdUZGw0cUp2T2lpZndkYzU1WG1pSmJBRWZsOXlxallwOUowYVpuK3NHbDZLTmViS2hyNE9IYW1WY2FyeEpFdFR6T2JmRlIxY1R5RlViZk5QZ2JidjdwbTF2R3FkVmlvTW0ycG9udlBzTzkvUUU2TG5VMTVDUitKQnVicDBGVHBNQzF3MkYrd3hlWm93eGs0eXZvNkJMRXAwQ0FYT1k4MEZmWUdGZ1RObTdIOTR6cjBuK3hLWFlhVmkwZ1NBNzFqbUYwaUM0R2w4U2Y3ZlIzZ0ROcjF2d0ZpRC9ES08vQTNkdGJ2bFZuQnFOUjZKSm1IZmJRRkR4UmIwTGh2R0VwTllSOG54MEpBUG81cHlXT215VFBtZVh4R0hIWWluT0svSlc4WE9mK0MxUTBEenIrcW9CZkFEUWFyZDlGK1Y1RmJWSWFwa2JEdFRhNFhObklRc00rTS9RUHJxbk1yZXZHVTdYY0JUSUQyMGpzKzZyeGp2MzlUcGlsTThrdzQ1ajIzcGVOSC9ZM2RUMU9RMmphckI2MzR5UDYrUTA3OG5EcHJ1QlhiRis1eWxyTG5vOWlldnluKyt5NkxuVGQ2bi9FOW42ZmVaN3psc2p0OWtYcXMyRDdaMGVLVmZha2s3KzEyWnF6ay9TSnVrODNRbnJvVzlDR1VtdXcrbjBtUEtvSlFsZzdtWFZPT3JhaU5vb2VVMWsvbUdWNm1ISlBzUHZJNGNsU1IzdmhFc24vZXZTU1B5Tk1zZWF2UzcvMnA5TjVUK2swcGx2NkpzZUJsNEwxeksxNzV1K2dKVkI3VGRjYkN3TDVUdFBiSUd1eXdscW94dXhEcTRRNGJPTzREZDNjd1lqRERzVjJNeTZ5SHU1L2hHQmk5NTNmWWIwRlBQd1cra0NpWkY2emxTZnlLSExrZWRpa256M0s2c2gxNWw5NE9iL2NIaWI4YnhoMEFnMWxHUERCLzVBY05NTkM2Y2RETHRURmkxeEc4Q3RBb094YlZ3NWdHem1mT1YraFZQR1NTK1FPaklTQ25MeG5SclFlcDhUK1pkN3N1UDFNbXIzSXkzMkpiZ0tkdlVKTld3d0x6Z0FYMGpXT0J4eUYzNDlrdWxIUHNOMWZlL29pQnRqK2EzQ3pPaGoxNEcrTmJLcnh3bTlaczBsYjQ0Z202enRsNnBXZmRwckZzNWVlRStOZ3F6N2tlL1picFpqbnRmcUVjb0V6K3pud29pTGgveGl1RHpnQmJya2JiWjRHMmF4dW83ZTl4bnVoZDZQOEp4OGxua3JiWmNhVExSVWJJS3dtMlJZNThqaDd1cG95c1JYU2xuUFo5RjEyMVVja3YxbkIwVkxudS9JeXh0NW5Ta3ZqRmZyVGtidnppOVVna2psL1pjUzNpZTFYdTZmSEloQlpFSnBwMVpLS09UTnk3eUlTc1Q5UlJpVG9xc2Zxb3hBT21wYkJ1Y1I3dzhYUHVvZnByR0hkNGhHeVhuZTBQaUc5WFlHY1lGWFgyRnl3cUc5blpZYVdCc3doUmRtN2lMRlN4bkpEN05EN21ZNW9ubFcxczBTYytXMDVaSVZVaStDN20zVFJRSGk2aTd1SzhUVGc3MkVCSmdMZCt0K1BrdWp4eEdZNXg5TDhOWmhFSisvQjNGYnhWVnVjaWp4bkJqSW52ZVcrU1hiSWV2RVBzc2pIZThuK3psaDNoMlpPWmRtWFIxdjV5YU10UXpNYjl1YkxQenZBWlBicHpuSi9jQ2M0aHQ4WC9IYTI1NkJIK1NIT0pvNVNOTTdLZmd3eVVIeGk2TDVGeDBqOWwxMG5FcmYxR1lPM3JmeEU1NTBzdFcrcFBFVlhmWTg2WCtNZkkzbEZwcDgrOWw0MHZONWxFVEJ6clcrejhMUnlYWE81Qkc5aUhYWXc1cTVpWDBNVDhCTWd5QlN2S3hEMXNSWXd2cjBlaUwxTFJTTTd1ZDI3Rlc4aVdacDRtakhtUGhlaFNuaVlVNlpuQXdEcG0waEFEYTNoK0UrVUlzMDFObENQMFB4Y2xPVU5ieE1DKzZtTGZkRzVGamo4RVhBVjNIcGVqR05mNmhyVXdMc2tmVTQvK0p5dHQ1VU5zWHVJYllLRmIwWVFzYVdacndtUGxWd1ZXeEg5Y2dSWjArQW8yNkwrdElNYXE0VGdNcTl1bTJKdWh2N2R3VG1tS1BkbkZXU1lObzdKZytkK0dGanhuKzlCZGw5V0FGOUlqNzFMNjZSS01TLzRoejFPNnhJenZUOEhheC9qVzhsSjNjS3dGYndLeVk4bTNvQ3ovcEcvUi9ncEhaUkhCSXFnL2ptOWR5dnBWTVJ2UFJUK2ZvdEFkN0lYdGhGWGtaMzUrWGZpblkxbEVFcy9ZR1QvaENndXEyUWt5cStVcytCUHlRN2ovTzR4dlh1RjY5ZXVDNnpYS2VqVEdCbnMwUDJiZ3NRcXZJT3Y4TXI1dTNncm41bW1OR05jNXhwbGNtTVh6Ky84dWpubzdZVTNsVVhlT1VvZk1ieGhoSFl5eU5kRFcraGxycGp4SFEyZllxR2h2MDRvRkdHdm5PR0tEVFhZN282Nk5kLzJPWWVmZmRURXAvaWc5OGpNdnhkelp0Rm5UZGZGUG1pempXdkNkMHNOV2ZtYjdYZ1V6a05GdFZTSWZMdnBCeE9zT3Q3TTZrY3hjeXRodU1GbmZiY2IydW1ZZ28vakZaNStnTjM2UmFBZmtBWFZRNXlFRzJoR1kyUW5PbDM1a0IzMFh2WUI4WCtES0I3cURTeHlkZ05GM2xwVDZERzNxTnRwWUhaUjZDMzJwVGt6cVUvU1ZPekdwd3o4WDk3MGRyM2xkbVFENXFONnRMdnlBY2VZdnZGVzBmdU1MKzI1d2FVRG04UjdYa2VqNkw3RGdhYzFmZFUvY3hHakpISHM0V2VNbVJsZWkxbmdMNTF4MGpLREFYL3B0b0Q3ZGI5M0lRck82akxad2ZMK2tETVU3azgwTXQ5MWYyY2hRckM2VFowTDhhNEt0Z1BiZW5YeWE5M28welVNMExxc2ZjUjd6blB0Y0ZtdlBPZjhHYThodG5POE1wZlY5T08rMlp2bTBtVlRhR0lkc1l6d1Mvclp3ckd5aWRYUi81WlBFTUM2UlI0ajlITE9qd2Y3MU00NzlsUVlqOUV1dmtSUGgyeDhvb1hOa3k1M1l0YXRZSmVDZHp0Rk9kM0hlSHVJUWN6ekNsNDZOdG1nYiswcUQ1OFJwM0hMdHNCcUlHbGJKRlUrejk3OUZPOEdKK0JYaURNVzYxZ0NVUVZxTVV0RFRTZUpyUGYzbmx4NWpHOEFEVHViOXIvcUpKR0pHV2YxdVdzTGgvajJUSkw0YXVzcnpCb284azBSOFRzZ21QWk1FWXZIbG5xQ1FYRWxjUDVma2EzMHV5YmNwejRDUWM3SC90TWdEWk5TTHRmT3dVZlB3WDVpSHhUelV2eG9QaTNaSXpjSjN3Y0xtYmJPd045cWQzQ3k2dmVINXduVmRBejdlZ0g0MThEK3ZPd3A0K251Yzk0Qm5SOXNvQXllWVpaa0dUSDJKRWZvaCtxaHpiOXcvbVM3WU9YYVB6N0d3emhmNjNQUzYvY1B6aGVwMWo0N09GM05Xc00yMjE3WDJjQ2RyZ0hYV0FmN3FEcWw0aFVYdm1KOWdiNEMveHhQY2Q5REZYNE14RnNlMDBScXhmUjJ2TzZIS0NaMTlZdEZGanVoOFZCenVRaXVQb1ZVTnIzK2lRblA2SnhxY3BuK2lZekZnR3pWV2FGVG9VSGlES0RZdVloTThyeVR3S055RVIzR2FXc1B4R2xDYkIzU1hBMmlzeG43aGZRM0dmZHhsUEthNkF5ck9vUEFtWjkyYkJWMzRBUk16aFJVK2VVZldxNXZGbXhIYngyeDRCN3ljV0wreTh6RUpUdzdaWFV3TysrZUx0anN6WEh6K3llUnNzSm9UZVh0bm81dkY0R2dDdDlBYmpxRVlEZkZPUnJ0c2QvWURkV01FVlhDUzBZVC9aa2lvM3U1b1NJVUZONzI3MjhOZnUzMHNyQW1vejJqWWh3UDI0YVFONzVmUlA4NFhUU2d0K25sQ3hRaU8zeDhjUXZHTEJmdllyTnlqbnhNNDNTOVdGNEVkamhEUlkyamN2aldFYlVQckZJbytGVU1MSmRDemp1Q3d2WjRGTjNQODFvSmZRd3QvSFV4UXNRNG1GQzdvNHhBQ25mQlBMREZSM1RzYjRMNW5SOWoreVJoUHg0NkU0cXkvaXljZm5MRVRLTjd4a1hHellIL09GeTBQQzVjS2xZcUdVTEJ5QVBzejlXbDZXTEFCNU5ocTBMa3NsWmNhTDNVczk0NTdzTjlrRjN2Y1pQUUdpak80RWRYcmRVOXhuMTRYdGE3WDNjV3QvVjM4MVQrNldRd0hFM2ZSZU5uMEppY2orakkrNUZ1NkoveUwxenREaUwyalk5YThvK00rbnRNYjdSOWZ3YlRPU0xGeHlOMWh3OTNoRVFwc2REaWtBbmI5YjBiUU5vWUVHeGh3Z2pCSEU0MmVCazdJelRFSUJhRVBNUDQwckhYWWRoZU5IUXFHUU9nUXBNUmE3QTNmTWhFUGQ5OHkvbnUxRDVjNUhaTzArWktBcmtJUHlJZmxKRFJ4T3ZPR1EwVG5pUFRpcUlkRi94QmwzeHNDRyt6QlNYdXZZUHZla0YzbThHZy8ySEIyTXNBbHhWVEVGeGhqcjVwU3A1cFNuekxqWFdxcTJtRFpUSFpaMitHLzE0Y014ZGQwYmM5THZaR0hqSTF0alBWZUlyU1NXMUN6YnlIL1dpcS8xaFlib2Vac05OZ0pyeG03bmxvSXNzVDF2UDArcy8zMyt3ZlFKZnV2WVk4VEN5bnl4RUlWOVA0UG41dUJOVm8vYlQ0QUFBQytiV3RDVTNpY1hVN0xEb0l3RU96TjMvQVRBSVBnRWNyRGhxMGFxQkc4Z2JFSlYwMmFtTTMrdXkwZ0IrY3lrNW1kemNncU5WalVmRVNmV3VBYVBlcG11b2xNWXhEdTZTaVVSajhLcU00YmpZNmI2MmdQMHRLMjlBS0NEZ3hDMGhsTXEzS3c4YlVHUjNDU2IyUWJCcXhuSC9aa0w3WmxQc2xtQ2puWUVzOWRrMWZPeUVFYUZMSmNqZlpjVEp0bStsdDRhZTFzejZPakUvMkRWSE1mTWZaSUNmdFJpV3pFU0IrQzJLZEZoOUhRLzNRZjdQYXJEdU9RS0ZPSlFWcndCYWVtWDFrZzdRUllBQUFLdFcxclFsVDZ6c3IrQUg5WHVnQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBZUp6dG5ZMlIyemdNUmxOSUdra2hLU1NOcEpBVWtrWlNTRzZRbTNmejdndEl5Vm12SGR0NE01N1Y2b2VrQ0JLaUFKRDYrWE1ZaG1FWWhtRVlobUVZaG1GNFNiNS8vLzdiNzhlUEgvOGR1eWRWam51WDRkbjU4T0hEYjcrdlg3LytxdmZhdm1mOVZ6bXFETVA3Z2J6UDR2YndsdjY1dTdhTzFXOG5mNjVIVncxN1BuNzgyTmJWU3Y3dS8yeC8rdlRwMTk5djM3NzkvUExseTMvNm92WVh0YS95S1Nvdnp1VVk1NUZPL1Z5dTJzK3gybS81azNhZFcybGFYOVd4WWM5S3pwMytMenI1Zi83OCtkYzI5VS8vTGJtVURKQTVNbUkvNTFUK3lCU1oxLzVzRi9ScnppVS90eFBhQXVVYjl1emtYekx5K0svbzVNOHg1RUovdFF5UmM3VVY5MW5reHpYZ1ByNDZoajRBeW1NOU1lelp5ZitzL2svNWQrOE02SG5rWG4rckxTRFgycllzL2N4WXlkOTZBT2o3bFo1MXc5QnpUZmtqMTVKVlhlcytTRi8zbU1CNStGbVN4M2E2SWR1SjlZemxYMjNFYVF6L1VuWGkvbk8wSDEzTldKeHRINmRmWi9zcFdWbmVLUS82YmVaZDEza3NsN0tzYmRvZ2VvWXh5ZXFhWVJpR1lSaUdZWGhGR01mZmswZXcxNmYvODI4djcxbnkzZm9lWE9wcnVqYjFybmlFeStqdGFnZlA1bWRJbmZDVzlyNjdsdmZ6bmZ6UDJQR1BmSVo1bnZkMXZzUXV2Wlg4LzRiKzh4WmMvdlN6WWMvRHBvNU5KdjEzNmR2REYrUnI2U09kejVENkpEL09YZmtEVGVkdnBJeGNqLzNJdml6YkwrM2YycVdYOHJjZjRsSGJRTXJmZmpZZmN6OHBmWW5PTExrZ0cyeSs3T2VjOUF2WVoxZ2dJK3gyQmVkUjU3UVBrL1pudHgzYURQZENucGtXOHU3czJabGV5dDkxOUtqamdhNy9BM1ZvdmVDK2JUK09mWHRkak5BdWZzaDkwSFpmOS85S08rdDQ1Mi9NWjByMjYvUlpYWkxlcyt0L1FMYnBBeTdzcXltWjRXOXhmME9XL0wrVFAzM2ZQa0RIKzFpZndNN2ZtUEluTGZ3QTVOUEoveWk5VjVFL3ovYjZtN0t4dkl2MHhkc1g1L3JlNlFiMGlkc0p1c1c2R0hiK3hwUy96K3ZrVDV6S21mUlMvcHpYK2NQK2R1eGJTejliUVgybFB5MzlkL2J0NWJYVWJkSFZrZjE5UEVmSVkrVkxoSlcvTVgySXZLZDE1ZkY0NWt4NjNxWWVIbFgrd3pBTXd6QU13MUJqVyt5Yi9Edyt2MmRjUGZhQUdXTy9IN1o5OGJOTnZvc0x2UlYvdy96RFoyZG4wK3I4NE5ZSjZBN0hoT2Zjd1BRdFFsN3I4MnRmWnovTThxQ3ZSaitjbzdPcklQK1YzZGQyTUh4ODJJN1FHOWgvUGNlblNMOVF4dTdiWitkejdMZmpMOGRvSDlpUjhVa054M1Q5M0g0WDEzdVI4dWY2Ymw2bmZZRzI3MXJtK0ErNmVVU2U2NWZ6eit5Mzh6WG9pT24vNTFqSmY2WC9WM2J3OUtXblR4MGJLZTBpKzdGak1NNGN5M1paNEpQWXhRc00vK2RhOHU5OGZ1QzVYeVV2endVc3p2Ui9jRnlBeThtNWVjNnc1MXJ5TDlESjZUc3ZlSVlYMXVIT2MvWDhYK2tHdHprLy94MnJVTXpjcnpYZHUxenRXNzNqZVh6ZTJRSVl3K2YxeEkwNG5kVFAzZmlmWndEays3L0x5ckZNZStRL0RNTXdETU13RE9jWVgrQnJNNzdBNTRZK3RKTGorQUtmRzl2Y3hoZjRldVFhcThuNEFsK0RuZnpIRi9qOFhGUCs0d3Q4UEs0cC8ySjhnWS9GeXVjM3ZzQmhHSVpoR0laaGVHNHV0WlYwNjRZY1lYOFNQMnpFOTE1RDQ1WGZFWFpycmF6WXZTT3U0UDNjZm1YN2tPNHAvN1F6UEROZTF3ZmJHN2E1d212d3JHUnMrV04vd1NhM2Frc3JtNXpsYjM4aVpmTDZQQzdqeXA1Z204SHFYaWd6ZXN6eXovYm9kUXFmd2FaczJ5czJ1L3JmZHJUdW16eVpodGNRdzYrSERiNXJOMTMvTDJ6VFl4dGJZUDFQMnZiNTBHNTl2ZGZuOHBxRXErOExrVWZLMyt1T3NRYWExOFI2ZEpBUnVGNTIzK1F5S1g4L08xZHR4bkwxTlozOEhXL2tZL1lmczUvK1NYcnNQL3ErbUkrUlQrNzNlbmozakh1NUp0akhJZnVGWmJsNkx2NnAvTHY5bmZ6VEY5VEZJdEd2MGUya2YvUU51ZDB4L0JUVzgrVEI4VWRuMS8vdGV5dlNqd08za24vWEhtejdkendCL1QxOVI5Mjk3TnBHeHFpUVh2b3BIL1dkZ2Jic2Vra2RjT1JIdjVYOEM2L2pTK3dBck5hY3pudk5lOW5KMzJYSTd3djdta2VWZjVFeE11bkgyNjJ2ejNHdnA1bHBkVzFtRjVlVFByOHV2OVgrM1gyc3JzM3I4cHl1ZnA1aDdEOE13ekFNd3pBTXNKcGJkYlMvbXl2d04vaFRkbkdzdysvczV0YXQ5bm5PaGVjS0hiMC8zb0tSZjQ5OUdMYWg1WndhV1BubmQrM0Z0cEhhZHN3LzMrV3czNm53OTBUdy80R1ArVnJiay9BdGNTK1dQOSt6OFQyLzZqd1J5OHgrdG95Ymh5UDkzOW5tcmYvWjVycyt0dFBaUm12L2pOc2ljZjc0ZXJBQmNxMi9VZWh2Q1RuR3hIS21MUGlJN3EybmJzMVpXenNjN2FkdjVqb0JLWDlBRDdndFlOZW5MZGczaS93b2U4NGJzZCt2bTFQUzdhZmQrcnRBcjhLMTVkLzFuMHZrN3prZjZPNzgxcUMveWJpVGZ6NFBPcDl1d1RQcEZlY0tYMXYvWHlwLzYyMTBzR050N01ORFB1UnhwUDlUL3JTTlRKUDRFTWNJUExJLzV4SThicUtQMGE5dUlmL0NQajMzNTkwODhydzJ4Mzg3K2VQSHEvUnovUGZvL3R4aEdJWmhHSVpoR0laNzRIakxqSmxjeFgvZWl0Mzc2bkFkZU9lMlB6RFhpN3dYSS84MW50L2crSHJteDlHUG1ZTmp2MTJtczdLaGVBNWUrdXBzaC9LOG9KVVAwTWNvRTlkbStiSC9PbjRmbjZiTDA5bWpYZ0Zzb0drUHhXN25OUm81cjdPcEY1NVh4ODkrdDF3N0ZOcy9kdjV1anBmdHUvYm5ralpsekhLbDM5SDl2L05WWWxOK2R2bW4vcU5ldWZkVkRFODNUeWpwZkRzcitWUFA2VWYwL0RSOFA5aG03UiswLzlEM3Rpby94M0tPbC9kWGZzOHl6Mi9GVHY2VzJaL0tmNlgvVS80NS85ZCtaSTVocStlWTUvTHUxb2ZjeWQ5dEZFaUxOdmJzYmNCWS8xdi8zVXIraGYyUWZzNXpMdU1TMmdONW5OSC9rRzJETk5tMlQ5enQ3eFY4UWg3L3JXVDhudkwzK0MvbitOa0htUDdCWWpYKzI4bS95SG4rM2ZqdlZlUS9ETU13RE1Nd0RNTXdETU13RE1Nd0RNTXdETU13dkM3RVVCYVhmZzhFSC80cTFzNHhRRWRjNHArLzVOeEx5dkRlRU45eVMxai9tTFZ6TW4vaXNTamZwZkxudW81SzYreTNGcm80bEk2TUp6N2lrbGhBNHBhOERzNVJyUHRSL1JwaW8rRGFjZlNPbmZKM2VJa0w3R0wzS1pPLzYrNjRYOHBMZkpXUGtYYk9GeURlM0RIbmp0Vk52RFlRYXdobG4yVXRNc2ViNy9vMStaODVsL01kUDB0ZWprVzZwSDZKT2ZMUHNWSHZzYTVacnRkR3VUaVc2MzhSRDA0LzVYNDdPajFLUEpmdjI5LytvUzNzZEFEeHVzU1NlVTVCM2h2SDZXZTcva1AramdsYzRmdE8vZUpZeWt2cWwzTXBKK2xlUy85blhIN2k1eko5bXpidGZkU3p2N2ZoN3ltNUh0eHVYVSs3KzNMZUhWNGJ6UGV6YW9kK2hpSzM3bnNmY09hNTR2a3lPWGVBTnBRYzFTL1FMaHlmZWkxMjdUcjdLLzNILzZQenNrMTczbGVYSHYyUCswcFp1YTlhOTYzSzZyV2lZQ1czakEzdDBxUnNPWStGdkJMbmxlMmV0cGtjMWEvUEkwL1BWWG9yNk1GVi96ODc3djBUK1hPTzU5eGttbjRlZHZIZ1RyZWJoMFNkNXpjcUxsbm5xeHNyZGpyVGVXVTc5UGc0eTMybWZ1bi8zWHlGdDdJcnc1SGVoVTcrT1grajROM0FmWlY3UXNhZUkzUUdyK21ZMTNqdWtPUFZyWE9QV01tL2E2K01VNndmVnUyYi9DL1Y1N3QxU2oxdjZneEgvYi93UEl2VnUwd24vNk95ODB5czhqb1A1RVJkc2piY2FxeG1uWm55WjB5WTZ3UjZuUyt2SzlpOVczdU9tZDhkdW5MdzNVUDBUYTVaMTNHbWZ1SG9XN3NjZTQ5NWk3eWpydkxOZVJvSll3WElla0cvcDk3MHUvU1IzanZUN25mdmhLdXhnTWM1bDZ3VGVzbHplbGUvbFB0SXJweno3UE5XaDJGNE0vOEFvSUw2SU9DL0phTUFBQTdYYld0Q1ZQck95djRBZjVLQkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUI0bk8yZGpaRWNLUXlGSFlnVGNTQU94SWs0RUFmaVJCeklYdW5xUHRlN1owbEF6OC8rV0s5cWFtZTdhUkFTQ05DRG5wZVh3V0F3R0F3R2c4RmdNQmdNQm9QQjRELzgrdlhyNWVmUG4zOTg0anIzcXVmaWM2V3NBR1g0OThIL1VlbjVpdjR6ZlAvKy9lWFRwMDkvZk9JNjl6SjgrZkxsMzg4dXZuMzc5anZ2c0RkbEJQVDdSMGJVKzdTZWxaNVA5YjhDTnRIK3J2WmY5Vkg2ZHBXbWs5ZnQzL21kWFZUeXJPUUVYUnE5WHFYTHJtZnR2SHMrY0dybnEzcnI3Qi9sYTk5MXViUnZleDZhRDNrRnF2NnZlV1gxanZ1ZlAzLys5M3ZvTGRMOStQSGo5NzE0aHJxb0x3dEVPcjBlNlRORS9wNG04b2k4dVJkbHExNUlGOWYxZWVxZ2FTTXZUMGNkOUhyOGpjK3EvOGZmcjErLy9uN3VDanI3YzAxbDBmSWpUWlRQTTFtZkl6MzNNdnU3REZHZTJ3aWJ4OS9RbWFhSjc0eGJYSE05UlJxZDh6aTBmVVUrcEVjWHlLbnBWTzc0b0F2YXNzb2QxMVFmcW1jdG4vRjkxLzc2ekJXcy9IOVdadGIvNlgrZHZJSE0vdXB2cUZOV2Qrd2NlbFo5MFM3aWd5L1FQcWgrZ1R4V2NuYTZRRDdLSVQvM0ZWV2QvZm1Rejh2ZkdmL3ZNUmU0eGY3b1BQb2o5ZTdrcGY2Vi9YMGQ0c0MyMkQzK1Jsc2dmLzczZm9hczlGSGFpMEx6b1U2Wkx2QzNMaXZ0a2JsZVpYOWsxT2U5L0V4dksxdGN4UzMycHgxcnUrL2tEV1QyVjMrSDc4MzZLSDNkL1kvcU51NXgzZjBrdmlPelAzclFOcGJwUXRPcHpXa1h5Ty8yeHoveVRQemxHYzAzcmlIak0reFBYMUY5MEo4QmRmWHY2bThaM3h5YUhwbnBXL285bnFVUGRHdWx5SXY3K0UzQS81SEc3eUVuZlM4RDljYUhaTHJRY2pMNXlWL0hRL3FILysreXFQdzZsNm4wNmJvZERBYUR3V0F3R0F3Nk9QZVgzWC9OOG0vQlBiaUVLemd0OHpSOXhkdWV3bVBseEtWWXoyUnhnWHRpVmY3cTJSV2YxbkdZajhLcHpxN291T0p0N3lHcnhyYXJaeXJPcXZJZlZWeDZ0L3hiK2JSSFFlWFdQUk5lcHl0eWRmSDhlN1hyVEZibDFmeitDZWRWcFQ4cC8xWStyZEtUODRiT0tmb2VCZWQ0a0lWOG5BTlo2YXpTZ2NZVnUyY2VhWC8wNDV4Y3hYbHAzRjVqNWxYNjAvSnY0ZE1xUFJHakM4Q3p3dk1oODhyK3hPMVVGcFd6MDFtbEE3VS9jbWJ5Wi83L3loNmFFL3RYbkpkejFzcTlWaHpaYnZuVTlTcWZWdGtmN2xqNUkrVVVQZi9NUnNqYy9YK3FBOCtya24rWEsxdWhHcXZnUnZSK3hYa0ZTS3RjVEpkK3QveGIrYlRPVDlLSG80eG9EL1ExbnQyMXY0NFpudlpVQjZmMnZ4WHFiK0FhbEhldmZGTm1GNjc3M01IVG41Ui9LNS9XNlNtenQ4NDdHUmUwN014R0FlVVdzN1E3T25nTisrdll5Y2YzNGlrdmlFOVR6Z3Q1c3V0VitwUHliK0hUTXQ3T1pRUEtLVlpsTXlkM3JwVG5rV2RIWjVtT1BlOUsvcTVlZzhGZ01CZ01Cb1BCQ3NTK2lQbWNnblVnYTVoVkxLcExFM1BiSGY3bkh0aVJOWUJ1SGxubXJpejNCdWRpV0hkN0RIOEY0aCtzdjNmV0p0MzY5Wm43R1RPdVVkZVVnZmhPclBCUlpYYlhId21QWFFlb3I4YTN1dmF2WjJOSXIvckxudWNaN21tOW5mZUtlKzZYOU14QnBqT2U2ZlJKZi9NNGhzZG9zL0ozOHNwa3pOSjExM2ZMeVBTNGcxVWNTZmZrVitkeGxJUHdPSzN1MWRmblNhTStCNTBybDZQeFFPWHNsQTl3bWZRY1VjV2Y0ZlBJUjJQK1dwZXEvSjN5WE1hcXpPcjZqcnpFRzFYR0U2enMzNTIzQkYzTTB2a3YrRHJ0LytqS3p6Tms1enZKcXpwblFqbklVcDJOeVBUdmZFZFhmcFdYN3RkM0dhc3lxK3M3OG1aNlBFSEhqNUhmaW1mczdGL3BmK2RzRWZuNnA4c1hlZEQ5anMvUy9wN0Y0clB5UGErZHM0UlZtZFgxSFhrelBaNGdHLytWVy9RMlgrMzd1ZHIvTTExVi9WL0w3dXp2SFBTcS8ydmVYZit2NW45ZC85ZXlxektyNnp2eTNtci9nSTR0UG9iaG4zUjg2ZmdybDJrMS9xdmNiditBbnVHcnpwOW51bHJOV1h3ODlURk9lY1dzZkVVMy9tdjZxc3pxK282ODk3QS85YTdXLzNvdmE1dmMxejdrUEpyUC96Mk56cEY5VHAvTjVic1lnYzZGK1o0Qkdmdys1WFhsVjNtdFpLektySzZ2MG1SNkhBd0dnOEZnTUJnTUt1amNYRDlYT01CSG81TEwxeDhmQWMvaUFsbTcreDdNMVRxQy9kTFBSQlZucS9aanZtYzhpd3ZNOWpJcnNyaUE3dG5WL2Y4bjYxZTFGYkUydlo1eGJ0aWZlNTRIY3VoMTV5SjN1RHpTVkd2MHppNlpIdlJjb0hLa2xiNXU1UnRQNFB2djFUNVY3SStZRTM1amh5TlVQNlB4SzY3cm5ubjI3M3U4VWZuQ0xJOHNYcDF4UmgwdldNWDdkamk2THRhcFp4UGgxek45N2NpNDRnSlBVUGwvN0k4TWZtNGw0MmhWQjk1SE5BNm41L2dvWC91RmMyNThWMzFVWnlaNFhtUHI5Sk1zUnUzOWhiYkgrUld3dzlHdHVBN3lxL1MxSytPS0N6ekJ5djhqSzMwdjQxVjNPRUxPVW1oZno4cnY1TkY4dXpNeklROXRsbkpjTjFVNWpHM3EzeWg3eGRHZGNKMlp2blpsM09VQ2Q5RHBXL3VzK25pdjZ3NUhxTysxelBxL2p0OWQvOSt4UDJjNzlTem5idC9TdlFQYWIzYzR1bDJ1czlMWGxmNnZ6OTlpZi9mL3lPN2pQL3JIVDFicHZEMzV1RnJaWC9QT3h2OGQrNk1qdjNabC9EL2g2SGE1ems1ZlY4Yi9uYk9PRmFyMXYzTGVXVXlBNjlwdk80NFErYkNmempHelo3STVjRlplbFVlMWZqNlpXMS9oNkhhNFRrKzNVL2NkR1o4Vk14Z01Cb1BCWURBWXZIL0E1K2phNzFHNGtyZStXK01lNzc3WDJNQUpkbVYvVDF3VWExNDRBTmFVajZnRGRqd0I2MXBpZXJxdnN0c0hYQUdPNFJRYVQreHdwWTZ2QldJV3ZtNGtmaGJ3ZmF5K0RzZHY2SHFWTXhqeDBaZ05iVXZqQytpcjQzWlZ4czcrWFY2N2FiUk91Zy9lNWJoWEhVSDJ1eU8wOTNpTzY1U3I2UUtSNW1yZnluVEU5ZXdjQzNFTGpiTTZCNk8vejBVOTBBMTZKZGFGMzNINUtVTmo4ZFZaQWJWRnhkSHRwSEdadEs3S2VWSkgvUzJoSzNVTUtBOUxYQS83YUt4UTB4RW5wZHdxWHRpaHNyOWVyK3l2OFhIYVBXMFNQWGw4Uy9QeStIYkZxMlg4aWR0Yy9aaHl5SXFkTkFHMW44Y2ZQWTZiOFh0WDZyajYzVEhTKy9zRW5UczkzYmZsOG5nYzJ1c1RjUHM3YjBBKytwdVV5SmpwQmxSYzFJNzlLeDVEc1pNR1BTcnZtY21yZkppL1IvQktIVSs0UThybEExZGQrWllWZUk0eExyT1o3N1dnRHpsZlJaL1FzYW5pRGIzOVZ2MXh4LzRCOVgvSzR5bDIwaWpucU9PZ3lwRjl6K3kvVzBmbEJQSDVIWGVvbkovdXg3b0NIZHYwNDNzdDRvTnY5TDBjM0ZNZFpOZVZYOHVlNzg3WGc4cisrRExsMUIwN2FWUW1uM2NxMzg1MytvZTNtWk02QnRRR3VxZkh4MmZYcmJhVFUvNVBvZU1IYzh6czNtcVAzZXE2N3lWYWpWdCtYOHV2Wk9uV3JyZWs4Yklyblp6VzhmUzV6SGRkMmY4M0dBd0dnOEZnTVBpN29Pc1lYYy9jYXg3WjdVbU1kWkMrSzJXblRGMnJFdS9PMW9MdkFXOUJYby9uc080N1BVZFNvYk0vbkFEcGR1eXZzUmJXT3p6M0Z2UjVncmNnYnhhUEpFN3VNUnZudElnOU90K2xVTzVXNHhVQm5uV2ZvenkweHlBOEpxdjh2K296UzZ0NUUwT3B1Qmd2Ri9rMGxxTWNjc2NwYVQyMS9pb3ZmTTZPWHBCZHkxRzVUdENkTVhHT1I3a0lqYVYzUHNPNWUrV1Y0UXM4UnFyMTgvT056c0ZXL3A5eXNqSzlidG5lYkcvLzJJM1lwOGQ4c1cyMmI1dTJBaWZpY1dMc3JlMmkwNHZMN25LZFlHVi83T3BsWnJIL0ZZL29OZ293QjZoc2VwS2ZjMEhlWDdLOHF4aXc3Zy9TZURleDF1eTNveXJ1VlgyTjdxMVNyaVh6R1N1OXVMOURyaE9zL0wvYlgrY0p0OXFmZmtsYy9WSDIxMzZ4YTMvOEJubXB6eU5mdC85cWJ3ZCtSSGxWNVEvQXJsNnErcDVnTmYram5uQ011Z2ZsRnZ0cnVlNkhiN1UvT3FRYzFjdXUvY2xEeHc2MXVlNTMyY2tIZjY3OG44dnJQai9UUzNiUDVUcEJ0djd6ZlVVNnQ4ak9YNnR1SEN0NzBmNTEvOE05N0svenYrcmNjcUN6bS9keHpaTyt6TE5kUGo3L3kyVFJmUmdydmZqOHorVWFmRXk4aGZYaTRQVXc5dis3TWZ6K1lEQVlETzZGYlAyM2ltV0F0L1N1K1k1bk9vV3UxN3J4dG9xZG5tQlgxL2NzTTh0UDR6K3J2WkVCWFplK0JWdzUrMUNCK05mdWZzMWJzS05yVC84SSsxZjVhZXhIWXhWK3hpbmpDQjNFTFR5ZURuZW12Qzc5anpOeHpIMlZEK09lZnlkMnFuWHdkeVJXc1pLc2JocVQwWGJoOGlpeWNySzZ3dis0cmpXTzd6S3B2WWhUTzFlNGk4ci9hNHhmejB2Uno1VHpyVGhDTHdmZHdaMW8rZWhGejlXZ0g1Y25pem5xZHo5L1N6dlNlRHJ5ZUJ2d3VnVThsdXg4UUxZUDIyT3p4TSs5cmhXSHAvbFcrdUI1NHNZVkI3dGpmL2YvUU51V2psTWVkODA0UWdjY2xmSnhyc1B1LzEzN294YzlqK2t5Qi9Sc2owTFRaVFpXZldYMjk3bUlucTJyOGxMOUtMZlk2Y1BMNGQ0SlZ2N2ZaY3IyV2xRY29ldUVOTjM3SCs5aGYyU2lyV1V5Qjk2Uy9TdHU4Vm4yeitaLytFTDFsN3FQQXA5VWNZU3VVL3gvMS84RHUvNE8zNVRwUEp2RDcvaC9yVnNtenozOGYyYi9qbHQ4aHYvM0QvWDNjN0I2N2xEbktSbEg2T1hvMmNHcWZYdGExNFhPTTZ1em1XNDN4V3IrRjNEN1YvTy96bmRtNVhUMjc3aEZ2M2ZQK2Q5Yng3M1hPNFAzaGJIL1lHdy9HQXdHZzhGZ01CZ01Cb1BCWURBWURBYUR3V0R3OStFUmU5SForL1NSd1g0VC82ejJ2YlBIMHQ5cEVXQnZUUFo1aEQ1MWI2bkQzMmxjY1luc1MvTjhmZjhJN3dEU0QvczNuc2xUZG5VNXpVZjM3ZkdwN0srL1k4SytJL2JaNlQ2M0xNOXFiL0N0OG5kNzlkV0craDRRaDlZYjNiS0hUUHNFK1QycmJWZm82dkxJTW5WZnBQYU5yUDg0MksrVzVlbWZhbStlUDd2YUc3SnJmOTdMUlByNDM5K3hvZlovYmJ5Ry9mMTNCOVErOU1NTzdDT3VvSDJwMjhzVzEvVzNSVHFzN0UvYm9VODdQUCtzLzNPZC9IbVhtKzZoMUgyYkFkcWJ2bXVKZlg3NmpPNngxWHkxVFpLRzd5YzRHVU5VRi82dW9heHZLNmhiVjU3NmdzejJqTDM0aGxXWjVLbnY3MUdaOWYxeUovYjN2ZTVjNTMrdEorZVNkSnhVV2JqUGQvU0t6SG91UlBPbFBhamNWM3pUeVg1eFBWK2h2Z0I1cXI1TnU5eng1OW5aQWMzSDk1YXY1TWVQYS80QmRLZnZZbE05TXViN2ZLWFNzYzk1dEU3YVgzMVByKzVsMS9tVTVwRzkyNC8yNFAzd2RFemduRk0ybjNGZ1EvL3R6R29jWnYyME01WWp5K25jc0xNL2V0VXhDLy9wN1VqdHIvNWQ5NXFUNTRuOTlWd2k3VmZMek41ZDVmT3N5djc4VHp1K01pZEF2dXpqUUg1MFJ4dk8vRHE2cS95cTUzdmwzWFdCeXY3cU53RnRNWXNWNkpsUlhkOVFWNTBmVnVjYk12dFRybzdsZWwzUHBYcWYwbk1mbmYyUnlkdlhNOURGWFhibkZwSHVxdHpkZUhmU252VGRPdHFYUHRwNWlzRmc4S0h4RDRna2FxTHJkNzBXQUFBRWVXMXJRbFQ2enNyK0FIK2lOZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQWVKenRtb2x0NnpBUUJWMUlHa2toS1NTTnBKQVVra1pTaUQ4MitHTThiRWpac1dUNG1nY01kSkRpc2N0RElyWGZLNldVVWtvcHBaUlNTdjNYOS9mMy91dnJhMHFGMzRPeUhwZE0reExwWDFOVm45MXVOK1h6ODNQLyt2cjZjMzdMZGFjZVZkWXRWYjUvZVhrNTJHUHI5Syt0OVAvNysvc3ZTbldzZWorai8ybjd6K0QvbVQ0K1BuN2FBSE1CYmFPdUs0eDJ3WFdGMVpINEZjNjlXWnAxekRpenRQcXpkVTRaMGora1YxQSt5akZLYzZTS1YybFcvK2Y4a2YxZmRVdndSUi8vaWMrNGlDOXluTXo1bzhLSVgrS2FaMHVWVjEzWHNaNlp6VVZaSHZKamJNcnpMRnVtbjFTY1dSdEl1MVMreitEL0RyYWIrZi90N2Uzd2pvaDllS2IzeDB3amZVR2JJTHpTNHB6MlIveWVWaDNMTjd5WGtWNzNmVDZUYWRLZXVySXQ1eHo0NlA2ZmFlYi83RHQ5bmt4SytMRHNXTzBteDFUS1VQY3ovVlRlSTYvMDM2Z2RaLyt1OEVvZkg5YjViQTRnSG1Yay9TZnZQWXJXK0QrRnpaaHY2ZWY1Ym9EdHNXSDI2K3liOUwxOE54aU5GZmsrbXYwL3g1RDBWWllseXp1cjd4S1BvcTM4ankveGJmYTFuazUvTCtqalNZNjEyZmRtODFIV2cveDZlOGp4UE5Oa3pPazI2V1NaYnZrNzZLL2F5ditsc2xHK0E1WnQrM3Q3OXpYdEpQM0Erd1JwMGFaNDVoVC9aenpHSlBJaXpWNitKVDNxL0srVVVrb3BwWjVUbDlybnpYVHZaUy81MXBUcklKZXdZWDBiemI1cit2ZlVYN1gyZWJVL3JEblVtc2xzelhxTjB2OTliU08vODBmZi9FdHJJYXliOVBOcktNczU2a2Y4NHpHN3Y1VGU2SHFXMXl5dFViOG03bXpOYVZibXY0cjlzdHo3STEvV1BQS2M5c0l6dWM2ZWJTVDNYamxuRFpkN09TYXdkN01tdk5zNnk1bnJpWFdQOVdiV212cTZVb1gzT3RhOVRDdHRWOGYwR1pCWFhxTWVwOFI2SmZkSmw3M3VwVEtmbys2WGJHK2ovczlhRzdabVA3NXJOUFpYdk56SExlZ2pyUE90Q1Q5V0wreVhZMTcvdHlIM0lSQjdHWFhNdGNxMFZhYlo4eHJadC84VFFaelIvWkgvUjJVK1IzMytQOFgvR1gvMi9wQjI0cHk5R1k3NE0vL0pXQk4rYXIzNm5KZDdBdmg2VktmMFFiZFBYcy95eXJEUlBoUDNzejl6blhtUHlueXV0dkIvMzBjcG4xQ21QQzh4MWpGK01wYlJudGVHbjFJdndoZzMrSThBRzlPK0VITnQ5MzhmYzNLUDhwai8rWDhpOHlqMSs5My9zektmcTJQK3o3a2RPL1Ira25VdDlmRXBmWU8vaU1zOHRsWDRNYnRuR0xiay9Ucm5ZY1p3NG1MbnREVjduZmd6OXlpUGxZTi9hL0VoYlNkdHlwN1p5UCtqTXAvekxzaCtXOVlwZlVmZnpycGlqOUZZUmR4TXIrZlgvZG43d1pwd3dwYnFsV0hVZzdtayt6Zm44dEUzR00vMzUwWjU5VERhUU4rTFRCc1RQL09lbGJuM3RVdG9hYjFBUGI3MHYxSktLYVdVVWtvcHBaUlNTbDFOT3hFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJFUkVSRVJHUk8rUWZoNWVPYXRrN2pwd0FBQUZUYld0Q1ZQck95djRBZjZXRkFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUI0bk8zVzRXbURZQlNHVVFkeEVRZHhFQmR4RUFkeEVRZXh2SUVMdDZZaC80b0o1NEZEbTAvNzYwMXN6bE9TSkVtU0pFbVNKRW1TSkVtU0pFbVNKRWtmMFhFYzU3N3ZUK2M1eTdWMzk3KzZUL2R2WGRkekhNZHptcWJIeit3WS9TejMxTDExRnN1eVBGN0hNQXgvdm9kMDc3SmpsWDJ6WVhhdHpmczl0WC9WTjcvK2plNWZ0dXQ3Vmpucm4rVjZuWDM3eHRtL3VsN1QvY3R6dnU5Zi85Zm5lWDdhUDlmcy8zMWwyM3J1MSsvYnR2MzZ6UGZudi8yL3Ivb2UxL2VyOTBDdTFYZjduRVhWbngzWGE1SWtTWklrU1pJa1NmcjNCZ0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQStFQS9Ddm1zdUZMYUttWUFBQUVGYld0Q1ZQck95djRBZjdHa0FBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUI0bk8zWDBRcUNRQkFGVU11Uy92OXZJMkpxUVVrR1g0SnNsam9YRGpqcnk0V2RCeDBpWWtoaTQ0ei9zRTUxRitwMm9Mb0QzM05JYzh4bll3ZmQyTjh0elMzcm5iaDIwSkY5dkpQcXJuemVtTzcyUE0vVDB5VmVPM0xxb0N2N09LYm41YjZuamZmOHZ1aWdBelhhdDJETHZZTXUxR2pKLzRRQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEwRHdBbldob051d1pVQm9BQUNvWGJXdENWUHJPeXY0QWY5VHdBQUFBQVFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCNG5PMTlLN2pzS05iMmtrZ3NFb25FSXBGSUpCWVppY1FpSTVGWUpCSVppWTJNakl5TkxKbC9VZnVjN3A2ZTZmblUvOVNJV25QcFBsVjcxd213THUrN0xsVG01MzAybmdEYXM1RXR4dGRHWUlland3SndYY1VGYXdEZmhYN0Q4MklkNElFS0VBRzJDaHZRbmlUQmQ5MlQyYkdFd2ZITmZIUDg4VU52QUpXYjNVRXIxWEV6dHI1c1R4VVU0SGlkUU9FbzZURHdZYm12S3ovM0NSS2czRlFzcEYrTkE2ODNnYmh6WEozYjNzK1lYa0pzTVNuOFF4SHpsZElQRHl2VWE5c283a1o1VGlJNDlaWmtVRVBNWHprV3lOSStUd1l3Sm15ck5MaVBTVzByL3U3cmJwQjM3dHRIRjQ5eXhiRDRqWm5nQVR4UnFvTnhDUS9SRkFrcnI1ZXloVWlUZlF6Nm9hN0JaYUczSFg5eGo3bXVmbjZDV3lrdW96VmpnNGsyTE5iNnVNWEF3WUp0RHA0ZEJIVlBvUGp2cURsd1hQalQvVHd2R3c4dlA3ejh0N2hPeERvU25wTk53cHNGY0NtMkZTQVY5c1NjTFJ6VkhqSnd3Q2NQaDNWTGNXQUN2clROWDdmZzJ1YkFIOVV2dUpuN052dzBIVHgrQUlVTHRCNDNOMVBxRzRISDRVN2QxVUpSMStIVzdmUHJwNmlVZFUzZzkzdVBqdnMxeUNVdVFxWk95WW9MR0dzNkdBbHJtMDdBdkcyQk9kZ1AvT2NDS3FkMWdWWEZmREtvaHRrbE85SHZFWUdicXgyNFhVYmhZZGVTS2M4THFsSkZKVWhYWXpCTlp3UEdQcnY0S1M5MGFXaVRacGoxMVFuUnVGaUdQc3JLSEtnU3kwWEx4ZkxqS1JXVzFEd1BMT2syOW5NMHhlSEFmOVkxbTNyZ1l2QS9wS0pLSC9EZzlsd2JQQmxQSEUwbFR5TW9OK1EyNERxbkZqMEpuYXJxL2RPTEIxbEJvL2ZDZzBnTnRxc0lrRXlnY3phYnpnTk5nMWpxeVBsQ1kxaWRKc2VZU3IwVGRBUmx1eTdLOWhMOHFNOEpNeTRZYW1Vb2xNOC8xRHcvblMweDZTUnduVThCUFFEOWYzZ1VHaEtNQy8vYS9Ra2ZYVHhLZE1LaHQxWm5tNXBnZkVrc1BPUzRsWDNnUnZNT1VXcGQwRzhsVzFCaDBmMEJpRGI5R0ZnU1diL05QT0VYcWo4UXFGbHZhQUNBUnA0WC9EQTJOK0dCclI4MlNrYnhsMGRiOElVRmQzWXBtczgzUHl3YzVFQjNqZ3FOQm01TjRNZW0zUk50ekFYS2F6NC85ZWpKVE5wcTd3K3pGVDJBM1EvYUpYZURXb2hwZWtaVWVBYUJFUFNFSkJHQnIydFE5amliUmJlUWJmTDRDV3BCVDVueDFOZjYzb0Nybmh3K2Z2NlNodVhjNE5pR2tib0c2VUk1K3JYaUNZWUwxcVFDT0ZXdHEwc2NEa1BEZHJScVl1c1BUQXZvNWVkRHZBTHZnSG12QmFFTDV4Nk5PNlJ0RjJvTFVDN1VCU0NYK09QdlJHdnhGY0xxZC82aFZmOUZ3c0tBTS9UY3FNR1VrWldTT0hqclZjQ0ZTc3I4dVhNU2o2TVNpWjVjaExNSUR1akpuNDRyT3daOUJ3UnpyUmhHRU9NZFVTZ2VTMG10N3ZlbVdOMmJoTWFvQ3JreEM4djYvaXRMai9xbzZHUllqQjlkTzByRW80N3ZZd2lJZUNTZHAwVFIxN2ZlRHhDZW9oTllZR25YSGlEc3FPdlJFRUJzekkvN2NtNndiU1NCcU1aZTF6bk9oTzk2UWtmUG5xQlJQUlhHYm1ZUTVHdUVST3IyckdVN0NqeW8vZmdXWWRQOFBpeTE0cUtlbTJyRzcydUhNRUtmVzNBbzllSWt2eDBBdW9mSG9KSGI5c3h3L1RRTWJzc1p5M0ZnbEZqR2sva0orbmJQdGZib0dOa3VlUFZJYm96N2pXOXluMHErZ004MXJQSEI0UDlJNEJ4MXFZbng2dXVIbDQ4TFp1Q25GZ3p0MTlkaDdCaVZob2xiV2hjWk9qNDh4MDFBU3FNNTh3TDlBcXppSk5OeFhSVUJvUUI5UFVpRkZneHJCTkQrTThiS0dMcmpyL25wc3JwMHYxR1RQWCtDQVN3Sk44YkhCclhmdS8zczZ1ZHpEY1Era09PaU0vaTI3OTdjTmx1bTBXZVZxSmNNVWt5TjJJMnFxUGtSclQ4WHR5Z01qU1ozM1M0M1F5TitRbnNJZ2wydjB3clg0cGRWMUZjQ3NndzNtZEl4ZjJwcmZvSmxsR05IdTc5eUZzdkgrUi9RNDBUWUxoc1NQZlRMUzdUYzd1c0l4VURkVjkzSHNVMFNBL3N3NVlDUUErUDc3ZWprdkRET1hBYmE4bmgva1BPdWRzOXgzMDVhb2dzK0l3VEdEWU9Fak9CQ1JaY0ptYVVwbFlLNkpubllRWDEwNVQ5Qysrb0xXZXh0S01KWFNYRGhnY214OG9EeEM3aDh2VEtYSytqOTRGd3l0L1lnN2Q0cGtHemNPTGZXZEd3WUJSekJRRm91UXIyQW8rOFlCSlZsOFlXTGpZTlNVOS8wZ2NhRGJUNWttRW1CNmY1cy92VHlKMDROWVlaa3hLSkhNN2tsallhOEk2c3BQK2k4enlRRkFYTWZITjhKQTE4MVBST3k3VmtjeDBKU0l5MXJJbkZIVUMzUVpSTCtJdWRtcmNFSXd1RWwxcWt0ejVNekhqZnEwT1RNeURqVVRUbVpHWUhQaWhtS0xCdXM2T1JmS200N1NJTEIrc1pGRmtMR3NZWWQxbU5zdjM3NHp1Nng1dzNMblZ1RGppOXpZWjludUVrVkYwVUlNdVVzZWdQU01kb1hkSUViT3BKclRNYlQ1ODdCQnFITjdSekltUWdQNWFPTFJ5bm1ITlI3RWpmS2IvREx4VzVrcVBpazZMZnc0WlY3UUhMMVVKZytFTVpyd25lTWE5ZTl2cUVMSTdnUGExZ1habm1SRXRaRngvZWF5RUdwelVMQ09jSjFUUkN3Mjk0MFVEMjVYd1RUYkpLUXhtZFhqNjdZaDkxT2xSVFZJNVpmYnBtSFIrK2tjQU53Q3l4YWhSNFMvMVYxbXpiSWsvZkRWcWFiMDdDNDVUQkZTNUUzS255My9SaGRyM3VkL0RjMVJsenAxTGE3K25wUjJCV2dlaUhoZ3NjSENYVVZTSUErN3YvenBuVndtckxhOXZWVTJhTzdiek5RS1lqNHRGdmdYdFUyNDliYTgrTmdJQzJhWkNZUzRTbzl0aVhFd01wbVdaSTh2MTZTZzlpM1lGODJuYWpmeUh4b0hiak02d1V6MktFK2dJUXlJQmxRdWhENmNmL1hOd2NWejQ2ekMvM1ZEdndzVG5PK2FydEdtVDFDdFlyOFlBdW83WUd6bFVPbjh2WUVhWTVWa2lrQlV1bVFqMEJNeGQ4RzBxNkVpLytKSFFLM3g2ZHRZand5RTBaSWsxSnhzTEljdzdsR3ZSN2w0L2ozV0J5NmFZM2tqckwxVDIyc1IwSDkzUkMzOU5KOU9yWXFHcjdMRTNVTXhHWUYyRG9kUU1xclVraVpMZ1B5MmUrS3NEYkM4Ynl4d3phT2FwRGxBYWRqNWtkUGNFOHREUkQ2clRZZFNCZlMvZnJjeW45TG5jbEs1dHRWd003c0ZqcTZTc2VEdnAySy9jbDJQR2Q2anVPTTZBVHhJUEgvQ0RGR0tuRnRtUzA3a3cxSjhvMFVBRGNOUHdQZUh1SlA3Q2haY2czWlpHWEhDcy9KUmdiS0Z3M2xtUW5TK3RHbC81Wnl4ZGhJbGhBZnk4Rmg3TWZIMjZIb3BUNFl4aEFBTEtHVnVLOHovNHNiUk94YUNJdTVSZkhLeHE0QjBuRng4T3pZTjNBYmdUKzRnOGlNM2t1c0JwRDN4U1VPeUtja2dUc1A0cncvSHYxUnJISVlqVGF6Y0ZBRE4yQzhZWm1HdU9sZVBZUUhoUDNKVXVlMlh4ZUc5Wm16S1cyamhNYyt3RVF6SXg3Q293eThYeWNONTBuK3doM0pyWFVQell0RHdjb3RVbzF1RUdYanI0U3pzcy96SDNOemxjRHVUTS9NUE1pdEx4TzE0QnRTS1h4TWRGOHh1K255d1R4MTlYMUZDa1RJZW16QzhTUVVTTk1SRGl2dlRnZ2RYeFV5N0w5ekIyTUIyNjh0OG5KSWtWWXVvQm16cFlqMEd2L08xTmFQSjRDUjc0eVpoU2g5QytCdkNiTHRPbDNvcktmYk5xZEdhR3gzc1lhOFFJelNlc1o3TnJwUVg1ay9EQUcyRFVYckc5TGRHTkJvczZMMjM3bWpnOE4yb3VaTHF3d3YrMExwSWszUy9ySm9POERYOGZINkYrY0UwTEdoYjcvcktXZFNBbTBnd3lTc05iOHNJSlJGZzNqOEtEK3FPaE8yWjhCVjY3V0ZGMGE4Tko2WjZzQWdDZWpnRmdqenRkKzV3MFUwaklFR0laYXpjVDhRYk9TWUI1RDFRYTcxRG9pZkZsbDJ0TzV6T20xU0hxb29Sd2Yvc0ZyZmVkcEhjWVFyZHpBUktVNTYrL2JuNFhXSVdmUXR4U2FWcDQvb3dDS2lXUkFKUFNkSmh2M09IWU00OExmb0dIdTdtVzJJRzB3dmZvUzVqeG1Ed2lIK2o4ZjcveTdqUXUrdTROalJ6RUU5cUo3NDU3eXhXWm5MREh4NkJQVHdPbWFKR3lQQ3JIOXZhTGt5V0dxQitNZThTWHd4MXRocE14TkJLSHo1cDNZUVpqSEZBeE9sMWcxT1M0Q0lta3pBemFzYTJpNmY2OVByUDlKeTJWM0RjVUpUb0Y0amJ4YnkvaTVzZ0NVRWVnTGk0b0dMRGEvRTkxblM0MzVwaU9TVWcxQ3VBSWh4RUI3cmRTWTNLSVFGSFBsVk8wSUNvWkpzSUhwRzYzalhqZ2F6Z2FLTFRadjN5L0lMTEh4UVpneFc5ZGFnOW11Q2tTZWJUcnIwWXN5VUw2RWtSVTZWdWFvS1NBTkIxMm5lKzFFTFBZSjFMUjh2Vk9aUlFVUTVrNk9vMG1mVjdGZnQ4T0FsV1ZydnJseUFuOXBoMUtXazR6V1FUNjFxY3FnUHk5SHhxZmgxSWpuajFrTFllbkNEekt6V2RteWxyV3c5QzRNUWp4NFZ5YmhaN09qSGVaOFYzTDQxZEFQOWhhYlNFUXZYYlVXRGdYcWVLL3lxSGU5Tkc3RytpejZvVEw5cnh6MkxjbklNTkkwRCtlenFwL3dVTDJmOUQ1cEZ3SElTL3NCK1VJWVlwbTVDMzF1Z3JseG5XeFY3b2F1SGttY2FvK05aMndOMlVwOVhKeHVHaHdwN1JtV3diVEh2M2dHTWV3c0MzWGUrQndOTS85VTdrQjAzcUNZa2tlZitlUHBqMnZqRDBEQ2ZDNEdPbm03ZDlvbno3U1lSK3RwMXhVQTFjMFBvRkVQVnNXMmM4Ujg0U0JpRDQyVm04ZSs1eG5RTWtzNDhVRXBhLy9TT3NFQ0RqKytRK2NqYy8rZ2RvYnNXTkoxTGZLNlBJMkFPRjMwWFlaOXJFVkpPNHYrZ0o1ZCtTVlVod212eVZ3R0FnVXlNbTFyWDlVU1lCRTVMbGNHbEJmZk1vVlhqQmd5am5NL0U5LzNkTzdTYVo4d1M3MHgrWVNoZDVhL2VJVUpxZHVnbzBXYnl4L1VmbzcrNTlGeTM4MExsQlgyU1FYVkk5MUtocEtBUkJzNENBTlZuNi9lWTdocE5IKzRMcUR3M2h3eFBpN2M2eU8zS1cvZHROblh0ZHZhTzNjYzdNNDdtdFQzSS9PNTNIZW1uZDR4dUh1ajdyLy80K28rWEJLU2tNM0JML3M1Tm9xUzJwWU9vcTN2ekxnQjBDNjRpb1FQemJuU2FHajhUNE91TlpHbnhzR0xNUXphejh6Mnd5a1VKc3htZ0hxMGUxUTZGTElDbEc5R3VUOGdLc3B6MU1MbG8vbmFIeTBjWGo1STdIajI2Ny9WTlZpV2xFL2IzbThxcWlITDhwd0RBNU1JMG5VZ1lEUjA0Y3VUWjFBWkw3STJBeVhpNjdVRWM5RHJLTWczYUVXWEFMcW1zQWRmZG56Qk9QR2VkNitTRCtKa25pS2JLN3MwMm8rbUhKY0hEUjh3eDF0YTNiWDN1b1Y1cXJtN3QwcjNUVS8wd0RFTjZBWXZIN1V4WWhqUDluTWhWZy9hRVRUdGVCZUwrWGhWK1dHT3d2WTZBQVdFQkd1aDJBMGRJQlhVaTRlY05NWXJ6YTA3WFMvMVVnajhzaU5ubmNvTTk3dHlPaGxoOU5rTkNFRmMyMjdzQWtFYmZGNmhjN2pPV2JYczBJVjA1LytHN3JkZmNTalJ1NlJUWUV6VkswM09FZDRMY1hneXFSSi8zYUtnUGdvMzBqSHIyZ3J1Mm85LzlPUCtWNEJ4UTY1UmRsM3FkRi9EenVqRzJHM2lsNG40WEFQeTFTamdqWTc0bGdjKytFNjYzWTBaN1pQT1hHOTNmQXgyNnZXOGQ5NGhBZDhVd2lWRnpVSy9qdVJLYVh4WE1nYzRnUHdnemVVSXl4SkI3Zkw3L0JUV3pwN2lIZmNzK2VIdHhLR0cvc3R2UmdtR2hQd1dBanREK1VaTWw4cWZNYk1HczlqVDBncVRQZ25odFYwblhob0JIN2ErbVErZ2EwdlRzTVJMcUVwSUkyeEpyMTFIVy9Zd3phVXBvRzl3c3gvK0ErdVA2aVJwTHVwcFNpUGZGeFBDaUZjVEN5UGJJVHdGZytzam5oY3F5dTRhUFBDSHpqVnNRbnJoT2Q5bjB0bUhFM1BpMm9scUFqc0I0aVZ4U2RIYWFBZEplV2tydDNXRmNLQUhLSHNoYW1WQkZsby9yLys0Z01ZcWEzcU1Gb1dpTzRQZWQ3SGtHTVBkVEFKQk1JY2g1RHMxUkExQVB6SjRRN1NOU1FOT3hKalN2WVo4NUVBSW5Nc2tCbnNTTDRMWkpGYXhGeHpoWXlmaEpjdFhFQ2pTb0U1WXFlWjc5WWgvUGY0dkx2Tk1hTHlPSkRYaXczZEhjTzhZeVVuNFhBS3FMQWZYaUdkYmhUemZQN2FKbzc1UFZtRldPODE0SXAyc0U5QTI3bXFYanB5amt2cUFzcFlpZk1oaUgvTmNwejBNSDl6b28yWkE3bHh4Uk16NjkvalRoS2ZvbGlQblVZamJ1RjBJNEFmMWNvQlFmc3dCd3RmV2F5ZXlyWlR6cXV1MVQ2YmtRa0lMWTdOb3IwMnB6OE1Sd2pJUzRDTjhsUENZWmRIc3pQNHlqQ0t4OFRnWXBjRGNSWXBuVUFuL3U0K2svMUdHa2FlUkVFN1ZYYkFoL2toWUJvYjN3aUZpWG53TEFXdG8rTzNYNG5TbWthMjhES1NOWDRjak5VNXB1cm1OU3ZYajBsSHRid0hOWWRqR2tyRGsxaVJGZnJCcXNNRXZwR1BYQkdJb1J0dFdaTjlvK25nQlVjS0UxaDR1NDJiU2tiQm96cFZQOEl0aWQ2a3p1dlloWWtPcUY1NTJyVytFMWJmYWgrQTRNdXI5UkFEMGlkWDMya2Nad3o1Z3FlSTFpOXRXSnV1N2psK01qYVUwcnMvbEF1MW9oa0FuK3Q4K3VmbXJnMGxtVTNhd1ZHSkdodE5Ja0hqODFpcFdnYlFaMDZuV0lYU0NISlk1QWp2ZmRoVG9PTkdnNDI0TzRtS0c3ZEhYc0Z6UEFPL29LenBGUHBERkJMM0tMdndTK21RVUtHOFlSejFJcU5jREgrLy9MN0duY0ptb2pCRmtlTWpxNkpGb0lLR0d0Wk9aQTN6NG5lZ3FlRkFhRTEwd1FySyt6ck5zQ0YrdUh0cW05TmxxUTBjQTRmR0FieGpiZElnTGxqRmdCTWQ5ZmdBOTZCU2NRRGU1R0xhbjN1OUdQK3ordytsaGVBdklMUVRvL01RaWlCenZZekdndlN4aWVWa0luOVFjTS9IWlBiaElmR2M4RVJsUHlncnpKRFBVR3hxVHFzTy9NM2xGN1BXdG9ONW5BRjAzbHI4QjNXRkg1Y1B4Y2R1L05rODVQTC8rMkxzWDIydkc1Q3ZTTlRqTzN6VWhMVXZESmJJcExsaUtiY1IwUDhwUWVpVjVYM0FTemFJRzhNWGQwK1I3am9BdG9RQWNDcDZ6Uk0vQmxFaDgyL2s1OGxwSVh0c0dwaTBrN2VlNlA4ejhmQXpoMFd3YURXK2toa1F2NnBiVWtMQi9Pcmt5dHQyV1dJbzhGZXFibEpVbmVoa0hxYTl6TUZ4RlM1R3doTTNYNk9PRGFnWGtUMytzL0UxK2VWOFhwdlNtRFFXSkQwdlhwOVUvNUlYSjZ2NFJob3FRMVU3SE5idGFYbzdPSUVTUENGRHo5TkRONWo5dzJJcW9Wb05KUy9lclI5TitEUTRHQ1VRVGx2eVkrdUZ1UHZDTUtRZ0JJemNlOTMzdDJvV1hnQmRkclQ4UFhWTWxzY1NpUFZVZ0Q4TTIxYUk4UERMdmRsRGdRdWl4QWRMQzE5c2pEMVlKTTIzdHdDTFFabGZ3ZmlTL1lLc3RNSW8wVVpGOTVEQi92ZjU5ckxEVHVDMGZNbHYzUllrUStMTUhQTG05ckVpTDlSRHVHZkRlV1d5NFZITFZFMWtQdEYwR2NueEhrSTRscHgrYnBiUC84cjRuUG42RkoxcXpRRnZJSTR2UGVIMFMvY2IxZEs5NFlaVVVKbGZLV1g2c3RMYUNaZzZZTDJyQmpxUnlicytqbmdGNzR2NlZNOUJLWWNiRXhmaEhyRUVPUTMwT1QvNVQ0bmtPVE9hR09DR2RPalJIazgvMy8reHFUOVVqSUJEaENGbXRvNnVlclNzR09JMXFrTFdENlZvRnZwNWxOeTJFZ09YSVlFUmNrQUJQdTFib1VBMW90dkdqemEyanlId29mUDBPVEpMY0orMTZXOFhURWovZS9PV1Fva1RnV1VOMkZYZHEybXFQWGQxc1NvZ0YzYkJqcHp6dTFqR1NWMUc2WDE0YjBiODVMcStpTlpQa01TQnFtM29Rb1JQcXZoYStmb1VsdS9Fbk1JRTN2NC94ZktBRDVnYndPR2ZBYW5KSVk3dkExS1RZU1NDLzI5Y3haelRHSHVDQ3hVVkxtakdzZkxHN0wxdnRZU0wydEJzcUo4QTZSZzhyTFB4USsveGlhWkdhVEJBSG5KamF6Zi96OHZWNUZmeFZLbG0yTEVoU3E2WFRleUh1bFE1ZTFtNzNNUTZ3Q1kyQzk3dGt3eW9WMkhqVWR3OEo0UE9TRDgxdzVXUUszM2Y5ajRmdlgwT1I5TWRvd05pTFh0Q0hXai9PZjZ6bnFaR3c2SjVZTSt6RklJc0U4U0U2MkFpWmRDOFExei9hUE5yWTV4eUVXU2UweE95S1F5Ujc0N2xsNFFjL1hTeTJYZWZWL2JYeG9meCthREdRY0RhSWlYZkRQMS8vYjY3a0lWYmt1WVd1cloySmlkekkwckkybS9aaUR3R290dVNCUkRxck13Z0JQWkpZdDFnVFd3VHBPaWhRSlpFZW5sOHVsVGRuK3BmSGwrUGVoU1FsVytFYzlzMWY0ZnlFQmNqYnBtM2ZSU0RQenNSaTdGdnZTY0NMeEhkZmJpeGNNQWJtaGdxTWpaellxZUtVNUgvQ3VoTzlyZTBpUXJqeFhrS2oyQ08zY1FoWlIzNDFQNTc4UFRWWUVFZm1GZTB0bzlaOWVQTXhHZnhXSlZ3MGRQT1MxVE1DR3gvMDZkeVI4c0c5WmdKd3RVVjA4RThxcnpkb2g0U0hsbnJuNzhFYlBIbkZBRUgwelpxRlMrQ1VkdTVpTmJ4WEV2dzlOanFQUUJuS3ZSUFh5OGY0UEs4dE9mT3haelZuOG1ZNDIvV29ibDNJRE1kRXhGV3MwK1BwcEoxakpHZnhtZzF3NjNHV3UzcnozSU54K3VWQTVtdVhTTWUzZmpZK3pDdllmaGlZM2pqaFJvV0Z3WmZYSDhlK0c2UGFJTlNBNWIzT21UZHA1bHduMVN3UXQwZHQxaXFSMUZqbm0zQWRDWkhnM1NJZFdtYjdXMkNhbVh3K29yNTBoUS9LamJBRVlaMHdPSVA4d05JbXhmN2Q1VS9jQ3BYMTgvbkhaczk1cjBQRHNBZG42ekdLdWN6b0Jacm9uTDlEOGdzQU9IZU84czBBaC9sMGx1WVBjZWlQWFBjUktwSFBIWURPWGYxY2daWG84alZCSlIvSVBRNU9DcnZzd3FFRG9OTzNIKzc4TEE5WGVIdnMxdUFJMVo3V1ZlUDlqanUxVXYwZjAzUHRWR2ZRanIxTFVHME5EeGo5MFpIakhIUFNHK0V4Z2pNYUJPS2YxNitsa1ozTlU0ajhQVFRaOUxBd0NYNTJha3lBZmxseUNhOW1zQk43NG5teDB6b1JzcjNPZ2l6cHRJakxYNHpXM1lnRmxYRjBJWFBJTXk1dmM1SHQ0WWQ5TWI3bUxVZE4vYkZCM1N6ZU43T2svRDAzdXBZa0FYbUVzMVI5Zi9teGlLTlRBTVljLzhiL3Jnd2J0OHc3UE01TWRoTjJNWGplaTIvWTY4QkNGeTk2RHc4TmV1blZ6ck0rYWNVSzVPQ3JCamVob2dFZDRqQit3V2Y0UFE1TnROUUtEVFg3dGUxTWZaOEE1YnVpUlVsaVdIVU45Vy9tcml4ZWZhQWRQem5SRG01Y3hJMWN6NkFjcW12czZPNzBtWHhpSFJ4VGIyNEswSnB4SWZJbmQwT0RCNkRXQ1RKR0ovencweVlQdjhseGlCYWI3eC91L2hoR1hSRDlkWmsxN1ZqWXFnbFBrUEllYjJkdGxtWTB3TEtBaHE5Z05RYlRMMkw2ODUvYUY1S0gyakV1NENKOXRwSnh0bmNIRzM0M0Rjb3VkdlUvM2IwT1RyYVNhL0x3eWlRb0lIL2QvMXVFamc4TndKeVMwUnBETHYwQWgwbnN3bmhkV2hCR21XVmVwMk1KdlphMHNxWW9ucW90SUo3cS85MkRuY3YweHp1TGE2QldESTVyTnZ3OU5VbE9XR3QwUUUxbTZqOTkva2xwQ0hkQm94SHlXZUxLM1NQTkFEVGJiV1hwcFZ4OXNoSGRSRThFTUVSemhmWUo1Y1E4WGMrQ3Q3TE1oWUt1ekgzNTVJNkl0VHhqZEM5V1JxdmEzb1VtaVdKWDNrRzNXeXhFVWY3eitCL0dvekhuUDhZSFI5Wjk4Ny93cU1HOUFvb0ViWGR1VGlWNG9ZRkFQRWNweDdhdkNnM2EycldWbXR3SHB6M2J1SjVwUFFUMUNnUHNlaklQZGduRGs3ME9UU2lNS3ZLZ1FETmFlbm8rbi8zR1Y1ald4RFZMUncrNFh1b0RyZ1hkV0p1MkZLUXpVcVlQWmJrQndiKytONTdKZDNjeDdNNngydGpvTCtnNFl4L3ExaHQ3RFdaSG96V1lxWVZmdjBsK0hKaWNLU21zd2JxV0pvcTlFdUhqb2ovdC9DNVJjTDBpVDNNekpSQXpoZFFQT2NROWFsbHphakVjcjVaVzFXQXQvN0ZxbFZENTZKeEUzK1ZHSGdYRVJtNFM1anI2NXlZenRBaU5MNGxJdThpOURrN3NIVnRiY1o4ZFIxOGlzcU9YcDQvTWZYQXZpRU94Z3VMYy9aTnpiRnpGNXM1VGxkVTNiTnNhMU9GcFlYVGpEK0Y1d2hhcDNVZXNXUmI3bkRTWUk3NHlIclRFV1puSVRVcG9Ed1V0cCsvSG4wQ1FRUjZRV3poUFQ4TlRkbkoyUDI4Y0IwSlVZSG95djhHZ3pKNEhBcnNMNGxMZVRCc2Q3dkJ3VUFiR2FIaDQ3TzlaK1JxRDJTKzR6TjlCcm1oU1d6SFU4Q0hEMnRXVEtqdVhvaUN0RHFIOFptcVFJbVF5TlV1RVBrZmROZXJuR2orZS9OeHNwYmdEU2dBaXA1Z1QyMUNCc1JRTU9SeDBiZWMxc3ZZYzZFc3lSLzBtTjN1MlNieCt4UXV3OFFWeU9qSnBjTm85azhPajlScWJnY1IvZ3o2SEpoVkdKVytLMU1UeHJxTzdkVHNNKzN2K1hVeVY4NjRMTzBKWHZjd0ZVZGNac1pjSDFrbUthUVgxQnVPdm03UmFlemJUK01lUDlHekRBUVhzZnlVdjVrOHFZR3hUVHVyeDBhdEVIOHNmUVpCWk1TVDF5bmdrUkQ2SlFVbWZ6KzhmelgweGl1Rkt6bytrTnhaN3JFR3cvcStLUWxKNHBJYkRXVzZ1SlJzTG1DRy9XNXd0M2FTWUNhMTZVUTFZb2RFQncvRmN5MC9leUR2TjdhTko0Z1VpWFIxSnVzZ1ROaVl4bEVRUkRZdnA0QmRTSnNJR3E2VFpId2JPcDl4MlJySTFSaGRaa01qZGN6TmlyWkp4VGtSdkpQVnk3UmdLblppcThNT21SSFFQYm93RGNEazlRQTVENnh6VW9jb1JhMzVrVGVGR1JFRm9XUGdpbGZrZWdRV1VlVGkzMTQvbi9hbG4wM0RlWDByNXVPL3B1UDlPNUlsQzNyM2pTZlJhSHQ1VWFGaEFkTCtCTzVQWVlBTjVYT3QyS0pyU1gxNzZHMlRwNElnenFyYVhSZ3hBN2hzUlM1eFR0anBTNUZ3eUJybVBrbTRYUm1mV3g4ZHdWL2Z6OUYwVnNiVWZDcDJFOWp3c1hhQWp5RnNLb1FrZGY1bldGczlkWmJscnNxNjFHV1hNZzlGWHB0U0lWZWswYkpzczZ5OTFIYnJnQnozWHRMdlZFV0lrYWc4azFXRzRVSEpyQm9mWUNtenZlZmJiVXF5VllUeis5ZmpJbStkM1lITzY0QjBaeWFtcWlFUmlpSFlVNGlKc0xlVUhLeHVRWEtyRlhFQWtSb2JNVGlZQ3AwaEJKa05JUm1QY0Vremt2dWFkMWdtSXA5WUZhczJ3WU91c01jK0c4RHJrZ09MSUlOY0RBU3ZXYVBuNy9hYlNCbklHUTBQT1lTVHlRYTUzdERzSzJEWWpacE9OZW9sUFhlSnBiaStnSHN0WnpEb0N0UjBRWHVPRVd3T01vaGdBcmlaY2lSYU81czBodTFvWkJYNXZoWEVhd0MxcjV2ZGtaSmRMTUc0dVN4TkkvM3Y4MFlMVUVyS3gzbmRjZVgzdlpONkVjSEJLNUVDTDAzVENyV2UwRzhhNUFrMlo5bUtXMnlmL254VkJGYXE5dHlOcDJPdTlSeUI0ZGlMOEU3OUxlY2s2K3IxdDN6UFNkZXVBcTlyR0tOUndJaTJNL29tb2ZuLy9sR0pTc2xHYWRON1cxbHo5TFg5RWFVSjNSSnl3Z2Mxb29iMVFOZkpIcXc1TmNMU1hxNkpTUysyaUVrdXg1ZzhINHhmUEtYQWxqU3k4WENjdW5XVWZVdTlxUS9vYU5FdEY2Sm1NaURDckhLQ3pmMFgvYy83ZDU3VVdmY1NpYWVRZVlXL1c4c2h4eFlPVmhvRGRZeEx6ZDRINFEvOEgrcEw1U3JxWFFMK2JKZTJpU2FJWHh6Q0ttWi9qREdoRTlkd2lZanZmZG9QdlZsNGlLaEQvNjArbi96TGFSZFJKT0hXaDczR2NYRC9QNlAzUnhxcDZJYmUwczVhSjFvbHYzV2NMejJtOTAvd2FoSy9TQUZDR3JhR2JhNXk0eVhlemR1VCtISnBXY2QwSGhVb2kwdmtiRHhMN3J0cjRSVldXdGdxc0hKZjJkWk0vTGJBSWJzMm40Z1l2YS9uSCtsMDF6SnVjMm1WaWJkeFl0SnM0ZUZsbnR2b1V6S0tXdG1VYzVrYXg3WTllQnpOYXN4NzhQVGViZE82T2lyZWtjZHQ3dytvQnVnU0tYemdnQjdXSzFIYmtwQkwwOGc5ZSt6ZHp4aDJWZjhERzJGUjM4bkhEbzZQZm5mZmVyTVRIMDNVWWprZDlaV0lPQmNCV2tjUlFhWFpmY2M0NS9INW9zVzhJbEtpWWNvUWF4UUlNZFJMeG04OFBTdVVHSDJabG1jNVFNdmNzc3FJUGVQci8rTTFuUEhOU1ZGd2c3NXpvamFFVk1yTmVkV3dGU1QyU0x5aEZlUittYVFZM0xxV2JmZmxraC9jdlE1RVhsNmhqeENHNFh0dzcwL0RDdmZzWGdMNnRCRHQzeWdRcVdTK1Z0OTRJQnNSQStYdi9kVjFtaWNZWWl0UUVTRTZYaVBCZ0kwWVpHaXJMTzZ5cGpCN205T2hwNDIzZUVmS1RObm5ldGx5WDlaV2hTWjdEbDJQb0I1dHptWkw4NTU3VDh6SldxeThOMm5qUEFkZzFFWjVtTmFPYytQai8vOGpQcGlXaWZXVVJya0dkRDR5Z0R5cmtRd29PcTFKV045TmRUeVFHM2hxelVuSHpvRFJFeVVjSDhPVFNwS1BHOVAwOUhGSlZSTXpTRkRXYnJZMk96dGxCdmNBTlVnRmxoZzVaWEtLTStIOGYvUUsxMDQxZzBpR0R3VEVlbTJaNXdsUWlMeVlUalllL2ptc1d3YkI1Y3BGczVnbVA3TWpiejRsVU9md3hOTm1Zc3Vvcnl2TXNBSjVzWHBCR0ZCcDVEME5ieE5QaHBQRVQzYmdTeTc2RWorSGo4bDlDekRVaDZOZWUrRDF1cUNySmZxYy9CdCtnYnRGRjBuTUZ0aVhaT3kwTmZ6UEZnb0lkNDZOSDg0bjROVFdJSURYTUFGdGNVVUVWNHU0YkgySWM3NHNEM1kxZkJGNHdxYmx3Q21OWS9tZitQMTc5Mmd6cFBDUFd4TTBCbXZoK0R3dEpTenliR1pkdnk5Zk1kRmUvSGJRV1dXMjNabkVNSGhJZnFOV1lYS1B3TVRkYmsxdGxPYVFPL2psbFkwSGpRcUJPbDV0VTlwelFLZWNSSUdFK1JQT1NlTUh5YWorZC9IQk16OUtYTUVBak1XLy8yUWdrNmYyUXhrU0phMlU4a0swdDQ5Mm5Na2ozdmM1amxTcmorZ05SbnBvaklEQVYrMzJsYlVub25oaGk4bWdmR1J4V2VJNjkya1pkOTJqNmxQMWQrY0IrdmM4K2dQNTcvYTdQZVFmZlhTOE55eGJYRXhjNXJRSlpKOEh3K1huandjN2cvL1Z6VjhHQXNSQnZvNVBYTWtnR3BqTENPK3pXdkIrbWRWd01Yajl2OHlWNmpFK2o0NTNjTGdFVFRHYlZOQjRqaEZ2aFlabDg0UENWOEhnQVRPRi9zbVlsd0VsRHpNWWFGNCs2RVYvN0FiRzNmZzVpVGltWS9OSjc5dkxzNnZmTE1nUStUWDZQVWxIWWcrNDhkKzAzZ08ydWVPbkROMW4reUh3N2lISTFmMXZuaGMycllqbkYzWFNSR2g2TjlIUCtpRmJ0NXF3M1gxL3NzWWhnbjFlaXdUb2ZPL2ozVWI3bjIxdlRVTUN3SzlhakgvN3E3NG42V3hrMkxIb1BFK3dwWmxWSzBpYVUwNGpZcklZK1VmVUIrZFlkcXNHTjBuVVBVK3VEMVVDN0ZXU2o5ZVAvWGpvK2d2ZGQ2dFQ4M0VqREdWMWhHM0tPK2J4c0RqQnU5dDYrTE0zb09pNEdLZ0RBSWY3QVdyaERCWXppb1VxUHFSN0dpWngrYk1PRDJFd3dDcGxTWFZlc2ErUEtFdmJzRWk1MTNyU0l2TkxQZTFvK1A5NysrN2tPK1VXQmJCWHRQczVNRXVtUElicTlkbFFPMks1VjcyM3V0NTd6ZTFjNExUaEVoZ1RPVmdUeXUzc2RXN1lMc2VYanBMQ0ZEQ3VhWllySXVvT29JYkdiVzErWEIrQ2NPaE5MQlhDRFhuODdQN2VQclozVXNFTTY4dDdpYWR5MHZGdlRmTTl1bCticng3VTZ3N2VKWUtKdGpEWU9PMCtKdjlVMFJSUENSYzhvWm9tRzNJL3dqTUh0akRjSEl3UEFsdFhWRVYwTkNBUk9sV29CQjZjMWFOcnNzMkkvbiszajlDeWhhSllleHRkam5kNERSd09HS1NHSUdhRlJpTXZuK1BDVDN4aXBqd0x6bUNHNXI5N09VWC9mWGtKWHdxOUQzdnlON1JDdENFRHlaSWVMSC9GTXZ2R2YvQThPUFlQZzVsSzB1WGdkZG40L0RuNW5HUSszTUt6Nlo3RFB2Z3l1VkJmMDF4dXRkcEFaeG5ZZUV4SENtYWljS2NxODV0YnhHUk1pc0tYNDZET1BvRTdxZmx6bEhiZHpzazNneWtxWDVMVDl6QnBaeVlVY2llWFpWczRGd1lUdFNEdzhDcStmaitQZkVnNXdYSU14Qm4xd21GL3E1a3dyL1A0MGp4QWZzYmduYjdURGFaV1dOdmJTVFpINXZrbkhsdHEydklRQWh4N0pRWGtncFByNXZ0ZXZJa1M2dXhMd0lrZFMyUFVoNXV4azN0Rk8wTFUwQ3ZRcmhQOTcvOURoNW8yTzJ6aEdaMzZkeEU0UjgzQ01JM2pVaStUTFFrUXVIYkxWdEk1ZjlWWW5SeWc2NzdQMWwvTTZremxhR3pzaGlGMDJRRklPa3paZ0Y5MnBCekdNM0JyNWFId3JrWFQ0TE5MMW5ZdllLeEJYOThmVnpDVEpYVW5NVlMyY0Q3VGJlQ09ibkRTZHpPSEVmRzNyeFZGUmJsRktiVzNmRUFNMHBTWXVYT2ZnMWVLV08zRmRxL2RvTkk1UWhiazRyZWxDU3hOcVVFK0lKd1VzUVorS3l3ZDVVUll3c0I4SUJ3Zm5INnorenBYdnBYbEovcUVUZHBUMjBCRktsZFY1Nnc2NWpyNUtuczh3SHBTWkVEcndFaVNkcE56VDRVeFhMU3IwYzM1U1A3U1pJcGVaVnFSdEg0THNjV3hIN2d1RmpjZ2pEemFhQmlqejZrb3VoSHRlL2ZoNytpVFI5Mm9VWW51MW9vckRPTzYvODhteHdRVnJ3dENXU1dOUmFGanQwcmxFL2hCT3g5L2NkRHA3emVabnZhekVyeHJOMU5zSWRXNnVwek5ib2hnemhSUFdaWXpTL3hwemE4OURkS21TRWxVSWpJWDNlLzJVK3gzTmhiV2lodWYvcVJ6TmpYdWNlNXBjNGRUbnp2TFdWRytLNGlOK0N6MVhwZVllSFFqdG1DeUpaa0drOTFrU25DejNLNGh5Q3dUU1I3WW9tb1k2UzN0ZDh2a1A5azlJenU4VDNtbWRkMkg3OC9wdFhaMm9HYUZOSldGVU9rNUVpTVVFMVJoNS9jalFHMXhKNy9PSGM2MEhrbCtsc2FwOTN1RlR3enVHVzNYUTJQQjN2TDA3Qm9DQ05YUHVrOWZPclVxVjB4L3NPbUdGOERNWnBxTXpOUG9sVUxwcFhiejQrLzNpTWxjK3Z2Rm04NXNoNzU3ZTNBRzBzQjBxeWUyZG5mY2wyZmlucVhROFgwZVp6SVQ5MytPajNXSnVKZ2Vib21CNUhsMGF3cFd3aE40NkdWWnpXZkVOdTRSWm03N09GT2k1QWJYRWxyc0hvaDVTeGY5ei8wMUlHRjNVL0J5NldqenF2NkdGQzY3eld1c3pNRDBValJ4eURaeWQ1V0t0RTVmOTFoMU5YdXVTWng0cEVLWXlZTWpIWDBiVVppVmExaUdGblY2emdVSTZ6c25HTnZlZXJ6OGlTendzRHpSWnpsQjgvZjhLMmxVRGxaeUlwcXUycTU2bHpYTlpVOHVMMGU5NEI2cXRtTTJmM2lXOEMwZjdQSFY0UWR6cGU2N3dpQUpYZGU3a1lxbVFqc3hVWUljK0dkT0I5cVN4dXhubFhSa3QyQ0kvQ2hGaVVFalNXZzN3OCs0MUNLd1NnNks3Q09JaHBQWTh0TzdRSXMxZ0pOUnhzUFM5NGJPcnpqbmVWbHVYM0hXNnpYZXdnQ2huZ0sxUGIwN3dzZTlXZUFLOHYwSlRpVmdDaCs3c3JQRHdOMk13SXBLN0FieUFlbitMZTUralVoMlZPY1BsZVQvLytGcnpaK1k1UGRndHhVcllnb3hOM1NBRkdNL3ZkZ2Q4OWIvMlBPL3hnZm11U1VzOERkMFBmeisyeWxIWENwdU1aYTZGcVJaZ1RmUHVKY2MrcGp0UVVCSUpMVml6UEMrRFBLai9lLy81NGErSGNmVkdRZU1GVnVla1RCcHd2VGR2ODNnUEV3dUdCUFowTHBOV3djUDIreXVZOTU0cVFDQjdPWG5qNlFoYkxqL2NYM3RwTGVLdW4wMER3VzVEeXprbVp2dFJaUWwwV1ZLcW00cDZRQjVtUDUvLzYwVXR4QmNrdUF1RzlnRkRXMjNjYi83ekQwMEZIWFBTYVY4TFBpNEhZNGpuNTR3N1BNbE1lczVmbFFWem9rMWxjbk45NVBjZW84RWRxOTc3TTZjZjExYUxDVGU1QUd1S01kTlNDdG9SMkEwUi92dnlERG5yT0s3TFp6RUlPeExwY3Q1K3MvTHpEMWF5Rjk5bnJOc3ZiYTVrMlRQNjR5cWJhVXQ5ZmN2MXVuV3g4VlVIUHJ4QThFUXFpdWN0OHBySWhncmc3dWhMQk9KbGZNZHhuNlhQZWpmbkdRNStILzcva0lBcys2bFpDaVg3bUxMYTVyaG1neTVoZi95Wm1tZVRWYW5EeEwxZloxSTNLZDJFQStVOGd2SnF3U0F3U004bmIrLzYrQVVsZ21NanlkZGo1RmJ2MXVESHF6YVRKKzdjSXlNLzMvMy9sSzEvNXlsZSs4cFd2Zk9VclgvbktWNzd5bGE5ODVTdGYrY3BYdnZLVnIzemxLMS81eWxlKzhwV3ZmT1VyWC9uS1Y3N3lsYTk4NVN0ZitjcFh2dktWcjN6bEsxLzV5bGUrOHBXdmZPVXJYL25LVjc3eWxhOTg1U3RmK2NwWHZ2S1ZyM3psSzEvNXlsZSs4cFd2Zk9VclgvbktWNzd5bGE5ODVTdGYrY3BYdnZLVnIzemxLMS81eWxlKzhwV3ZmT1VyWC9uS1Y3N3lsYTk4NVN0ZitjcFh2dktWcjN6bEsxLzV5bGUrOGhXQS93ZmRtaG1aZHltbTl3QUFNaUZwVkZoMFdFMU1PbU52YlM1aFpHOWlaUzU0YlhBQUFBQUFBRHcvZUhCaFkydGxkQ0JpWldkcGJqMGk3N3UvSWlCcFpEMGlWelZOTUUxd1EyVm9hVWg2Y21WVGVrNVVZM3ByWXpsa0lqOCtDang0T25odGNHMWxkR0VnZUcxc2JuTTZlRDBpWVdSdlltVTZibk02YldWMFlTOGlJSGc2ZUcxd2RHczlJa0ZrYjJKbElGaE5VQ0JEYjNKbElEVXVNQzFqTURZd0lEWXhMakV6TkRjM055d2dNakF4TUM4d01pOHhNaTB4Tnpvek1qb3dNQ0FnSUNBZ0lDQWdJajRLSUNBZ1BISmtaanBTUkVZZ2VHMXNibk02Y21SbVBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHhPVGs1THpBeUx6SXlMWEprWmkxemVXNTBZWGd0Ym5NaklqNEtJQ0FnSUNBZ1BISmtaanBFWlhOamNtbHdkR2x2YmlCeVpHWTZZV0p2ZFhROUlpSUtJQ0FnSUNBZ0lDQWdJQ0FnZUcxc2JuTTZlRzF3UFNKb2RIUndPaTh2Ym5NdVlXUnZZbVV1WTI5dEwzaGhjQzh4TGpBdklqNEtJQ0FnSUNBZ0lDQWdQSGh0Y0RwRGNtVmhkRzl5Vkc5dmJENUJaRzlpWlNCR2FYSmxkMjl5YTNNZ1ExTTFJREV4TGpBdU1DNDBPRFFnVjJsdVpHOTNjend2ZUcxd09rTnlaV0YwYjNKVWIyOXNQZ29nSUNBZ0lDQWdJQ0E4ZUcxd09rTnlaV0YwWlVSaGRHVStNakF4TkMwd09DMHdORlF4T0RvME9Eb3hNMW84TDNodGNEcERjbVZoZEdWRVlYUmxQZ29nSUNBZ0lDQWdJQ0E4ZUcxd09rMXZaR2xtZVVSaGRHVStNakF4TkMwd09DMHdORlF4T0RvMU16bzFNMW84TDNodGNEcE5iMlJwWm5sRVlYUmxQZ29nSUNBZ0lDQThMM0prWmpwRVpYTmpjbWx3ZEdsdmJqNEtJQ0FnSUNBZ1BISmtaanBFWlhOamNtbHdkR2x2YmlCeVpHWTZZV0p2ZFhROUlpSUtJQ0FnSUNBZ0lDQWdJQ0FnZUcxc2JuTTZaR005SW1oMGRIQTZMeTl3ZFhKc0xtOXlaeTlrWXk5bGJHVnRaVzUwY3k4eExqRXZJajRLSUNBZ0lDQWdJQ0FnUEdSak9tWnZjbTFoZEQ1cGJXRm5aUzl3Ym1jOEwyUmpPbVp2Y20xaGRENEtJQ0FnSUNBZ1BDOXlaR1k2UkdWelkzSnBjSFJwYjI0K0NpQWdJRHd2Y21SbU9sSkVSajRLUEM5NE9uaHRjRzFsZEdFK0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2p3L2VIQmhZMnRsZENCbGJtUTlJbmNpUHo1Nm1pbURBQUFBWTBsRVFWUVlsYVdSUVE2QUlBd0VwNEFhLy85YU5WSXZhSnBTdUxpWERjdUVMU0NxU2lBRnhJZHBBRnFmd3VLOGc3dU5sdVVJUGdNWTRHNStBSWdPYmhncEFjWFVDckMyOVFic1pzU2x0Q283MjF0ZFRaYUJLbi9mK1hJTm4yWW5KOXpIUEN3UkhCUDc5aUh6QUFBQUFFbEZUa1N1UW1DQw"},{ name : "__ASSET__:bitmap_flixel_system_debug_interaction_tools__Transform_GraphicTransformTool", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFzQUFBQUxDQVlBQUFDcHJIY21BQUFBQkhOQ1NWUUlDQWdJZkFoa2lBQUFBQWx3U0ZsekFBQUxFZ0FBQ3hJQjB0MSsvQUFBQUJ4MFJWaDBVMjltZEhkaGNtVUFRV1J2WW1VZ1JtbHlaWGR2Y210eklFTlROdWk4c293QUFBQThTVVJCVkJpVlkvei8vejhEQVFCWHdJSXVnQSt3SUxFWkNabk1SSVNCTUVNWWlWRU1CNE5JTWN5M3VJSVBMcytDUXdJclFGZU1MYXpoQmdBQTR2NE1GcEVTdzlBQUFBQUFTVVZPUks1Q1lJST0"},{ name : "__ASSET__:bitmap_flixel_addons_transition__TransitionFade_GraphicDiagonalGradient", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUlBQUFBQ0FDQUlBQUFCTVhQYWNBQUFBQ1hCSVdYTUFBQXNUQUFBTEV3RUFtcHdZQUFBS1QybERRMUJRYUc5MGIzTm9iM0FnU1VORElIQnliMlpwYkdVQUFIamFuVk5uVkZQcEZqMzMzdlJDUzRpQWxFdHZVaFVJSUZKQ2k0QVVrU1lxSVFrUVNvZ2hvZGtWVWNFUlJVVUVHOGlnaUFPT2pvQ01GVkVzRElvSzJBZmtJYUtPZzZPSWlzcjc0WHVqYTlhODkrYk4vclhYUHVlczg1Mnp6d2ZBQ0F5V1NETlJOWUFNcVVJZUVlQ0R4OFRHNGVRdVFJRUtKSEFBRUFpelpDRnovU01CQVBoK1BEd3JJc0FIdmdBQmVOTUxDQURBVFp2QU1CeUgvdy9xUXBsY0FZQ0VBY0Iwa1RoTENJQVVBRUI2amtLbUFFQkdBWUNkbUNaVEFLQUVBR0RMWTJMakFGQXRBR0FuZitiVEFJQ2QrSmw3QVFCYmxDRVZBYUNSQUNBVFpZaEVBR2c3QUt6UFZvcEZBRmd3QUJSbVM4UTVBTmd0QURCSlYyWklBTEMzQU1ET0VBdXlBQWdNQURCUmlJVXBBQVI3QUdESUl5TjRBSVNaQUJSRzhsYzg4U3V1RU9jcUFBQjRtYkk4dVNRNVJZRmJDQzF4QjFkWExoNG96a2tYS3hRMllRSmhta0F1d25tWkdUS0JOQS9nODh3QUFLQ1JGUkhnZy9QOWVNNE9yczdPTm82MkRsOHQ2cjhHL3lKaVl1UCs1YytyY0VBQUFPRjBmdEgrTEMrekdvQTdCb0J0L3FJbDdnUm9YZ3VnZGZlTFpySVBRTFVBb09uYVYvTncrSDQ4UEVXaGtMbloyZVhrNU5oS3hFSmJZY3BYZmY1bndsL0FWLzFzK1g0OC9QZjE0TDdpSklFeVhZRkhCUGpnd3N6MFRLVWN6NUlKaEdMYzVvOUgvTGNMLy93ZDB5TEVTV0s1V0NvVTQxRVNjWTVFbW96ek1xVWlpVUtTS2NVbDB2OWs0dDhzK3dNKzN6VUFzR28rQVh1UkxhaGRZd1AyU3ljUVdIVEE0dmNBQVBLN2I4SFVLQWdEZ0dpRDRjOTMvKzgvL1VlZ0pRQ0Faa21TY1FBQVhrUWtMbFRLc3ovSENBQUFSS0NCS3JCQkcvVEJHQ3pBQmh6QkJkekJDL3hnTm9SQ0pNVENRaEJDQ21TQUhISmdLYXlDUWlpR3piQWRLbUF2MUVBZE5NQlJhSWFUY0E0dXdsVzREajF3RC9waENKN0JLTHlCQ1FSQnlBZ1RZU0hhaUFGaWlsZ2pqZ2dYbVlYNEljRklCQktMSkNESmlCUlJJa3VSTlVneFVvcFVJRlZJSGZJOWNnSTVoMXhHdXBFN3lBQXlndnlHdkVjeGxJR3lVVDNVRExWRHVhZzNHb1JHb2d2UVpIUXhtbzhXb0p2UWNyUWFQWXcyb2VmUXEyZ1AybzgrUThjd3dPZ1lCelBFYkRBdXhzTkNzVGdzQ1pOank3RWlyQXlyeGhxd1Zxd0R1NG4xWTgreGR3UVNnVVhBQ1RZRWQwSWdZUjVCU0ZoTVdFN1lTS2dnSENRMEVkb0pOd2tEaEZIQ0p5S1RxRXUwSnJvUitjUVlZakl4aDFoSUxDUFdFbzhUTHhCN2lFUEVOeVFTaVVNeUo3bVFBa214cEZUU0V0SkcwbTVTSStrc3FaczBTQm9qazhuYVpHdXlCem1VTENBcnlJWGtuZVRENURQa0crUWg4bHNLbldKQWNhVDRVK0lvVXNwcVNobmxFT1UwNVFabG1ESkJWYU9hVXQyb29WUVJOWTlhUXEyaHRsS3ZVWWVvRXpSMW1qbk5neFpKUzZXdG9wWFRHbWdYYVBkcHIraDB1aEhkbFI1T2w5Qlgwc3ZwUitpWDZBUDBkd3dOaGhXRHg0aG5LQm1iR0FjWVp4bDNHSytZVEtZWjA0c1p4MVF3TnpIcm1PZVpENWx2VlZncXRpcDhGWkhLQ3BWS2xTYVZHeW92VkttcXBxcmVxZ3RWODFYTFZJK3BYbE45cmtaVk0xUGpxUW5VbHF0VnFwMVE2MU1iVTJlcE82aUhxbWVvYjFRL3BINVovWWtHV2NOTXcwOURwRkdnc1YvanZNWWdDMk1aczNnc0lXc05xNFoxZ1RYRUpySE4yWHgyS3J1WS9SMjdpejJxcWFFNVF6TktNMWV6VXZPVVpqOEg0NWh4K0p4MFRnbm5LS2VYODM2SzNoVHZLZUlwRzZZMFRMa3haVnhycXBhWGxsaXJTS3RScTBmcnZUYXU3YWVkcHIxRnUxbjdnUTVCeDBvblhDZEhaNC9PQlozblU5bFQzYWNLcHhaTlBUcjFyaTZxYTZVYm9idEVkNzl1cCs2WW5yNWVnSjVNYjZmZWViM24raHg5TC8xVS9XMzZwL1ZIREZnR3N3d2tCdHNNemhnOHhUVnhiendkTDhmYjhWRkRYY05BUTZWaGxXR1g0WVNSdWRFOG85VkdqVVlQakduR1hPTWs0MjNHYmNhakpnWW1JU1pMVGVwTjdwcFNUYm1tS2FZN1REdE14ODNNemFMTjFwazFtejB4MXpMbm0rZWIxNXZmdDJCYWVGb3N0cWkydUdWSnN1UmFwbG51dHJ4dWhWbzVXYVZZVlZwZHMwYXRuYTBsMXJ1dHU2Y1JwN2xPazA2cm50Wm53N0R4dHNtMnFiY1pzT1hZQnR1dXRtMjJmV0ZuWWhkbnQ4V3V3KzZUdlpOOXVuMk4vVDBIRFlmWkRxc2RXaDErYzdSeUZEcFdPdDZhenB6dVAzM0Y5SmJwTDJkWXp4RFAyRFBqdGhQTEtjUnBuVk9iMDBkbkYyZTVjNFB6aUl1SlM0TExMcGMrTHBzYnh0M0l2ZVJLZFBWeFhlRjYwdldkbTdPYnd1Mm8yNi91TnU1cDdvZmNuOHcwbnltZVdUTnowTVBJUStCUjVkRS9DNStWTUd2ZnJINVBRMCtCWjdYbkl5OWpMNUZYcmRld3Q2VjNxdmRoN3hjKzlqNXluK00rNHp3MzNqTGVXVi9NTjhDM3lMZkxUOE52bmwrRjMwTi9JLzlrLzNyLzBRQ25nQ1VCWndPSmdVR0JXd0w3K0hwOEliK09QenJiWmZheTJlMUJqS0M1UVJWQmo0S3RndVhCclNGb3lPeVFyU0gzNTVqT2tjNXBEb1ZRZnVqVzBBZGg1bUdMdzM0TUo0V0hoVmVHUDQ1d2lGZ2EwVEdYTlhmUjNFTnozMFQ2UkpaRTNwdG5NVTg1cnkxS05TbytxaTVxUE5vM3VqUzZQOFl1WmxuTTFWaWRXRWxzU3h3NUxpcXVObTVzdnQvODdmT0g0cDNpQytON0Y1Z3Z5RjF3ZWFIT3d2U0ZweGFwTGhJc09wWkFUSWhPT0pUd1FSQXFxQmFNSmZJVGR5V09Dbm5DSGNKbklpL1JOdEdJMkVOY0toNU84a2dxVFhxUzdKRzhOWGtreFRPbExPVzVoQ2Vwa0x4TURVemRtenFlRnBwMklHMHlQVHE5TVlPU2taQnhRcW9oVFpPMlorcG41bVoyeTZ4bGhiTCt4VzZMdHk4ZWxRZkphN09RckFWWkxRcTJRcWJvVkZvbzF5b0hzbWRsVjJhL3pZbktPWmFybml2TjdjeXp5dHVRTjV6dm4vL3RFc0lTNFpLMnBZWkxWeTBkV09hOXJHbzVzanh4ZWRzSzR4VUZLNFpXQnF3OHVJcTJLbTNWVDZ2dFY1ZXVmcjBtZWsxcmdWN0J5b0xCdFFGcjZ3dFZDdVdGZmV2YzErMWRUMWd2V2QrMVlmcUduUnMrRlltS3JoVGJGNWNWZjlnbzNIamxHNGR2eXIrWjNKUzBxYXZFdVdUUFp0Sm02ZWJlTFo1YkRwYXFsK2FYRG00TjJkcTBEZDlXdE8zMTlrWGJMNWZOS051N2c3WkR1YU8vUExpOFphZkp6czA3UDFTa1ZQUlUrbFEyN3RMZHRXSFgrRzdSN2h0N3ZQWTA3TlhiVzd6My9UN0p2dHRWQVZWTjFXYlZaZnRKKzdQM1A2NkpxdW40bHZ0dFhhMU9iWEh0eHdQU0EvMEhJdzYyMTduVTFSM1NQVlJTajlZcjYwY094eCsrL3AzdmR5ME5OZzFWalp6RzRpTndSSG5rNmZjSjMvY2VEVHJhZG94N3JPRUgweDkySFdjZEwycENtdkthUnB0VG12dGJZbHU2VDh3KzBkYnEzbnI4UjlzZkQ1dzBQRmw1U3ZOVXlXbmE2WUxUazJmeXo0eWRsWjE5Zmk3NTNHRGJvclo3NTJQTzMyb1BiKys2RUhUaDBrWC9pK2M3dkR2T1hQSzRkUEt5MitVVFY3aFhtcTg2WDIzcWRPbzgvcFBUVDhlN25MdWFycmxjYTdudWVyMjFlMmIzNlJ1ZU44N2Q5TDE1OFJiLzF0V2VPVDNkdmZONmIvZkY5L1hmRnQxK2NpZjl6c3U3MlhjbjdxMjhUN3hmOUVEdFFkbEQzWWZWUDF2KzNOanYzSDlxd0hlZzg5SGNSL2NHaFlQUC9wSDFqdzlEQlkrWmo4dUdEWWJybmpnK09UbmlQM0w5NmZ5blE4OWt6eWFlRi82aS9zdXVGeFl2ZnZqVjY5Zk8wWmpSb1pmeWw1Ty9iWHlsL2VyQTZ4bXYyOGJDeGg2K3lYZ3pNVjcwVnZ2dHdYZmNkeDN2bzk4UFQrUjhJSDhvLzJqNXNmVlQwS2Y3a3htVGsvOEVBNWp6L0dNekxkc0FBRHZzYVZSWWRGaE5URHBqYjIwdVlXUnZZbVV1ZUcxd0FBQUFBQUE4UDNod1lXTnJaWFFnWW1WbmFXNDlJdSs3dnlJZ2FXUTlJbGMxVFRCTmNFTmxhR2xJZW5KbFUzcE9WR042YTJNNVpDSS9QZ284ZURwNGJYQnRaWFJoSUhodGJHNXpPbmc5SW1Ga2IySmxPbTV6T20xbGRHRXZJaUI0T25odGNIUnJQU0pCWkc5aVpTQllUVkFnUTI5eVpTQTFMalV0WXpBeU1TQTNPUzR4TlRVM056SXNJREl3TVRRdk1ERXZNVE10TVRrNk5EUTZNREFnSUNBZ0lDQWdJQ0krQ2lBZ0lEeHlaR1k2VWtSR0lIaHRiRzV6T25Ka1pqMGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNVGs1T1M4d01pOHlNaTF5WkdZdGMzbHVkR0Y0TFc1ekl5SStDaUFnSUNBZ0lEeHlaR1k2UkdWelkzSnBjSFJwYjI0Z2NtUm1PbUZpYjNWMFBTSWlDaUFnSUNBZ0lDQWdJQ0FnSUhodGJHNXpPbmh0Y0QwaWFIUjBjRG92TDI1ekxtRmtiMkpsTG1OdmJTOTRZWEF2TVM0d0x5SUtJQ0FnSUNBZ0lDQWdJQ0FnZUcxc2JuTTZlRzF3VFUwOUltaDBkSEE2THk5dWN5NWhaRzlpWlM1amIyMHZlR0Z3THpFdU1DOXRiUzhpQ2lBZ0lDQWdJQ0FnSUNBZ0lIaHRiRzV6T25OMFJYWjBQU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNoaGNDOHhMakF2YzFSNWNHVXZVbVZ6YjNWeVkyVkZkbVZ1ZENNaUNpQWdJQ0FnSUNBZ0lDQWdJSGh0Ykc1ek9tUmpQU0pvZEhSd09pOHZjSFZ5YkM1dmNtY3ZaR012Wld4bGJXVnVkSE12TVM0eEx5SUtJQ0FnSUNBZ0lDQWdJQ0FnZUcxc2JuTTZjR2h2ZEc5emFHOXdQU0pvZEhSd09pOHZibk11WVdSdlltVXVZMjl0TDNCb2IzUnZjMmh2Y0M4eExqQXZJZ29nSUNBZ0lDQWdJQ0FnSUNCNGJXeHVjenAwYVdabVBTSm9kSFJ3T2k4dmJuTXVZV1J2WW1VdVkyOXRMM1JwWm1Zdk1TNHdMeUlLSUNBZ0lDQWdJQ0FnSUNBZ2VHMXNibk02WlhocFpqMGlhSFIwY0RvdkwyNXpMbUZrYjJKbExtTnZiUzlsZUdsbUx6RXVNQzhpUGdvZ0lDQWdJQ0FnSUNBOGVHMXdPa055WldGMGIzSlViMjlzUGtGa2IySmxJRkJvYjNSdmMyaHZjQ0JEUXlBeU1ERTBJQ2hYYVc1a2IzZHpLVHd2ZUcxd09rTnlaV0YwYjNKVWIyOXNQZ29nSUNBZ0lDQWdJQ0E4ZUcxd09rTnlaV0YwWlVSaGRHVStNakF4TkMwd09DMHhPVlF4TmpvME5qb3lOUzB3TlRvd01Ed3ZlRzF3T2tOeVpXRjBaVVJoZEdVK0NpQWdJQ0FnSUNBZ0lEeDRiWEE2VFdWMFlXUmhkR0ZFWVhSbFBqSXdNVFF0TURndE1UbFVNVGM2TURBNk16QXRNRFU2TURBOEwzaHRjRHBOWlhSaFpHRjBZVVJoZEdVK0NpQWdJQ0FnSUNBZ0lEeDRiWEE2VFc5a2FXWjVSR0YwWlQ0eU1ERTBMVEE0TFRFNVZERTNPakF3T2pNd0xUQTFPakF3UEM5NGJYQTZUVzlrYVdaNVJHRjBaVDRLSUNBZ0lDQWdJQ0FnUEhodGNFMU5Pa2x1YzNSaGJtTmxTVVErZUcxd0xtbHBaRG8yTnpnNVlUUmlPUzAwTURJNUxUUmpOR1F0WVdJM1ppMDNZMlEwTVRSbU5HUmpabUk4TDNodGNFMU5Pa2x1YzNSaGJtTmxTVVErQ2lBZ0lDQWdJQ0FnSUR4NGJYQk5UVHBFYjJOMWJXVnVkRWxFUG1Ga2IySmxPbVJ2WTJsa09uQm9iM1J2YzJodmNEbzBNVFpsT0RrNU9TMHlOMlZoTFRFeFpUUXRPR00xWVMxak9XVTRZV1JoTVRKak9XUThMM2h0Y0UxTk9rUnZZM1Z0Wlc1MFNVUStDaUFnSUNBZ0lDQWdJRHg0YlhCTlRUcFBjbWxuYVc1aGJFUnZZM1Z0Wlc1MFNVUStlRzF3TG1ScFpEcG1NMkV3TVdKbE1pMHlZVGRoTFdGa05EY3RZV1ExWlMwM05ETTJPVGd6WWpaa1pEWThMM2h0Y0UxTk9rOXlhV2RwYm1Gc1JHOWpkVzFsYm5SSlJENEtJQ0FnSUNBZ0lDQWdQSGh0Y0UxTk9raHBjM1J2Y25rK0NpQWdJQ0FnSUNBZ0lDQWdJRHh5WkdZNlUyVnhQZ29nSUNBZ0lDQWdJQ0FnSUNBZ0lDQThjbVJtT214cElISmtaanB3WVhKelpWUjVjR1U5SWxKbGMyOTFjbU5sSWo0S0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BITjBSWFowT21GamRHbHZiajVqY21WaGRHVmtQQzl6ZEVWMmREcGhZM1JwYjI0K0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lEeHpkRVYyZERwcGJuTjBZVzVqWlVsRVBuaHRjQzVwYVdRNlpqTmhNREZpWlRJdE1tRTNZUzFoWkRRM0xXRmtOV1V0TnpRek5qazRNMkkyWkdRMlBDOXpkRVYyZERwcGJuTjBZVzVqWlVsRVBnb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQThjM1JGZG5RNmQyaGxiajR5TURFMExUQTRMVEU1VkRFMk9qUTJPakkxTFRBMU9qQXdQQzl6ZEVWMmREcDNhR1Z1UGdvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBOGMzUkZkblE2YzI5bWRIZGhjbVZCWjJWdWRENUJaRzlpWlNCUWFHOTBiM05vYjNBZ1EwTWdNakF4TkNBb1YybHVaRzkzY3lrOEwzTjBSWFowT25OdlpuUjNZWEpsUVdkbGJuUStDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lEd3ZjbVJtT214cFBnb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBOGNtUm1PbXhwSUhKa1pqcHdZWEp6WlZSNWNHVTlJbEpsYzI5MWNtTmxJajRLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEhOMFJYWjBPbUZqZEdsdmJqNXpZWFpsWkR3dmMzUkZkblE2WVdOMGFXOXVQZ29nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0E4YzNSRmRuUTZhVzV6ZEdGdVkyVkpSRDU0YlhBdWFXbGtPbVF5WXpCa09UZzRMVE5sTm1JdE9UVTBaaTFoWm1JNExXUXdOamMzWlRrMllUQTVNVHd2YzNSRmRuUTZhVzV6ZEdGdVkyVkpSRDRLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEhOMFJYWjBPbmRvWlc0K01qQXhOQzB3T0MweE9WUXhOam8wTmpveU5TMHdOVG93TUR3dmMzUkZkblE2ZDJobGJqNEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQSE4wUlhaME9uTnZablIzWVhKbFFXZGxiblErUVdSdlltVWdVR2h2ZEc5emFHOXdJRU5ESURJd01UUWdLRmRwYm1SdmQzTXBQQzl6ZEVWMmREcHpiMlowZDJGeVpVRm5aVzUwUGdvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBOGMzUkZkblE2WTJoaGJtZGxaRDR2UEM5emRFVjJkRHBqYUdGdVoyVmtQZ29nSUNBZ0lDQWdJQ0FnSUNBZ0lDQThMM0prWmpwc2FUNEtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BISmtaanBzYVNCeVpHWTZjR0Z5YzJWVWVYQmxQU0pTWlhOdmRYSmpaU0krQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4emRFVjJkRHBoWTNScGIyNCtjMkYyWldROEwzTjBSWFowT21GamRHbHZiajRLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnUEhOMFJYWjBPbWx1YzNSaGJtTmxTVVErZUcxd0xtbHBaRG8yTnpnNVlUUmlPUzAwTURJNUxUUmpOR1F0WVdJM1ppMDNZMlEwTVRSbU5HUmpabUk4TDNOMFJYWjBPbWx1YzNSaGJtTmxTVVErQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUR4emRFVjJkRHAzYUdWdVBqSXdNVFF0TURndE1UbFVNVGM2TURBNk16QXRNRFU2TURBOEwzTjBSWFowT25kb1pXNCtDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJRHh6ZEVWMmREcHpiMlowZDJGeVpVRm5aVzUwUGtGa2IySmxJRkJvYjNSdmMyaHZjQ0JEUXlBeU1ERTBJQ2hYYVc1a2IzZHpLVHd2YzNSRmRuUTZjMjltZEhkaGNtVkJaMlZ1ZEQ0S0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ1BITjBSWFowT21Ob1lXNW5aV1ErTHp3dmMzUkZkblE2WTJoaGJtZGxaRDRLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdQQzl5WkdZNmJHaytDaUFnSUNBZ0lDQWdJQ0FnSUR3dmNtUm1PbE5sY1Q0S0lDQWdJQ0FnSUNBZ1BDOTRiWEJOVFRwSWFYTjBiM0o1UGdvZ0lDQWdJQ0FnSUNBOFpHTTZabTl5YldGMFBtbHRZV2RsTDNCdVp6d3ZaR002Wm05eWJXRjBQZ29nSUNBZ0lDQWdJQ0E4Y0dodmRHOXphRzl3T2tOdmJHOXlUVzlrWlQ0elBDOXdhRzkwYjNOb2IzQTZRMjlzYjNKTmIyUmxQZ29nSUNBZ0lDQWdJQ0E4Y0dodmRHOXphRzl3T2tsRFExQnliMlpwYkdVK2MxSkhRaUJKUlVNMk1UazJOaTB5TGpFOEwzQm9iM1J2YzJodmNEcEpRME5RY205bWFXeGxQZ29nSUNBZ0lDQWdJQ0E4ZEdsbVpqcFBjbWxsYm5SaGRHbHZiajR4UEM5MGFXWm1Pazl5YVdWdWRHRjBhVzl1UGdvZ0lDQWdJQ0FnSUNBOGRHbG1aanBZVW1WemIyeDFkR2x2Ymo0M01qQXdNREF2TVRBd01EQThMM1JwWm1ZNldGSmxjMjlzZFhScGIyNCtDaUFnSUNBZ0lDQWdJRHgwYVdabU9sbFNaWE52YkhWMGFXOXVQamN5TURBd01DOHhNREF3TUR3dmRHbG1aanBaVW1WemIyeDFkR2x2Ymo0S0lDQWdJQ0FnSUNBZ1BIUnBabVk2VW1WemIyeDFkR2x2YmxWdWFYUStNand2ZEdsbVpqcFNaWE52YkhWMGFXOXVWVzVwZEQ0S0lDQWdJQ0FnSUNBZ1BHVjRhV1k2UTI5c2IzSlRjR0ZqWlQ0eFBDOWxlR2xtT2tOdmJHOXlVM0JoWTJVK0NpQWdJQ0FnSUNBZ0lEeGxlR2xtT2xCcGVHVnNXRVJwYldWdWMybHZiajR4TWpnOEwyVjRhV1k2VUdsNFpXeFlSR2x0Wlc1emFXOXVQZ29nSUNBZ0lDQWdJQ0E4WlhocFpqcFFhWGhsYkZsRWFXMWxibk5wYjI0K01USTRQQzlsZUdsbU9sQnBlR1ZzV1VScGJXVnVjMmx2Ymo0S0lDQWdJQ0FnUEM5eVpHWTZSR1Z6WTNKcGNIUnBiMjQrQ2lBZ0lEd3ZjbVJtT2xKRVJqNEtQQzk0T25odGNHMWxkR0UrQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDaUFnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FLSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUFvZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0NpQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQUtJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQW9nSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnQ2lBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBS0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lBb2dJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdJQ0FnSUNBZ0lDQWdDancvZUhCaFkydGxkQ0JsYm1ROUluY2lQejRHbjBRVkFBQUFJR05JVWswQUFIb2xBQUNBZ3dBQStmOEFBSURwQUFCMU1BQUE2bUFBQURxWUFBQVhiNUpmeFVZQUFBS3ZTVVJCVkhqYTdOdkpjc0pBREVWUlI4WC9mM0c3eVlLa3l3d0JUR3cvRFZlTFZJZXFMRGd2a215R3IvUDVQQld1ODIvMTY1cm5lZmx6ZWJpcDFscnZ2YlYyT1k5Znh5UGo4WEZZbmsvbzk5NXZBbGlsdnp5djFXK3RHZnBDL1htZURYMkovdmhEUTEraVgzY0V1ZEl2RjRBMy9Wbzd3SlYrdVIzZ1RiL1dDSEtyWDJJRStkU3ZNb0xjNnBmb0FQLzZtVHNnaEg3YUFLTG81eHhCSWZUVEx1RW8rams3SUp4K3FnQWk2dWNaUVVIMWszUkFSUDFSaHI1RVA4bU5XSFQ5MkIyUVFMLzNma0pmcFI4NGdCei8rMUVEU0tNZk1vQk0rdkVDU0tZZjdENGdtZjU0eE5BWDZzZm9nTVQ2QVFMSXJlOTlCQ1hXSDAvRTBKZm9lKytBSXZwT082Q0kvdVVKR3ZvcWZZOGRVRTNmVndBRjlSMk5vSnI2WGdJb3ErL2lNclN5dmo2QTR2cmlFWVQrTkUyR3ZsQmZGZ0Q2ZzhMUUYrb0xBa0QvQnNUUUYrb2ZHZ0Q2RDFrTWZhSCtRUUdnL3dUSDBCZnE3eDRBK2krSkRIMmgvbzRCb1A4bWxLRXYxTjhsQVBSWGNSbjZRdjJOQTBEL0F6UkRYNmkvV1FEb2YweG42QXYxTndnQS9YOENHdnBDL1g4RmdQNG02OVBRRitwL0dBRDZHOTQ4R2ZwQy9kVUJvTC81UzJlR3ZsQi9SUURvNy9UR2lhRXYxSDhyQVBSM2ZkdmMwQmZxdndnQS9RTStOR1hvQy9YL0RBRDl3ejR5YStnTDlSOEVnUDdCWDVndzlJWDZWd0dnUHluSzBCZnEvd1NBL3FRclEzK1NscUd2RHdCOVpRRDl1dEJYQm9DK01nRDBsUUdncnd3QWZXVUE2RHZxQVBTVkhZQytzZ1BRVjNZQStsNUdFUHJLRVlTK2NnU2g3eWdBOUpVQm9LOE1BUDNqNjNSUlJsOThGWVMrY2dTaHJ3d0FmUzlMR0gxbEFPaUxkd0Q2NGgyQXZvc1JoTDV5QktFdkcwSG82M2NBK3ZvN1lmVEZIWUMraXlXTXZuSUpveThlUWVnclJ4RDZ5aEdFdnBjZGdMN2Z5MUQwbFplaDZPOVVwM3YwNSs1RC8vNHdsRy95R0RHZy84bDl3RHY2eTY5YW9yK3F2Z2NBK3hBWW83UTYySThBQUFBQVNVVk9SSzVDWUlJPQ"},{ name : "__ASSET__:sound_flixel_addons_text_TypeSound", data : "T2dnUwACAAAAAAAAAACBPwAAAAAAAD99658BHgF2b3JiaXMAAAAAAUSsAAAAAAAAgLsAAAAAAAC4AU9nZ1MAAAAAAAAAAAAAgT8AAAEAAAA8HKMNDy3/////////////////MgN2b3JiaXMdAAAAWGlwaC5PcmcgbGliVm9yYmlzIEkgMjAwNzA2MjIAAAAAAQV2b3JiaXMfQkNWAQAAAQAYY1QpRplS0kqJGXOUMUaZYpJKiaWEFkJInXMUU6k515xrrLm1IIQQGlNQKQWZUo5SaRljkCkFmVIQS0kldBI6J51jEFtJwdaYa4tBthyEDZpSTCnElFKKQggZU4wpxZRSSkIHJXQOOuYcU45KKEG4nHOrtZaWY4updJJK5yRkTEJIKYWSSgelU05CSDWW1lIpHXNSUmpB6CCEEEK2IIQNgtCQVQAAAQDAQBAasgoAUAAAEIqhGIoChIasAgAyAAAEoCiO4iiOIzmSY0kWEBqyCgAAAgAQAADAcBRJkRTJsSRL0ixL00RRVX3VNlVV9nVd13Vd13UgNGQVAAABAEBIp5mlGiDCDGQYCA1ZBQAgAAAARijCEANCQ1YBAAABAABiKDmIJrTmfHOOg2Y5aCrF5nRwItXmSW4q5uacc845J5tzxjjnnHOKcmYxaCa05pxzEoNmKWgmtOacc57E5kFrqrTmnHPGOaeDcUYY55xzmrTmQWo21uaccxa0pjlqLsXmnHMi5eZJbS7V5pxzzjnnnHPOOeecc6oXp3NwTjjnnHOi9uZabkIX55xzPhmne3NCOOecc84555xzzjnnnHOC0JBVAAAQAABBGDaGcacgSJ+jgRhFiGnIpAfdo8MkaAxyCqlHo6ORUuoglFTGSSmdIDRkFQAACAAAIYQUUkghhRRSSCGFFFKIIYYYYsgpp5yCCiqppKKKMsoss8wyyyyzzDLrsLPOOuwwxBBDDK20EktNtdVYY62555xrDtJaaa211koppZRSSikIDVkFAIAAABAIGWSQQUYhhRRSiCGmnHLKKaigAkJDVgEAgAAAAgAAADzJc0RHdERHdERHdERHdETHczxHlERJlERJtEzL1ExPFVXVlV1b1mXd9m1hF3bd93Xf93Xj14VhWZZlWZZlWZZlWZZlWZZlWYLQkFUAAAgAAIAQQgghhRRSSCGlGGPMMeegk1BCIDRkFQAACAAgAAAAwFEcxXEkR3IkyZIsSZM0S7M8zdM8TfREURRN01RFV3RF3bRF2ZRN13RN2XRVWbVdWbZt2dZtX5Zt3/d93/d93/d93/d93/d1HQgNWQUASAAA6EiOpEiKpEiO4ziSJAGhIasAABkAAAEAKIqjOI7jSJIkSZakSZ7lWaJmaqZneqqoAqEhqwAAQAAAAQAAAAAAKJriKabiKaLiOaIjSqJlWqKmaq4om7Lruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7ruq7rui4QGrIKAJAAANCRHMmRHEmRFEmRHMkBQkNWAQAyAAACAHAMx5AUybEsS9M8zdM8TfRET/RMTxVd0QVCQ1YBAIAAAAIAAAAAADAkw1IsR3M0SZRUS7VUTbVUSxVVT1VVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVVTVN0zRNIDRkJQAABADAYo3B5SAhJSXl3hDCEJOeMSYhtV4hBJGS3jEGFYOeMqIMct5C4xCDHggNWREARAEAAMYgxxBzyDlHqZMSOeeodJQa5xyljlJnKcWYYs0oldhSrI1zjlJHraOUYiwtdpRSjanGAgAAAhwAAAIshEJDVgQAUQAAhDFIKaQUYow5p5xDjCnnmHOGMeYcc44556B0UirnnHROSsQYc445p5xzUjonlXNOSiehAACAAAcAgAALodCQFQFAnACAQZI8T/I0UZQ0TxRFU3RdUTRd1/I81fRMU1U90VRVU1Vt2VRVWZY8zzQ901RVzzRV1VRVWTZVVZZFVdVt03V123RV3ZZt2/ddWxZ2UVVt3VRd2zdV1/Zd2fZ9WdZ1Y/I8VfVM03U903Rl1XVtW3VdXfdMU5ZN15Vl03Vt25VlXXdl2fc103Rd01Vl2XRd2XZlV7ddWfZ903WF35VlX1dlWRh2XfeFW9eV5XRd3VdlVzdWWfZ9W9eF4dZ1YZk8T1U903RdzzRdV3VdX1dd19Y105Rl03Vt2VRdWXZl2fddV9Z1zzRl2XRd2zZdV5ZdWfZ9V5Z13XRdX1dlWfhVV/Z1WdeV4dZt4Tdd1/dVWfaFV5Z14dZ1Ybl1XRg+VfV9U3aF4XRl39eF31luXTiW0XV9YZVt4VhlWTl+4ViW3feVZXRdX1ht2RhWWRaGX/id5fZ943h1XRlu3efMuu8Mx++k+8rT1W1jmX3dWWZfd47hGDq/8OOpqq+brisMpywLv+3rxrP7vrKMruv7qiwLvyrbwrHrvvP8vrAso+z6wmrLwrDatjHcvm4sv3Acy2vryjHrvlG2dXxfeArD83R1XXlmXcf2dXTjRzh+ygAAgAEHAIAAE8pAoSErAoA4AQCPJImiZFmiKFmWKIqm6LqiaLqupGmmqWmeaVqaZ5qmaaqyKZquLGmaaVqeZpqap5mmaJqua5qmrIqmKcumasqyaZqy7LqybbuubNuiacqyaZqybJqmLLuyq9uu7Oq6pFmmqXmeaWqeZ5qmasqyaZquq3meanqeaKqeKKqqaqqqraqqLFueZ5qa6KmmJ4qqaqqmrZqqKsumqtqyaaq2bKqqbbuq7Pqybeu6aaqybaqmLZuqatuu7OqyLNu6L2maaWqeZ5qa55mmaZqybJqqK1uep5qeKKqq5ommaqqqLJumqsqW55mqJ4qq6omea5qqKsumatqqaZq2bKqqLZumKsuubfu+68qybqqqbJuqauumasqybMu+78qq7oqmKcumqtqyaaqyLduy78uyrPuiacqyaaqybaqqLsuybRuzbPu6aJqybaqmLZuqKtuyLfu6LNu678qub6uqrOuyLfu67vqucOu6MLyybPuqrPq6K9u6b+sy2/Z9RNOUZVM1bdtUVVl2Zdn2Zdv2fdE0bVtVVVs2TdW2ZVn2fVm2bWE0Tdk2VVXWTdW0bVmWbWG2ZeF2Zdm3ZVv2ddeVdV/XfePXZd3murLty7Kt+6qr+rbu+8Jw667wCgAAGHAAAAgwoQwUGrISAIgCAACMYYwxCI1SzjkHoVHKOecgZM5BCCGVzDkIIZSSOQehlJQy5yCUklIIoZSUWgshlJRSawUAABQ4AAAE2KApsThAoSErAYBUAACD41iW55miatqyY0meJ4qqqaq27UiW54miaaqqbVueJ4qmqaqu6+ua54miaaqq6+q6aJqmqaqu67q6Lpqiqaqq67qyrpumqqquK7uy7Oumqqqq68quLPvCqrquK8uybevCsKqu68qybNu2b9y6ruu+7/vCka3rui78wjEMRwEA4AkOAEAFNqyOcFI0FlhoyEoAIAMAgDAGIYMQQgYhhJBSSiGllBIAADDgAAAQYEIZKDRkRQAQJwAAGEMppJRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkgppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkqppJRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoplVJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSSimllFJKKaWUUkoppZRSCgCQinAAkHowoQwUGrISAEgFAACMUUopxpyDEDHmGGPQSSgpYsw5xhyUklLlHIQQUmktt8o5CCGk1FJtmXNSWosx5hgz56SkFFvNOYdSUoux5ppr7qS0VmuuNedaWqs115xzzbm0FmuuOdecc8sx15xzzjnnGHPOOeecc84FAOA0OACAHtiwOsJJ0VhgoSErAYBUAAACGaUYc8456BBSjDnnHIQQIoUYc845CCFUjDnnHHQQQqgYc8w5CCGEkDnnHIQQQgghcw466CCEEEIHHYQQQgihlM5BCCGEEEooIYQQQgghhBA6CCGEEEIIIYQQQgghhFJKCCGEEEIJoZRQAABggQMAQIANqyOcFI0FFhqyEgAAAgCAHJagUs6EQY5Bjw1BylEzDUJMOdGZYk5qMxVTkDkQnXQSGWpB2V4yCwAAgCAAIMAEEBggKPhCCIgxAABBiMwQCYVVsMCgDBoc5gHAA0SERACQmKBIu7iALgNc0MVdB0IIQhCCWBxAAQk4OOGGJ97whBucoFNU6iAAAAAAAAwA4AEA4KAAIiKaq7C4wMjQ2ODo8AgAAAAAABYA+AAAOD6AiIjmKiwuMDI0Njg6PAIAAAAAAAAAAICAgAAAAAAAQAAAAICAT2dnUwAEywgAAAAAAACBPwAAAgAAAEvHOpMSHx4YHR4fHR0fHR8dHxscHyCMdGFB0n7LSWA/69mku4y/xyqb05UXpt9j4++xyjbkLYRlwfH9tQ5gNdXp0r2yOT3+Hhuv2pwef4+NVzZ7BlxfQeauLwBrNQ6jQerWBOSFukypael0B1RXWpH+8AY4MtNmXxdxxfojRWo/MlQvVb95OkwIhGnh8QfMV4DF/odWOzoduyueL3qxkqwGml49YQ2UfGMZgg9WPQesn1oDETuuJMVjd+XsFyvJxdhdObYzBGTlxpVd5ZcghPF+Wv3Xxz749GzkUySZA4Q8B8IPZF0RzP31GogaX1XN3v9W//0XrkgwE2tmaoaaCgCM546U++2zINrM7am6db35KeybTAFV/2hp5m2rFgkAfGO4wb5sMoGFbznG6Ourf5RO4l9nT3l7k0uPLgBMX+DhC1ETwOcXW0kSAx6bO2zKvgEzo2LmH9Tn25oBhGFR0D48ElhUc9MJlc3p99j45nRlc/x9pnqvsyR0Y8Hh/rsD2Jvq69L9PTbP98J0ZXO6sjk9/h4bfzcKTGFO0IM1HcDo4Ot04lTsa9F9zV1ktyPsSKsJRFee6KY6BbCOf1ZEQyWtq5fvw+f9pdGZkKKbD2Rh4dGDVSUQr857TZzOl1wUjd1drIzuisZSL9IjRQdUXZnAB6ucA+E+luXEabI29uJKysVKcrGS7FcSU+ulATqaPc9SVDGqU4QyxPz0GGOMdM7BnnMAYCmSxLAe/4bHSrd/y1CHsst+arXm+xkV6h2Rqd5VO8Drm/CkrBUf1tdZGlz1d9cRGajrI7y9yfr66jqvKcC6vr1x3lLW1tfX120AeHvrdRuAt7c3AdZs4Ly9vb3Fwt/hoABw8Ly9vb15AOftDQA4A+D2DgMA"},{ name : "__ASSET__:bitmap_flixel_system_debug__FlxDebugger_GraphicFlixel", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUF3QUFBQU1DQVlBQUFCV2RWem5BQUFBQkdkQlRVRUFBTEdPZlB0Umt3QUFBQ0JqU0ZKTkFBQ0hEd0FBakE4QUFQMVNBQUNCUUFBQWZYa0FBT21MQUFBODVRQUFHY3h6UElWM0FBQUtPV2xEUTFCUWFHOTBiM05vYjNBZ1NVTkRJSEJ5YjJacGJHVUFBRWpIblpaM1ZGVFhGb2ZQdlhkNm9jMHdBbEtHM3J2QUFOSjdrMTVGWVpnWllDZ0REak0wc1NHaUFoRkZSSm9pU0ZERWdORlFKRlpFc1JBVVZMQUhKQWdvTVJoRlZDeHZSdGFMcnF5ODkvTHkrK09zYisyejk3bjc3TDNQV2hjQWtxY3ZsNWNHU3dHUXloUHdnenljNlJHUlVYVHNBSUFCSG1DQUtRQk1Wa2E2WDdCN0NCREp5ODJGbmlGeUFsOEVBZkI2V0x3Q2NOUFFNNEJPQi8rZnBGbnBmSUhvbUFBUm03TTVHU3dSRjRnNEpVdVFMcmJQaXBnYWx5eG1HQ1ZtdmloQkVjdUpPV0dSRFQ3N0xMS2ptTm1wUExhSXhUbW5zMVBaWXU0VjhiWk1JVWZFaUsrSUN6TzVuQ3dSM3hLeFJvb3dsU3ZpTitMWVZBNHpBd0FVU1d3WGNGaUpJallSTVlrZkV1UWk0dVVBNEVnSlgzSGNWeXpnWkF2RWwzSkpTOC9oY3hNU0JYUWRsaTdkMU5xYVFmZmtaS1Z3QkFMREFDWXJtY2xuMDEzU1V0T1p2QndBRnUvOFdUTGkydEpGUmJZMHRiYTBORFF6TXYycVVQOTE4MjlLM050RmVobjR1V2NRcmYrTDdhLzgwaG9BWU15SmFyUHppeTJ1Q29ET0xRREkzZnRpMHpnQWdLU29ieDNYdjdvUFRUd3ZpUUpCdW8yeGNWWldsaEdYd3pJU0YvUVAvVStIdjZHdnZtY2tQdTZQOHRCZE9mRk1ZWXFBTHE0Ykt5MGxUY2luWjZReldSeTY0WitIK0I4SC9uVWVCa0djZUE2Znd4TkZoSW1tak10TEVMV2J4K1lLdUdrOE9wZjNuNXI0RDhQK3BNVzVGb25TK0JGUVk0eUExSFVxUUg3dEJ5Z0tFU0RSKzhWZC82TnZ2dmd3SUg1NTRTcVRpM1AvN3pmOVo4R2w0aVdEbS9BNXppVW9oTTRTOGpNWDk4VFBFcUFCQVVnQ0twQUh5a0FkNkFCRFlBYXNnQzF3Qkc3QUcvaURFQkFKVmdNV1NBU3BnQSt5UUI3WUJBcEJNZGdKOW9CcVVBY2FRVE5vQmNkQkp6Z0Z6b05MNEJxNEFXNkQrMkFVVElCbllCYThCZ3NRQkdFaE1rU0I1Q0VWU0JQU2g4d2dCbVFQdVVHK1VCQVVDY1ZDQ1JBUEVrSjUwR2FvR0NxRHFxRjZxQm42SGpvSm5ZZXVRSVBRWFdnTW1vWitoOTdCQ0V5Q3FiQVNyQVVid3d6WUNmYUJRK0JWY0FLOEJzNkZDK0FkY0NYY0FCK0ZPK0R6OERYNE5qd0tQNFBuRUlBUUVScWlpaGdpRE1RRjhVZWlrSGlFajZ4SGlwQUtwQUZwUmJxUlB1UW1Nb3JNSUc5UkdCUUZSVWNab214Um5xaFFGQXUxQnJVZVZZS3FSaDFHZGFCNlVUZFJZNmhaMUVjMEdhMkkxa2Zib0wzUUVlZ0VkQmE2RUYyQmJrSzNveStpYjZNbjBLOHhHQXdObzQyeHduaGlJakZKbUxXWUVzdytUQnZtSEdZUU00Nlp3Mkt4OGxoOXJCM1dIOHZFQ3JDRjJDcnNVZXhaN0JCMkF2c0dSOFNwNE14dzdyZ29IQStYajZ2QUhjR2R3UTNoSm5FTGVDbThKdDRHNzQ5bjQzUHdwZmhHZkRmK09uNEN2MENRSm1nVDdBZ2hoQ1RDSmtJbG9aVndrZkNBOEpKSUpLb1JyWW1CUkM1eEk3R1NlSXg0bVRoR2ZFdVNJZW1SWEVqUkpDRnBCK2tRNlJ6cEx1a2xtVXpXSWp1U284Z0M4ZzV5TS9rQytSSDVqUVJGd2tqQ1M0SXRzVUdpUnFKRFlraml1U1JlVWxQU1NYSzFaSzVraGVRSnlldVNNMUo0S1MwcEZ5bW0xSHFwR3FtVFVpTlNjOUlVYVZOcGYrbFU2UkxwSTlKWHBLZGtzREphTW00eWJKa0NtWU15RjJUR0tRaEZuZUpDWVZFMlV4b3BGeWtUVkF4Vm0rcEZUYUlXVTcrakRsQm5aV1ZrbDhtR3lXYkwxc2llbGgybElUUXRtaGN0aFZaS08wNGJwcjFib3JURWFRbG55ZllsclV1R2xzekxMWlZ6bE9QSUZjbTF5ZDJXZXlkUGwzZVRUNWJmSmQ4cC8xQUJwYUNuRUtpUXBiQmY0YUxDekZMcVV0dWxyS1ZGUzQ4dnZhY0lLK29wQmltdVZUeW8ySzg0cDZTczVLR1VybFNsZEVGcFJwbW03S2ljcEZ5dWZFWjVXb1dpWXEvQ1ZTbFhPYXZ5bEM1TGQ2S24wQ3ZwdmZSWlZVVlZUMVdoYXIzcWdPcUNtclphcUZxK1dwdmFRM1dDT2tNOVhyMWN2VWQ5VmtORncwOGpUNk5GNDU0bVhwT2htYWk1VjdOUGMxNUxXeXRjYTZ0V3A5YVV0cHkybDNhdWRvdjJBeDJ5am9QT0dwMEduVnU2R0YyR2JyTHVQdDBiZXJDZWhWNmlYbzNlZFgxWTMxS2ZxNzlQZjlBQWJXQnR3RE5vTUJneEpCazZHV1lhdGhpT0dkR01mSTN5alRxTm5odHJHRWNaN3pMdU0vNW9ZbUdTWXRKb2N0OVV4dFRiTk4rMDIvUjNNejB6bGxtTjJTMXpzcm03K1Fiekx2TVh5L1NYY1pidFgzYkhnbUxoWjdIVm9zZmlnNldWSmQreTFYTGFTc01xMXFyV2FvUkJaUVF3U2hpWHJkSFd6dFlickU5WnY3V3h0QkhZSExmNXpkYlFOdG4yaU8zVWN1M2xuT1dOeThmdDFPeVlkdlYyby9aMCsxajdBL2FqRHFvT1RJY0doOGVPNm81c3h5YkhTU2RkcHlTbm8wN1BuVTJjK2M3dHp2TXVOaTdyWE02NUlxNGVya1d1QTI0eWJxRnUxVzZQM05YY0U5eGIzR2M5TER6V2VwenpSSHY2ZU83eUhQRlM4bUo1Tlh2TmVsdDVyL1B1OVNINUJQdFUrenoyMWZQbCszYjd3WDdlZnJ2OUhxelFYTUZiMGVrUC9MMzhkL3MvRE5BT1dCUHdZeUFtTUNDd0p2QkprR2xRWGxCZk1DVTRKdmhJOE9zUTU1RFNrUHVoT3FIQzBKNHd5YkRvc09hdytYRFg4TEx3MFFqamlIVVIxeUlWSXJtUlhWSFlxTENvcHFpNWxXNHI5NnljaUxhSUxvd2VYcVc5S252VmxkVUtxMU5XbjQ2UmpHSEduSWhGeDRiSEhvbDl6L1JuTmpEbjRyemlhdU5tV1M2c3ZheG5iRWQyT1h1YVk4Y3A0MHpHMjhXWHhVOGwyQ1hzVHBoT2RFaXNTSnpodW5DcnVTK1NQSlBxa3VhVC9aTVBKWDlLQ1U5cFM4V2x4cWFlNU1ud2tubTlhY3BwMldtRDZmcnBoZW1qYTJ6VzdGa3p5L2ZoTjJWQUdhc3l1Z1JVMGM5VXYxQkh1RVU0bG1tZldaUDVKaXNzNjBTMmREWXZ1ejlITDJkN3ptU3VlKzYzYTFGcldXdDc4bFR6TnVXTnJYTmFWNzhlV2grM3ZtZUQrb2FDRFJNYlBUWWUza1RZbEx6cHAzeVQvTEw4VjV2RE4zY1hLQlZzTEJqZjRyR2xwVkNpa0Y4NHN0VjJhOTAyMURidXRvSHQ1dHVydG44c1loZGRMVFlwcmloK1g4SXF1ZnFONlRlVjMzemFFYjlqb05TeWRQOU96RTdlenVGZERyc09sMG1YNVphTjcvYmIzVkZPTHk4cWY3VW5acytWaW1VVmRYc0plNFY3Unl0OUs3dXFOS3AyVnIydlRxeStYZU5jMDFhcldMdTlkbjRmZTkvUWZzZjlyWFZLZGNWMTd3NXdEOXlwOTZqdmFOQnFxRGlJT1poNThFbGpXR1BmdDR4dm01c1Vtb3FiUGh6aUhSbzlISFM0dDltcXVmbUk0cEhTRnJoRjJESjlOUHJvamU5Y3YrdHFOV3l0YjZPMUZSOER4NFRIbm40ZisvM3djWi9qUFNjWUoxcC8wUHlodHAzU1h0UUJkZVIwekhZbWRvNTJSWFlObnZRKzJkTnQyOTMrbzlHUGgwNnBucW81TFh1NjlBemhUTUdaVDJkeno4NmRTejgzY3o3aC9IaFBUTS85Q3hFWGJ2VUc5ZzVjOUxsNCtaTDdwUXQ5VG4xbkw5dGRQblhGNXNySnE0eXJuZGNzcjNYMFcvUzMvMlR4VS91QTVVREhkYXZyWFRlc2IzUVBMaDg4TStRd2RQNm02ODFMdDd4dVhidTk0dmJnY09qd25aSG9rZEU3N0R0VGQxUHV2cmlYZVcvaC9zWUg2QWRGRDZVZVZqeFNmTlR3cys3UGJhT1dvNmZIWE1mNkh3Yy92ai9PR24vMlM4WXY3eWNLbnBDZlZFeXFURFpQbVUyZG1uYWZ2dkYwNWRPSlorblBGbVlLZjVYK3RmYTV6dk1mZm5QOHJYODJZbmJpQmYvRnA5OUxYc3EvUFBScTJhdWV1WUM1UjY5VFh5L01GNzJSZjNQNExlTnQzN3Z3ZDVNTFdlK3g3eXMvNkg3by91ano4Y0duMUUrZi9nVURtUFA4dXNUbzB3QUFBQWx3U0ZsekFBQUxFZ0FBQ3hJQjB0MSsvQUFBQUJwMFJWaDBVMjltZEhkaGNtVUFVR0ZwYm5RdVRrVlVJSFl6TGpVdU1UQXc5SEtoQUFBQkxFbEVRVlFvVTJQNGY5RG9QeEkrRG1RNy9qOWt4QUFDWDlYOVZJRjRHUkQvQStML0lNeUFwZ0drK2QvSEE0WTdqcnE1emdJcStBbFRpRlBENTRPRy94MTNxLzJYWHFuKy80S3RPOWhVWkF5eTRTck1sbzlBeFhaQXhRdzdsY0JZY3BYYS96TU9LSnErZ1RTNGdaenhBYWpZRWtreFRKUFlHclgvSjV6Y1lMYjBNL3cvWXNUdzdJREJPclBkcW5DVFlZcGh0TWhhdGYrSFhGMi9BSjBtQVE0TjQ0REhDN21XZXVEVXdMQlQ5VC9yNGFYUFdNNys1bVN3ZHZ5dkJzUy9USDFlLytkYzdveEZrOXAvNW1NYi93TVZnM0FPU01NQ0lQNFB3aVorei85enJIUkEwZ1JTdkFtbUdFUS9BbW40RGRNQTFoVHcrRC83S3R2L0RMczBnSXEzSUNzR3MwRWF3S1lqWTZPUXUyK1lqMnk0QlhVR2lpWjBEVitBR3R1QVdCQ29tQldJazRINEFiSkdBSlFUU2ZzMmF1VnlBQUFBQUVsRlRrU3VRbUND"},{ name : "__ASSET__:bitmap_flixel_system_debug_interaction_tools__Transform_GraphicTransformCursorDefault", data : "aVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUFzQUFBQUxDQVlBQUFDcHJIY21BQUFBQkhOQ1NWUUlDQWdJZkFoa2lBQUFBQWx3U0ZsekFBQUxFZ0FBQ3hJQjB0MSsvQUFBQUJaMFJWaDBRM0psWVhScGIyNGdWR2x0WlFBd05TOHlPUzh4TnJ0VlFGa0FBQUFjZEVWWWRGTnZablIzWVhKbEFFRmtiMkpsSUVacGNtVjNiM0pyY3lCRFV6Ym92TEtNQUFBQUxrbEVRVlFZbFdQOC8vOC9BeGJ3bjRHQmdSRmRrQW1iU2x4Z2tDaG1ZWUI0Qmh2QUVHZGh3T0pyaG1FVUdnQjN1Z2NXZXB2bWtRQUFBQUJKUlU1RXJrSmdnZz09"}]; var __map_reserved = {}; Object.defineProperty(js__$Boot_HaxeError.prototype,"message",{ get : function() { return String(this.val); }}); if(ArrayBuffer.prototype.slice == null) { ArrayBuffer.prototype.slice = js_lib__$ArrayBuffer_ArrayBufferCompat.sliceImpl; } var array = null; var vector = null; var view = null; var buffer = null; var len = null; var this1 = new Uint32Array(256); lime_math__$RGBA_RGBA_$Impl_$.__alpha16 = this1; var _g = 0; while(_g < 256) { var i = _g++; lime_math__$RGBA_RGBA_$Impl_$.__alpha16[i] = Math.ceil(i * 257.003921568627447); } var array1 = null; var vector1 = null; var view1 = null; var buffer1 = null; var len1 = null; var this2 = new Uint8Array(511); lime_math__$RGBA_RGBA_$Impl_$.__clamp = this2; var _g1 = 0; while(_g1 < 255) { var i1 = _g1++; lime_math__$RGBA_RGBA_$Impl_$.__clamp[i1] = i1; } var _g2 = 255; var _g3 = 511; while(_g2 < _g3) { var i2 = _g2++; lime_math__$RGBA_RGBA_$Impl_$.__clamp[i2] = 255; } lime_system_CFFI.available = false; lime_system_CFFI.enabled = false; lime_utils_Log.level = 3; if(typeof console == "undefined") { console = {} } if(console.log == null) { console.log = function() { }; } openfl_display__$internal_CanvasGraphics.hitTestCanvas = typeof(window) != "undefined" ? window.document.createElement("canvas") : null; openfl_display__$internal_CanvasGraphics.hitTestContext = typeof(window) != "undefined" ? openfl_display__$internal_CanvasGraphics.hitTestCanvas.getContext("2d") : null; openfl_ui_Multitouch.maxTouchPoints = 2; openfl_ui_Multitouch.supportedGestures = null; openfl_ui_Multitouch.supportsGestureEvents = false; openfl_ui_Multitouch.inputMode = 2; flixel_FlxBasic.idEnumerator = 0; flixel_math_FlxRect._pool = new flixel_util_FlxPool_$flixel_$math_$FlxRect(flixel_math_FlxRect); flixel_FlxObject.defaultPixelPerfectPosition = false; flixel_FlxObject.SEPARATE_BIAS = 4; flixel_FlxObject.LEFT = 1; flixel_FlxObject.RIGHT = 16; flixel_FlxObject.UP = 256; flixel_FlxObject.DOWN = 4096; flixel_FlxObject.NONE = 0; flixel_FlxObject.CEILING = 256; flixel_FlxObject.FLOOR = 4096; flixel_FlxObject.WALL = 17; flixel_FlxObject.ANY = 4369; flixel_FlxObject._firstSeparateFlxRect = (function($this) { var $r; var _this = flixel_math_FlxRect._pool.get(); var X = 0; var Y = 0; var Width = 0; var Height = 0; if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } _this.x = X; _this.y = Y; _this.width = Width; _this.height = Height; var rect = _this; rect._inPool = false; $r = rect; return $r; }(this)); flixel_FlxObject._secondSeparateFlxRect = (function($this) { var $r; var _this = flixel_math_FlxRect._pool.get(); var X = 0; var Y = 0; var Width = 0; var Height = 0; if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } _this.x = X; _this.y = Y; _this.width = Width; _this.height = Height; var rect = _this; rect._inPool = false; $r = rect; return $r; }(this)); AlphaCharacter.alphabet = "abcdefghijklmnopqrstuvwxyz"; AlphaCharacter.numbers = "1234567890"; AlphaCharacter.symbols = "|~#$%()*+-:;<=>@[]^_.,'!?"; openfl__$Vector_Vector_$Impl_$.__meta__ = { statics : { toNullVector : { SuppressWarnings : ["checkstyle:Dynamic"]}}}; openfl_display_DisplayObject.__meta__ = { fields : { __cairo : { SuppressWarnings : ["checkstyle:Dynamic"]}, addEventListener : { SuppressWarnings : ["checkstyle:Dynamic"]}, removeEventListener : { SuppressWarnings : ["checkstyle:Dynamic"]}}}; openfl_display_DisplayObject.__broadcastEvents = new haxe_ds_StringMap(); openfl_display_DisplayObject.__instanceCount = 0; openfl_display_DisplayObject.__tempStack = new lime_utils_ObjectPool(function() { return openfl__$Vector_Vector_$Impl_$.toObjectVector(null); },function(stack) { stack.set_length(0); }); flixel_addons_transition_FlxTransitionableState.defaultTransIn = null; flixel_addons_transition_FlxTransitionableState.defaultTransOut = null; flixel_addons_transition_FlxTransitionableState.skipNextTransIn = false; flixel_addons_transition_FlxTransitionableState.skipNextTransOut = false; flixel_addons_ui_FlxUIState.static_tongue = null; ChartingState.lastSection = 0; Conductor.bpm = 100; Conductor.crochet = 60 / Conductor.bpm * 1000; Conductor.stepCrochet = Conductor.crochet / 4; Conductor.offset = 0; Conductor.safeFrames = 10; Conductor.safeZoneOffset = Conductor.safeFrames / 60 * 1000; Conductor.bpmChangeMap = []; CoolUtil.difficultyArray = ["EASY","NORMAL","HARD"]; EtternaFunctions.a1 = 0.254829592; EtternaFunctions.a2 = -0.284496736; EtternaFunctions.a3 = 1.421413741; EtternaFunctions.a4 = -1.453152027; EtternaFunctions.a5 = 1.061405429; EtternaFunctions.p = 0.3275911; Highscore.songScores = new haxe_ds_StringMap(); LoadingState.MIN_TIME = 1.0; MainMenuState.kadeEngineVer = "1.3.1"; MainMenuState.gameVer = "0.2.7.1"; openfl_text_Font.__fontByName = new haxe_ds_StringMap(); openfl_text_Font.__registeredFonts = []; NGio.isLoggedIn = false; NGio.scoreboardsLoaded = false; NGio.scoreboardArray = []; NGio.ngDataLoaded = new flixel_util__$FlxSignal_FlxSignal0(); NGio.ngScoresLoaded = new flixel_util__$FlxSignal_FlxSignal0(); NGio.GAME_VER = ""; NGio.GAME_VER_NUMS = ""; NGio.gotOnlineVer = false; Note.swagWidth = 112.; Note.PURP_NOTE = 0; Note.GREEN_NOTE = 2; Note.BLUE_NOTE = 1; Note.RED_NOTE = 3; Paths.SOUND_EXT = "mp3"; PlayState.curStage = ""; PlayState.isStoryMode = false; PlayState.storyWeek = 0; PlayState.storyPlaylist = []; PlayState.storyDifficulty = 1; PlayState.weekSong = 0; PlayState.shits = 0; PlayState.bads = 0; PlayState.goods = 0; PlayState.sicks = 0; PlayState.loadRep = false; PlayState.misses = 0; PlayState.campaignScore = 0; PlayState.daPixelZoom = 6; PlayState.theFunne = true; PlayState.repPresses = 0; PlayState.repReleases = 0; PlayState.timeCurrently = 0; PlayState.timeCurrentlyR = 0; PlayState.songRate = 1.5; PlayerSettings.numPlayers = 0; PlayerSettings.numAvatars = 0; PlayerSettings.onAvatarAdd = new flixel_util__$FlxSignal_FlxSignal1(); PlayerSettings.onAvatarRemove = new flixel_util__$FlxSignal_FlxSignal1(); Replay.version = "1.0"; Section.COPYCAT = 0; StoryMenuState.weekUnlocked = [true,true,true,true,true,true,true]; TitleState.initialized = false; openfl_display_Shader.__meta__ = { fields : { glProgram : { SuppressWarnings : ["checkstyle:Dynamic"]}}}; Xml.Element = 0; Xml.PCData = 1; Xml.CData = 2; Xml.Comment = 3; Xml.DocType = 4; Xml.ProcessingInstruction = 5; Xml.Document = 6; flixel_math_FlxPoint._pool = new flixel_util_FlxPool_$flixel_$math_$FlxPoint(flixel_math_FlxPoint); lime_math_Matrix3.__identity = new lime_math_Matrix3(); openfl_geom_Matrix.__meta__ = { fields : { equals : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, to3DString : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, toMozString : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}}; openfl_geom_Matrix.__identity = new openfl_geom_Matrix(); openfl_geom_Matrix.__pool = new lime_utils_ObjectPool(function() { return new openfl_geom_Matrix(); },function(m) { m.identity(); }); openfl_geom_Matrix.__matrix3 = new lime_math_Matrix3(); openfl_geom_ColorTransform.__pool = new lime_utils_ObjectPool(function() { return new openfl_geom_ColorTransform(); },function(ct) { ct.__identity(); }); flixel_FlxCamera.drawVertices = openfl__$Vector_Vector_$Impl_$.toFloatVector(null); flixel_FlxCamera.trianglesSprite = new openfl_display_Sprite(); flixel_FlxCamera.renderPoint = (function($this) { var $r; var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; $r = point; return $r; }(this)); flixel_FlxCamera.renderRect = (function($this) { var $r; var _this = flixel_math_FlxRect._pool.get(); var X = 0; var Y = 0; var Width = 0; var Height = 0; if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } _this.x = X; _this.y = Y; _this.width = Width; _this.height = Height; var rect = _this; rect._inPool = false; $r = rect; return $r; }(this)); flixel_system_FlxVersion.sha = ""; flixel_math_FlxRandom._arrayFloatHelper = null; flixel_math_FlxRandom.MULTIPLIER = 48271.0; flixel_math_FlxRandom.MODULUS = 2147483647; flixel_FlxG.autoPause = true; flixel_FlxG.fixedTimestep = true; flixel_FlxG.timeScale = 1; flixel_FlxG.worldDivisions = 6; flixel_FlxG.VERSION = new flixel_system_FlxVersion(4,9,0); flixel_FlxG.elapsed = 0; flixel_FlxG.maxElapsed = 0.1; flixel_FlxG.scaleMode = new flixel_system_scaleModes_RatioScaleMode(); flixel_FlxG.worldBounds = (function($this) { var $r; var _this = flixel_math_FlxRect._pool.get(); var X = 0; var Y = 0; var Width = 0; var Height = 0; if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } _this.x = X; _this.y = Y; _this.width = Width; _this.height = Height; var rect = _this; rect._inPool = false; $r = rect; return $r; }(this)); flixel_FlxG.save = new flixel_util_FlxSave(); flixel_FlxG.random = new flixel_math_FlxRandom(); flixel_FlxG.swipes = []; flixel_FlxG.html5 = new flixel_system_frontEnds_HTML5FrontEnd(); flixel_FlxG.inputs = new flixel_system_frontEnds_InputFrontEnd(); flixel_FlxG.console = new flixel_system_frontEnds_ConsoleFrontEnd(); flixel_FlxG.log = new flixel_system_frontEnds_LogFrontEnd(); flixel_FlxG.bitmapLog = new flixel_system_frontEnds_BitmapLogFrontEnd(); flixel_FlxG.watch = new flixel_system_frontEnds_WatchFrontEnd(); flixel_FlxG.debugger = new flixel_system_frontEnds_DebuggerFrontEnd(); flixel_FlxG.bitmap = new flixel_system_frontEnds_BitmapFrontEnd(); flixel_FlxG.cameras = new flixel_system_frontEnds_CameraFrontEnd(); flixel_FlxG.initialWidth = 0; flixel_FlxG.initialHeight = 0; flixel_FlxG.initialZoom = 0; flixel_FlxG.signals = new flixel_system_frontEnds_SignalFrontEnd(); flixel_addons_text_TypeSound.resourceName = "__ASSET__:sound_flixel_addons_text_TypeSound"; flixel_text_FlxText.VERTICAL_GUTTER = 4; flixel_addons_text_FlxTypeText.helperString = ""; openfl_display_BitmapData.__meta__ = { fields : { image : { SuppressWarnings : ["checkstyle:Dynamic"]}, __framebufferContext : { SuppressWarnings : ["checkstyle:Dynamic"]}, __indexBufferContext : { SuppressWarnings : ["checkstyle:Dynamic"]}, __surface : { SuppressWarnings : ["checkstyle:Dynamic"]}, __textureContext : { SuppressWarnings : ["checkstyle:Dynamic"]}, __vertexBufferContext : { SuppressWarnings : ["checkstyle:Dynamic"]}, compare : { SuppressWarnings : ["checkstyle:Dynamic"]}, getSurface : { SuppressWarnings : ["checkstyle:Dynamic"]}, __fromImage : { SuppressWarnings : ["checkstyle:Dynamic"]}}}; openfl_display_BitmapData.VERTEX_BUFFER_STRIDE = 14; openfl_display_BitmapData.__supportsBGRA = null; openfl_display_BitmapData.__tempVector = new lime_math_Vector2(); flixel_addons_transition_GraphicTransTileCircle.resourceType = "image/png"; flixel_addons_transition_GraphicTransTileCircle.resourceName = "__ASSET__:bitmap_flixel_addons_transition_GraphicTransTileCircle"; flixel_addons_transition_GraphicTransTileDiamond.resourceType = "image/png"; flixel_addons_transition_GraphicTransTileDiamond.resourceName = "__ASSET__:bitmap_flixel_addons_transition_GraphicTransTileDiamond"; flixel_addons_transition_GraphicTransTileSquare.resourceType = "image/png"; flixel_addons_transition_GraphicTransTileSquare.resourceName = "__ASSET__:bitmap_flixel_addons_transition_GraphicTransTileSquare"; flixel_addons_transition__$TransitionFade_GraphicDiagonalGradient.resourceType = "image/png"; flixel_addons_transition__$TransitionFade_GraphicDiagonalGradient.resourceName = "__ASSET__:bitmap_flixel_addons_transition__TransitionFade_GraphicDiagonalGradient"; flixel_addons_ui_Anchor.LEFT = "left"; flixel_addons_ui_Anchor.RIGHT = "right"; flixel_addons_ui_Anchor.TOP = "top"; flixel_addons_ui_Anchor.BOTTOM = "bottom"; flixel_addons_ui_Anchor.CENTER = "center"; flixel_addons_ui_Anchor.UNKNOWN = "unknown"; flixel_addons_ui_FlxInputText.NO_FILTER = 0; flixel_addons_ui_FlxInputText.ONLY_ALPHA = 1; flixel_addons_ui_FlxInputText.ONLY_NUMERIC = 2; flixel_addons_ui_FlxInputText.ONLY_ALPHANUMERIC = 3; flixel_addons_ui_FlxInputText.CUSTOM_FILTER = 4; flixel_addons_ui_FlxInputText.ALL_CASES = 0; flixel_addons_ui_FlxInputText.UPPER_CASE = 1; flixel_addons_ui_FlxInputText.LOWER_CASE = 2; flixel_addons_ui_FlxInputText.BACKSPACE_ACTION = "backspace"; flixel_addons_ui_FlxInputText.DELETE_ACTION = "delete"; flixel_addons_ui_FlxInputText.ENTER_ACTION = "enter"; flixel_addons_ui_FlxInputText.INPUT_ACTION = "input"; flixel_addons_ui_FlxUISprite.RESIZE_RATIO_X = 0; flixel_addons_ui_FlxUISprite.RESIZE_RATIO_Y = 1; flixel_addons_ui_FlxUISprite.RESIZE_RATIO_UNKNOWN = -1; openfl_geom_Point.__pool = new lime_utils_ObjectPool(function() { return new openfl_geom_Point(); },function(p) { p.setTo(0,0); }); openfl_geom_Rectangle.__pool = new lime_utils_ObjectPool(function() { return new openfl_geom_Rectangle(); },function(r) { r.setTo(0,0,0,0); }); flixel_addons_ui_FlxUI9SliceSprite.bitmapsCreated = 0; flixel_addons_ui_FlxUI9SliceSprite.useSectionCache = true; flixel_addons_ui_FlxUI9SliceSprite._staticPoint = new openfl_geom_Point(); flixel_addons_ui_FlxUI9SliceSprite._staticRect = new openfl_geom_Rectangle(); flixel_addons_ui_FlxUI9SliceSprite._staticRect2 = new openfl_geom_Rectangle(); flixel_addons_ui_FlxUI9SliceSprite._staticPointZero = new openfl_geom_Point(0,0); flixel_addons_ui_FlxUI9SliceSprite._staticMatrix = new openfl_geom_Matrix(); flixel_addons_ui_FlxUI9SliceSprite._staticFlxRect = (function($this) { var $r; var _this = flixel_math_FlxRect._pool.get(); var X = 0; var Y = 0; var Width = 0; var Height = 0; if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } _this.x = X; _this.y = Y; _this.width = Width; _this.height = Height; var rect = _this; rect._inPool = false; $r = rect; return $r; }(this)); flixel_addons_ui_FlxUI9SliceSprite._staticFlxRect2 = (function($this) { var $r; var _this = flixel_math_FlxRect._pool.get(); var X = 0; var Y = 0; var Width = 0; var Height = 0; if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } _this.x = X; _this.y = Y; _this.width = Width; _this.height = Height; var rect = _this; rect._inPool = false; $r = rect; return $r; }(this)); flixel_addons_ui_FlxUI9SliceSprite.TILE_NONE = 0; flixel_addons_ui_FlxUI9SliceSprite.TILE_BOTH = 17; flixel_addons_ui_FlxUI9SliceSprite.TILE_H = 16; flixel_addons_ui_FlxUI9SliceSprite.TILE_V = 1; flixel_addons_ui_FlxUIAssets.IMG_BUTTON = "flixel/flixel-ui/img/button.png"; flixel_addons_ui_FlxUIAssets.IMG_BUTTON_ARROW_DOWN = "flixel/flixel-ui/img/button_arrow_down.png"; flixel_addons_ui_FlxUIAssets.IMG_BUTTON_ARROW_LEFT = "flixel/flixel-ui/img/button_arrow_left.png"; flixel_addons_ui_FlxUIAssets.IMG_BUTTON_ARROW_RIGHT = "flixel/flixel-ui/img/button_arrow_right.png"; flixel_addons_ui_FlxUIAssets.IMG_BUTTON_ARROW_UP = "flixel/flixel-ui/img/button_arrow_up.png"; flixel_addons_ui_FlxUIAssets.IMG_BUTTON_THIN = "flixel/flixel-ui/img/button_thin.png"; flixel_addons_ui_FlxUIAssets.IMG_BUTTON_TOGGLE = "flixel/flixel-ui/img/button_toggle.png"; flixel_addons_ui_FlxUIAssets.IMG_BUTTON_SIZE = 18; flixel_addons_ui_FlxUIAssets.IMG_CHECK_MARK = "flixel/flixel-ui/img/check_mark.png"; flixel_addons_ui_FlxUIAssets.IMG_CHECK_BOX = "flixel/flixel-ui/img/check_box.png"; flixel_addons_ui_FlxUIAssets.IMG_CHROME = "flixel/flixel-ui/img/chrome.png"; flixel_addons_ui_FlxUIAssets.IMG_CHROME_LIGHT = "flixel/flixel-ui/img/chrome_light.png"; flixel_addons_ui_FlxUIAssets.IMG_CHROME_FLAT = "flixel/flixel-ui/img/chrome_flat.png"; flixel_addons_ui_FlxUIAssets.IMG_CHROME_INSET = "flixel/flixel-ui/img/chrome_inset.png"; flixel_addons_ui_FlxUIAssets.IMG_RADIO = "flixel/flixel-ui/img/radio.png"; flixel_addons_ui_FlxUIAssets.IMG_RADIO_DOT = "flixel/flixel-ui/img/radio_dot.png"; flixel_addons_ui_FlxUIAssets.IMG_TAB = "flixel/flixel-ui/img/tab.png"; flixel_addons_ui_FlxUIAssets.IMG_TAB_BACK = "flixel/flixel-ui/img/tab_back.png"; flixel_addons_ui_FlxUIAssets.IMG_BOX = "flixel/flixel-ui/img/box.png"; flixel_addons_ui_FlxUIAssets.IMG_DROPDOWN = "flixel/flixel-ui/img/dropdown_mark.png"; flixel_addons_ui_FlxUIAssets.IMG_PLUS = "flixel/flixel-ui/img/plus_mark.png"; flixel_addons_ui_FlxUIAssets.IMG_MINUS = "flixel/flixel-ui/img/minus_mark.png"; flixel_addons_ui_FlxUIAssets.IMG_HILIGHT = "flixel/flixel-ui/img/hilight.png"; flixel_addons_ui_FlxUIAssets.IMG_INVIS = "flixel/flixel-ui/img/invis.png"; flixel_addons_ui_FlxUIAssets.IMG_SWATCH = "flixel/flixel-ui/img/swatch.png"; flixel_addons_ui_FlxUIAssets.IMG_TOOLTIP_ARROW = "flixel/flixel-ui/img/tooltip_arrow.png"; flixel_addons_ui_FlxUIAssets.IMG_FINGER_SMALL = "flixel/flixel-ui/img/finger_small.png"; flixel_addons_ui_FlxUIAssets.IMG_FINGER_BIG = "flixel/flixel-ui/img/finger_big.png"; flixel_addons_ui_FlxUIAssets.SLICE9_BUTTON = "6,6,11,11"; flixel_addons_ui_FlxUIAssets.SLICE9_BUTTON_THIN = "2,2,15,15"; flixel_addons_ui_FlxUIAssets.SLICE9_BUTTON_TOGGLE = "6,6,11,11"; flixel_addons_ui_FlxUIAssets.SLICE9_TAB = "6,6,11,11"; flixel_addons_ui_FlxUIAssets.XML_DEFAULTS_ID = "flixel/flixel-ui/xml/defaults"; flixel_addons_ui_FlxUIAssets.XML_DEFAULT_POPUP_ID = "flixel/flixel-ui/xml/default_popup"; flixel_addons_ui_FlxUIAssets.XML_DEFAULT_LOADING_SCREEN_ID = "flixel/flixel-ui/xml/default_loading_screen"; flixel_addons_ui_FlxUIAssets.index_size = null; flixel_addons_ui_FlxUITypedButton.CLICK_EVENT = "click_button"; flixel_addons_ui_FlxUITypedButton.OVER_EVENT = "over_button"; flixel_addons_ui_FlxUITypedButton.DOWN_EVENT = "down_button"; flixel_addons_ui_FlxUITypedButton.OUT_EVENT = "out_button"; flixel_addons_ui_FlxUICheckBox.CLICK_EVENT = "click_check_box"; flixel_addons_ui_FlxUICursor.KEYS_TAB = 1; flixel_addons_ui_FlxUICursor.KEYS_WASD = 16; flixel_addons_ui_FlxUICursor.KEYS_ARROWS = 256; flixel_addons_ui_FlxUICursor.KEYS_NUMPAD = 4096; flixel_addons_ui_FlxUICursor.GAMEPAD_DPAD = 65536; flixel_addons_ui_FlxUICursor.GAMEPAD_LEFT_STICK = 1048576; flixel_addons_ui_FlxUICursor.GAMEPAD_RIGHT_STICK = 16777216; flixel_addons_ui_FlxUICursor.GAMEPAD_SHOULDER_BUTTONS = 268435456; flixel_addons_ui_FlxUICursor.INPUT_NONE = 0; flixel_addons_ui_FlxUICursor.INPUT_KEYS = 1; flixel_addons_ui_FlxUICursor.INPUT_GAMEPAD = 16; flixel_addons_ui_FlxUIDropDownMenu.CLICK_EVENT = "click_dropdown"; flixel_addons_ui_FlxUIInputText.CHANGE_EVENT = "change_input_text"; flixel_addons_ui_FlxUIInputText.ENTER_EVENT = "enter_input_text"; flixel_addons_ui_FlxUIInputText.DELETE_EVENT = "delete_input_text"; flixel_addons_ui_FlxUIInputText.INPUT_EVENT = "input_input_text"; flixel_addons_ui_FlxUIList.STACK_HORIZONTAL = 0; flixel_addons_ui_FlxUIList.STACK_VERTICAL = 1; flixel_input_FlxPointer._cachedPoint = new flixel_math_FlxPoint(); flixel_addons_ui_FlxUINumericStepper.STACK_VERTICAL = 0; flixel_addons_ui_FlxUINumericStepper.STACK_HORIZONTAL = 1; flixel_addons_ui_FlxUINumericStepper.CLICK_EVENT = "click_numeric_stepper"; flixel_addons_ui_FlxUINumericStepper.EDIT_EVENT = "edit_numeric_stepper"; flixel_addons_ui_FlxUINumericStepper.CHANGE_EVENT = "change_numeric_stepper"; flixel_addons_ui_FlxUIRadioGroup.CLICK_EVENT = "click_radio_group"; flixel_addons_ui_FlxUITabMenu.CLICK_EVENT = "tab_menu_click"; flixel_addons_ui_FlxUITabMenu.STACK_FRONT = "front"; flixel_addons_ui_FlxUITabMenu.STACK_BACK = "back"; flixel_addons_ui_FontDef.EXTENSIONS = [".ttf",".otf"]; flixel_addons_ui_U._matrix = null; flixel_animation_FlxPrerotatedAnimation.PREROTATED = "prerotated_animation"; flixel_effects_FlxFlicker._pool = new flixel_util_FlxPool_$flixel_$effects_$FlxFlicker(flixel_effects_FlxFlicker); flixel_effects_FlxFlicker._boundObjects = new haxe_ds_ObjectMap(); flixel_graphics_FlxGraphic.defaultPersist = false; flixel_graphics_atlas_FlxAtlas.point = new openfl_geom_Point(); flixel_graphics_atlas_FlxAtlas.matrix = new openfl_geom_Matrix(); flixel_graphics_atlas_FlxAtlas.defaultMinSize = new flixel_math_FlxPoint(128,128); flixel_graphics_atlas_FlxAtlas.defaultMaxSize = new flixel_math_FlxPoint(1024,1024); flixel_graphics_tile_FlxDrawBaseItem.drawCalls = 0; flixel_graphics_tile_FlxDrawQuadsItem.VERTICES_PER_QUAD = 4; flixel_graphics_tile_FlxDrawTrianglesItem.point = (function($this) { var $r; var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; $r = point; return $r; }(this)); flixel_graphics_tile_FlxDrawTrianglesItem.rect = (function($this) { var $r; var _this = flixel_math_FlxRect._pool.get(); var X = 0; var Y = 0; var Width = 0; var Height = 0; if(Height == null) { Height = 0; } if(Width == null) { Width = 0; } if(Y == null) { Y = 0; } if(X == null) { X = 0; } _this.x = X; _this.y = Y; _this.width = Width; _this.height = Height; var rect = _this; rect._inPool = false; $r = rect; return $r; }(this)); flixel_input_actions_FlxInputDeviceID.ALL = -1; flixel_input_actions_FlxInputDeviceID.FIRST_ACTIVE = -2; flixel_input_actions_FlxInputDeviceID.NONE = -3; flixel_input_actions_FlxActionInputAnalog.A_X = true; flixel_input_actions_FlxActionInputAnalog.A_Y = false; flixel_input_actions_FlxSteamController.CONTROLLER_CONNECT_POLL_TIME = 0.25; flixel_input_actions_FlxSteamController.ORIGIN_DATA_POLL_TIME = 1.0; flixel_input_actions_FlxSteamController.onControllerConnect = null; flixel_input_actions_FlxSteamController.onOriginUpdate = null; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.fromStringMap = (function($this) { var $r; var _g = new haxe_ds_StringMap(); if(__map_reserved["ANY"] != null) { _g.setReserved("ANY",-2); } else { _g.h["ANY"] = -2; } if(__map_reserved["A"] != null) { _g.setReserved("A",0); } else { _g.h["A"] = 0; } if(__map_reserved["B"] != null) { _g.setReserved("B",1); } else { _g.h["B"] = 1; } if(__map_reserved["X"] != null) { _g.setReserved("X",2); } else { _g.h["X"] = 2; } if(__map_reserved["Y"] != null) { _g.setReserved("Y",3); } else { _g.h["Y"] = 3; } if(__map_reserved["LEFT_SHOULDER"] != null) { _g.setReserved("LEFT_SHOULDER",4); } else { _g.h["LEFT_SHOULDER"] = 4; } if(__map_reserved["RIGHT_SHOULDER"] != null) { _g.setReserved("RIGHT_SHOULDER",5); } else { _g.h["RIGHT_SHOULDER"] = 5; } if(__map_reserved["BACK"] != null) { _g.setReserved("BACK",6); } else { _g.h["BACK"] = 6; } if(__map_reserved["START"] != null) { _g.setReserved("START",7); } else { _g.h["START"] = 7; } if(__map_reserved["LEFT_STICK_CLICK"] != null) { _g.setReserved("LEFT_STICK_CLICK",8); } else { _g.h["LEFT_STICK_CLICK"] = 8; } if(__map_reserved["RIGHT_STICK_CLICK"] != null) { _g.setReserved("RIGHT_STICK_CLICK",9); } else { _g.h["RIGHT_STICK_CLICK"] = 9; } if(__map_reserved["GUIDE"] != null) { _g.setReserved("GUIDE",10); } else { _g.h["GUIDE"] = 10; } if(__map_reserved["DPAD_UP"] != null) { _g.setReserved("DPAD_UP",11); } else { _g.h["DPAD_UP"] = 11; } if(__map_reserved["DPAD_DOWN"] != null) { _g.setReserved("DPAD_DOWN",12); } else { _g.h["DPAD_DOWN"] = 12; } if(__map_reserved["DPAD_LEFT"] != null) { _g.setReserved("DPAD_LEFT",13); } else { _g.h["DPAD_LEFT"] = 13; } if(__map_reserved["DPAD_RIGHT"] != null) { _g.setReserved("DPAD_RIGHT",14); } else { _g.h["DPAD_RIGHT"] = 14; } if(__map_reserved["LEFT_TRIGGER_BUTTON"] != null) { _g.setReserved("LEFT_TRIGGER_BUTTON",15); } else { _g.h["LEFT_TRIGGER_BUTTON"] = 15; } if(__map_reserved["RIGHT_TRIGGER_BUTTON"] != null) { _g.setReserved("RIGHT_TRIGGER_BUTTON",16); } else { _g.h["RIGHT_TRIGGER_BUTTON"] = 16; } if(__map_reserved["LEFT_TRIGGER"] != null) { _g.setReserved("LEFT_TRIGGER",17); } else { _g.h["LEFT_TRIGGER"] = 17; } if(__map_reserved["RIGHT_TRIGGER"] != null) { _g.setReserved("RIGHT_TRIGGER",18); } else { _g.h["RIGHT_TRIGGER"] = 18; } if(__map_reserved["LEFT_ANALOG_STICK"] != null) { _g.setReserved("LEFT_ANALOG_STICK",19); } else { _g.h["LEFT_ANALOG_STICK"] = 19; } if(__map_reserved["RIGHT_ANALOG_STICK"] != null) { _g.setReserved("RIGHT_ANALOG_STICK",20); } else { _g.h["RIGHT_ANALOG_STICK"] = 20; } if(__map_reserved["DPAD"] != null) { _g.setReserved("DPAD",21); } else { _g.h["DPAD"] = 21; } if(__map_reserved["TILT_PITCH"] != null) { _g.setReserved("TILT_PITCH",26); } else { _g.h["TILT_PITCH"] = 26; } if(__map_reserved["TILT_ROLL"] != null) { _g.setReserved("TILT_ROLL",27); } else { _g.h["TILT_ROLL"] = 27; } if(__map_reserved["POINTER_X"] != null) { _g.setReserved("POINTER_X",28); } else { _g.h["POINTER_X"] = 28; } if(__map_reserved["POINTER_Y"] != null) { _g.setReserved("POINTER_Y",29); } else { _g.h["POINTER_Y"] = 29; } if(__map_reserved["EXTRA_0"] != null) { _g.setReserved("EXTRA_0",30); } else { _g.h["EXTRA_0"] = 30; } if(__map_reserved["EXTRA_1"] != null) { _g.setReserved("EXTRA_1",31); } else { _g.h["EXTRA_1"] = 31; } if(__map_reserved["EXTRA_2"] != null) { _g.setReserved("EXTRA_2",32); } else { _g.h["EXTRA_2"] = 32; } if(__map_reserved["EXTRA_3"] != null) { _g.setReserved("EXTRA_3",33); } else { _g.h["EXTRA_3"] = 33; } if(__map_reserved["LEFT_STICK_DIGITAL_UP"] != null) { _g.setReserved("LEFT_STICK_DIGITAL_UP",34); } else { _g.h["LEFT_STICK_DIGITAL_UP"] = 34; } if(__map_reserved["LEFT_STICK_DIGITAL_RIGHT"] != null) { _g.setReserved("LEFT_STICK_DIGITAL_RIGHT",35); } else { _g.h["LEFT_STICK_DIGITAL_RIGHT"] = 35; } if(__map_reserved["LEFT_STICK_DIGITAL_DOWN"] != null) { _g.setReserved("LEFT_STICK_DIGITAL_DOWN",36); } else { _g.h["LEFT_STICK_DIGITAL_DOWN"] = 36; } if(__map_reserved["LEFT_STICK_DIGITAL_LEFT"] != null) { _g.setReserved("LEFT_STICK_DIGITAL_LEFT",37); } else { _g.h["LEFT_STICK_DIGITAL_LEFT"] = 37; } if(__map_reserved["RIGHT_STICK_DIGITAL_UP"] != null) { _g.setReserved("RIGHT_STICK_DIGITAL_UP",38); } else { _g.h["RIGHT_STICK_DIGITAL_UP"] = 38; } if(__map_reserved["RIGHT_STICK_DIGITAL_RIGHT"] != null) { _g.setReserved("RIGHT_STICK_DIGITAL_RIGHT",39); } else { _g.h["RIGHT_STICK_DIGITAL_RIGHT"] = 39; } if(__map_reserved["RIGHT_STICK_DIGITAL_DOWN"] != null) { _g.setReserved("RIGHT_STICK_DIGITAL_DOWN",40); } else { _g.h["RIGHT_STICK_DIGITAL_DOWN"] = 40; } if(__map_reserved["RIGHT_STICK_DIGITAL_LEFT"] != null) { _g.setReserved("RIGHT_STICK_DIGITAL_LEFT",41); } else { _g.h["RIGHT_STICK_DIGITAL_LEFT"] = 41; } $r = _g; return $r; }(this)); flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.toStringMap = (function($this) { var $r; var _g = new haxe_ds_IntMap(); _g.h[-2] = "ANY"; _g.h[0] = "A"; _g.h[1] = "B"; _g.h[2] = "X"; _g.h[3] = "Y"; _g.h[4] = "LEFT_SHOULDER"; _g.h[5] = "RIGHT_SHOULDER"; _g.h[6] = "BACK"; _g.h[7] = "START"; _g.h[8] = "LEFT_STICK_CLICK"; _g.h[9] = "RIGHT_STICK_CLICK"; _g.h[10] = "GUIDE"; _g.h[11] = "DPAD_UP"; _g.h[12] = "DPAD_DOWN"; _g.h[13] = "DPAD_LEFT"; _g.h[14] = "DPAD_RIGHT"; _g.h[15] = "LEFT_TRIGGER_BUTTON"; _g.h[16] = "RIGHT_TRIGGER_BUTTON"; _g.h[17] = "LEFT_TRIGGER"; _g.h[18] = "RIGHT_TRIGGER"; _g.h[19] = "LEFT_ANALOG_STICK"; _g.h[20] = "RIGHT_ANALOG_STICK"; _g.h[21] = "DPAD"; _g.h[26] = "TILT_PITCH"; _g.h[27] = "TILT_ROLL"; _g.h[28] = "POINTER_X"; _g.h[29] = "POINTER_Y"; _g.h[30] = "EXTRA_0"; _g.h[31] = "EXTRA_1"; _g.h[32] = "EXTRA_2"; _g.h[33] = "EXTRA_3"; _g.h[34] = "LEFT_STICK_DIGITAL_UP"; _g.h[35] = "LEFT_STICK_DIGITAL_RIGHT"; _g.h[36] = "LEFT_STICK_DIGITAL_DOWN"; _g.h[37] = "LEFT_STICK_DIGITAL_LEFT"; _g.h[38] = "RIGHT_STICK_DIGITAL_UP"; _g.h[39] = "RIGHT_STICK_DIGITAL_RIGHT"; _g.h[40] = "RIGHT_STICK_DIGITAL_DOWN"; _g.h[41] = "RIGHT_STICK_DIGITAL_LEFT"; $r = _g; return $r; }(this)); flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.ANY = -2; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.NONE = -1; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.A = 0; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.B = 1; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.X = 2; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.Y = 3; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.LEFT_SHOULDER = 4; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.RIGHT_SHOULDER = 5; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.BACK = 6; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.START = 7; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.LEFT_STICK_CLICK = 8; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.RIGHT_STICK_CLICK = 9; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.GUIDE = 10; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.DPAD_UP = 11; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.DPAD_DOWN = 12; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.DPAD_LEFT = 13; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.DPAD_RIGHT = 14; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.LEFT_TRIGGER_BUTTON = 15; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.RIGHT_TRIGGER_BUTTON = 16; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.LEFT_TRIGGER = 17; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.RIGHT_TRIGGER = 18; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.LEFT_ANALOG_STICK = 19; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.RIGHT_ANALOG_STICK = 20; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.DPAD = 21; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.TILT_PITCH = 26; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.TILT_ROLL = 27; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.POINTER_X = 28; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.POINTER_Y = 29; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.EXTRA_0 = 30; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.EXTRA_1 = 31; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.EXTRA_2 = 32; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.EXTRA_3 = 33; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.LEFT_STICK_DIGITAL_UP = 34; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.LEFT_STICK_DIGITAL_RIGHT = 35; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.LEFT_STICK_DIGITAL_DOWN = 36; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.LEFT_STICK_DIGITAL_LEFT = 37; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.RIGHT_STICK_DIGITAL_UP = 38; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.RIGHT_STICK_DIGITAL_RIGHT = 39; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.RIGHT_STICK_DIGITAL_DOWN = 40; flixel_input_gamepad__$FlxGamepadInputID_FlxGamepadInputID_$Impl_$.RIGHT_STICK_DIGITAL_LEFT = 41; openfl_ui_GameInput.__meta__ = { fields : { addEventListener : { SuppressWarnings : ["checkstyle:Dynamic"]}}}; openfl_ui_GameInput.isSupported = true; openfl_ui_GameInput.numDevices = 0; openfl_ui_GameInput.__deviceList = []; openfl_ui_GameInput.__instances = []; openfl_ui_GameInput.__devices = new haxe_ds_ObjectMap(); flixel_input_gamepad_FlxGamepadManager._gameInput = new openfl_ui_GameInput(); flixel_input_gamepad_id_LogitechID.ONE = 0; flixel_input_gamepad_id_LogitechID.TWO = 1; flixel_input_gamepad_id_LogitechID.THREE = 2; flixel_input_gamepad_id_LogitechID.FOUR = 3; flixel_input_gamepad_id_LogitechID.FIVE = 4; flixel_input_gamepad_id_LogitechID.SIX = 5; flixel_input_gamepad_id_LogitechID.SEVEN = 6; flixel_input_gamepad_id_LogitechID.EIGHT = 7; flixel_input_gamepad_id_LogitechID.NINE = 8; flixel_input_gamepad_id_LogitechID.TEN = 9; flixel_input_gamepad_id_LogitechID.LEFT_STICK_CLICK = 10; flixel_input_gamepad_id_LogitechID.RIGHT_STICK_CLICK = 11; flixel_input_gamepad_id_LogitechID.DPAD_UP = 16; flixel_input_gamepad_id_LogitechID.DPAD_DOWN = 17; flixel_input_gamepad_id_LogitechID.DPAD_LEFT = 18; flixel_input_gamepad_id_LogitechID.DPAD_RIGHT = 19; flixel_input_gamepad_id_LogitechID.LOGITECH = -5; flixel_input_gamepad_id_LogitechID.LEFT_ANALOG_STICK = new flixel_input_gamepad_FlxGamepadAnalogStick(0,1,{ up : 24, down : 25, left : 26, right : 27}); flixel_input_gamepad_id_LogitechID.RIGHT_ANALOG_STICK = new flixel_input_gamepad_FlxGamepadAnalogStick(2,3,{ up : 28, down : 29, left : 30, right : 31}); flixel_input_gamepad_id_MFiID.A = 6; flixel_input_gamepad_id_MFiID.B = 7; flixel_input_gamepad_id_MFiID.X = 8; flixel_input_gamepad_id_MFiID.Y = 9; flixel_input_gamepad_id_MFiID.LB = 15; flixel_input_gamepad_id_MFiID.RB = 16; flixel_input_gamepad_id_MFiID.BACK = 10; flixel_input_gamepad_id_MFiID.START = 12; flixel_input_gamepad_id_MFiID.LEFT_STICK_CLICK = 13; flixel_input_gamepad_id_MFiID.RIGHT_STICK_CLICK = 14; flixel_input_gamepad_id_MFiID.GUIDE = 11; flixel_input_gamepad_id_MFiID.DPAD_UP = 17; flixel_input_gamepad_id_MFiID.DPAD_DOWN = 18; flixel_input_gamepad_id_MFiID.DPAD_LEFT = 19; flixel_input_gamepad_id_MFiID.DPAD_RIGHT = 20; flixel_input_gamepad_id_MFiID.LEFT_ANALOG_STICK = new flixel_input_gamepad_FlxGamepadAnalogStick(0,1,{ up : 21, down : 22, left : 23, right : 24}); flixel_input_gamepad_id_MFiID.RIGHT_ANALOG_STICK = new flixel_input_gamepad_FlxGamepadAnalogStick(2,3,{ up : 25, down : 26, left : 27, right : 28}); flixel_input_gamepad_id_MFiID.LEFT_TRIGGER = 4; flixel_input_gamepad_id_MFiID.RIGHT_TRIGGER = 5; flixel_input_gamepad_id_MayflashWiiRemoteID.REMOTE_ONE = 8; flixel_input_gamepad_id_MayflashWiiRemoteID.REMOTE_TWO = 9; flixel_input_gamepad_id_MayflashWiiRemoteID.REMOTE_A = 10; flixel_input_gamepad_id_MayflashWiiRemoteID.REMOTE_B = 11; flixel_input_gamepad_id_MayflashWiiRemoteID.REMOTE_MINUS = 12; flixel_input_gamepad_id_MayflashWiiRemoteID.REMOTE_PLUS = 13; flixel_input_gamepad_id_MayflashWiiRemoteID.REMOTE_HOME = 19; flixel_input_gamepad_id_MayflashWiiRemoteID.NUNCHUK_Z = 14; flixel_input_gamepad_id_MayflashWiiRemoteID.NUNCHUK_C = 15; flixel_input_gamepad_id_MayflashWiiRemoteID.NUNCHUK_DPAD_UP = 4; flixel_input_gamepad_id_MayflashWiiRemoteID.NUNCHUK_DPAD_DOWN = 5; flixel_input_gamepad_id_MayflashWiiRemoteID.NUNCHUK_DPAD_LEFT = 6; flixel_input_gamepad_id_MayflashWiiRemoteID.NUNCHUK_DPAD_RIGHT = 7; flixel_input_gamepad_id_MayflashWiiRemoteID.NUNCHUK_MINUS = 12; flixel_input_gamepad_id_MayflashWiiRemoteID.NUNCHUK_PLUS = 13; flixel_input_gamepad_id_MayflashWiiRemoteID.NUNCHUK_HOME = 19; flixel_input_gamepad_id_MayflashWiiRemoteID.NUNCHUK_A = 10; flixel_input_gamepad_id_MayflashWiiRemoteID.NUNCHUK_B = 11; flixel_input_gamepad_id_MayflashWiiRemoteID.NUNCHUK_ONE = 8; flixel_input_gamepad_id_MayflashWiiRemoteID.NUNCHUK_TWO = 9; flixel_input_gamepad_id_MayflashWiiRemoteID.CLASSIC_Y = 8; flixel_input_gamepad_id_MayflashWiiRemoteID.CLASSIC_X = 9; flixel_input_gamepad_id_MayflashWiiRemoteID.CLASSIC_B = 10; flixel_input_gamepad_id_MayflashWiiRemoteID.CLASSIC_A = 11; flixel_input_gamepad_id_MayflashWiiRemoteID.CLASSIC_L = 12; flixel_input_gamepad_id_MayflashWiiRemoteID.CLASSIC_R = 13; flixel_input_gamepad_id_MayflashWiiRemoteID.CLASSIC_ZL = 14; flixel_input_gamepad_id_MayflashWiiRemoteID.CLASSIC_ZR = 15; flixel_input_gamepad_id_MayflashWiiRemoteID.CLASSIC_SELECT = 16; flixel_input_gamepad_id_MayflashWiiRemoteID.CLASSIC_START = 17; flixel_input_gamepad_id_MayflashWiiRemoteID.CLASSIC_HOME = 19; flixel_input_gamepad_id_MayflashWiiRemoteID.CLASSIC_ONE = -1; flixel_input_gamepad_id_MayflashWiiRemoteID.CLASSIC_TWO = -1; flixel_input_gamepad_id_MayflashWiiRemoteID.CLASSIC_DPAD_UP = 4; flixel_input_gamepad_id_MayflashWiiRemoteID.CLASSIC_DPAD_DOWN = 5; flixel_input_gamepad_id_MayflashWiiRemoteID.CLASSIC_DPAD_LEFT = 6; flixel_input_gamepad_id_MayflashWiiRemoteID.CLASSIC_DPAD_RIGHT = 7; flixel_input_gamepad_id_MayflashWiiRemoteID.NUNCHUK_POINTER_X = 2; flixel_input_gamepad_id_MayflashWiiRemoteID.NUNCHUK_POINTER_Y = 3; flixel_input_gamepad_id_MayflashWiiRemoteID.REMOTE_DPAD = new flixel_input_gamepad_FlxGamepadAnalogStick(0,1,{ up : 22, down : 23, left : 24, right : 25, threshold : 0.5, mode : flixel_input_gamepad_FlxAnalogToDigitalMode.ONLY_DIGITAL}); flixel_input_gamepad_id_MayflashWiiRemoteID.LEFT_ANALOG_STICK = new flixel_input_gamepad_FlxGamepadAnalogStick(0,1,{ up : 26, down : 27, left : 28, right : 29}); flixel_input_gamepad_id_MayflashWiiRemoteID.RIGHT_ANALOG_STICK = new flixel_input_gamepad_FlxGamepadAnalogStick(2,3,{ up : 26, down : 27, left : 28, right : 29}); flixel_input_gamepad_id_MayflashWiiRemoteID.LEFT_TRIGGER_FAKE = 4; flixel_input_gamepad_id_MayflashWiiRemoteID.RIGHT_TRIGGER_FAKE = 5; flixel_input_gamepad_id_MayflashWiiRemoteID.REMOTE_DPAD_UP = 22; flixel_input_gamepad_id_MayflashWiiRemoteID.REMOTE_DPAD_DOWN = 23; flixel_input_gamepad_id_MayflashWiiRemoteID.REMOTE_DPAD_LEFT = 24; flixel_input_gamepad_id_MayflashWiiRemoteID.REMOTE_DPAD_RIGHT = 25; flixel_input_gamepad_id_OUYAID.O = 6; flixel_input_gamepad_id_OUYAID.U = 8; flixel_input_gamepad_id_OUYAID.Y = 9; flixel_input_gamepad_id_OUYAID.A = 7; flixel_input_gamepad_id_OUYAID.LB = 15; flixel_input_gamepad_id_OUYAID.RB = 16; flixel_input_gamepad_id_OUYAID.LEFT_STICK_CLICK = 13; flixel_input_gamepad_id_OUYAID.RIGHT_STICK_CLICK = 14; flixel_input_gamepad_id_OUYAID.HOME = 16777234; flixel_input_gamepad_id_OUYAID.LEFT_TRIGGER = 4; flixel_input_gamepad_id_OUYAID.RIGHT_TRIGGER = 5; flixel_input_gamepad_id_OUYAID.DPAD_LEFT = 19; flixel_input_gamepad_id_OUYAID.DPAD_RIGHT = 20; flixel_input_gamepad_id_OUYAID.DPAD_DOWN = 18; flixel_input_gamepad_id_OUYAID.DPAD_UP = 17; flixel_input_gamepad_id_OUYAID.LEFT_ANALOG_STICK = new flixel_input_gamepad_FlxGamepadAnalogStick(0,1,{ up : 23, down : 24, left : 25, right : 26}); flixel_input_gamepad_id_OUYAID.RIGHT_ANALOG_STICK = new flixel_input_gamepad_FlxGamepadAnalogStick(2,3,{ up : 27, down : 28, left : 29, right : 30}); flixel_input_gamepad_id_PS4ID.X = 6; flixel_input_gamepad_id_PS4ID.CIRCLE = 7; flixel_input_gamepad_id_PS4ID.SQUARE = 8; flixel_input_gamepad_id_PS4ID.TRIANGLE = 9; flixel_input_gamepad_id_PS4ID.PS = 11; flixel_input_gamepad_id_PS4ID.OPTIONS = 12; flixel_input_gamepad_id_PS4ID.LEFT_STICK_CLICK = 13; flixel_input_gamepad_id_PS4ID.RIGHT_STICK_CLICK = 14; flixel_input_gamepad_id_PS4ID.L1 = 15; flixel_input_gamepad_id_PS4ID.R1 = 16; flixel_input_gamepad_id_PS4ID.SHARE = 10; flixel_input_gamepad_id_PS4ID.LEFT_ANALOG_STICK = new flixel_input_gamepad_FlxGamepadAnalogStick(0,1,{ up : 22, down : 23, left : 24, right : 25}); flixel_input_gamepad_id_PS4ID.RIGHT_ANALOG_STICK = new flixel_input_gamepad_FlxGamepadAnalogStick(2,3,{ up : 26, down : 27, left : 28, right : 29}); flixel_input_gamepad_id_PS4ID.TOUCHPAD_CLICK = 30; flixel_input_gamepad_id_PS4ID.L2 = 4; flixel_input_gamepad_id_PS4ID.R2 = 5; flixel_input_gamepad_id_PS4ID.DPAD_UP = 17; flixel_input_gamepad_id_PS4ID.DPAD_DOWN = 18; flixel_input_gamepad_id_PS4ID.DPAD_LEFT = 19; flixel_input_gamepad_id_PS4ID.DPAD_RIGHT = 20; flixel_input_gamepad_id_PSVitaID.X = 6; flixel_input_gamepad_id_PSVitaID.CIRCLE = 7; flixel_input_gamepad_id_PSVitaID.SQUARE = 8; flixel_input_gamepad_id_PSVitaID.TRIANGLE = 9; flixel_input_gamepad_id_PSVitaID.SELECT = 10; flixel_input_gamepad_id_PSVitaID.START = 12; flixel_input_gamepad_id_PSVitaID.L = 15; flixel_input_gamepad_id_PSVitaID.R = 16; flixel_input_gamepad_id_PSVitaID.DPAD_UP = 17; flixel_input_gamepad_id_PSVitaID.DPAD_DOWN = 18; flixel_input_gamepad_id_PSVitaID.DPAD_LEFT = 19; flixel_input_gamepad_id_PSVitaID.DPAD_RIGHT = 20; flixel_input_gamepad_id_PSVitaID.LEFT_ANALOG_STICK = new flixel_input_gamepad_FlxGamepadAnalogStick(0,1,{ up : 21, down : 22, left : 23, right : 24}); flixel_input_gamepad_id_PSVitaID.RIGHT_ANALOG_STICK = new flixel_input_gamepad_FlxGamepadAnalogStick(2,3,{ up : 25, down : 26, left : 27, right : 28}); flixel_input_gamepad_id_SwitchJoyconLeftID.ZL = 4; flixel_input_gamepad_id_SwitchJoyconLeftID.DOWN = 6; flixel_input_gamepad_id_SwitchJoyconLeftID.RIGHT = 7; flixel_input_gamepad_id_SwitchJoyconLeftID.LEFT = 8; flixel_input_gamepad_id_SwitchJoyconLeftID.UP = 9; flixel_input_gamepad_id_SwitchJoyconLeftID.L = 10; flixel_input_gamepad_id_SwitchJoyconLeftID.MINUS = 12; flixel_input_gamepad_id_SwitchJoyconLeftID.LEFT_STICK_CLICK = 13; flixel_input_gamepad_id_SwitchJoyconLeftID.SL = 15; flixel_input_gamepad_id_SwitchJoyconLeftID.SR = 16; flixel_input_gamepad_id_SwitchJoyconLeftID.CAPTURE = 21; flixel_input_gamepad_id_SwitchJoyconLeftID.LEFT_ANALOG_STICK = new flixel_input_gamepad_FlxGamepadAnalogStick(0,1,{ up : 22, down : 23, left : 24, right : 25}); flixel_input_gamepad_id_SwitchJoyconRightID.ZR = 5; flixel_input_gamepad_id_SwitchJoyconRightID.A = 6; flixel_input_gamepad_id_SwitchJoyconRightID.X = 7; flixel_input_gamepad_id_SwitchJoyconRightID.B = 8; flixel_input_gamepad_id_SwitchJoyconRightID.Y = 9; flixel_input_gamepad_id_SwitchJoyconRightID.R = 10; flixel_input_gamepad_id_SwitchJoyconRightID.HOME = 11; flixel_input_gamepad_id_SwitchJoyconRightID.PLUS = 12; flixel_input_gamepad_id_SwitchJoyconRightID.LEFT_STICK_CLICK = 13; flixel_input_gamepad_id_SwitchJoyconRightID.SL = 15; flixel_input_gamepad_id_SwitchJoyconRightID.SR = 16; flixel_input_gamepad_id_SwitchJoyconRightID.LEFT_ANALOG_STICK = new flixel_input_gamepad_FlxGamepadAnalogStick(0,1,{ up : 22, down : 23, left : 24, right : 25}); flixel_input_gamepad_id_SwitchProID.ZL = 4; flixel_input_gamepad_id_SwitchProID.ZR = 5; flixel_input_gamepad_id_SwitchProID.B = 6; flixel_input_gamepad_id_SwitchProID.A = 7; flixel_input_gamepad_id_SwitchProID.Y = 8; flixel_input_gamepad_id_SwitchProID.X = 9; flixel_input_gamepad_id_SwitchProID.MINUS = 10; flixel_input_gamepad_id_SwitchProID.HOME = 11; flixel_input_gamepad_id_SwitchProID.PLUS = 12; flixel_input_gamepad_id_SwitchProID.LEFT_STICK_CLICK = 13; flixel_input_gamepad_id_SwitchProID.RIGHT_STICK_CLICK = 14; flixel_input_gamepad_id_SwitchProID.L = 15; flixel_input_gamepad_id_SwitchProID.R = 16; flixel_input_gamepad_id_SwitchProID.DPAD_UP = 17; flixel_input_gamepad_id_SwitchProID.DPAD_DOWN = 18; flixel_input_gamepad_id_SwitchProID.DPAD_LEFT = 19; flixel_input_gamepad_id_SwitchProID.DPAD_RIGHT = 20; flixel_input_gamepad_id_SwitchProID.CAPTURE = 21; flixel_input_gamepad_id_SwitchProID.LEFT_ANALOG_STICK = new flixel_input_gamepad_FlxGamepadAnalogStick(0,1,{ up : 22, down : 23, left : 24, right : 25}); flixel_input_gamepad_id_SwitchProID.RIGHT_ANALOG_STICK = new flixel_input_gamepad_FlxGamepadAnalogStick(2,3,{ up : 26, down : 27, left : 28, right : 29}); flixel_input_gamepad_id_WiiRemoteID.REMOTE_ONE = 9; flixel_input_gamepad_id_WiiRemoteID.REMOTE_TWO = 10; flixel_input_gamepad_id_WiiRemoteID.REMOTE_A = 11; flixel_input_gamepad_id_WiiRemoteID.REMOTE_B = 12; flixel_input_gamepad_id_WiiRemoteID.REMOTE_PLUS = 13; flixel_input_gamepad_id_WiiRemoteID.REMOTE_MINUS = 14; flixel_input_gamepad_id_WiiRemoteID.REMOTE_HOME = 15; flixel_input_gamepad_id_WiiRemoteID.NUNCHUK_A = 9; flixel_input_gamepad_id_WiiRemoteID.NUNCHUK_B = 10; flixel_input_gamepad_id_WiiRemoteID.NUNCHUK_C = 11; flixel_input_gamepad_id_WiiRemoteID.NUNCHUK_Z = 12; flixel_input_gamepad_id_WiiRemoteID.NUNCHUK_ONE = 13; flixel_input_gamepad_id_WiiRemoteID.NUNCHUK_TWO = 14; flixel_input_gamepad_id_WiiRemoteID.NUNCHUK_PLUS = 15; flixel_input_gamepad_id_WiiRemoteID.NUNCHUK_MINUS = 16; flixel_input_gamepad_id_WiiRemoteID.NUNCHUK_HOME = 17; flixel_input_gamepad_id_WiiRemoteID.NUNCHUK_DPAD_UP = 5; flixel_input_gamepad_id_WiiRemoteID.NUNCHUK_DPAD_DOWN = 6; flixel_input_gamepad_id_WiiRemoteID.NUNCHUK_DPAD_LEFT = 7; flixel_input_gamepad_id_WiiRemoteID.NUNCHUK_DPAD_RIGHT = 8; flixel_input_gamepad_id_WiiRemoteID.CLASSIC_A = 9; flixel_input_gamepad_id_WiiRemoteID.CLASSIC_B = 10; flixel_input_gamepad_id_WiiRemoteID.CLASSIC_Y = 11; flixel_input_gamepad_id_WiiRemoteID.CLASSIC_X = 12; flixel_input_gamepad_id_WiiRemoteID.CLASSIC_L = 13; flixel_input_gamepad_id_WiiRemoteID.CLASSIC_R = 14; flixel_input_gamepad_id_WiiRemoteID.CLASSIC_ZL = 15; flixel_input_gamepad_id_WiiRemoteID.CLASSIC_ZR = 16; flixel_input_gamepad_id_WiiRemoteID.CLASSIC_START = 17; flixel_input_gamepad_id_WiiRemoteID.CLASSIC_SELECT = 18; flixel_input_gamepad_id_WiiRemoteID.CLASSIC_HOME = 19; flixel_input_gamepad_id_WiiRemoteID.CLASSIC_ONE = 20; flixel_input_gamepad_id_WiiRemoteID.CLASSIC_TWO = 21; flixel_input_gamepad_id_WiiRemoteID.CLASSIC_DPAD_UP = 5; flixel_input_gamepad_id_WiiRemoteID.CLASSIC_DPAD_DOWN = 6; flixel_input_gamepad_id_WiiRemoteID.CLASSIC_DPAD_LEFT = 7; flixel_input_gamepad_id_WiiRemoteID.CLASSIC_DPAD_RIGHT = 8; flixel_input_gamepad_id_WiiRemoteID.REMOTE_TILT_PITCH = 2; flixel_input_gamepad_id_WiiRemoteID.REMOTE_TILT_ROLL = 3; flixel_input_gamepad_id_WiiRemoteID.NUNCHUK_TILT_PITCH = 3; flixel_input_gamepad_id_WiiRemoteID.NUNCHUK_TILT_ROLL = 2; flixel_input_gamepad_id_WiiRemoteID.REMOTE_NULL_AXIS = 4; flixel_input_gamepad_id_WiiRemoteID.NUNCHUK_NULL_AXIS = 4; flixel_input_gamepad_id_WiiRemoteID.REMOTE_DPAD = new flixel_input_gamepad_FlxGamepadAnalogStick(0,1,{ up : 22, down : 23, left : 24, right : 25, threshold : 0.5, mode : flixel_input_gamepad_FlxAnalogToDigitalMode.ONLY_DIGITAL}); flixel_input_gamepad_id_WiiRemoteID.LEFT_ANALOG_STICK = new flixel_input_gamepad_FlxGamepadAnalogStick(0,1,{ up : 28, down : 29, left : 30, right : 31}); flixel_input_gamepad_id_WiiRemoteID.RIGHT_ANALOG_STICK = new flixel_input_gamepad_FlxGamepadAnalogStick(2,3,{ up : 32, down : 33, left : 34, right : 35}); flixel_input_gamepad_id_WiiRemoteID.LEFT_TRIGGER_FAKE = 4; flixel_input_gamepad_id_WiiRemoteID.RIGHT_TRIGGER_FAKE = 5; flixel_input_gamepad_id_WiiRemoteID.REMOTE_DPAD_UP = 22; flixel_input_gamepad_id_WiiRemoteID.REMOTE_DPAD_DOWN = 23; flixel_input_gamepad_id_WiiRemoteID.REMOTE_DPAD_LEFT = 24; flixel_input_gamepad_id_WiiRemoteID.REMOTE_DPAD_RIGHT = 25; flixel_input_gamepad_id_WiiRemoteID.REMOTE_DPAD_X = 26; flixel_input_gamepad_id_WiiRemoteID.REMOTE_DPAD_Y = 27; flixel_input_gamepad_id_XInputID.A = 6; flixel_input_gamepad_id_XInputID.B = 7; flixel_input_gamepad_id_XInputID.X = 8; flixel_input_gamepad_id_XInputID.Y = 9; flixel_input_gamepad_id_XInputID.BACK = 10; flixel_input_gamepad_id_XInputID.GUIDE = -1; flixel_input_gamepad_id_XInputID.START = 12; flixel_input_gamepad_id_XInputID.LEFT_STICK_CLICK = 13; flixel_input_gamepad_id_XInputID.RIGHT_STICK_CLICK = 14; flixel_input_gamepad_id_XInputID.LB = 15; flixel_input_gamepad_id_XInputID.RB = 16; flixel_input_gamepad_id_XInputID.DPAD_UP = 17; flixel_input_gamepad_id_XInputID.DPAD_DOWN = 18; flixel_input_gamepad_id_XInputID.DPAD_LEFT = 19; flixel_input_gamepad_id_XInputID.DPAD_RIGHT = 20; flixel_input_gamepad_id_XInputID.LEFT_ANALOG_STICK = new flixel_input_gamepad_FlxGamepadAnalogStick(0,1,{ up : 21, down : 22, left : 23, right : 24}); flixel_input_gamepad_id_XInputID.RIGHT_ANALOG_STICK = new flixel_input_gamepad_FlxGamepadAnalogStick(2,3,{ up : 25, down : 26, left : 27, right : 28}); flixel_input_gamepad_id_XInputID.LEFT_TRIGGER = 4; flixel_input_gamepad_id_XInputID.RIGHT_TRIGGER = 5; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.fromStringMap = (function($this) { var $r; var _g = new haxe_ds_StringMap(); if(__map_reserved["ANY"] != null) { _g.setReserved("ANY",-2); } else { _g.h["ANY"] = -2; } if(__map_reserved["A"] != null) { _g.setReserved("A",65); } else { _g.h["A"] = 65; } if(__map_reserved["B"] != null) { _g.setReserved("B",66); } else { _g.h["B"] = 66; } if(__map_reserved["C"] != null) { _g.setReserved("C",67); } else { _g.h["C"] = 67; } if(__map_reserved["D"] != null) { _g.setReserved("D",68); } else { _g.h["D"] = 68; } if(__map_reserved["E"] != null) { _g.setReserved("E",69); } else { _g.h["E"] = 69; } if(__map_reserved["F"] != null) { _g.setReserved("F",70); } else { _g.h["F"] = 70; } if(__map_reserved["G"] != null) { _g.setReserved("G",71); } else { _g.h["G"] = 71; } if(__map_reserved["H"] != null) { _g.setReserved("H",72); } else { _g.h["H"] = 72; } if(__map_reserved["I"] != null) { _g.setReserved("I",73); } else { _g.h["I"] = 73; } if(__map_reserved["J"] != null) { _g.setReserved("J",74); } else { _g.h["J"] = 74; } if(__map_reserved["K"] != null) { _g.setReserved("K",75); } else { _g.h["K"] = 75; } if(__map_reserved["L"] != null) { _g.setReserved("L",76); } else { _g.h["L"] = 76; } if(__map_reserved["M"] != null) { _g.setReserved("M",77); } else { _g.h["M"] = 77; } if(__map_reserved["N"] != null) { _g.setReserved("N",78); } else { _g.h["N"] = 78; } if(__map_reserved["O"] != null) { _g.setReserved("O",79); } else { _g.h["O"] = 79; } if(__map_reserved["P"] != null) { _g.setReserved("P",80); } else { _g.h["P"] = 80; } if(__map_reserved["Q"] != null) { _g.setReserved("Q",81); } else { _g.h["Q"] = 81; } if(__map_reserved["R"] != null) { _g.setReserved("R",82); } else { _g.h["R"] = 82; } if(__map_reserved["S"] != null) { _g.setReserved("S",83); } else { _g.h["S"] = 83; } if(__map_reserved["T"] != null) { _g.setReserved("T",84); } else { _g.h["T"] = 84; } if(__map_reserved["U"] != null) { _g.setReserved("U",85); } else { _g.h["U"] = 85; } if(__map_reserved["V"] != null) { _g.setReserved("V",86); } else { _g.h["V"] = 86; } if(__map_reserved["W"] != null) { _g.setReserved("W",87); } else { _g.h["W"] = 87; } if(__map_reserved["X"] != null) { _g.setReserved("X",88); } else { _g.h["X"] = 88; } if(__map_reserved["Y"] != null) { _g.setReserved("Y",89); } else { _g.h["Y"] = 89; } if(__map_reserved["Z"] != null) { _g.setReserved("Z",90); } else { _g.h["Z"] = 90; } if(__map_reserved["ZERO"] != null) { _g.setReserved("ZERO",48); } else { _g.h["ZERO"] = 48; } if(__map_reserved["ONE"] != null) { _g.setReserved("ONE",49); } else { _g.h["ONE"] = 49; } if(__map_reserved["TWO"] != null) { _g.setReserved("TWO",50); } else { _g.h["TWO"] = 50; } if(__map_reserved["THREE"] != null) { _g.setReserved("THREE",51); } else { _g.h["THREE"] = 51; } if(__map_reserved["FOUR"] != null) { _g.setReserved("FOUR",52); } else { _g.h["FOUR"] = 52; } if(__map_reserved["FIVE"] != null) { _g.setReserved("FIVE",53); } else { _g.h["FIVE"] = 53; } if(__map_reserved["SIX"] != null) { _g.setReserved("SIX",54); } else { _g.h["SIX"] = 54; } if(__map_reserved["SEVEN"] != null) { _g.setReserved("SEVEN",55); } else { _g.h["SEVEN"] = 55; } if(__map_reserved["EIGHT"] != null) { _g.setReserved("EIGHT",56); } else { _g.h["EIGHT"] = 56; } if(__map_reserved["NINE"] != null) { _g.setReserved("NINE",57); } else { _g.h["NINE"] = 57; } if(__map_reserved["PAGEUP"] != null) { _g.setReserved("PAGEUP",33); } else { _g.h["PAGEUP"] = 33; } if(__map_reserved["PAGEDOWN"] != null) { _g.setReserved("PAGEDOWN",34); } else { _g.h["PAGEDOWN"] = 34; } if(__map_reserved["HOME"] != null) { _g.setReserved("HOME",36); } else { _g.h["HOME"] = 36; } if(__map_reserved["END"] != null) { _g.setReserved("END",35); } else { _g.h["END"] = 35; } if(__map_reserved["INSERT"] != null) { _g.setReserved("INSERT",45); } else { _g.h["INSERT"] = 45; } if(__map_reserved["ESCAPE"] != null) { _g.setReserved("ESCAPE",27); } else { _g.h["ESCAPE"] = 27; } if(__map_reserved["MINUS"] != null) { _g.setReserved("MINUS",189); } else { _g.h["MINUS"] = 189; } if(__map_reserved["PLUS"] != null) { _g.setReserved("PLUS",187); } else { _g.h["PLUS"] = 187; } if(__map_reserved["DELETE"] != null) { _g.setReserved("DELETE",46); } else { _g.h["DELETE"] = 46; } if(__map_reserved["BACKSPACE"] != null) { _g.setReserved("BACKSPACE",8); } else { _g.h["BACKSPACE"] = 8; } if(__map_reserved["LBRACKET"] != null) { _g.setReserved("LBRACKET",219); } else { _g.h["LBRACKET"] = 219; } if(__map_reserved["RBRACKET"] != null) { _g.setReserved("RBRACKET",221); } else { _g.h["RBRACKET"] = 221; } if(__map_reserved["BACKSLASH"] != null) { _g.setReserved("BACKSLASH",220); } else { _g.h["BACKSLASH"] = 220; } if(__map_reserved["CAPSLOCK"] != null) { _g.setReserved("CAPSLOCK",20); } else { _g.h["CAPSLOCK"] = 20; } if(__map_reserved["SEMICOLON"] != null) { _g.setReserved("SEMICOLON",186); } else { _g.h["SEMICOLON"] = 186; } if(__map_reserved["QUOTE"] != null) { _g.setReserved("QUOTE",222); } else { _g.h["QUOTE"] = 222; } if(__map_reserved["ENTER"] != null) { _g.setReserved("ENTER",13); } else { _g.h["ENTER"] = 13; } if(__map_reserved["SHIFT"] != null) { _g.setReserved("SHIFT",16); } else { _g.h["SHIFT"] = 16; } if(__map_reserved["COMMA"] != null) { _g.setReserved("COMMA",188); } else { _g.h["COMMA"] = 188; } if(__map_reserved["PERIOD"] != null) { _g.setReserved("PERIOD",190); } else { _g.h["PERIOD"] = 190; } if(__map_reserved["SLASH"] != null) { _g.setReserved("SLASH",191); } else { _g.h["SLASH"] = 191; } if(__map_reserved["GRAVEACCENT"] != null) { _g.setReserved("GRAVEACCENT",192); } else { _g.h["GRAVEACCENT"] = 192; } if(__map_reserved["CONTROL"] != null) { _g.setReserved("CONTROL",17); } else { _g.h["CONTROL"] = 17; } if(__map_reserved["ALT"] != null) { _g.setReserved("ALT",18); } else { _g.h["ALT"] = 18; } if(__map_reserved["SPACE"] != null) { _g.setReserved("SPACE",32); } else { _g.h["SPACE"] = 32; } if(__map_reserved["UP"] != null) { _g.setReserved("UP",38); } else { _g.h["UP"] = 38; } if(__map_reserved["DOWN"] != null) { _g.setReserved("DOWN",40); } else { _g.h["DOWN"] = 40; } if(__map_reserved["LEFT"] != null) { _g.setReserved("LEFT",37); } else { _g.h["LEFT"] = 37; } if(__map_reserved["RIGHT"] != null) { _g.setReserved("RIGHT",39); } else { _g.h["RIGHT"] = 39; } if(__map_reserved["TAB"] != null) { _g.setReserved("TAB",9); } else { _g.h["TAB"] = 9; } if(__map_reserved["PRINTSCREEN"] != null) { _g.setReserved("PRINTSCREEN",301); } else { _g.h["PRINTSCREEN"] = 301; } if(__map_reserved["F1"] != null) { _g.setReserved("F1",112); } else { _g.h["F1"] = 112; } if(__map_reserved["F2"] != null) { _g.setReserved("F2",113); } else { _g.h["F2"] = 113; } if(__map_reserved["F3"] != null) { _g.setReserved("F3",114); } else { _g.h["F3"] = 114; } if(__map_reserved["F4"] != null) { _g.setReserved("F4",115); } else { _g.h["F4"] = 115; } if(__map_reserved["F5"] != null) { _g.setReserved("F5",116); } else { _g.h["F5"] = 116; } if(__map_reserved["F6"] != null) { _g.setReserved("F6",117); } else { _g.h["F6"] = 117; } if(__map_reserved["F7"] != null) { _g.setReserved("F7",118); } else { _g.h["F7"] = 118; } if(__map_reserved["F8"] != null) { _g.setReserved("F8",119); } else { _g.h["F8"] = 119; } if(__map_reserved["F9"] != null) { _g.setReserved("F9",120); } else { _g.h["F9"] = 120; } if(__map_reserved["F10"] != null) { _g.setReserved("F10",121); } else { _g.h["F10"] = 121; } if(__map_reserved["F11"] != null) { _g.setReserved("F11",122); } else { _g.h["F11"] = 122; } if(__map_reserved["F12"] != null) { _g.setReserved("F12",123); } else { _g.h["F12"] = 123; } if(__map_reserved["NUMPADZERO"] != null) { _g.setReserved("NUMPADZERO",96); } else { _g.h["NUMPADZERO"] = 96; } if(__map_reserved["NUMPADONE"] != null) { _g.setReserved("NUMPADONE",97); } else { _g.h["NUMPADONE"] = 97; } if(__map_reserved["NUMPADTWO"] != null) { _g.setReserved("NUMPADTWO",98); } else { _g.h["NUMPADTWO"] = 98; } if(__map_reserved["NUMPADTHREE"] != null) { _g.setReserved("NUMPADTHREE",99); } else { _g.h["NUMPADTHREE"] = 99; } if(__map_reserved["NUMPADFOUR"] != null) { _g.setReserved("NUMPADFOUR",100); } else { _g.h["NUMPADFOUR"] = 100; } if(__map_reserved["NUMPADFIVE"] != null) { _g.setReserved("NUMPADFIVE",101); } else { _g.h["NUMPADFIVE"] = 101; } if(__map_reserved["NUMPADSIX"] != null) { _g.setReserved("NUMPADSIX",102); } else { _g.h["NUMPADSIX"] = 102; } if(__map_reserved["NUMPADSEVEN"] != null) { _g.setReserved("NUMPADSEVEN",103); } else { _g.h["NUMPADSEVEN"] = 103; } if(__map_reserved["NUMPADEIGHT"] != null) { _g.setReserved("NUMPADEIGHT",104); } else { _g.h["NUMPADEIGHT"] = 104; } if(__map_reserved["NUMPADNINE"] != null) { _g.setReserved("NUMPADNINE",105); } else { _g.h["NUMPADNINE"] = 105; } if(__map_reserved["NUMPADMINUS"] != null) { _g.setReserved("NUMPADMINUS",109); } else { _g.h["NUMPADMINUS"] = 109; } if(__map_reserved["NUMPADPLUS"] != null) { _g.setReserved("NUMPADPLUS",107); } else { _g.h["NUMPADPLUS"] = 107; } if(__map_reserved["NUMPADPERIOD"] != null) { _g.setReserved("NUMPADPERIOD",110); } else { _g.h["NUMPADPERIOD"] = 110; } if(__map_reserved["NUMPADMULTIPLY"] != null) { _g.setReserved("NUMPADMULTIPLY",106); } else { _g.h["NUMPADMULTIPLY"] = 106; } $r = _g; return $r; }(this)); flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.toStringMap = (function($this) { var $r; var _g = new haxe_ds_IntMap(); _g.h[-2] = "ANY"; _g.h[65] = "A"; _g.h[66] = "B"; _g.h[67] = "C"; _g.h[68] = "D"; _g.h[69] = "E"; _g.h[70] = "F"; _g.h[71] = "G"; _g.h[72] = "H"; _g.h[73] = "I"; _g.h[74] = "J"; _g.h[75] = "K"; _g.h[76] = "L"; _g.h[77] = "M"; _g.h[78] = "N"; _g.h[79] = "O"; _g.h[80] = "P"; _g.h[81] = "Q"; _g.h[82] = "R"; _g.h[83] = "S"; _g.h[84] = "T"; _g.h[85] = "U"; _g.h[86] = "V"; _g.h[87] = "W"; _g.h[88] = "X"; _g.h[89] = "Y"; _g.h[90] = "Z"; _g.h[48] = "ZERO"; _g.h[49] = "ONE"; _g.h[50] = "TWO"; _g.h[51] = "THREE"; _g.h[52] = "FOUR"; _g.h[53] = "FIVE"; _g.h[54] = "SIX"; _g.h[55] = "SEVEN"; _g.h[56] = "EIGHT"; _g.h[57] = "NINE"; _g.h[33] = "PAGEUP"; _g.h[34] = "PAGEDOWN"; _g.h[36] = "HOME"; _g.h[35] = "END"; _g.h[45] = "INSERT"; _g.h[27] = "ESCAPE"; _g.h[189] = "MINUS"; _g.h[187] = "PLUS"; _g.h[46] = "DELETE"; _g.h[8] = "BACKSPACE"; _g.h[219] = "LBRACKET"; _g.h[221] = "RBRACKET"; _g.h[220] = "BACKSLASH"; _g.h[20] = "CAPSLOCK"; _g.h[186] = "SEMICOLON"; _g.h[222] = "QUOTE"; _g.h[13] = "ENTER"; _g.h[16] = "SHIFT"; _g.h[188] = "COMMA"; _g.h[190] = "PERIOD"; _g.h[191] = "SLASH"; _g.h[192] = "GRAVEACCENT"; _g.h[17] = "CONTROL"; _g.h[18] = "ALT"; _g.h[32] = "SPACE"; _g.h[38] = "UP"; _g.h[40] = "DOWN"; _g.h[37] = "LEFT"; _g.h[39] = "RIGHT"; _g.h[9] = "TAB"; _g.h[301] = "PRINTSCREEN"; _g.h[112] = "F1"; _g.h[113] = "F2"; _g.h[114] = "F3"; _g.h[115] = "F4"; _g.h[116] = "F5"; _g.h[117] = "F6"; _g.h[118] = "F7"; _g.h[119] = "F8"; _g.h[120] = "F9"; _g.h[121] = "F10"; _g.h[122] = "F11"; _g.h[123] = "F12"; _g.h[96] = "NUMPADZERO"; _g.h[97] = "NUMPADONE"; _g.h[98] = "NUMPADTWO"; _g.h[99] = "NUMPADTHREE"; _g.h[100] = "NUMPADFOUR"; _g.h[101] = "NUMPADFIVE"; _g.h[102] = "NUMPADSIX"; _g.h[103] = "NUMPADSEVEN"; _g.h[104] = "NUMPADEIGHT"; _g.h[105] = "NUMPADNINE"; _g.h[109] = "NUMPADMINUS"; _g.h[107] = "NUMPADPLUS"; _g.h[110] = "NUMPADPERIOD"; _g.h[106] = "NUMPADMULTIPLY"; $r = _g; return $r; }(this)); flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.ANY = -2; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.NONE = -1; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.A = 65; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.B = 66; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.C = 67; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.D = 68; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.E = 69; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.F = 70; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.G = 71; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.H = 72; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.I = 73; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.J = 74; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.K = 75; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.L = 76; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.M = 77; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.N = 78; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.O = 79; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.P = 80; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.Q = 81; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.R = 82; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.S = 83; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.T = 84; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.U = 85; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.V = 86; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.W = 87; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.X = 88; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.Y = 89; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.Z = 90; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.ZERO = 48; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.ONE = 49; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.TWO = 50; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.THREE = 51; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.FOUR = 52; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.FIVE = 53; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.SIX = 54; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.SEVEN = 55; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.EIGHT = 56; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.NINE = 57; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.PAGEUP = 33; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.PAGEDOWN = 34; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.HOME = 36; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.END = 35; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.INSERT = 45; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.ESCAPE = 27; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.MINUS = 189; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.PLUS = 187; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.DELETE = 46; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.BACKSPACE = 8; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.LBRACKET = 219; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.RBRACKET = 221; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.BACKSLASH = 220; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.CAPSLOCK = 20; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.SEMICOLON = 186; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.QUOTE = 222; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.ENTER = 13; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.SHIFT = 16; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.COMMA = 188; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.PERIOD = 190; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.SLASH = 191; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.GRAVEACCENT = 192; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.CONTROL = 17; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.ALT = 18; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.SPACE = 32; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.UP = 38; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.DOWN = 40; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.LEFT = 37; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.RIGHT = 39; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.TAB = 9; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.PRINTSCREEN = 301; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.F1 = 112; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.F2 = 113; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.F3 = 114; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.F4 = 115; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.F5 = 116; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.F6 = 117; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.F7 = 118; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.F8 = 119; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.F9 = 120; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.F10 = 121; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.F11 = 122; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.F12 = 123; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.NUMPADZERO = 96; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.NUMPADONE = 97; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.NUMPADTWO = 98; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.NUMPADTHREE = 99; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.NUMPADFOUR = 100; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.NUMPADFIVE = 101; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.NUMPADSIX = 102; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.NUMPADSEVEN = 103; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.NUMPADEIGHT = 104; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.NUMPADNINE = 105; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.NUMPADMINUS = 109; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.NUMPADPLUS = 107; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.NUMPADPERIOD = 110; flixel_input_keyboard__$FlxKey_FlxKey_$Impl_$.NUMPADMULTIPLY = 106; flixel_input_mouse__$FlxMouse_GraphicCursor.resourceType = "image/png"; flixel_input_mouse__$FlxMouse_GraphicCursor.resourceName = "__ASSET__:bitmap_flixel_input_mouse__FlxMouse_GraphicCursor"; flixel_input_touch_FlxTouchManager.maxTouchPoints = 0; flixel_math_FlxMath.MIN_VALUE_FLOAT = 0.0000000000000001; flixel_math_FlxMath.MAX_VALUE_FLOAT = 1.79e+308; flixel_math_FlxMath.MIN_VALUE_INT = -2147483647; flixel_math_FlxMath.MAX_VALUE_INT = 2147483647; flixel_math_FlxMath.SQUARE_ROOT_OF_TWO = 1.41421356237; flixel_math_FlxMath.EPSILON = 0.0000001; flixel_math__$FlxVector_FlxVector_$Impl_$.EPSILON = 0.0000001; flixel_math__$FlxVector_FlxVector_$Impl_$.EPSILON_SQUARED = 9.99999999999999841e-15; flixel_math__$FlxVector_FlxVector_$Impl_$._vector1 = (function($this) { var $r; var this1 = new flixel_math_FlxPoint(0,0); $r = this1; return $r; }(this)); flixel_math__$FlxVector_FlxVector_$Impl_$._vector2 = (function($this) { var $r; var this1 = new flixel_math_FlxPoint(0,0); $r = this1; return $r; }(this)); flixel_math__$FlxVector_FlxVector_$Impl_$._vector3 = (function($this) { var $r; var this1 = new flixel_math_FlxPoint(0,0); $r = this1; return $r; }(this)); flixel_system_GraphicLogo.resourceType = "image/png"; flixel_system_GraphicLogo.resourceName = "__ASSET__:bitmap_flixel_system_GraphicLogo"; flixel_system_GraphicVirtualInput.resourceType = "image/png"; flixel_system_GraphicVirtualInput.resourceName = "__ASSET__:bitmap_flixel_system_GraphicVirtualInput"; openfl_utils_ByteArrayData.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl_utils_ByteArrayData.defaultObjectEncoding = 10; openfl_utils_ByteArrayData.__defaultEndian = null; flixel_system_VirtualInputData.resourceName = "__ASSET__:file_flixel_system_VirtualInputData"; flixel_system_FlxAssets.FONT_DEFAULT = "Nokia Cellphone FC Small"; flixel_system_FlxAssets.FONT_DEBUGGER = "Monsterrat"; flixel_system_FlxBasePreloader.LOCAL = "localhost"; flixel_system_FlxLinkedList._NUM_CACHED_FLX_LIST = 0; flixel_system__$FlxPreloader_GraphicLogoLight.resourceType = "image/png"; flixel_system__$FlxPreloader_GraphicLogoLight.resourceName = "__ASSET__:bitmap_flixel_system__FlxPreloader_GraphicLogoLight"; flixel_system__$FlxPreloader_GraphicLogoCorners.resourceType = "image/png"; flixel_system__$FlxPreloader_GraphicLogoCorners.resourceName = "__ASSET__:bitmap_flixel_system__FlxPreloader_GraphicLogoCorners"; flixel_system_FlxQuadTree.A_LIST = 0; flixel_system_FlxQuadTree.B_LIST = 1; flixel_system_FlxQuadTree._NUM_CACHED_QUAD_TREES = 0; flixel_system_FlxSplash.muted = true; flixel_system_debug__$FlxDebugger_GraphicFlixel.resourceType = "image/png"; flixel_system_debug__$FlxDebugger_GraphicFlixel.resourceName = "__ASSET__:bitmap_flixel_system_debug__FlxDebugger_GraphicFlixel"; flixel_system_debug__$FlxDebugger_GraphicDrawDebug.resourceType = "image/png"; flixel_system_debug__$FlxDebugger_GraphicDrawDebug.resourceName = "__ASSET__:bitmap_flixel_system_debug__FlxDebugger_GraphicDrawDebug"; flixel_system_debug_GraphicLog.resourceType = "image/png"; flixel_system_debug_GraphicLog.resourceName = "__ASSET__:bitmap_flixel_system_debug_GraphicLog"; flixel_system_debug_GraphicStats.resourceType = "image/png"; flixel_system_debug_GraphicStats.resourceName = "__ASSET__:bitmap_flixel_system_debug_GraphicStats"; flixel_system_debug_GraphicWatch.resourceType = "image/png"; flixel_system_debug_GraphicWatch.resourceName = "__ASSET__:bitmap_flixel_system_debug_GraphicWatch"; flixel_system_debug_GraphicBitmapLog.resourceType = "image/png"; flixel_system_debug_GraphicBitmapLog.resourceName = "__ASSET__:bitmap_flixel_system_debug_GraphicBitmapLog"; flixel_system_debug_GraphicConsole.resourceType = "image/png"; flixel_system_debug_GraphicConsole.resourceName = "__ASSET__:bitmap_flixel_system_debug_GraphicConsole"; flixel_system_debug_GraphicArrowLeft.resourceType = "image/png"; flixel_system_debug_GraphicArrowLeft.resourceName = "__ASSET__:bitmap_flixel_system_debug_GraphicArrowLeft"; flixel_system_debug_GraphicArrowRight.resourceType = "image/png"; flixel_system_debug_GraphicArrowRight.resourceName = "__ASSET__:bitmap_flixel_system_debug_GraphicArrowRight"; flixel_system_debug_GraphicCloseButton.resourceType = "image/png"; flixel_system_debug_GraphicCloseButton.resourceName = "__ASSET__:bitmap_flixel_system_debug_GraphicCloseButton"; flixel_system_debug_GraphicInteractive.resourceType = "image/png"; flixel_system_debug_GraphicInteractive.resourceName = "__ASSET__:bitmap_flixel_system_debug_GraphicInteractive"; flixel_system_debug_Tooltip._tooltips = []; flixel_system_debug_TooltipOverlay.BG_COLOR = -12961222; flixel_system_debug_TooltipOverlay.TEXT_ALPHA = 0.8; flixel_system_debug_TooltipOverlay.MARGIN_X = 10; flixel_system_debug_TooltipOverlay.MARGIN_Y = 10; flixel_system_debug__$Window_GraphicWindowHandle.resourceType = "image/png"; flixel_system_debug__$Window_GraphicWindowHandle.resourceName = "__ASSET__:bitmap_flixel_system_debug__Window_GraphicWindowHandle"; flixel_system_debug_Window.BG_COLOR = -580952225; flixel_system_debug_Window.HEADER_COLOR = -1157627904; flixel_system_debug_Window.HEADER_ALPHA = 0.8; flixel_system_debug_Window.HEADER_HEIGHT = 15; flixel_system_debug_Window.WINDOW_AMOUNT = 0; flixel_system_debug_completion_CompletionListEntry.WIDTH = 150; flixel_system_debug_completion_CompletionListEntry.HEIGHT = 20; flixel_system_debug_completion_CompletionListEntry.COLOR_NORMAL = -10526881; flixel_system_debug_completion_CompletionListEntry.COLOR_HIGHLIGHT = -9605779; flixel_system_debug_completion_CompletionListEntry.GUTTER = 4; flixel_system_debug_completion_CompletionListScrollBar.BG_COLOR = -12303292; flixel_system_debug_completion_CompletionListScrollBar.HANDLE_COLOR = -14540254; flixel_system_debug_interaction_tools__$Eraser_GraphicEraserTool.resourceType = "image/png"; flixel_system_debug_interaction_tools__$Eraser_GraphicEraserTool.resourceName = "__ASSET__:bitmap_flixel_system_debug_interaction_tools__Eraser_GraphicEraserTool"; flixel_system_debug_interaction_tools__$Mover_GraphicMoverTool.resourceType = "image/png"; flixel_system_debug_interaction_tools__$Mover_GraphicMoverTool.resourceName = "__ASSET__:bitmap_flixel_system_debug_interaction_tools__Mover_GraphicMoverTool"; flixel_system_debug_interaction_tools_GraphicCursorCross.resourceType = "image/png"; flixel_system_debug_interaction_tools_GraphicCursorCross.resourceName = "__ASSET__:bitmap_flixel_system_debug_interaction_tools_GraphicCursorCross"; flixel_system_debug_interaction_tools__$Transform_GraphicTransformTool.resourceType = "image/png"; flixel_system_debug_interaction_tools__$Transform_GraphicTransformTool.resourceName = "__ASSET__:bitmap_flixel_system_debug_interaction_tools__Transform_GraphicTransformTool"; flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorDefault.resourceType = "image/png"; flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorDefault.resourceName = "__ASSET__:bitmap_flixel_system_debug_interaction_tools__Transform_GraphicTransformCursorDefault"; flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleY.resourceType = "image/png"; flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleY.resourceName = "__ASSET__:bitmap_flixel_system_debug_interaction_tools__Transform_GraphicTransformCursorScaleY"; flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleX.resourceType = "image/png"; flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleX.resourceName = "__ASSET__:bitmap_flixel_system_debug_interaction_tools__Transform_GraphicTransformCursorScaleX"; flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleXY.resourceType = "image/png"; flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorScaleXY.resourceName = "__ASSET__:bitmap_flixel_system_debug_interaction_tools__Transform_GraphicTransformCursorScaleXY"; flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorRotate.resourceType = "image/png"; flixel_system_debug_interaction_tools__$Transform_GraphicTransformCursorRotate.resourceName = "__ASSET__:bitmap_flixel_system_debug_interaction_tools__Transform_GraphicTransformCursorRotate"; flixel_system_debug_interaction_tools_Transform.OUTLINE_PADDING = 5.0; flixel_system_debug_interaction_tools_Transform.MARKER_SIZE = 3.0; flixel_system_debug_interaction_tools_Transform.MARKER_INTERACTION_DISTANCE = 5.0; flixel_system_debug_interaction_tools_Transform.RESIZE_STEP = 10.0; flixel_system_debug_interaction_tools_Transform.CURSOR_ROTATE = "transformRotate"; flixel_system_debug_interaction_tools_Transform.CURSOR_SCALE_X = "transformScaleX"; flixel_system_debug_interaction_tools_Transform.CURSOR_SCALE_Y = "transformScaleY"; flixel_system_debug_interaction_tools_Transform.CURSOR_SCALE_XY = "transformScaleXY"; flixel_system_debug_interaction_tools_Transform.MARKER_ROTATE = 0; flixel_system_debug_interaction_tools_Transform.MARKER_SCALE_X = 1; flixel_system_debug_interaction_tools_Transform.MARKER_SCALE_XY = 2; flixel_system_debug_interaction_tools_Transform.MARKER_SCALE_Y = 3; flixel_system_debug_log_LogStyle.NORMAL = new flixel_system_debug_log_LogStyle(); flixel_system_debug_log_LogStyle.WARNING = new flixel_system_debug_log_LogStyle("[WARNING] ","D9F85C",12,false,false,false,"flixel/sounds/beep",true); flixel_system_debug_log_LogStyle.ERROR = new flixel_system_debug_log_LogStyle("[ERROR] ","FF8888",12,false,false,false,"flixel/sounds/beep",true); flixel_system_debug_log_LogStyle.NOTICE = new flixel_system_debug_log_LogStyle("[NOTICE] ","5CF878",12,false); flixel_system_debug_log_LogStyle.CONSOLE = new flixel_system_debug_log_LogStyle("> ","5A96FA",12,false); flixel_system_debug_stats__$Stats_GraphicMinimizeButton.resourceType = "image/png"; flixel_system_debug_stats__$Stats_GraphicMinimizeButton.resourceName = "__ASSET__:bitmap_flixel_system_debug_stats__Stats_GraphicMinimizeButton"; flixel_system_debug_stats__$Stats_GraphicMaximizeButton.resourceType = "image/png"; flixel_system_debug_stats__$Stats_GraphicMaximizeButton.resourceName = "__ASSET__:bitmap_flixel_system_debug_stats__Stats_GraphicMaximizeButton"; flixel_text__$FlxText_FlxTextAlign_$Impl_$.LEFT = "left"; flixel_text__$FlxText_FlxTextAlign_$Impl_$.CENTER = "center"; flixel_text__$FlxText_FlxTextAlign_$Impl_$.RIGHT = "right"; flixel_text__$FlxText_FlxTextAlign_$Impl_$.JUSTIFY = "justify"; flixel_tile_FlxBaseTilemap.offsetAutoTile = [0,0,0,0,2,2,0,3,0,0,0,0,0,0,0,0,11,11,0,0,13,13,0,14,0,0,0,0,18,18,0,19,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,51,51,0,0,53,53,0,54,0,0,0,0,0,0,0,0,62,62,0,0,64,64,0,65,0,0,0,0,69,69,0,70,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,86,86,0,0,88,88,0,89,0,0,0,0,93,93,0,94,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,159,0,0,0,162,0,163,0,0,0,0,0,0,0,0,0,172,0,0,0,175,0,176,0,0,0,0,0,181,0,182,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,199,0,0,0,202,0,203,0,0,0,0,0,208,0,209]; flixel_tweens_FlxEase.PI2 = Math.PI / 2; flixel_tweens_FlxEase.EL = 2 * Math.PI / .45; flixel_tweens_FlxEase.B1 = 0.363636363636363646; flixel_tweens_FlxEase.B2 = 0.727272727272727293; flixel_tweens_FlxEase.B3 = 0.545454545454545414; flixel_tweens_FlxEase.B4 = 0.909090909090909061; flixel_tweens_FlxEase.B5 = 0.818181818181818232; flixel_tweens_FlxEase.B6 = 0.954545454545454586; flixel_tweens_FlxEase.ELASTIC_AMPLITUDE = 1; flixel_tweens_FlxEase.ELASTIC_PERIOD = 0.4; flixel_tweens_FlxTween.PERSIST = 1; flixel_tweens_FlxTween.LOOPING = 2; flixel_tweens_FlxTween.PINGPONG = 4; flixel_tweens_FlxTween.ONESHOT = 8; flixel_tweens_FlxTween.BACKWARD = 16; flixel_ui_FlxButton.NORMAL = 0; flixel_ui_FlxButton.HIGHLIGHT = 1; flixel_ui_FlxButton.PRESSED = 2; flixel_util_FlxBitmapDataPool.maxLength = 8; flixel_util_FlxBitmapDataPool.$length = 0; flixel_util_FlxBitmapDataPool._head = null; flixel_util_FlxBitmapDataPool._tail = null; flixel_util_FlxBitmapDataPool._rect = new openfl_geom_Rectangle(); flixel_util_FlxBitmapDataUtil.matrix = new flixel_math_FlxMatrix(); flixel_util_FlxCollision.pointA = (function($this) { var $r; var this1 = new flixel_math_FlxPoint(0,0); $r = this1; return $r; }(this)); flixel_util_FlxCollision.pointB = (function($this) { var $r; var this1 = new flixel_math_FlxPoint(0,0); $r = this1; return $r; }(this)); flixel_util_FlxCollision.centerA = (function($this) { var $r; var this1 = new flixel_math_FlxPoint(0,0); $r = this1; return $r; }(this)); flixel_util_FlxCollision.centerB = (function($this) { var $r; var this1 = new flixel_math_FlxPoint(0,0); $r = this1; return $r; }(this)); flixel_util_FlxCollision.matrixA = new flixel_math_FlxMatrix(); flixel_util_FlxCollision.matrixB = new flixel_math_FlxMatrix(); flixel_util_FlxCollision.testMatrix = new flixel_math_FlxMatrix(); flixel_util_FlxCollision.boundsA = new flixel_math_FlxRect(); flixel_util_FlxCollision.boundsB = new flixel_math_FlxRect(); flixel_util_FlxCollision.intersect = new flixel_math_FlxRect(); flixel_util_FlxCollision.flashRect = new openfl_geom_Rectangle(); flixel_util__$FlxColor_FlxColor_$Impl_$.TRANSPARENT = 0; flixel_util__$FlxColor_FlxColor_$Impl_$.WHITE = -1; flixel_util__$FlxColor_FlxColor_$Impl_$.GRAY = -8355712; flixel_util__$FlxColor_FlxColor_$Impl_$.BLACK = -16777216; flixel_util__$FlxColor_FlxColor_$Impl_$.GREEN = -16744448; flixel_util__$FlxColor_FlxColor_$Impl_$.LIME = -16711936; flixel_util__$FlxColor_FlxColor_$Impl_$.YELLOW = -256; flixel_util__$FlxColor_FlxColor_$Impl_$.ORANGE = -23296; flixel_util__$FlxColor_FlxColor_$Impl_$.RED = -65536; flixel_util__$FlxColor_FlxColor_$Impl_$.PURPLE = -8388480; flixel_util__$FlxColor_FlxColor_$Impl_$.BLUE = -16776961; flixel_util__$FlxColor_FlxColor_$Impl_$.BROWN = -7650029; flixel_util__$FlxColor_FlxColor_$Impl_$.PINK = -16181; flixel_util__$FlxColor_FlxColor_$Impl_$.MAGENTA = -65281; flixel_util__$FlxColor_FlxColor_$Impl_$.CYAN = -16711681; flixel_util__$FlxColor_FlxColor_$Impl_$.colorLookup = (function($this) { var $r; var _g = new haxe_ds_StringMap(); if(__map_reserved["TRANSPARENT"] != null) { _g.setReserved("TRANSPARENT",0); } else { _g.h["TRANSPARENT"] = 0; } if(__map_reserved["WHITE"] != null) { _g.setReserved("WHITE",-1); } else { _g.h["WHITE"] = -1; } if(__map_reserved["GRAY"] != null) { _g.setReserved("GRAY",-8355712); } else { _g.h["GRAY"] = -8355712; } if(__map_reserved["BLACK"] != null) { _g.setReserved("BLACK",-16777216); } else { _g.h["BLACK"] = -16777216; } if(__map_reserved["GREEN"] != null) { _g.setReserved("GREEN",-16744448); } else { _g.h["GREEN"] = -16744448; } if(__map_reserved["LIME"] != null) { _g.setReserved("LIME",-16711936); } else { _g.h["LIME"] = -16711936; } if(__map_reserved["YELLOW"] != null) { _g.setReserved("YELLOW",-256); } else { _g.h["YELLOW"] = -256; } if(__map_reserved["ORANGE"] != null) { _g.setReserved("ORANGE",-23296); } else { _g.h["ORANGE"] = -23296; } if(__map_reserved["RED"] != null) { _g.setReserved("RED",-65536); } else { _g.h["RED"] = -65536; } if(__map_reserved["PURPLE"] != null) { _g.setReserved("PURPLE",-8388480); } else { _g.h["PURPLE"] = -8388480; } if(__map_reserved["BLUE"] != null) { _g.setReserved("BLUE",-16776961); } else { _g.h["BLUE"] = -16776961; } if(__map_reserved["BROWN"] != null) { _g.setReserved("BROWN",-7650029); } else { _g.h["BROWN"] = -7650029; } if(__map_reserved["PINK"] != null) { _g.setReserved("PINK",-16181); } else { _g.h["PINK"] = -16181; } if(__map_reserved["MAGENTA"] != null) { _g.setReserved("MAGENTA",-65281); } else { _g.h["MAGENTA"] = -65281; } if(__map_reserved["CYAN"] != null) { _g.setReserved("CYAN",-16711681); } else { _g.h["CYAN"] = -16711681; } $r = _g; return $r; }(this)); flixel_util__$FlxColor_FlxColor_$Impl_$.COLOR_REGEX = new EReg("^(0x|#)(([A-F0-9]{2}){3,4})$","i"); flixel_util_FlxPath.FORWARD = 0; flixel_util_FlxPath.BACKWARD = 1; flixel_util_FlxPath.LOOP_FORWARD = 16; flixel_util_FlxPath.LOOP_BACKWARD = 256; flixel_util_FlxPath.YOYO = 4096; flixel_util_FlxPath.HORIZONTAL_ONLY = 65536; flixel_util_FlxPath.VERTICAL_ONLY = 1048576; flixel_util_FlxPath._point = (function($this) { var $r; var point = flixel_math_FlxPoint._pool.get().set(0,0); point._inPool = false; $r = point; return $r; }(this)); flixel_util_FlxSort.ASCENDING = -1; flixel_util_FlxSort.DESCENDING = 1; flixel_util_FlxSpriteUtil.flashGfxSprite = new openfl_display_Sprite(); flixel_util_FlxSpriteUtil.flashGfx = flixel_util_FlxSpriteUtil.flashGfxSprite.get_graphics(); flixel_util_LabelValuePair._pool = new flixel_util_FlxPool_$flixel_$util_$LabelValuePair(flixel_util_LabelValuePair); haxe_Serializer.USE_CACHE = false; haxe_Serializer.USE_ENUM_INDEX = false; haxe_Serializer.BASE64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789%:"; haxe_Serializer.BASE64_CODES = null; haxe_Unserializer.DEFAULT_RESOLVER = new haxe__$Unserializer_DefaultResolver(); haxe_Unserializer.BASE64 = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789%:"; haxe_Unserializer.CODES = null; haxe_crypto_Base64.CHARS = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; haxe_crypto_Base64.BYTES = haxe_io_Bytes.ofString(haxe_crypto_Base64.CHARS); haxe_io_FPHelper.i64tmp = (function($this) { var $r; var this1 = new haxe__$Int64__$_$_$Int64(0,0); $r = this1; return $r; }(this)); haxe_io_FPHelper.helper = new DataView(new ArrayBuffer(8)); haxe_xml_Parser.escapes = (function($this) { var $r; var h = new haxe_ds_StringMap(); if(__map_reserved["lt"] != null) { h.setReserved("lt","<"); } else { h.h["lt"] = "<"; } if(__map_reserved["gt"] != null) { h.setReserved("gt",">"); } else { h.h["gt"] = ">"; } if(__map_reserved["amp"] != null) { h.setReserved("amp","&"); } else { h.h["amp"] = "&"; } if(__map_reserved["quot"] != null) { h.setReserved("quot","\""); } else { h.h["quot"] = "\""; } if(__map_reserved["apos"] != null) { h.setReserved("apos","'"); } else { h.h["apos"] = "'"; } $r = h; return $r; }(this)); haxe_zip_InflateImpl.LEN_EXTRA_BITS_TBL = [0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,-1,-1]; haxe_zip_InflateImpl.LEN_BASE_VAL_TBL = [3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258]; haxe_zip_InflateImpl.DIST_EXTRA_BITS_TBL = [0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,-1,-1]; haxe_zip_InflateImpl.DIST_BASE_VAL_TBL = [1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577]; haxe_zip_InflateImpl.CODE_LENGTHS_POS = [16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]; haxe_zip_InflateImpl.FIXED_HUFFMAN = null; hscript_Parser.p1 = 0; hscript_Parser.tokenMin = 0; hscript_Parser.tokenMax = 0; io_newgrounds_NGLite.onCoreReady = new io_newgrounds_utils_Dispatcher(); io_newgrounds_NG.onCoreReady = new io_newgrounds_utils_Dispatcher(); io_newgrounds_NG.urlParser = new EReg("^(?:http[s]?://)?([^:/\\s]+)(:[0-9]+)?((?:/\\w+)*/)([\\w\\-\\.]+[^#?\\s]+)([^#\\s]*)?(#[\\w\\-]+)?$","i"); io_newgrounds_objects_Medal.EASY = 1; io_newgrounds_objects_Medal.MODERATE = 2; io_newgrounds_objects_Medal.CHALLENGING = 3; io_newgrounds_objects_Medal.DIFFICULT = 4; io_newgrounds_objects_Medal.BRUTAL = 5; io_newgrounds_utils_AsyncHttp.PATH = "https://newgrounds.io/gateway_v3.php"; lime__$internal_backend_html5_HTML5HTTPRequest.OPTION_REVOKE_URL = 1; lime__$internal_backend_html5_HTML5HTTPRequest.activeRequests = 0; lime__$internal_backend_html5_HTML5HTTPRequest.requestLimit = 17; lime__$internal_backend_html5_HTML5HTTPRequest.requestQueue = new haxe_ds_List(); lime__$internal_backend_html5_HTML5Window.dummyCharacter = ""; lime__$internal_backend_html5_HTML5Window.windowID = 0; lime__$internal_format_Base64.DICTIONARY = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""); lime__$internal_format_Base64.EXTENDED_DICTIONARY = (function($this) { var $r; var result = []; { var _g = 0; var _g1 = lime__$internal_format_Base64.DICTIONARY; while(_g < _g1.length) { var a = _g1[_g]; ++_g; var _g2 = 0; var _g11 = lime__$internal_format_Base64.DICTIONARY; while(_g2 < _g11.length) { var b = _g11[_g2]; ++_g2; result.push(a + b); } } } $r = result; return $r; }(this)); lime__$internal_graphics_StackBlur.MUL_TABLE = [1,171,205,293,57,373,79,137,241,27,391,357,41,19,283,265,497,469,443,421,25,191,365,349,335,161,155,149,9,278,269,261,505,245,475,231,449,437,213,415,405,395,193,377,369,361,353,345,169,331,325,319,313,307,301,37,145,285,281,69,271,267,263,259,509,501,493,243,479,118,465,459,113,446,55,435,429,423,209,413,51,403,199,393,97,3,379,375,371,367,363,359,355,351,347,43,85,337,333,165,327,323,5,317,157,311,77,305,303,75,297,294,73,289,287,71,141,279,277,275,68,135,67,133,33,262,260,129,511,507,503,499,495,491,61,121,481,477,237,235,467,232,115,457,227,451,7,445,221,439,218,433,215,427,425,211,419,417,207,411,409,203,202,401,399,396,197,49,389,387,385,383,95,189,47,187,93,185,23,183,91,181,45,179,89,177,11,175,87,173,345,343,341,339,337,21,167,83,331,329,327,163,81,323,321,319,159,79,315,313,39,155,309,307,153,305,303,151,75,299,149,37,295,147,73,291,145,289,287,143,285,71,141,281,35,279,139,69,275,137,273,17,271,135,269,267,133,265,33,263,131,261,130,259,129,257,1]; lime__$internal_graphics_StackBlur.SHG_TABLE = [0,9,10,11,9,12,10,11,12,9,13,13,10,9,13,13,14,14,14,14,10,13,14,14,14,13,13,13,9,14,14,14,15,14,15,14,15,15,14,15,15,15,14,15,15,15,15,15,14,15,15,15,15,15,15,12,14,15,15,13,15,15,15,15,16,16,16,15,16,14,16,16,14,16,13,16,16,16,15,16,13,16,15,16,14,9,16,16,16,16,16,16,16,16,16,13,14,16,16,15,16,16,10,16,15,16,14,16,16,14,16,16,14,16,16,14,15,16,16,16,14,15,14,15,13,16,16,15,17,17,17,17,17,17,14,15,17,17,16,16,17,16,15,17,16,17,11,17,16,17,16,17,16,17,17,16,17,17,16,17,17,16,16,17,17,17,16,14,17,17,17,17,15,16,14,16,15,16,13,16,15,16,14,16,15,16,12,16,15,16,17,17,17,17,17,13,16,15,17,17,17,16,15,17,17,17,16,15,17,17,14,16,17,17,16,17,17,16,15,17,16,14,17,16,15,17,16,17,17,16,17,15,16,17,14,17,16,15,17,16,17,13,17,16,17,17,16,17,14,17,16,17,16,17,16,17,9]; lime_graphics_cairo__$CairoFTFontFace_CairoFTFontFace_$Impl_$.FT_LOAD_FORCE_AUTOHINT = 32; lime_graphics_opengl_GL.DEPTH_BUFFER_BIT = 256; lime_graphics_opengl_GL.STENCIL_BUFFER_BIT = 1024; lime_graphics_opengl_GL.COLOR_BUFFER_BIT = 16384; lime_graphics_opengl_GL.POINTS = 0; lime_graphics_opengl_GL.LINES = 1; lime_graphics_opengl_GL.LINE_LOOP = 2; lime_graphics_opengl_GL.LINE_STRIP = 3; lime_graphics_opengl_GL.TRIANGLES = 4; lime_graphics_opengl_GL.TRIANGLE_STRIP = 5; lime_graphics_opengl_GL.TRIANGLE_FAN = 6; lime_graphics_opengl_GL.ZERO = 0; lime_graphics_opengl_GL.ONE = 1; lime_graphics_opengl_GL.SRC_COLOR = 768; lime_graphics_opengl_GL.ONE_MINUS_SRC_COLOR = 769; lime_graphics_opengl_GL.SRC_ALPHA = 770; lime_graphics_opengl_GL.ONE_MINUS_SRC_ALPHA = 771; lime_graphics_opengl_GL.DST_ALPHA = 772; lime_graphics_opengl_GL.ONE_MINUS_DST_ALPHA = 773; lime_graphics_opengl_GL.DST_COLOR = 774; lime_graphics_opengl_GL.ONE_MINUS_DST_COLOR = 775; lime_graphics_opengl_GL.SRC_ALPHA_SATURATE = 776; lime_graphics_opengl_GL.FUNC_ADD = 32774; lime_graphics_opengl_GL.BLEND_EQUATION = 32777; lime_graphics_opengl_GL.BLEND_EQUATION_RGB = 32777; lime_graphics_opengl_GL.BLEND_EQUATION_ALPHA = 34877; lime_graphics_opengl_GL.FUNC_SUBTRACT = 32778; lime_graphics_opengl_GL.FUNC_REVERSE_SUBTRACT = 32779; lime_graphics_opengl_GL.BLEND_DST_RGB = 32968; lime_graphics_opengl_GL.BLEND_SRC_RGB = 32969; lime_graphics_opengl_GL.BLEND_DST_ALPHA = 32970; lime_graphics_opengl_GL.BLEND_SRC_ALPHA = 32971; lime_graphics_opengl_GL.CONSTANT_COLOR = 32769; lime_graphics_opengl_GL.ONE_MINUS_CONSTANT_COLOR = 32770; lime_graphics_opengl_GL.CONSTANT_ALPHA = 32771; lime_graphics_opengl_GL.ONE_MINUS_CONSTANT_ALPHA = 32772; lime_graphics_opengl_GL.BLEND_COLOR = 32773; lime_graphics_opengl_GL.ARRAY_BUFFER = 34962; lime_graphics_opengl_GL.ELEMENT_ARRAY_BUFFER = 34963; lime_graphics_opengl_GL.ARRAY_BUFFER_BINDING = 34964; lime_graphics_opengl_GL.ELEMENT_ARRAY_BUFFER_BINDING = 34965; lime_graphics_opengl_GL.STREAM_DRAW = 35040; lime_graphics_opengl_GL.STATIC_DRAW = 35044; lime_graphics_opengl_GL.DYNAMIC_DRAW = 35048; lime_graphics_opengl_GL.BUFFER_SIZE = 34660; lime_graphics_opengl_GL.BUFFER_USAGE = 34661; lime_graphics_opengl_GL.CURRENT_VERTEX_ATTRIB = 34342; lime_graphics_opengl_GL.FRONT = 1028; lime_graphics_opengl_GL.BACK = 1029; lime_graphics_opengl_GL.FRONT_AND_BACK = 1032; lime_graphics_opengl_GL.CULL_FACE = 2884; lime_graphics_opengl_GL.BLEND = 3042; lime_graphics_opengl_GL.DITHER = 3024; lime_graphics_opengl_GL.STENCIL_TEST = 2960; lime_graphics_opengl_GL.DEPTH_TEST = 2929; lime_graphics_opengl_GL.SCISSOR_TEST = 3089; lime_graphics_opengl_GL.POLYGON_OFFSET_FILL = 32823; lime_graphics_opengl_GL.SAMPLE_ALPHA_TO_COVERAGE = 32926; lime_graphics_opengl_GL.SAMPLE_COVERAGE = 32928; lime_graphics_opengl_GL.NO_ERROR = 0; lime_graphics_opengl_GL.INVALID_ENUM = 1280; lime_graphics_opengl_GL.INVALID_VALUE = 1281; lime_graphics_opengl_GL.INVALID_OPERATION = 1282; lime_graphics_opengl_GL.OUT_OF_MEMORY = 1285; lime_graphics_opengl_GL.CW = 2304; lime_graphics_opengl_GL.CCW = 2305; lime_graphics_opengl_GL.LINE_WIDTH = 2849; lime_graphics_opengl_GL.ALIASED_POINT_SIZE_RANGE = 33901; lime_graphics_opengl_GL.ALIASED_LINE_WIDTH_RANGE = 33902; lime_graphics_opengl_GL.CULL_FACE_MODE = 2885; lime_graphics_opengl_GL.FRONT_FACE = 2886; lime_graphics_opengl_GL.DEPTH_RANGE = 2928; lime_graphics_opengl_GL.DEPTH_WRITEMASK = 2930; lime_graphics_opengl_GL.DEPTH_CLEAR_VALUE = 2931; lime_graphics_opengl_GL.DEPTH_FUNC = 2932; lime_graphics_opengl_GL.STENCIL_CLEAR_VALUE = 2961; lime_graphics_opengl_GL.STENCIL_FUNC = 2962; lime_graphics_opengl_GL.STENCIL_FAIL = 2964; lime_graphics_opengl_GL.STENCIL_PASS_DEPTH_FAIL = 2965; lime_graphics_opengl_GL.STENCIL_PASS_DEPTH_PASS = 2966; lime_graphics_opengl_GL.STENCIL_REF = 2967; lime_graphics_opengl_GL.STENCIL_VALUE_MASK = 2963; lime_graphics_opengl_GL.STENCIL_WRITEMASK = 2968; lime_graphics_opengl_GL.STENCIL_BACK_FUNC = 34816; lime_graphics_opengl_GL.STENCIL_BACK_FAIL = 34817; lime_graphics_opengl_GL.STENCIL_BACK_PASS_DEPTH_FAIL = 34818; lime_graphics_opengl_GL.STENCIL_BACK_PASS_DEPTH_PASS = 34819; lime_graphics_opengl_GL.STENCIL_BACK_REF = 36003; lime_graphics_opengl_GL.STENCIL_BACK_VALUE_MASK = 36004; lime_graphics_opengl_GL.STENCIL_BACK_WRITEMASK = 36005; lime_graphics_opengl_GL.VIEWPORT = 2978; lime_graphics_opengl_GL.SCISSOR_BOX = 3088; lime_graphics_opengl_GL.COLOR_CLEAR_VALUE = 3106; lime_graphics_opengl_GL.COLOR_WRITEMASK = 3107; lime_graphics_opengl_GL.UNPACK_ALIGNMENT = 3317; lime_graphics_opengl_GL.PACK_ALIGNMENT = 3333; lime_graphics_opengl_GL.MAX_TEXTURE_SIZE = 3379; lime_graphics_opengl_GL.MAX_VIEWPORT_DIMS = 3386; lime_graphics_opengl_GL.SUBPIXEL_BITS = 3408; lime_graphics_opengl_GL.RED_BITS = 3410; lime_graphics_opengl_GL.GREEN_BITS = 3411; lime_graphics_opengl_GL.BLUE_BITS = 3412; lime_graphics_opengl_GL.ALPHA_BITS = 3413; lime_graphics_opengl_GL.DEPTH_BITS = 3414; lime_graphics_opengl_GL.STENCIL_BITS = 3415; lime_graphics_opengl_GL.POLYGON_OFFSET_UNITS = 10752; lime_graphics_opengl_GL.POLYGON_OFFSET_FACTOR = 32824; lime_graphics_opengl_GL.TEXTURE_BINDING_2D = 32873; lime_graphics_opengl_GL.SAMPLE_BUFFERS = 32936; lime_graphics_opengl_GL.SAMPLES = 32937; lime_graphics_opengl_GL.SAMPLE_COVERAGE_VALUE = 32938; lime_graphics_opengl_GL.SAMPLE_COVERAGE_INVERT = 32939; lime_graphics_opengl_GL.NUM_COMPRESSED_TEXTURE_FORMATS = 34466; lime_graphics_opengl_GL.COMPRESSED_TEXTURE_FORMATS = 34467; lime_graphics_opengl_GL.DONT_CARE = 4352; lime_graphics_opengl_GL.FASTEST = 4353; lime_graphics_opengl_GL.NICEST = 4354; lime_graphics_opengl_GL.GENERATE_MIPMAP_HINT = 33170; lime_graphics_opengl_GL.BYTE = 5120; lime_graphics_opengl_GL.UNSIGNED_BYTE = 5121; lime_graphics_opengl_GL.SHORT = 5122; lime_graphics_opengl_GL.UNSIGNED_SHORT = 5123; lime_graphics_opengl_GL.INT = 5124; lime_graphics_opengl_GL.UNSIGNED_INT = 5125; lime_graphics_opengl_GL.FLOAT = 5126; lime_graphics_opengl_GL.DEPTH_COMPONENT = 6402; lime_graphics_opengl_GL.ALPHA = 6406; lime_graphics_opengl_GL.RGB = 6407; lime_graphics_opengl_GL.RGBA = 6408; lime_graphics_opengl_GL.LUMINANCE = 6409; lime_graphics_opengl_GL.LUMINANCE_ALPHA = 6410; lime_graphics_opengl_GL.UNSIGNED_SHORT_4_4_4_4 = 32819; lime_graphics_opengl_GL.UNSIGNED_SHORT_5_5_5_1 = 32820; lime_graphics_opengl_GL.UNSIGNED_SHORT_5_6_5 = 33635; lime_graphics_opengl_GL.FRAGMENT_SHADER = 35632; lime_graphics_opengl_GL.VERTEX_SHADER = 35633; lime_graphics_opengl_GL.MAX_VERTEX_ATTRIBS = 34921; lime_graphics_opengl_GL.MAX_VERTEX_UNIFORM_VECTORS = 36347; lime_graphics_opengl_GL.MAX_VARYING_VECTORS = 36348; lime_graphics_opengl_GL.MAX_COMBINED_TEXTURE_IMAGE_UNITS = 35661; lime_graphics_opengl_GL.MAX_VERTEX_TEXTURE_IMAGE_UNITS = 35660; lime_graphics_opengl_GL.MAX_TEXTURE_IMAGE_UNITS = 34930; lime_graphics_opengl_GL.MAX_FRAGMENT_UNIFORM_VECTORS = 36349; lime_graphics_opengl_GL.SHADER_TYPE = 35663; lime_graphics_opengl_GL.DELETE_STATUS = 35712; lime_graphics_opengl_GL.LINK_STATUS = 35714; lime_graphics_opengl_GL.VALIDATE_STATUS = 35715; lime_graphics_opengl_GL.ATTACHED_SHADERS = 35717; lime_graphics_opengl_GL.ACTIVE_UNIFORMS = 35718; lime_graphics_opengl_GL.ACTIVE_ATTRIBUTES = 35721; lime_graphics_opengl_GL.SHADING_LANGUAGE_VERSION = 35724; lime_graphics_opengl_GL.CURRENT_PROGRAM = 35725; lime_graphics_opengl_GL.NEVER = 512; lime_graphics_opengl_GL.LESS = 513; lime_graphics_opengl_GL.EQUAL = 514; lime_graphics_opengl_GL.LEQUAL = 515; lime_graphics_opengl_GL.GREATER = 516; lime_graphics_opengl_GL.NOTEQUAL = 517; lime_graphics_opengl_GL.GEQUAL = 518; lime_graphics_opengl_GL.ALWAYS = 519; lime_graphics_opengl_GL.KEEP = 7680; lime_graphics_opengl_GL.REPLACE = 7681; lime_graphics_opengl_GL.INCR = 7682; lime_graphics_opengl_GL.DECR = 7683; lime_graphics_opengl_GL.INVERT = 5386; lime_graphics_opengl_GL.INCR_WRAP = 34055; lime_graphics_opengl_GL.DECR_WRAP = 34056; lime_graphics_opengl_GL.VENDOR = 7936; lime_graphics_opengl_GL.RENDERER = 7937; lime_graphics_opengl_GL.VERSION = 7938; lime_graphics_opengl_GL.EXTENSIONS = 7939; lime_graphics_opengl_GL.NEAREST = 9728; lime_graphics_opengl_GL.LINEAR = 9729; lime_graphics_opengl_GL.NEAREST_MIPMAP_NEAREST = 9984; lime_graphics_opengl_GL.LINEAR_MIPMAP_NEAREST = 9985; lime_graphics_opengl_GL.NEAREST_MIPMAP_LINEAR = 9986; lime_graphics_opengl_GL.LINEAR_MIPMAP_LINEAR = 9987; lime_graphics_opengl_GL.TEXTURE_MAG_FILTER = 10240; lime_graphics_opengl_GL.TEXTURE_MIN_FILTER = 10241; lime_graphics_opengl_GL.TEXTURE_WRAP_S = 10242; lime_graphics_opengl_GL.TEXTURE_WRAP_T = 10243; lime_graphics_opengl_GL.TEXTURE_2D = 3553; lime_graphics_opengl_GL.TEXTURE = 5890; lime_graphics_opengl_GL.TEXTURE_CUBE_MAP = 34067; lime_graphics_opengl_GL.TEXTURE_BINDING_CUBE_MAP = 34068; lime_graphics_opengl_GL.TEXTURE_CUBE_MAP_POSITIVE_X = 34069; lime_graphics_opengl_GL.TEXTURE_CUBE_MAP_NEGATIVE_X = 34070; lime_graphics_opengl_GL.TEXTURE_CUBE_MAP_POSITIVE_Y = 34071; lime_graphics_opengl_GL.TEXTURE_CUBE_MAP_NEGATIVE_Y = 34072; lime_graphics_opengl_GL.TEXTURE_CUBE_MAP_POSITIVE_Z = 34073; lime_graphics_opengl_GL.TEXTURE_CUBE_MAP_NEGATIVE_Z = 34074; lime_graphics_opengl_GL.MAX_CUBE_MAP_TEXTURE_SIZE = 34076; lime_graphics_opengl_GL.TEXTURE0 = 33984; lime_graphics_opengl_GL.TEXTURE1 = 33985; lime_graphics_opengl_GL.TEXTURE2 = 33986; lime_graphics_opengl_GL.TEXTURE3 = 33987; lime_graphics_opengl_GL.TEXTURE4 = 33988; lime_graphics_opengl_GL.TEXTURE5 = 33989; lime_graphics_opengl_GL.TEXTURE6 = 33990; lime_graphics_opengl_GL.TEXTURE7 = 33991; lime_graphics_opengl_GL.TEXTURE8 = 33992; lime_graphics_opengl_GL.TEXTURE9 = 33993; lime_graphics_opengl_GL.TEXTURE10 = 33994; lime_graphics_opengl_GL.TEXTURE11 = 33995; lime_graphics_opengl_GL.TEXTURE12 = 33996; lime_graphics_opengl_GL.TEXTURE13 = 33997; lime_graphics_opengl_GL.TEXTURE14 = 33998; lime_graphics_opengl_GL.TEXTURE15 = 33999; lime_graphics_opengl_GL.TEXTURE16 = 34000; lime_graphics_opengl_GL.TEXTURE17 = 34001; lime_graphics_opengl_GL.TEXTURE18 = 34002; lime_graphics_opengl_GL.TEXTURE19 = 34003; lime_graphics_opengl_GL.TEXTURE20 = 34004; lime_graphics_opengl_GL.TEXTURE21 = 34005; lime_graphics_opengl_GL.TEXTURE22 = 34006; lime_graphics_opengl_GL.TEXTURE23 = 34007; lime_graphics_opengl_GL.TEXTURE24 = 34008; lime_graphics_opengl_GL.TEXTURE25 = 34009; lime_graphics_opengl_GL.TEXTURE26 = 34010; lime_graphics_opengl_GL.TEXTURE27 = 34011; lime_graphics_opengl_GL.TEXTURE28 = 34012; lime_graphics_opengl_GL.TEXTURE29 = 34013; lime_graphics_opengl_GL.TEXTURE30 = 34014; lime_graphics_opengl_GL.TEXTURE31 = 34015; lime_graphics_opengl_GL.ACTIVE_TEXTURE = 34016; lime_graphics_opengl_GL.REPEAT = 10497; lime_graphics_opengl_GL.CLAMP_TO_EDGE = 33071; lime_graphics_opengl_GL.MIRRORED_REPEAT = 33648; lime_graphics_opengl_GL.FLOAT_VEC2 = 35664; lime_graphics_opengl_GL.FLOAT_VEC3 = 35665; lime_graphics_opengl_GL.FLOAT_VEC4 = 35666; lime_graphics_opengl_GL.INT_VEC2 = 35667; lime_graphics_opengl_GL.INT_VEC3 = 35668; lime_graphics_opengl_GL.INT_VEC4 = 35669; lime_graphics_opengl_GL.BOOL = 35670; lime_graphics_opengl_GL.BOOL_VEC2 = 35671; lime_graphics_opengl_GL.BOOL_VEC3 = 35672; lime_graphics_opengl_GL.BOOL_VEC4 = 35673; lime_graphics_opengl_GL.FLOAT_MAT2 = 35674; lime_graphics_opengl_GL.FLOAT_MAT3 = 35675; lime_graphics_opengl_GL.FLOAT_MAT4 = 35676; lime_graphics_opengl_GL.SAMPLER_2D = 35678; lime_graphics_opengl_GL.SAMPLER_CUBE = 35680; lime_graphics_opengl_GL.VERTEX_ATTRIB_ARRAY_ENABLED = 34338; lime_graphics_opengl_GL.VERTEX_ATTRIB_ARRAY_SIZE = 34339; lime_graphics_opengl_GL.VERTEX_ATTRIB_ARRAY_STRIDE = 34340; lime_graphics_opengl_GL.VERTEX_ATTRIB_ARRAY_TYPE = 34341; lime_graphics_opengl_GL.VERTEX_ATTRIB_ARRAY_NORMALIZED = 34922; lime_graphics_opengl_GL.VERTEX_ATTRIB_ARRAY_POINTER = 34373; lime_graphics_opengl_GL.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING = 34975; lime_graphics_opengl_GL.IMPLEMENTATION_COLOR_READ_TYPE = 35738; lime_graphics_opengl_GL.IMPLEMENTATION_COLOR_READ_FORMAT = 35739; lime_graphics_opengl_GL.VERTEX_PROGRAM_POINT_SIZE = 34370; lime_graphics_opengl_GL.POINT_SPRITE = 34913; lime_graphics_opengl_GL.COMPILE_STATUS = 35713; lime_graphics_opengl_GL.LOW_FLOAT = 36336; lime_graphics_opengl_GL.MEDIUM_FLOAT = 36337; lime_graphics_opengl_GL.HIGH_FLOAT = 36338; lime_graphics_opengl_GL.LOW_INT = 36339; lime_graphics_opengl_GL.MEDIUM_INT = 36340; lime_graphics_opengl_GL.HIGH_INT = 36341; lime_graphics_opengl_GL.FRAMEBUFFER = 36160; lime_graphics_opengl_GL.RENDERBUFFER = 36161; lime_graphics_opengl_GL.RGBA4 = 32854; lime_graphics_opengl_GL.RGB5_A1 = 32855; lime_graphics_opengl_GL.RGB565 = 36194; lime_graphics_opengl_GL.DEPTH_COMPONENT16 = 33189; lime_graphics_opengl_GL.STENCIL_INDEX = 6401; lime_graphics_opengl_GL.STENCIL_INDEX8 = 36168; lime_graphics_opengl_GL.DEPTH_STENCIL = 34041; lime_graphics_opengl_GL.RENDERBUFFER_WIDTH = 36162; lime_graphics_opengl_GL.RENDERBUFFER_HEIGHT = 36163; lime_graphics_opengl_GL.RENDERBUFFER_INTERNAL_FORMAT = 36164; lime_graphics_opengl_GL.RENDERBUFFER_RED_SIZE = 36176; lime_graphics_opengl_GL.RENDERBUFFER_GREEN_SIZE = 36177; lime_graphics_opengl_GL.RENDERBUFFER_BLUE_SIZE = 36178; lime_graphics_opengl_GL.RENDERBUFFER_ALPHA_SIZE = 36179; lime_graphics_opengl_GL.RENDERBUFFER_DEPTH_SIZE = 36180; lime_graphics_opengl_GL.RENDERBUFFER_STENCIL_SIZE = 36181; lime_graphics_opengl_GL.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE = 36048; lime_graphics_opengl_GL.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME = 36049; lime_graphics_opengl_GL.FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL = 36050; lime_graphics_opengl_GL.FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE = 36051; lime_graphics_opengl_GL.COLOR_ATTACHMENT0 = 36064; lime_graphics_opengl_GL.DEPTH_ATTACHMENT = 36096; lime_graphics_opengl_GL.STENCIL_ATTACHMENT = 36128; lime_graphics_opengl_GL.DEPTH_STENCIL_ATTACHMENT = 33306; lime_graphics_opengl_GL.NONE = 0; lime_graphics_opengl_GL.FRAMEBUFFER_COMPLETE = 36053; lime_graphics_opengl_GL.FRAMEBUFFER_INCOMPLETE_ATTACHMENT = 36054; lime_graphics_opengl_GL.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT = 36055; lime_graphics_opengl_GL.FRAMEBUFFER_INCOMPLETE_DIMENSIONS = 36057; lime_graphics_opengl_GL.FRAMEBUFFER_UNSUPPORTED = 36061; lime_graphics_opengl_GL.FRAMEBUFFER_BINDING = 36006; lime_graphics_opengl_GL.RENDERBUFFER_BINDING = 36007; lime_graphics_opengl_GL.MAX_RENDERBUFFER_SIZE = 34024; lime_graphics_opengl_GL.INVALID_FRAMEBUFFER_OPERATION = 1286; lime_graphics_opengl_GL.UNPACK_FLIP_Y_WEBGL = 37440; lime_graphics_opengl_GL.UNPACK_PREMULTIPLY_ALPHA_WEBGL = 37441; lime_graphics_opengl_GL.CONTEXT_LOST_WEBGL = 37442; lime_graphics_opengl_GL.UNPACK_COLORSPACE_CONVERSION_WEBGL = 37443; lime_graphics_opengl_GL.BROWSER_DEFAULT_WEBGL = 37444; lime_graphics_opengl_GL.READ_BUFFER = 3074; lime_graphics_opengl_GL.UNPACK_ROW_LENGTH = 3314; lime_graphics_opengl_GL.UNPACK_SKIP_ROWS = 3315; lime_graphics_opengl_GL.UNPACK_SKIP_PIXELS = 3316; lime_graphics_opengl_GL.PACK_ROW_LENGTH = 3330; lime_graphics_opengl_GL.PACK_SKIP_ROWS = 3331; lime_graphics_opengl_GL.PACK_SKIP_PIXELS = 3332; lime_graphics_opengl_GL.TEXTURE_BINDING_3D = 32874; lime_graphics_opengl_GL.UNPACK_SKIP_IMAGES = 32877; lime_graphics_opengl_GL.UNPACK_IMAGE_HEIGHT = 32878; lime_graphics_opengl_GL.MAX_3D_TEXTURE_SIZE = 32883; lime_graphics_opengl_GL.MAX_ELEMENTS_VERTICES = 33000; lime_graphics_opengl_GL.MAX_ELEMENTS_INDICES = 33001; lime_graphics_opengl_GL.MAX_TEXTURE_LOD_BIAS = 34045; lime_graphics_opengl_GL.MAX_FRAGMENT_UNIFORM_COMPONENTS = 35657; lime_graphics_opengl_GL.MAX_VERTEX_UNIFORM_COMPONENTS = 35658; lime_graphics_opengl_GL.MAX_ARRAY_TEXTURE_LAYERS = 35071; lime_graphics_opengl_GL.MIN_PROGRAM_TEXEL_OFFSET = 35076; lime_graphics_opengl_GL.MAX_PROGRAM_TEXEL_OFFSET = 35077; lime_graphics_opengl_GL.MAX_VARYING_COMPONENTS = 35659; lime_graphics_opengl_GL.FRAGMENT_SHADER_DERIVATIVE_HINT = 35723; lime_graphics_opengl_GL.RASTERIZER_DISCARD = 35977; lime_graphics_opengl_GL.VERTEX_ARRAY_BINDING = 34229; lime_graphics_opengl_GL.MAX_VERTEX_OUTPUT_COMPONENTS = 37154; lime_graphics_opengl_GL.MAX_FRAGMENT_INPUT_COMPONENTS = 37157; lime_graphics_opengl_GL.MAX_SERVER_WAIT_TIMEOUT = 37137; lime_graphics_opengl_GL.MAX_ELEMENT_INDEX = 36203; lime_graphics_opengl_GL.RED = 6403; lime_graphics_opengl_GL.RGB8 = 32849; lime_graphics_opengl_GL.RGBA8 = 32856; lime_graphics_opengl_GL.RGB10_A2 = 32857; lime_graphics_opengl_GL.TEXTURE_3D = 32879; lime_graphics_opengl_GL.TEXTURE_WRAP_R = 32882; lime_graphics_opengl_GL.TEXTURE_MIN_LOD = 33082; lime_graphics_opengl_GL.TEXTURE_MAX_LOD = 33083; lime_graphics_opengl_GL.TEXTURE_BASE_LEVEL = 33084; lime_graphics_opengl_GL.TEXTURE_MAX_LEVEL = 33085; lime_graphics_opengl_GL.TEXTURE_COMPARE_MODE = 34892; lime_graphics_opengl_GL.TEXTURE_COMPARE_FUNC = 34893; lime_graphics_opengl_GL.SRGB = 35904; lime_graphics_opengl_GL.SRGB8 = 35905; lime_graphics_opengl_GL.SRGB8_ALPHA8 = 35907; lime_graphics_opengl_GL.COMPARE_REF_TO_TEXTURE = 34894; lime_graphics_opengl_GL.RGBA32F = 34836; lime_graphics_opengl_GL.RGB32F = 34837; lime_graphics_opengl_GL.RGBA16F = 34842; lime_graphics_opengl_GL.RGB16F = 34843; lime_graphics_opengl_GL.TEXTURE_2D_ARRAY = 35866; lime_graphics_opengl_GL.TEXTURE_BINDING_2D_ARRAY = 35869; lime_graphics_opengl_GL.R11F_G11F_B10F = 35898; lime_graphics_opengl_GL.RGB9_E5 = 35901; lime_graphics_opengl_GL.RGBA32UI = 36208; lime_graphics_opengl_GL.RGB32UI = 36209; lime_graphics_opengl_GL.RGBA16UI = 36214; lime_graphics_opengl_GL.RGB16UI = 36215; lime_graphics_opengl_GL.RGBA8UI = 36220; lime_graphics_opengl_GL.RGB8UI = 36221; lime_graphics_opengl_GL.RGBA32I = 36226; lime_graphics_opengl_GL.RGB32I = 36227; lime_graphics_opengl_GL.RGBA16I = 36232; lime_graphics_opengl_GL.RGB16I = 36233; lime_graphics_opengl_GL.RGBA8I = 36238; lime_graphics_opengl_GL.RGB8I = 36239; lime_graphics_opengl_GL.RED_INTEGER = 36244; lime_graphics_opengl_GL.RGB_INTEGER = 36248; lime_graphics_opengl_GL.RGBA_INTEGER = 36249; lime_graphics_opengl_GL.R8 = 33321; lime_graphics_opengl_GL.RG8 = 33323; lime_graphics_opengl_GL.R16F = 33325; lime_graphics_opengl_GL.R32F = 33326; lime_graphics_opengl_GL.RG16F = 33327; lime_graphics_opengl_GL.RG32F = 33328; lime_graphics_opengl_GL.R8I = 33329; lime_graphics_opengl_GL.R8UI = 33330; lime_graphics_opengl_GL.R16I = 33331; lime_graphics_opengl_GL.R16UI = 33332; lime_graphics_opengl_GL.R32I = 33333; lime_graphics_opengl_GL.R32UI = 33334; lime_graphics_opengl_GL.RG8I = 33335; lime_graphics_opengl_GL.RG8UI = 33336; lime_graphics_opengl_GL.RG16I = 33337; lime_graphics_opengl_GL.RG16UI = 33338; lime_graphics_opengl_GL.RG32I = 33339; lime_graphics_opengl_GL.RG32UI = 33340; lime_graphics_opengl_GL.R8_SNORM = 36756; lime_graphics_opengl_GL.RG8_SNORM = 36757; lime_graphics_opengl_GL.RGB8_SNORM = 36758; lime_graphics_opengl_GL.RGBA8_SNORM = 36759; lime_graphics_opengl_GL.RGB10_A2UI = 36975; lime_graphics_opengl_GL.TEXTURE_IMMUTABLE_FORMAT = 37167; lime_graphics_opengl_GL.TEXTURE_IMMUTABLE_LEVELS = 33503; lime_graphics_opengl_GL.UNSIGNED_INT_2_10_10_10_REV = 33640; lime_graphics_opengl_GL.UNSIGNED_INT_10F_11F_11F_REV = 35899; lime_graphics_opengl_GL.UNSIGNED_INT_5_9_9_9_REV = 35902; lime_graphics_opengl_GL.FLOAT_32_UNSIGNED_INT_24_8_REV = 36269; lime_graphics_opengl_GL.UNSIGNED_INT_24_8 = 34042; lime_graphics_opengl_GL.HALF_FLOAT = 5131; lime_graphics_opengl_GL.RG = 33319; lime_graphics_opengl_GL.RG_INTEGER = 33320; lime_graphics_opengl_GL.INT_2_10_10_10_REV = 36255; lime_graphics_opengl_GL.CURRENT_QUERY = 34917; lime_graphics_opengl_GL.QUERY_RESULT = 34918; lime_graphics_opengl_GL.QUERY_RESULT_AVAILABLE = 34919; lime_graphics_opengl_GL.ANY_SAMPLES_PASSED = 35887; lime_graphics_opengl_GL.ANY_SAMPLES_PASSED_CONSERVATIVE = 36202; lime_graphics_opengl_GL.MAX_DRAW_BUFFERS = 34852; lime_graphics_opengl_GL.DRAW_BUFFER0 = 34853; lime_graphics_opengl_GL.DRAW_BUFFER1 = 34854; lime_graphics_opengl_GL.DRAW_BUFFER2 = 34855; lime_graphics_opengl_GL.DRAW_BUFFER3 = 34856; lime_graphics_opengl_GL.DRAW_BUFFER4 = 34857; lime_graphics_opengl_GL.DRAW_BUFFER5 = 34858; lime_graphics_opengl_GL.DRAW_BUFFER6 = 34859; lime_graphics_opengl_GL.DRAW_BUFFER7 = 34860; lime_graphics_opengl_GL.DRAW_BUFFER8 = 34861; lime_graphics_opengl_GL.DRAW_BUFFER9 = 34862; lime_graphics_opengl_GL.DRAW_BUFFER10 = 34863; lime_graphics_opengl_GL.DRAW_BUFFER11 = 34864; lime_graphics_opengl_GL.DRAW_BUFFER12 = 34865; lime_graphics_opengl_GL.DRAW_BUFFER13 = 34866; lime_graphics_opengl_GL.DRAW_BUFFER14 = 34867; lime_graphics_opengl_GL.DRAW_BUFFER15 = 34868; lime_graphics_opengl_GL.MAX_COLOR_ATTACHMENTS = 36063; lime_graphics_opengl_GL.COLOR_ATTACHMENT1 = 36065; lime_graphics_opengl_GL.COLOR_ATTACHMENT2 = 36066; lime_graphics_opengl_GL.COLOR_ATTACHMENT3 = 36067; lime_graphics_opengl_GL.COLOR_ATTACHMENT4 = 36068; lime_graphics_opengl_GL.COLOR_ATTACHMENT5 = 36069; lime_graphics_opengl_GL.COLOR_ATTACHMENT6 = 36070; lime_graphics_opengl_GL.COLOR_ATTACHMENT7 = 36071; lime_graphics_opengl_GL.COLOR_ATTACHMENT8 = 36072; lime_graphics_opengl_GL.COLOR_ATTACHMENT9 = 36073; lime_graphics_opengl_GL.COLOR_ATTACHMENT10 = 36074; lime_graphics_opengl_GL.COLOR_ATTACHMENT11 = 36075; lime_graphics_opengl_GL.COLOR_ATTACHMENT12 = 36076; lime_graphics_opengl_GL.COLOR_ATTACHMENT13 = 36077; lime_graphics_opengl_GL.COLOR_ATTACHMENT14 = 36078; lime_graphics_opengl_GL.COLOR_ATTACHMENT15 = 36079; lime_graphics_opengl_GL.SAMPLER_3D = 35679; lime_graphics_opengl_GL.SAMPLER_2D_SHADOW = 35682; lime_graphics_opengl_GL.SAMPLER_2D_ARRAY = 36289; lime_graphics_opengl_GL.SAMPLER_2D_ARRAY_SHADOW = 36292; lime_graphics_opengl_GL.SAMPLER_CUBE_SHADOW = 36293; lime_graphics_opengl_GL.INT_SAMPLER_2D = 36298; lime_graphics_opengl_GL.INT_SAMPLER_3D = 36299; lime_graphics_opengl_GL.INT_SAMPLER_CUBE = 36300; lime_graphics_opengl_GL.INT_SAMPLER_2D_ARRAY = 36303; lime_graphics_opengl_GL.UNSIGNED_INT_SAMPLER_2D = 36306; lime_graphics_opengl_GL.UNSIGNED_INT_SAMPLER_3D = 36307; lime_graphics_opengl_GL.UNSIGNED_INT_SAMPLER_CUBE = 36308; lime_graphics_opengl_GL.UNSIGNED_INT_SAMPLER_2D_ARRAY = 36311; lime_graphics_opengl_GL.MAX_SAMPLES = 36183; lime_graphics_opengl_GL.SAMPLER_BINDING = 35097; lime_graphics_opengl_GL.PIXEL_PACK_BUFFER = 35051; lime_graphics_opengl_GL.PIXEL_UNPACK_BUFFER = 35052; lime_graphics_opengl_GL.PIXEL_PACK_BUFFER_BINDING = 35053; lime_graphics_opengl_GL.PIXEL_UNPACK_BUFFER_BINDING = 35055; lime_graphics_opengl_GL.COPY_READ_BUFFER = 36662; lime_graphics_opengl_GL.COPY_WRITE_BUFFER = 36663; lime_graphics_opengl_GL.COPY_READ_BUFFER_BINDING = 36662; lime_graphics_opengl_GL.COPY_WRITE_BUFFER_BINDING = 36663; lime_graphics_opengl_GL.FLOAT_MAT2x3 = 35685; lime_graphics_opengl_GL.FLOAT_MAT2x4 = 35686; lime_graphics_opengl_GL.FLOAT_MAT3x2 = 35687; lime_graphics_opengl_GL.FLOAT_MAT3x4 = 35688; lime_graphics_opengl_GL.FLOAT_MAT4x2 = 35689; lime_graphics_opengl_GL.FLOAT_MAT4x3 = 35690; lime_graphics_opengl_GL.UNSIGNED_INT_VEC2 = 36294; lime_graphics_opengl_GL.UNSIGNED_INT_VEC3 = 36295; lime_graphics_opengl_GL.UNSIGNED_INT_VEC4 = 36296; lime_graphics_opengl_GL.UNSIGNED_NORMALIZED = 35863; lime_graphics_opengl_GL.SIGNED_NORMALIZED = 36764; lime_graphics_opengl_GL.VERTEX_ATTRIB_ARRAY_INTEGER = 35069; lime_graphics_opengl_GL.VERTEX_ATTRIB_ARRAY_DIVISOR = 35070; lime_graphics_opengl_GL.TRANSFORM_FEEDBACK_BUFFER_MODE = 35967; lime_graphics_opengl_GL.MAX_TRANSFORM_FEEDBACK_SEPARATE_COMPONENTS = 35968; lime_graphics_opengl_GL.TRANSFORM_FEEDBACK_VARYINGS = 35971; lime_graphics_opengl_GL.TRANSFORM_FEEDBACK_BUFFER_START = 35972; lime_graphics_opengl_GL.TRANSFORM_FEEDBACK_BUFFER_SIZE = 35973; lime_graphics_opengl_GL.TRANSFORM_FEEDBACK_PRIMITIVES_WRITTEN = 35976; lime_graphics_opengl_GL.MAX_TRANSFORM_FEEDBACK_INTERLEAVED_COMPONENTS = 35978; lime_graphics_opengl_GL.MAX_TRANSFORM_FEEDBACK_SEPARATE_ATTRIBS = 35979; lime_graphics_opengl_GL.INTERLEAVED_ATTRIBS = 35980; lime_graphics_opengl_GL.SEPARATE_ATTRIBS = 35981; lime_graphics_opengl_GL.TRANSFORM_FEEDBACK_BUFFER = 35982; lime_graphics_opengl_GL.TRANSFORM_FEEDBACK_BUFFER_BINDING = 35983; lime_graphics_opengl_GL.TRANSFORM_FEEDBACK = 36386; lime_graphics_opengl_GL.TRANSFORM_FEEDBACK_PAUSED = 36387; lime_graphics_opengl_GL.TRANSFORM_FEEDBACK_ACTIVE = 36388; lime_graphics_opengl_GL.TRANSFORM_FEEDBACK_BINDING = 36389; lime_graphics_opengl_GL.FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING = 33296; lime_graphics_opengl_GL.FRAMEBUFFER_ATTACHMENT_COMPONENT_TYPE = 33297; lime_graphics_opengl_GL.FRAMEBUFFER_ATTACHMENT_RED_SIZE = 33298; lime_graphics_opengl_GL.FRAMEBUFFER_ATTACHMENT_GREEN_SIZE = 33299; lime_graphics_opengl_GL.FRAMEBUFFER_ATTACHMENT_BLUE_SIZE = 33300; lime_graphics_opengl_GL.FRAMEBUFFER_ATTACHMENT_ALPHA_SIZE = 33301; lime_graphics_opengl_GL.FRAMEBUFFER_ATTACHMENT_DEPTH_SIZE = 33302; lime_graphics_opengl_GL.FRAMEBUFFER_ATTACHMENT_STENCIL_SIZE = 33303; lime_graphics_opengl_GL.FRAMEBUFFER_DEFAULT = 33304; lime_graphics_opengl_GL.DEPTH24_STENCIL8 = 35056; lime_graphics_opengl_GL.DRAW_FRAMEBUFFER_BINDING = 36006; lime_graphics_opengl_GL.READ_FRAMEBUFFER = 36008; lime_graphics_opengl_GL.DRAW_FRAMEBUFFER = 36009; lime_graphics_opengl_GL.READ_FRAMEBUFFER_BINDING = 36010; lime_graphics_opengl_GL.RENDERBUFFER_SAMPLES = 36011; lime_graphics_opengl_GL.FRAMEBUFFER_ATTACHMENT_TEXTURE_LAYER = 36052; lime_graphics_opengl_GL.FRAMEBUFFER_INCOMPLETE_MULTISAMPLE = 36182; lime_graphics_opengl_GL.UNIFORM_BUFFER = 35345; lime_graphics_opengl_GL.UNIFORM_BUFFER_BINDING = 35368; lime_graphics_opengl_GL.UNIFORM_BUFFER_START = 35369; lime_graphics_opengl_GL.UNIFORM_BUFFER_SIZE = 35370; lime_graphics_opengl_GL.MAX_VERTEX_UNIFORM_BLOCKS = 35371; lime_graphics_opengl_GL.MAX_FRAGMENT_UNIFORM_BLOCKS = 35373; lime_graphics_opengl_GL.MAX_COMBINED_UNIFORM_BLOCKS = 35374; lime_graphics_opengl_GL.MAX_UNIFORM_BUFFER_BINDINGS = 35375; lime_graphics_opengl_GL.MAX_UNIFORM_BLOCK_SIZE = 35376; lime_graphics_opengl_GL.MAX_COMBINED_VERTEX_UNIFORM_COMPONENTS = 35377; lime_graphics_opengl_GL.MAX_COMBINED_FRAGMENT_UNIFORM_COMPONENTS = 35379; lime_graphics_opengl_GL.UNIFORM_BUFFER_OFFSET_ALIGNMENT = 35380; lime_graphics_opengl_GL.ACTIVE_UNIFORM_BLOCKS = 35382; lime_graphics_opengl_GL.UNIFORM_TYPE = 35383; lime_graphics_opengl_GL.UNIFORM_SIZE = 35384; lime_graphics_opengl_GL.UNIFORM_BLOCK_INDEX = 35386; lime_graphics_opengl_GL.UNIFORM_OFFSET = 35387; lime_graphics_opengl_GL.UNIFORM_ARRAY_STRIDE = 35388; lime_graphics_opengl_GL.UNIFORM_MATRIX_STRIDE = 35389; lime_graphics_opengl_GL.UNIFORM_IS_ROW_MAJOR = 35390; lime_graphics_opengl_GL.UNIFORM_BLOCK_BINDING = 35391; lime_graphics_opengl_GL.UNIFORM_BLOCK_DATA_SIZE = 35392; lime_graphics_opengl_GL.UNIFORM_BLOCK_ACTIVE_UNIFORMS = 35394; lime_graphics_opengl_GL.UNIFORM_BLOCK_ACTIVE_UNIFORM_INDICES = 35395; lime_graphics_opengl_GL.UNIFORM_BLOCK_REFERENCED_BY_VERTEX_SHADER = 35396; lime_graphics_opengl_GL.UNIFORM_BLOCK_REFERENCED_BY_FRAGMENT_SHADER = 35398; lime_graphics_opengl_GL.OBJECT_TYPE = 37138; lime_graphics_opengl_GL.SYNC_CONDITION = 37139; lime_graphics_opengl_GL.SYNC_STATUS = 37140; lime_graphics_opengl_GL.SYNC_FLAGS = 37141; lime_graphics_opengl_GL.SYNC_FENCE = 37142; lime_graphics_opengl_GL.SYNC_GPU_COMMANDS_COMPLETE = 37143; lime_graphics_opengl_GL.UNSIGNALED = 37144; lime_graphics_opengl_GL.SIGNALED = 37145; lime_graphics_opengl_GL.ALREADY_SIGNALED = 37146; lime_graphics_opengl_GL.TIMEOUT_EXPIRED = 37147; lime_graphics_opengl_GL.CONDITION_SATISFIED = 37148; lime_graphics_opengl_GL.WAIT_FAILED = 37149; lime_graphics_opengl_GL.SYNC_FLUSH_COMMANDS_BIT = 1; lime_graphics_opengl_GL.COLOR = 6144; lime_graphics_opengl_GL.DEPTH = 6145; lime_graphics_opengl_GL.STENCIL = 6146; lime_graphics_opengl_GL.MIN = 32775; lime_graphics_opengl_GL.MAX = 32776; lime_graphics_opengl_GL.DEPTH_COMPONENT24 = 33190; lime_graphics_opengl_GL.STREAM_READ = 35041; lime_graphics_opengl_GL.STREAM_COPY = 35042; lime_graphics_opengl_GL.STATIC_READ = 35045; lime_graphics_opengl_GL.STATIC_COPY = 35046; lime_graphics_opengl_GL.DYNAMIC_READ = 35049; lime_graphics_opengl_GL.DYNAMIC_COPY = 35050; lime_graphics_opengl_GL.DEPTH_COMPONENT32F = 36012; lime_graphics_opengl_GL.DEPTH32F_STENCIL8 = 36013; lime_graphics_opengl_GL.INVALID_INDEX = -1; lime_graphics_opengl_GL.TIMEOUT_IGNORED = -1; lime_graphics_opengl_GL.MAX_CLIENT_WAIT_TIMEOUT_WEBGL = 37447; lime_math__$ColorMatrix_ColorMatrix_$Impl_$.__identity = [1.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,0.0,1.0,0.0]; lime_math__$Matrix4_Matrix4_$Impl_$.__identity = [1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0,0.0,0.0,0.0,0.0,1.0]; lime_media_openal_AL.NONE = 0; lime_media_openal_AL.FALSE = 0; lime_media_openal_AL.TRUE = 1; lime_media_openal_AL.SOURCE_RELATIVE = 514; lime_media_openal_AL.CONE_INNER_ANGLE = 4097; lime_media_openal_AL.CONE_OUTER_ANGLE = 4098; lime_media_openal_AL.PITCH = 4099; lime_media_openal_AL.POSITION = 4100; lime_media_openal_AL.DIRECTION = 4101; lime_media_openal_AL.VELOCITY = 4102; lime_media_openal_AL.LOOPING = 4103; lime_media_openal_AL.BUFFER = 4105; lime_media_openal_AL.GAIN = 4106; lime_media_openal_AL.MIN_GAIN = 4109; lime_media_openal_AL.MAX_GAIN = 4110; lime_media_openal_AL.ORIENTATION = 4111; lime_media_openal_AL.SOURCE_STATE = 4112; lime_media_openal_AL.INITIAL = 4113; lime_media_openal_AL.PLAYING = 4114; lime_media_openal_AL.PAUSED = 4115; lime_media_openal_AL.STOPPED = 4116; lime_media_openal_AL.BUFFERS_QUEUED = 4117; lime_media_openal_AL.BUFFERS_PROCESSED = 4118; lime_media_openal_AL.REFERENCE_DISTANCE = 4128; lime_media_openal_AL.ROLLOFF_FACTOR = 4129; lime_media_openal_AL.CONE_OUTER_GAIN = 4130; lime_media_openal_AL.MAX_DISTANCE = 4131; lime_media_openal_AL.SEC_OFFSET = 4132; lime_media_openal_AL.SAMPLE_OFFSET = 4133; lime_media_openal_AL.BYTE_OFFSET = 4134; lime_media_openal_AL.SOURCE_TYPE = 4135; lime_media_openal_AL.STATIC = 4136; lime_media_openal_AL.STREAMING = 4137; lime_media_openal_AL.UNDETERMINED = 4144; lime_media_openal_AL.FORMAT_MONO8 = 4352; lime_media_openal_AL.FORMAT_MONO16 = 4353; lime_media_openal_AL.FORMAT_STEREO8 = 4354; lime_media_openal_AL.FORMAT_STEREO16 = 4355; lime_media_openal_AL.FREQUENCY = 8193; lime_media_openal_AL.BITS = 8194; lime_media_openal_AL.CHANNELS = 8195; lime_media_openal_AL.SIZE = 8196; lime_media_openal_AL.NO_ERROR = 0; lime_media_openal_AL.INVALID_NAME = 40961; lime_media_openal_AL.INVALID_ENUM = 40962; lime_media_openal_AL.INVALID_VALUE = 40963; lime_media_openal_AL.INVALID_OPERATION = 40964; lime_media_openal_AL.OUT_OF_MEMORY = 40965; lime_media_openal_AL.VENDOR = 45057; lime_media_openal_AL.VERSION = 45058; lime_media_openal_AL.RENDERER = 45059; lime_media_openal_AL.EXTENSIONS = 45060; lime_media_openal_AL.DOPPLER_FACTOR = 49152; lime_media_openal_AL.SPEED_OF_SOUND = 49155; lime_media_openal_AL.DOPPLER_VELOCITY = 49153; lime_media_openal_AL.DISTANCE_MODEL = 53248; lime_media_openal_AL.INVERSE_DISTANCE = 53249; lime_media_openal_AL.INVERSE_DISTANCE_CLAMPED = 53250; lime_media_openal_AL.LINEAR_DISTANCE = 53251; lime_media_openal_AL.LINEAR_DISTANCE_CLAMPED = 53252; lime_media_openal_AL.EXPONENT_DISTANCE = 53253; lime_media_openal_AL.EXPONENT_DISTANCE_CLAMPED = 53254; lime_media_openal_AL.METERS_PER_UNIT = 131076; lime_media_openal_AL.DIRECT_FILTER = 131077; lime_media_openal_AL.AUXILIARY_SEND_FILTER = 131078; lime_media_openal_AL.AIR_ABSORPTION_FACTOR = 131079; lime_media_openal_AL.ROOM_ROLLOFF_FACTOR = 131080; lime_media_openal_AL.CONE_OUTER_GAINHF = 131081; lime_media_openal_AL.DIRECT_FILTER_GAINHF_AUTO = 131082; lime_media_openal_AL.AUXILIARY_SEND_FILTER_GAIN_AUTO = 131083; lime_media_openal_AL.AUXILIARY_SEND_FILTER_GAINHF_AUTO = 131084; lime_media_openal_AL.REVERB_DENSITY = 1; lime_media_openal_AL.REVERB_DIFFUSION = 2; lime_media_openal_AL.REVERB_GAIN = 3; lime_media_openal_AL.REVERB_GAINHF = 4; lime_media_openal_AL.REVERB_DECAY_TIME = 5; lime_media_openal_AL.REVERB_DECAY_HFRATIO = 6; lime_media_openal_AL.REVERB_REFLECTIONS_GAIN = 7; lime_media_openal_AL.REVERB_REFLECTIONS_DELAY = 8; lime_media_openal_AL.REVERB_LATE_REVERB_GAIN = 9; lime_media_openal_AL.REVERB_LATE_REVERB_DELAY = 10; lime_media_openal_AL.REVERB_AIR_ABSORPTION_GAINHF = 11; lime_media_openal_AL.REVERB_ROOM_ROLLOFF_FACTOR = 12; lime_media_openal_AL.REVERB_DECAY_HFLIMIT = 13; lime_media_openal_AL.EAXREVERB_DENSITY = 1; lime_media_openal_AL.EAXREVERB_DIFFUSION = 2; lime_media_openal_AL.EAXREVERB_GAIN = 3; lime_media_openal_AL.EAXREVERB_GAINHF = 4; lime_media_openal_AL.EAXREVERB_GAINLF = 5; lime_media_openal_AL.EAXREVERB_DECAY_TIME = 6; lime_media_openal_AL.EAXREVERB_DECAY_HFRATIO = 7; lime_media_openal_AL.EAXREVERB_DECAY_LFRATIO = 8; lime_media_openal_AL.EAXREVERB_REFLECTIONS_GAIN = 9; lime_media_openal_AL.EAXREVERB_REFLECTIONS_DELAY = 10; lime_media_openal_AL.EAXREVERB_REFLECTIONS_PAN = 11; lime_media_openal_AL.EAXREVERB_LATE_REVERB_GAIN = 12; lime_media_openal_AL.EAXREVERB_LATE_REVERB_DELAY = 13; lime_media_openal_AL.EAXREVERB_LATE_REVERB_PAN = 14; lime_media_openal_AL.EAXREVERB_ECHO_TIME = 15; lime_media_openal_AL.EAXREVERB_ECHO_DEPTH = 16; lime_media_openal_AL.EAXREVERB_MODULATION_TIME = 17; lime_media_openal_AL.EAXREVERB_MODULATION_DEPTH = 18; lime_media_openal_AL.EAXREVERB_AIR_ABSORPTION_GAINHF = 19; lime_media_openal_AL.EAXREVERB_HFREFERENCE = 20; lime_media_openal_AL.EAXREVERB_LFREFERENCE = 21; lime_media_openal_AL.EAXREVERB_ROOM_ROLLOFF_FACTOR = 22; lime_media_openal_AL.EAXREVERB_DECAY_HFLIMIT = 23; lime_media_openal_AL.CHORUS_WAVEFORM = 1; lime_media_openal_AL.CHORUS_PHASE = 2; lime_media_openal_AL.CHORUS_RATE = 3; lime_media_openal_AL.CHORUS_DEPTH = 4; lime_media_openal_AL.CHORUS_FEEDBACK = 5; lime_media_openal_AL.CHORUS_DELAY = 6; lime_media_openal_AL.DISTORTION_EDGE = 1; lime_media_openal_AL.DISTORTION_GAIN = 2; lime_media_openal_AL.DISTORTION_LOWPASS_CUTOFF = 3; lime_media_openal_AL.DISTORTION_EQCENTER = 4; lime_media_openal_AL.DISTORTION_EQBANDWIDTH = 5; lime_media_openal_AL.ECHO_DELAY = 1; lime_media_openal_AL.ECHO_LRDELAY = 2; lime_media_openal_AL.ECHO_DAMPING = 3; lime_media_openal_AL.ECHO_FEEDBACK = 4; lime_media_openal_AL.ECHO_SPREAD = 5; lime_media_openal_AL.FLANGER_WAVEFORM = 1; lime_media_openal_AL.FLANGER_PHASE = 2; lime_media_openal_AL.FLANGER_RATE = 3; lime_media_openal_AL.FLANGER_DEPTH = 4; lime_media_openal_AL.FLANGER_FEEDBACK = 5; lime_media_openal_AL.FLANGER_DELAY = 6; lime_media_openal_AL.FREQUENCY_SHIFTER_FREQUENCY = 1; lime_media_openal_AL.FREQUENCY_SHIFTER_LEFT_DIRECTION = 2; lime_media_openal_AL.FREQUENCY_SHIFTER_RIGHT_DIRECTION = 3; lime_media_openal_AL.VOCAL_MORPHER_PHONEMEA = 1; lime_media_openal_AL.VOCAL_MORPHER_PHONEMEA_COARSE_TUNING = 2; lime_media_openal_AL.VOCAL_MORPHER_PHONEMEB = 3; lime_media_openal_AL.VOCAL_MORPHER_PHONEMEB_COARSE_TUNING = 4; lime_media_openal_AL.VOCAL_MORPHER_WAVEFORM = 5; lime_media_openal_AL.VOCAL_MORPHER_RATE = 6; lime_media_openal_AL.PITCH_SHIFTER_COARSE_TUNE = 1; lime_media_openal_AL.PITCH_SHIFTER_FINE_TUNE = 2; lime_media_openal_AL.RING_MODULATOR_FREQUENCY = 1; lime_media_openal_AL.RING_MODULATOR_HIGHPASS_CUTOFF = 2; lime_media_openal_AL.RING_MODULATOR_WAVEFORM = 3; lime_media_openal_AL.AUTOWAH_ATTACK_TIME = 1; lime_media_openal_AL.AUTOWAH_RELEASE_TIME = 2; lime_media_openal_AL.AUTOWAH_RESONANCE = 3; lime_media_openal_AL.AUTOWAH_PEAK_GAIN = 4; lime_media_openal_AL.COMPRESSOR_ONOFF = 1; lime_media_openal_AL.EQUALIZER_LOW_GAIN = 1; lime_media_openal_AL.EQUALIZER_LOW_CUTOFF = 2; lime_media_openal_AL.EQUALIZER_MID1_GAIN = 3; lime_media_openal_AL.EQUALIZER_MID1_CENTER = 4; lime_media_openal_AL.EQUALIZER_MID1_WIDTH = 5; lime_media_openal_AL.EQUALIZER_MID2_GAIN = 6; lime_media_openal_AL.EQUALIZER_MID2_CENTER = 7; lime_media_openal_AL.EQUALIZER_MID2_WIDTH = 8; lime_media_openal_AL.EQUALIZER_HIGH_GAIN = 9; lime_media_openal_AL.EQUALIZER_HIGH_CUTOFF = 10; lime_media_openal_AL.EFFECT_FIRST_PARAMETER = 0; lime_media_openal_AL.EFFECT_LAST_PARAMETER = 32768; lime_media_openal_AL.EFFECT_TYPE = 32769; lime_media_openal_AL.EFFECT_NULL = 0; lime_media_openal_AL.EFFECT_EAXREVERB = 32768; lime_media_openal_AL.EFFECT_REVERB = 1; lime_media_openal_AL.EFFECT_CHORUS = 2; lime_media_openal_AL.EFFECT_DISTORTION = 3; lime_media_openal_AL.EFFECT_ECHO = 4; lime_media_openal_AL.EFFECT_FLANGER = 5; lime_media_openal_AL.EFFECT_FREQUENCY_SHIFTER = 6; lime_media_openal_AL.EFFECT_VOCAL_MORPHER = 7; lime_media_openal_AL.EFFECT_PITCH_SHIFTER = 8; lime_media_openal_AL.EFFECT_RING_MODULATOR = 9; lime_media_openal_AL.FFECT_AUTOWAH = 10; lime_media_openal_AL.EFFECT_COMPRESSOR = 11; lime_media_openal_AL.EFFECT_EQUALIZER = 12; lime_media_openal_AL.EFFECTSLOT_EFFECT = 1; lime_media_openal_AL.EFFECTSLOT_GAIN = 2; lime_media_openal_AL.EFFECTSLOT_AUXILIARY_SEND_AUTO = 3; lime_media_openal_AL.LOWPASS_GAIN = 1; lime_media_openal_AL.LOWPASS_GAINHF = 2; lime_media_openal_AL.HIGHPASS_GAIN = 1; lime_media_openal_AL.HIGHPASS_GAINLF = 2; lime_media_openal_AL.BANDPASS_GAIN = 1; lime_media_openal_AL.BANDPASS_GAINLF = 2; lime_media_openal_AL.BANDPASS_GAINHF = 3; lime_media_openal_AL.FILTER_FIRST_PARAMETER = 0; lime_media_openal_AL.FILTER_LAST_PARAMETER = 32768; lime_media_openal_AL.FILTER_TYPE = 32769; lime_media_openal_AL.FILTER_NULL = 0; lime_media_openal_AL.FILTER_LOWPASS = 1; lime_media_openal_AL.FILTER_HIGHPASS = 2; lime_media_openal_AL.FILTER_BANDPASS = 3; lime_media_openal_ALC.FALSE = 0; lime_media_openal_ALC.TRUE = 1; lime_media_openal_ALC.FREQUENCY = 4103; lime_media_openal_ALC.REFRESH = 4104; lime_media_openal_ALC.SYNC = 4105; lime_media_openal_ALC.MONO_SOURCES = 4112; lime_media_openal_ALC.STEREO_SOURCES = 4113; lime_media_openal_ALC.NO_ERROR = 0; lime_media_openal_ALC.INVALID_DEVICE = 40961; lime_media_openal_ALC.INVALID_CONTEXT = 40962; lime_media_openal_ALC.INVALID_ENUM = 40963; lime_media_openal_ALC.INVALID_VALUE = 40964; lime_media_openal_ALC.OUT_OF_MEMORY = 40965; lime_media_openal_ALC.ATTRIBUTES_SIZE = 4098; lime_media_openal_ALC.ALL_ATTRIBUTES = 4099; lime_media_openal_ALC.DEFAULT_DEVICE_SPECIFIER = 4100; lime_media_openal_ALC.DEVICE_SPECIFIER = 4101; lime_media_openal_ALC.EXTENSIONS = 4102; lime_media_openal_ALC.ENUMERATE_ALL_EXT = 1; lime_media_openal_ALC.DEFAULT_ALL_DEVICES_SPECIFIER = 4114; lime_media_openal_ALC.ALL_DEVICES_SPECIFIER = 4115; lime_system_BackgroundWorker.MESSAGE_COMPLETE = "__COMPLETE__"; lime_system_BackgroundWorker.MESSAGE_ERROR = "__ERROR__"; lime_system_CFFI.__moduleNames = null; lime_system_Clipboard.onUpdate = new lime_app__$Event_$Void_$Void(); lime_system_Sensor.sensorByID = new haxe_ds_IntMap(); lime_system_Sensor.sensors = []; lime_system_System.__directories = new haxe_ds_IntMap(); lime_ui_Gamepad.devices = new haxe_ds_IntMap(); lime_ui_Gamepad.onConnect = new lime_app__$Event_$lime_$ui_$Gamepad_$Void(); lime_ui__$GamepadAxis_GamepadAxis_$Impl_$.LEFT_X = 0; lime_ui__$GamepadAxis_GamepadAxis_$Impl_$.LEFT_Y = 1; lime_ui__$GamepadAxis_GamepadAxis_$Impl_$.RIGHT_X = 2; lime_ui__$GamepadAxis_GamepadAxis_$Impl_$.RIGHT_Y = 3; lime_ui__$GamepadAxis_GamepadAxis_$Impl_$.TRIGGER_LEFT = 4; lime_ui__$GamepadAxis_GamepadAxis_$Impl_$.TRIGGER_RIGHT = 5; lime_ui__$GamepadButton_GamepadButton_$Impl_$.A = 0; lime_ui__$GamepadButton_GamepadButton_$Impl_$.B = 1; lime_ui__$GamepadButton_GamepadButton_$Impl_$.X = 2; lime_ui__$GamepadButton_GamepadButton_$Impl_$.Y = 3; lime_ui__$GamepadButton_GamepadButton_$Impl_$.BACK = 4; lime_ui__$GamepadButton_GamepadButton_$Impl_$.GUIDE = 5; lime_ui__$GamepadButton_GamepadButton_$Impl_$.START = 6; lime_ui__$GamepadButton_GamepadButton_$Impl_$.LEFT_STICK = 7; lime_ui__$GamepadButton_GamepadButton_$Impl_$.RIGHT_STICK = 8; lime_ui__$GamepadButton_GamepadButton_$Impl_$.LEFT_SHOULDER = 9; lime_ui__$GamepadButton_GamepadButton_$Impl_$.RIGHT_SHOULDER = 10; lime_ui__$GamepadButton_GamepadButton_$Impl_$.DPAD_UP = 11; lime_ui__$GamepadButton_GamepadButton_$Impl_$.DPAD_DOWN = 12; lime_ui__$GamepadButton_GamepadButton_$Impl_$.DPAD_LEFT = 13; lime_ui__$GamepadButton_GamepadButton_$Impl_$.DPAD_RIGHT = 14; lime_ui_Joystick.devices = new haxe_ds_IntMap(); lime_ui_Joystick.onConnect = new lime_app__$Event_$lime_$ui_$Joystick_$Void(); lime_ui__$JoystickHatPosition_JoystickHatPosition_$Impl_$.CENTER = 0; lime_ui__$JoystickHatPosition_JoystickHatPosition_$Impl_$.DOWN = 4; lime_ui__$JoystickHatPosition_JoystickHatPosition_$Impl_$.LEFT = 8; lime_ui__$JoystickHatPosition_JoystickHatPosition_$Impl_$.RIGHT = 2; lime_ui__$JoystickHatPosition_JoystickHatPosition_$Impl_$.UP = 1; lime_ui__$JoystickHatPosition_JoystickHatPosition_$Impl_$.DOWN_LEFT = 12; lime_ui__$JoystickHatPosition_JoystickHatPosition_$Impl_$.DOWN_RIGHT = 6; lime_ui__$JoystickHatPosition_JoystickHatPosition_$Impl_$.UP_LEFT = 9; lime_ui__$JoystickHatPosition_JoystickHatPosition_$Impl_$.UP_RIGHT = 3; lime_ui__$KeyCode_KeyCode_$Impl_$.UNKNOWN = 0; lime_ui__$KeyCode_KeyCode_$Impl_$.BACKSPACE = 8; lime_ui__$KeyCode_KeyCode_$Impl_$.TAB = 9; lime_ui__$KeyCode_KeyCode_$Impl_$.RETURN = 13; lime_ui__$KeyCode_KeyCode_$Impl_$.ESCAPE = 27; lime_ui__$KeyCode_KeyCode_$Impl_$.SPACE = 32; lime_ui__$KeyCode_KeyCode_$Impl_$.EXCLAMATION = 33; lime_ui__$KeyCode_KeyCode_$Impl_$.QUOTE = 34; lime_ui__$KeyCode_KeyCode_$Impl_$.HASH = 35; lime_ui__$KeyCode_KeyCode_$Impl_$.DOLLAR = 36; lime_ui__$KeyCode_KeyCode_$Impl_$.PERCENT = 37; lime_ui__$KeyCode_KeyCode_$Impl_$.AMPERSAND = 38; lime_ui__$KeyCode_KeyCode_$Impl_$.SINGLE_QUOTE = 39; lime_ui__$KeyCode_KeyCode_$Impl_$.LEFT_PARENTHESIS = 40; lime_ui__$KeyCode_KeyCode_$Impl_$.RIGHT_PARENTHESIS = 41; lime_ui__$KeyCode_KeyCode_$Impl_$.ASTERISK = 42; lime_ui__$KeyCode_KeyCode_$Impl_$.PLUS = 43; lime_ui__$KeyCode_KeyCode_$Impl_$.COMMA = 44; lime_ui__$KeyCode_KeyCode_$Impl_$.MINUS = 45; lime_ui__$KeyCode_KeyCode_$Impl_$.PERIOD = 46; lime_ui__$KeyCode_KeyCode_$Impl_$.SLASH = 47; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMBER_0 = 48; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMBER_1 = 49; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMBER_2 = 50; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMBER_3 = 51; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMBER_4 = 52; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMBER_5 = 53; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMBER_6 = 54; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMBER_7 = 55; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMBER_8 = 56; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMBER_9 = 57; lime_ui__$KeyCode_KeyCode_$Impl_$.COLON = 58; lime_ui__$KeyCode_KeyCode_$Impl_$.SEMICOLON = 59; lime_ui__$KeyCode_KeyCode_$Impl_$.LESS_THAN = 60; lime_ui__$KeyCode_KeyCode_$Impl_$.EQUALS = 61; lime_ui__$KeyCode_KeyCode_$Impl_$.GREATER_THAN = 62; lime_ui__$KeyCode_KeyCode_$Impl_$.QUESTION = 63; lime_ui__$KeyCode_KeyCode_$Impl_$.AT = 64; lime_ui__$KeyCode_KeyCode_$Impl_$.LEFT_BRACKET = 91; lime_ui__$KeyCode_KeyCode_$Impl_$.BACKSLASH = 92; lime_ui__$KeyCode_KeyCode_$Impl_$.RIGHT_BRACKET = 93; lime_ui__$KeyCode_KeyCode_$Impl_$.CARET = 94; lime_ui__$KeyCode_KeyCode_$Impl_$.UNDERSCORE = 95; lime_ui__$KeyCode_KeyCode_$Impl_$.GRAVE = 96; lime_ui__$KeyCode_KeyCode_$Impl_$.A = 97; lime_ui__$KeyCode_KeyCode_$Impl_$.B = 98; lime_ui__$KeyCode_KeyCode_$Impl_$.C = 99; lime_ui__$KeyCode_KeyCode_$Impl_$.D = 100; lime_ui__$KeyCode_KeyCode_$Impl_$.E = 101; lime_ui__$KeyCode_KeyCode_$Impl_$.F = 102; lime_ui__$KeyCode_KeyCode_$Impl_$.G = 103; lime_ui__$KeyCode_KeyCode_$Impl_$.H = 104; lime_ui__$KeyCode_KeyCode_$Impl_$.I = 105; lime_ui__$KeyCode_KeyCode_$Impl_$.J = 106; lime_ui__$KeyCode_KeyCode_$Impl_$.K = 107; lime_ui__$KeyCode_KeyCode_$Impl_$.L = 108; lime_ui__$KeyCode_KeyCode_$Impl_$.M = 109; lime_ui__$KeyCode_KeyCode_$Impl_$.N = 110; lime_ui__$KeyCode_KeyCode_$Impl_$.O = 111; lime_ui__$KeyCode_KeyCode_$Impl_$.P = 112; lime_ui__$KeyCode_KeyCode_$Impl_$.Q = 113; lime_ui__$KeyCode_KeyCode_$Impl_$.R = 114; lime_ui__$KeyCode_KeyCode_$Impl_$.S = 115; lime_ui__$KeyCode_KeyCode_$Impl_$.T = 116; lime_ui__$KeyCode_KeyCode_$Impl_$.U = 117; lime_ui__$KeyCode_KeyCode_$Impl_$.V = 118; lime_ui__$KeyCode_KeyCode_$Impl_$.W = 119; lime_ui__$KeyCode_KeyCode_$Impl_$.X = 120; lime_ui__$KeyCode_KeyCode_$Impl_$.Y = 121; lime_ui__$KeyCode_KeyCode_$Impl_$.Z = 122; lime_ui__$KeyCode_KeyCode_$Impl_$.DELETE = 127; lime_ui__$KeyCode_KeyCode_$Impl_$.CAPS_LOCK = 1073741881; lime_ui__$KeyCode_KeyCode_$Impl_$.F1 = 1073741882; lime_ui__$KeyCode_KeyCode_$Impl_$.F2 = 1073741883; lime_ui__$KeyCode_KeyCode_$Impl_$.F3 = 1073741884; lime_ui__$KeyCode_KeyCode_$Impl_$.F4 = 1073741885; lime_ui__$KeyCode_KeyCode_$Impl_$.F5 = 1073741886; lime_ui__$KeyCode_KeyCode_$Impl_$.F6 = 1073741887; lime_ui__$KeyCode_KeyCode_$Impl_$.F7 = 1073741888; lime_ui__$KeyCode_KeyCode_$Impl_$.F8 = 1073741889; lime_ui__$KeyCode_KeyCode_$Impl_$.F9 = 1073741890; lime_ui__$KeyCode_KeyCode_$Impl_$.F10 = 1073741891; lime_ui__$KeyCode_KeyCode_$Impl_$.F11 = 1073741892; lime_ui__$KeyCode_KeyCode_$Impl_$.F12 = 1073741893; lime_ui__$KeyCode_KeyCode_$Impl_$.PRINT_SCREEN = 1073741894; lime_ui__$KeyCode_KeyCode_$Impl_$.SCROLL_LOCK = 1073741895; lime_ui__$KeyCode_KeyCode_$Impl_$.PAUSE = 1073741896; lime_ui__$KeyCode_KeyCode_$Impl_$.INSERT = 1073741897; lime_ui__$KeyCode_KeyCode_$Impl_$.HOME = 1073741898; lime_ui__$KeyCode_KeyCode_$Impl_$.PAGE_UP = 1073741899; lime_ui__$KeyCode_KeyCode_$Impl_$.END = 1073741901; lime_ui__$KeyCode_KeyCode_$Impl_$.PAGE_DOWN = 1073741902; lime_ui__$KeyCode_KeyCode_$Impl_$.RIGHT = 1073741903; lime_ui__$KeyCode_KeyCode_$Impl_$.LEFT = 1073741904; lime_ui__$KeyCode_KeyCode_$Impl_$.DOWN = 1073741905; lime_ui__$KeyCode_KeyCode_$Impl_$.UP = 1073741906; lime_ui__$KeyCode_KeyCode_$Impl_$.NUM_LOCK = 1073741907; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_DIVIDE = 1073741908; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_MULTIPLY = 1073741909; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_MINUS = 1073741910; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_PLUS = 1073741911; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_ENTER = 1073741912; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_1 = 1073741913; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_2 = 1073741914; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_3 = 1073741915; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_4 = 1073741916; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_5 = 1073741917; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_6 = 1073741918; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_7 = 1073741919; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_8 = 1073741920; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_9 = 1073741921; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_0 = 1073741922; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_PERIOD = 1073741923; lime_ui__$KeyCode_KeyCode_$Impl_$.APPLICATION = 1073741925; lime_ui__$KeyCode_KeyCode_$Impl_$.POWER = 1073741926; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_EQUALS = 1073741927; lime_ui__$KeyCode_KeyCode_$Impl_$.F13 = 1073741928; lime_ui__$KeyCode_KeyCode_$Impl_$.F14 = 1073741929; lime_ui__$KeyCode_KeyCode_$Impl_$.F15 = 1073741930; lime_ui__$KeyCode_KeyCode_$Impl_$.F16 = 1073741931; lime_ui__$KeyCode_KeyCode_$Impl_$.F17 = 1073741932; lime_ui__$KeyCode_KeyCode_$Impl_$.F18 = 1073741933; lime_ui__$KeyCode_KeyCode_$Impl_$.F19 = 1073741934; lime_ui__$KeyCode_KeyCode_$Impl_$.F20 = 1073741935; lime_ui__$KeyCode_KeyCode_$Impl_$.F21 = 1073741936; lime_ui__$KeyCode_KeyCode_$Impl_$.F22 = 1073741937; lime_ui__$KeyCode_KeyCode_$Impl_$.F23 = 1073741938; lime_ui__$KeyCode_KeyCode_$Impl_$.F24 = 1073741939; lime_ui__$KeyCode_KeyCode_$Impl_$.EXECUTE = 1073741940; lime_ui__$KeyCode_KeyCode_$Impl_$.HELP = 1073741941; lime_ui__$KeyCode_KeyCode_$Impl_$.MENU = 1073741942; lime_ui__$KeyCode_KeyCode_$Impl_$.SELECT = 1073741943; lime_ui__$KeyCode_KeyCode_$Impl_$.STOP = 1073741944; lime_ui__$KeyCode_KeyCode_$Impl_$.AGAIN = 1073741945; lime_ui__$KeyCode_KeyCode_$Impl_$.UNDO = 1073741946; lime_ui__$KeyCode_KeyCode_$Impl_$.CUT = 1073741947; lime_ui__$KeyCode_KeyCode_$Impl_$.COPY = 1073741948; lime_ui__$KeyCode_KeyCode_$Impl_$.PASTE = 1073741949; lime_ui__$KeyCode_KeyCode_$Impl_$.FIND = 1073741950; lime_ui__$KeyCode_KeyCode_$Impl_$.MUTE = 1073741951; lime_ui__$KeyCode_KeyCode_$Impl_$.VOLUME_UP = 1073741952; lime_ui__$KeyCode_KeyCode_$Impl_$.VOLUME_DOWN = 1073741953; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_COMMA = 1073741957; lime_ui__$KeyCode_KeyCode_$Impl_$.ALT_ERASE = 1073741977; lime_ui__$KeyCode_KeyCode_$Impl_$.SYSTEM_REQUEST = 1073741978; lime_ui__$KeyCode_KeyCode_$Impl_$.CANCEL = 1073741979; lime_ui__$KeyCode_KeyCode_$Impl_$.CLEAR = 1073741980; lime_ui__$KeyCode_KeyCode_$Impl_$.PRIOR = 1073741981; lime_ui__$KeyCode_KeyCode_$Impl_$.RETURN2 = 1073741982; lime_ui__$KeyCode_KeyCode_$Impl_$.SEPARATOR = 1073741983; lime_ui__$KeyCode_KeyCode_$Impl_$.OUT = 1073741984; lime_ui__$KeyCode_KeyCode_$Impl_$.OPER = 1073741985; lime_ui__$KeyCode_KeyCode_$Impl_$.CLEAR_AGAIN = 1073741986; lime_ui__$KeyCode_KeyCode_$Impl_$.CRSEL = 1073741987; lime_ui__$KeyCode_KeyCode_$Impl_$.EXSEL = 1073741988; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_00 = 1073742000; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_000 = 1073742001; lime_ui__$KeyCode_KeyCode_$Impl_$.THOUSAND_SEPARATOR = 1073742002; lime_ui__$KeyCode_KeyCode_$Impl_$.DECIMAL_SEPARATOR = 1073742003; lime_ui__$KeyCode_KeyCode_$Impl_$.CURRENCY_UNIT = 1073742004; lime_ui__$KeyCode_KeyCode_$Impl_$.CURRENCY_SUBUNIT = 1073742005; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_LEFT_PARENTHESIS = 1073742006; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_RIGHT_PARENTHESIS = 1073742007; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_LEFT_BRACE = 1073742008; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_RIGHT_BRACE = 1073742009; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_TAB = 1073742010; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_BACKSPACE = 1073742011; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_A = 1073742012; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_B = 1073742013; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_C = 1073742014; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_D = 1073742015; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_E = 1073742016; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_F = 1073742017; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_XOR = 1073742018; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_POWER = 1073742019; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_PERCENT = 1073742020; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_LESS_THAN = 1073742021; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_GREATER_THAN = 1073742022; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_AMPERSAND = 1073742023; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_DOUBLE_AMPERSAND = 1073742024; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_VERTICAL_BAR = 1073742025; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_DOUBLE_VERTICAL_BAR = 1073742026; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_COLON = 1073742027; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_HASH = 1073742028; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_SPACE = 1073742029; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_AT = 1073742030; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_EXCLAMATION = 1073742031; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_MEM_STORE = 1073742032; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_MEM_RECALL = 1073742033; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_MEM_CLEAR = 1073742034; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_MEM_ADD = 1073742035; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_MEM_SUBTRACT = 1073742036; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_MEM_MULTIPLY = 1073742037; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_MEM_DIVIDE = 1073742038; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_PLUS_MINUS = 1073742039; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_CLEAR = 1073742040; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_CLEAR_ENTRY = 1073742041; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_BINARY = 1073742042; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_OCTAL = 1073742043; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_DECIMAL = 1073742044; lime_ui__$KeyCode_KeyCode_$Impl_$.NUMPAD_HEXADECIMAL = 1073742045; lime_ui__$KeyCode_KeyCode_$Impl_$.LEFT_CTRL = 1073742048; lime_ui__$KeyCode_KeyCode_$Impl_$.LEFT_SHIFT = 1073742049; lime_ui__$KeyCode_KeyCode_$Impl_$.LEFT_ALT = 1073742050; lime_ui__$KeyCode_KeyCode_$Impl_$.LEFT_META = 1073742051; lime_ui__$KeyCode_KeyCode_$Impl_$.RIGHT_CTRL = 1073742052; lime_ui__$KeyCode_KeyCode_$Impl_$.RIGHT_SHIFT = 1073742053; lime_ui__$KeyCode_KeyCode_$Impl_$.RIGHT_ALT = 1073742054; lime_ui__$KeyCode_KeyCode_$Impl_$.RIGHT_META = 1073742055; lime_ui__$KeyCode_KeyCode_$Impl_$.MODE = 1073742081; lime_ui__$KeyCode_KeyCode_$Impl_$.AUDIO_NEXT = 1073742082; lime_ui__$KeyCode_KeyCode_$Impl_$.AUDIO_PREVIOUS = 1073742083; lime_ui__$KeyCode_KeyCode_$Impl_$.AUDIO_STOP = 1073742084; lime_ui__$KeyCode_KeyCode_$Impl_$.AUDIO_PLAY = 1073742085; lime_ui__$KeyCode_KeyCode_$Impl_$.AUDIO_MUTE = 1073742086; lime_ui__$KeyCode_KeyCode_$Impl_$.MEDIA_SELECT = 1073742087; lime_ui__$KeyCode_KeyCode_$Impl_$.WWW = 1073742088; lime_ui__$KeyCode_KeyCode_$Impl_$.MAIL = 1073742089; lime_ui__$KeyCode_KeyCode_$Impl_$.CALCULATOR = 1073742090; lime_ui__$KeyCode_KeyCode_$Impl_$.COMPUTER = 1073742091; lime_ui__$KeyCode_KeyCode_$Impl_$.APP_CONTROL_SEARCH = 1073742092; lime_ui__$KeyCode_KeyCode_$Impl_$.APP_CONTROL_HOME = 1073742093; lime_ui__$KeyCode_KeyCode_$Impl_$.APP_CONTROL_BACK = 1073742094; lime_ui__$KeyCode_KeyCode_$Impl_$.APP_CONTROL_FORWARD = 1073742095; lime_ui__$KeyCode_KeyCode_$Impl_$.APP_CONTROL_STOP = 1073742096; lime_ui__$KeyCode_KeyCode_$Impl_$.APP_CONTROL_REFRESH = 1073742097; lime_ui__$KeyCode_KeyCode_$Impl_$.APP_CONTROL_BOOKMARKS = 1073742098; lime_ui__$KeyCode_KeyCode_$Impl_$.BRIGHTNESS_DOWN = 1073742099; lime_ui__$KeyCode_KeyCode_$Impl_$.BRIGHTNESS_UP = 1073742100; lime_ui__$KeyCode_KeyCode_$Impl_$.DISPLAY_SWITCH = 1073742101; lime_ui__$KeyCode_KeyCode_$Impl_$.BACKLIGHT_TOGGLE = 1073742102; lime_ui__$KeyCode_KeyCode_$Impl_$.BACKLIGHT_DOWN = 1073742103; lime_ui__$KeyCode_KeyCode_$Impl_$.BACKLIGHT_UP = 1073742104; lime_ui__$KeyCode_KeyCode_$Impl_$.EJECT = 1073742105; lime_ui__$KeyCode_KeyCode_$Impl_$.SLEEP = 1073742106; lime_ui__$KeyModifier_KeyModifier_$Impl_$.NONE = 0; lime_ui__$KeyModifier_KeyModifier_$Impl_$.LEFT_SHIFT = 1; lime_ui__$KeyModifier_KeyModifier_$Impl_$.RIGHT_SHIFT = 2; lime_ui__$KeyModifier_KeyModifier_$Impl_$.LEFT_CTRL = 64; lime_ui__$KeyModifier_KeyModifier_$Impl_$.RIGHT_CTRL = 128; lime_ui__$KeyModifier_KeyModifier_$Impl_$.LEFT_ALT = 256; lime_ui__$KeyModifier_KeyModifier_$Impl_$.RIGHT_ALT = 512; lime_ui__$KeyModifier_KeyModifier_$Impl_$.LEFT_META = 1024; lime_ui__$KeyModifier_KeyModifier_$Impl_$.RIGHT_META = 2048; lime_ui__$KeyModifier_KeyModifier_$Impl_$.NUM_LOCK = 4096; lime_ui__$KeyModifier_KeyModifier_$Impl_$.CAPS_LOCK = 8192; lime_ui__$KeyModifier_KeyModifier_$Impl_$.MODE = 16384; lime_ui__$KeyModifier_KeyModifier_$Impl_$.CTRL = 192; lime_ui__$KeyModifier_KeyModifier_$Impl_$.SHIFT = 3; lime_ui__$KeyModifier_KeyModifier_$Impl_$.ALT = 768; lime_ui__$KeyModifier_KeyModifier_$Impl_$.META = 3072; lime_ui__$ScanCode_ScanCode_$Impl_$.UNKNOWN = 0; lime_ui__$ScanCode_ScanCode_$Impl_$.BACKSPACE = 42; lime_ui__$ScanCode_ScanCode_$Impl_$.TAB = 43; lime_ui__$ScanCode_ScanCode_$Impl_$.RETURN = 40; lime_ui__$ScanCode_ScanCode_$Impl_$.ESCAPE = 41; lime_ui__$ScanCode_ScanCode_$Impl_$.SPACE = 44; lime_ui__$ScanCode_ScanCode_$Impl_$.SINGLE_QUOTE = 52; lime_ui__$ScanCode_ScanCode_$Impl_$.COMMA = 54; lime_ui__$ScanCode_ScanCode_$Impl_$.MINUS = 45; lime_ui__$ScanCode_ScanCode_$Impl_$.PERIOD = 55; lime_ui__$ScanCode_ScanCode_$Impl_$.SLASH = 56; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMBER_0 = 39; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMBER_1 = 30; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMBER_2 = 31; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMBER_3 = 32; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMBER_4 = 33; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMBER_5 = 34; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMBER_6 = 35; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMBER_7 = 36; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMBER_8 = 37; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMBER_9 = 38; lime_ui__$ScanCode_ScanCode_$Impl_$.SEMICOLON = 51; lime_ui__$ScanCode_ScanCode_$Impl_$.EQUALS = 46; lime_ui__$ScanCode_ScanCode_$Impl_$.LEFT_BRACKET = 47; lime_ui__$ScanCode_ScanCode_$Impl_$.BACKSLASH = 49; lime_ui__$ScanCode_ScanCode_$Impl_$.RIGHT_BRACKET = 48; lime_ui__$ScanCode_ScanCode_$Impl_$.GRAVE = 53; lime_ui__$ScanCode_ScanCode_$Impl_$.A = 4; lime_ui__$ScanCode_ScanCode_$Impl_$.B = 5; lime_ui__$ScanCode_ScanCode_$Impl_$.C = 6; lime_ui__$ScanCode_ScanCode_$Impl_$.D = 7; lime_ui__$ScanCode_ScanCode_$Impl_$.E = 8; lime_ui__$ScanCode_ScanCode_$Impl_$.F = 9; lime_ui__$ScanCode_ScanCode_$Impl_$.G = 10; lime_ui__$ScanCode_ScanCode_$Impl_$.H = 11; lime_ui__$ScanCode_ScanCode_$Impl_$.I = 12; lime_ui__$ScanCode_ScanCode_$Impl_$.J = 13; lime_ui__$ScanCode_ScanCode_$Impl_$.K = 14; lime_ui__$ScanCode_ScanCode_$Impl_$.L = 15; lime_ui__$ScanCode_ScanCode_$Impl_$.M = 16; lime_ui__$ScanCode_ScanCode_$Impl_$.N = 17; lime_ui__$ScanCode_ScanCode_$Impl_$.O = 18; lime_ui__$ScanCode_ScanCode_$Impl_$.P = 19; lime_ui__$ScanCode_ScanCode_$Impl_$.Q = 20; lime_ui__$ScanCode_ScanCode_$Impl_$.R = 21; lime_ui__$ScanCode_ScanCode_$Impl_$.S = 22; lime_ui__$ScanCode_ScanCode_$Impl_$.T = 23; lime_ui__$ScanCode_ScanCode_$Impl_$.U = 24; lime_ui__$ScanCode_ScanCode_$Impl_$.V = 25; lime_ui__$ScanCode_ScanCode_$Impl_$.W = 26; lime_ui__$ScanCode_ScanCode_$Impl_$.X = 27; lime_ui__$ScanCode_ScanCode_$Impl_$.Y = 28; lime_ui__$ScanCode_ScanCode_$Impl_$.Z = 29; lime_ui__$ScanCode_ScanCode_$Impl_$.DELETE = 76; lime_ui__$ScanCode_ScanCode_$Impl_$.CAPS_LOCK = 57; lime_ui__$ScanCode_ScanCode_$Impl_$.F1 = 58; lime_ui__$ScanCode_ScanCode_$Impl_$.F2 = 59; lime_ui__$ScanCode_ScanCode_$Impl_$.F3 = 60; lime_ui__$ScanCode_ScanCode_$Impl_$.F4 = 61; lime_ui__$ScanCode_ScanCode_$Impl_$.F5 = 62; lime_ui__$ScanCode_ScanCode_$Impl_$.F6 = 63; lime_ui__$ScanCode_ScanCode_$Impl_$.F7 = 64; lime_ui__$ScanCode_ScanCode_$Impl_$.F8 = 65; lime_ui__$ScanCode_ScanCode_$Impl_$.F9 = 66; lime_ui__$ScanCode_ScanCode_$Impl_$.F10 = 67; lime_ui__$ScanCode_ScanCode_$Impl_$.F11 = 68; lime_ui__$ScanCode_ScanCode_$Impl_$.F12 = 69; lime_ui__$ScanCode_ScanCode_$Impl_$.PRINT_SCREEN = 70; lime_ui__$ScanCode_ScanCode_$Impl_$.SCROLL_LOCK = 71; lime_ui__$ScanCode_ScanCode_$Impl_$.PAUSE = 72; lime_ui__$ScanCode_ScanCode_$Impl_$.INSERT = 73; lime_ui__$ScanCode_ScanCode_$Impl_$.HOME = 74; lime_ui__$ScanCode_ScanCode_$Impl_$.PAGE_UP = 75; lime_ui__$ScanCode_ScanCode_$Impl_$.END = 77; lime_ui__$ScanCode_ScanCode_$Impl_$.PAGE_DOWN = 78; lime_ui__$ScanCode_ScanCode_$Impl_$.RIGHT = 79; lime_ui__$ScanCode_ScanCode_$Impl_$.LEFT = 80; lime_ui__$ScanCode_ScanCode_$Impl_$.DOWN = 81; lime_ui__$ScanCode_ScanCode_$Impl_$.UP = 82; lime_ui__$ScanCode_ScanCode_$Impl_$.NUM_LOCK = 83; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_DIVIDE = 84; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_MULTIPLY = 85; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_MINUS = 86; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_PLUS = 87; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_ENTER = 88; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_1 = 89; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_2 = 90; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_3 = 91; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_4 = 92; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_5 = 93; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_6 = 94; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_7 = 95; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_8 = 96; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_9 = 97; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_0 = 98; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_PERIOD = 99; lime_ui__$ScanCode_ScanCode_$Impl_$.APPLICATION = 101; lime_ui__$ScanCode_ScanCode_$Impl_$.POWER = 102; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_EQUALS = 103; lime_ui__$ScanCode_ScanCode_$Impl_$.F13 = 104; lime_ui__$ScanCode_ScanCode_$Impl_$.F14 = 105; lime_ui__$ScanCode_ScanCode_$Impl_$.F15 = 106; lime_ui__$ScanCode_ScanCode_$Impl_$.F16 = 107; lime_ui__$ScanCode_ScanCode_$Impl_$.F17 = 108; lime_ui__$ScanCode_ScanCode_$Impl_$.F18 = 109; lime_ui__$ScanCode_ScanCode_$Impl_$.F19 = 110; lime_ui__$ScanCode_ScanCode_$Impl_$.F20 = 111; lime_ui__$ScanCode_ScanCode_$Impl_$.F21 = 112; lime_ui__$ScanCode_ScanCode_$Impl_$.F22 = 113; lime_ui__$ScanCode_ScanCode_$Impl_$.F23 = 114; lime_ui__$ScanCode_ScanCode_$Impl_$.F24 = 115; lime_ui__$ScanCode_ScanCode_$Impl_$.EXECUTE = 116; lime_ui__$ScanCode_ScanCode_$Impl_$.HELP = 117; lime_ui__$ScanCode_ScanCode_$Impl_$.MENU = 118; lime_ui__$ScanCode_ScanCode_$Impl_$.SELECT = 119; lime_ui__$ScanCode_ScanCode_$Impl_$.STOP = 120; lime_ui__$ScanCode_ScanCode_$Impl_$.AGAIN = 121; lime_ui__$ScanCode_ScanCode_$Impl_$.UNDO = 122; lime_ui__$ScanCode_ScanCode_$Impl_$.CUT = 123; lime_ui__$ScanCode_ScanCode_$Impl_$.COPY = 124; lime_ui__$ScanCode_ScanCode_$Impl_$.PASTE = 125; lime_ui__$ScanCode_ScanCode_$Impl_$.FIND = 126; lime_ui__$ScanCode_ScanCode_$Impl_$.MUTE = 127; lime_ui__$ScanCode_ScanCode_$Impl_$.VOLUME_UP = 128; lime_ui__$ScanCode_ScanCode_$Impl_$.VOLUME_DOWN = 129; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_COMMA = 133; lime_ui__$ScanCode_ScanCode_$Impl_$.ALT_ERASE = 153; lime_ui__$ScanCode_ScanCode_$Impl_$.SYSTEM_REQUEST = 154; lime_ui__$ScanCode_ScanCode_$Impl_$.CANCEL = 155; lime_ui__$ScanCode_ScanCode_$Impl_$.CLEAR = 156; lime_ui__$ScanCode_ScanCode_$Impl_$.PRIOR = 157; lime_ui__$ScanCode_ScanCode_$Impl_$.RETURN2 = 158; lime_ui__$ScanCode_ScanCode_$Impl_$.SEPARATOR = 159; lime_ui__$ScanCode_ScanCode_$Impl_$.OUT = 160; lime_ui__$ScanCode_ScanCode_$Impl_$.OPER = 161; lime_ui__$ScanCode_ScanCode_$Impl_$.CLEAR_AGAIN = 162; lime_ui__$ScanCode_ScanCode_$Impl_$.CRSEL = 163; lime_ui__$ScanCode_ScanCode_$Impl_$.EXSEL = 164; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_00 = 176; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_000 = 177; lime_ui__$ScanCode_ScanCode_$Impl_$.THOUSAND_SEPARATOR = 178; lime_ui__$ScanCode_ScanCode_$Impl_$.DECIMAL_SEPARATOR = 179; lime_ui__$ScanCode_ScanCode_$Impl_$.CURRENCY_UNIT = 180; lime_ui__$ScanCode_ScanCode_$Impl_$.CURRENCY_SUBUNIT = 181; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_LEFT_PARENTHESIS = 182; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_RIGHT_PARENTHESIS = 183; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_LEFT_BRACE = 184; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_RIGHT_BRACE = 185; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_TAB = 186; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_BACKSPACE = 187; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_A = 188; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_B = 189; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_C = 190; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_D = 191; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_E = 192; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_F = 193; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_XOR = 194; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_POWER = 195; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_PERCENT = 196; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_LESS_THAN = 197; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_GREATER_THAN = 198; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_AMPERSAND = 199; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_DOUBLE_AMPERSAND = 200; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_VERTICAL_BAR = 201; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_DOUBLE_VERTICAL_BAR = 202; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_COLON = 203; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_HASH = 204; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_SPACE = 205; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_AT = 206; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_EXCLAMATION = 207; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_MEM_STORE = 208; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_MEM_RECALL = 209; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_MEM_CLEAR = 210; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_MEM_ADD = 211; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_MEM_SUBTRACT = 212; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_MEM_MULTIPLY = 213; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_MEM_DIVIDE = 214; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_PLUS_MINUS = 215; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_CLEAR = 216; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_CLEAR_ENTRY = 217; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_BINARY = 218; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_OCTAL = 219; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_DECIMAL = 220; lime_ui__$ScanCode_ScanCode_$Impl_$.NUMPAD_HEXADECIMAL = 221; lime_ui__$ScanCode_ScanCode_$Impl_$.LEFT_CTRL = 224; lime_ui__$ScanCode_ScanCode_$Impl_$.LEFT_SHIFT = 225; lime_ui__$ScanCode_ScanCode_$Impl_$.LEFT_ALT = 226; lime_ui__$ScanCode_ScanCode_$Impl_$.LEFT_META = 227; lime_ui__$ScanCode_ScanCode_$Impl_$.RIGHT_CTRL = 228; lime_ui__$ScanCode_ScanCode_$Impl_$.RIGHT_SHIFT = 229; lime_ui__$ScanCode_ScanCode_$Impl_$.RIGHT_ALT = 230; lime_ui__$ScanCode_ScanCode_$Impl_$.RIGHT_META = 231; lime_ui__$ScanCode_ScanCode_$Impl_$.MODE = 257; lime_ui__$ScanCode_ScanCode_$Impl_$.AUDIO_NEXT = 258; lime_ui__$ScanCode_ScanCode_$Impl_$.AUDIO_PREVIOUS = 259; lime_ui__$ScanCode_ScanCode_$Impl_$.AUDIO_STOP = 260; lime_ui__$ScanCode_ScanCode_$Impl_$.AUDIO_PLAY = 261; lime_ui__$ScanCode_ScanCode_$Impl_$.AUDIO_MUTE = 262; lime_ui__$ScanCode_ScanCode_$Impl_$.MEDIA_SELECT = 263; lime_ui__$ScanCode_ScanCode_$Impl_$.WWW = 264; lime_ui__$ScanCode_ScanCode_$Impl_$.MAIL = 265; lime_ui__$ScanCode_ScanCode_$Impl_$.CALCULATOR = 266; lime_ui__$ScanCode_ScanCode_$Impl_$.COMPUTER = 267; lime_ui__$ScanCode_ScanCode_$Impl_$.APP_CONTROL_SEARCH = 268; lime_ui__$ScanCode_ScanCode_$Impl_$.APP_CONTROL_HOME = 269; lime_ui__$ScanCode_ScanCode_$Impl_$.APP_CONTROL_BACK = 270; lime_ui__$ScanCode_ScanCode_$Impl_$.APP_CONTROL_FORWARD = 271; lime_ui__$ScanCode_ScanCode_$Impl_$.APP_CONTROL_STOP = 272; lime_ui__$ScanCode_ScanCode_$Impl_$.APP_CONTROL_REFRESH = 273; lime_ui__$ScanCode_ScanCode_$Impl_$.APP_CONTROL_BOOKMARKS = 274; lime_ui__$ScanCode_ScanCode_$Impl_$.BRIGHTNESS_DOWN = 275; lime_ui__$ScanCode_ScanCode_$Impl_$.BRIGHTNESS_UP = 276; lime_ui__$ScanCode_ScanCode_$Impl_$.DISPLAY_SWITCH = 277; lime_ui__$ScanCode_ScanCode_$Impl_$.BACKLIGHT_TOGGLE = 278; lime_ui__$ScanCode_ScanCode_$Impl_$.BACKLIGHT_DOWN = 279; lime_ui__$ScanCode_ScanCode_$Impl_$.BACKLIGHT_UP = 280; lime_ui__$ScanCode_ScanCode_$Impl_$.EJECT = 281; lime_ui__$ScanCode_ScanCode_$Impl_$.SLEEP = 282; lime_ui_Touch.onCancel = new lime_app__$Event_$lime_$ui_$Touch_$Void(); lime_ui_Touch.onEnd = new lime_app__$Event_$lime_$ui_$Touch_$Void(); lime_ui_Touch.onMove = new lime_app__$Event_$lime_$ui_$Touch_$Void(); lime_ui_Touch.onStart = new lime_app__$Event_$lime_$ui_$Touch_$Void(); lime_utils_Assets.cache = new lime_utils_AssetCache(); lime_utils_Assets.onChange = new lime_app__$Event_$Void_$Void(); lime_utils_Assets.bundlePaths = new haxe_ds_StringMap(); lime_utils_Assets.libraries = new haxe_ds_StringMap(); lime_utils_Assets.libraryPaths = new haxe_ds_StringMap(); lime_utils__$Float32Array_Float32Array_$Impl_$.BYTES_PER_ELEMENT = 4; lime_utils__$Float64Array_Float64Array_$Impl_$.BYTES_PER_ELEMENT = 8; lime_utils__$Int16Array_Int16Array_$Impl_$.BYTES_PER_ELEMENT = 2; lime_utils__$Int32Array_Int32Array_$Impl_$.BYTES_PER_ELEMENT = 4; lime_utils__$Int8Array_Int8Array_$Impl_$.BYTES_PER_ELEMENT = 1; lime_utils_Log.throwErrors = true; lime_utils__$LogLevel_LogLevel_$Impl_$.NONE = 0; lime_utils__$LogLevel_LogLevel_$Impl_$.ERROR = 1; lime_utils__$LogLevel_LogLevel_$Impl_$.WARN = 2; lime_utils__$LogLevel_LogLevel_$Impl_$.INFO = 3; lime_utils__$LogLevel_LogLevel_$Impl_$.DEBUG = 4; lime_utils__$LogLevel_LogLevel_$Impl_$.VERBOSE = 5; lime_utils__$UInt16Array_UInt16Array_$Impl_$.BYTES_PER_ELEMENT = 2; lime_utils__$UInt32Array_UInt32Array_$Impl_$.BYTES_PER_ELEMENT = 4; lime_utils__$UInt8Array_UInt8Array_$Impl_$.BYTES_PER_ELEMENT = 1; lime_utils__$UInt8ClampedArray_UInt8ClampedArray_$Impl_$.BYTES_PER_ELEMENT = 1; openfl_Lib.__lastTimerID = 0; openfl_Lib.__sentWarnings = new haxe_ds_StringMap(); openfl_Lib.__timers = new haxe_ds_IntMap(); openfl__$Vector_IVector.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl__$Vector_BoolVector.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, fields : { toJSON : { SuppressWarnings : ["checkstyle:Dynamic"]}}}; openfl__$Vector_FloatVector.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, fields : { toJSON : { SuppressWarnings : ["checkstyle:Dynamic"]}, _ : { SuppressWarnings : ["checkstyle:Dynamic"]}}}; openfl__$Vector_FunctionVector.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, fields : { toJSON : { SuppressWarnings : ["checkstyle:Dynamic"]}}}; openfl__$Vector_IntVector.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, fields : { toJSON : { SuppressWarnings : ["checkstyle:Dynamic"]}}}; openfl__$Vector_ObjectVector.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, fields : { concat : { SuppressWarnings : ["checkstyle:Dynamic"]}, toJSON : { SuppressWarnings : ["checkstyle:Dynamic"]}, _ : { SuppressWarnings : ["checkstyle:Dynamic"]}}}; openfl_display_Application.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl_display__$BlendMode_BlendMode_$Impl_$.ADD = 0; openfl_display__$BlendMode_BlendMode_$Impl_$.ALPHA = 1; openfl_display__$BlendMode_BlendMode_$Impl_$.DARKEN = 2; openfl_display__$BlendMode_BlendMode_$Impl_$.DIFFERENCE = 3; openfl_display__$BlendMode_BlendMode_$Impl_$.ERASE = 4; openfl_display__$BlendMode_BlendMode_$Impl_$.HARDLIGHT = 5; openfl_display__$BlendMode_BlendMode_$Impl_$.INVERT = 6; openfl_display__$BlendMode_BlendMode_$Impl_$.LAYER = 7; openfl_display__$BlendMode_BlendMode_$Impl_$.LIGHTEN = 8; openfl_display__$BlendMode_BlendMode_$Impl_$.MULTIPLY = 9; openfl_display__$BlendMode_BlendMode_$Impl_$.NORMAL = 10; openfl_display__$BlendMode_BlendMode_$Impl_$.OVERLAY = 11; openfl_display__$BlendMode_BlendMode_$Impl_$.SCREEN = 12; openfl_display__$BlendMode_BlendMode_$Impl_$.SHADER = 13; openfl_display__$BlendMode_BlendMode_$Impl_$.SUBTRACT = 14; openfl_display_DisplayObjectRenderer.__meta__ = { fields : { __context : { SuppressWarnings : ["checkstyle:Dynamic"]}, __type : { SuppressWarnings : ["checkstyle:Dynamic"]}}}; openfl_display_CairoRenderer.__meta__ = { fields : { cairo : { SuppressWarnings : ["checkstyle:Dynamic"]}, __matrix3 : { SuppressWarnings : ["checkstyle:Dynamic"]}, applyMatrix : { SuppressWarnings : ["checkstyle:Dynamic"]}, __setBlendModeCairo : { SuppressWarnings : ["checkstyle:Dynamic"]}, _ : { SuppressWarnings : ["checkstyle:Dynamic"]}}}; openfl_display_CanvasRenderer.__meta__ = { fields : { context : { SuppressWarnings : ["checkstyle:Dynamic"]}, applySmoothing : { SuppressWarnings : ["checkstyle:Dynamic"]}, setTransform : { SuppressWarnings : ["checkstyle:Dynamic"]}, __setBlendModeContext : { SuppressWarnings : ["checkstyle:Dynamic"]}, _ : { SuppressWarnings : ["checkstyle:Dynamic"]}}}; openfl_display__$CapsStyle_CapsStyle_$Impl_$.NONE = 0; openfl_display__$CapsStyle_CapsStyle_$Impl_$.ROUND = 1; openfl_display__$CapsStyle_CapsStyle_$Impl_$.SQUARE = 2; openfl_display_DOMElement.__meta__ = { fields : { __element : { SuppressWarnings : ["checkstyle:Dynamic"]}, _ : { SuppressWarnings : ["checkstyle:Dynamic"]}}}; openfl_display_DOMRenderer.__meta__ = { fields : { element : { SuppressWarnings : ["checkstyle:Dynamic"]}, applyStyle : { SuppressWarnings : ["checkstyle:Dynamic"]}, clearStyle : { SuppressWarnings : ["checkstyle:Dynamic"]}, _ : { SuppressWarnings : ["checkstyle:Dynamic"]}}}; openfl_text_TextField.__missingFontWarning = new haxe_ds_StringMap(); openfl_display__$GradientType_GradientType_$Impl_$.LINEAR = 0; openfl_display__$GradientType_GradientType_$Impl_$.RADIAL = 1; openfl_display_Graphics.__meta__ = { fields : { overrideBlendMode : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}}; openfl_display_Graphics.maxTextureHeight = null; openfl_display_Graphics.maxTextureWidth = null; openfl_display_GraphicsPath.SIN45 = 0.70710678118654752440084436210485; openfl_display_GraphicsPath.TAN22 = 0.4142135623730950488016887242097; openfl_display__$GraphicsPathWinding_GraphicsPathWinding_$Impl_$.EVEN_ODD = 0; openfl_display__$GraphicsPathWinding_GraphicsPathWinding_$Impl_$.NON_ZERO = 1; openfl_display__$InterpolationMethod_InterpolationMethod_$Impl_$.LINEAR_RGB = 0; openfl_display__$InterpolationMethod_InterpolationMethod_$Impl_$.RGB = 1; openfl_display__$JointStyle_JointStyle_$Impl_$.BEVEL = 0; openfl_display__$JointStyle_JointStyle_$Impl_$.MITER = 1; openfl_display__$JointStyle_JointStyle_$Impl_$.ROUND = 2; openfl_display__$LineScaleMode_LineScaleMode_$Impl_$.HORIZONTAL = 0; openfl_display__$LineScaleMode_LineScaleMode_$Impl_$.NONE = 1; openfl_display__$LineScaleMode_LineScaleMode_$Impl_$.NORMAL = 2; openfl_display__$LineScaleMode_LineScaleMode_$Impl_$.VERTICAL = 3; openfl_display_Loader.__meta__ = { fields : { BitmapData_onError : { SuppressWarnings : ["checkstyle:Dynamic"]}}}; openfl_display_LoaderInfo.__meta__ = { statics : { create : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}, fields : { parameters : { SuppressWarnings : ["checkstyle:Dynamic"]}}}; openfl_display_LoaderInfo.__rootURL = typeof(window) != "undefined" ? window.document.URL : ""; openfl_display_OpenGLRenderer.__meta__ = { fields : { gl : { SuppressWarnings : ["checkstyle:Dynamic"]}, __gl : { SuppressWarnings : ["checkstyle:Dynamic"]}, __matrix : { SuppressWarnings : ["checkstyle:Dynamic"]}, __projection : { SuppressWarnings : ["checkstyle:Dynamic"]}, __projectionFlipped : { SuppressWarnings : ["checkstyle:Dynamic"]}, getMatrix : { SuppressWarnings : ["checkstyle:Dynamic"]}}}; openfl_display_OpenGLRenderer.__alphaValue = [1]; openfl_display_OpenGLRenderer.__colorMultipliersValue = [0,0,0,0]; openfl_display_OpenGLRenderer.__colorOffsetsValue = [0,0,0,0]; openfl_display_OpenGLRenderer.__defaultColorMultipliersValue = [1,1,1,1]; openfl_display_OpenGLRenderer.__emptyColorValue = [0,0,0,0]; openfl_display_OpenGLRenderer.__emptyAlphaValue = [1]; openfl_display_OpenGLRenderer.__hasColorTransformValue = [false]; openfl_display_OpenGLRenderer.__scissorRectangle = new openfl_geom_Rectangle(); openfl_display_OpenGLRenderer.__textureSizeValue = [0,0]; openfl_display__$PixelSnapping_PixelSnapping_$Impl_$.ALWAYS = 0; openfl_display__$PixelSnapping_PixelSnapping_$Impl_$.AUTO = 1; openfl_display__$PixelSnapping_PixelSnapping_$Impl_$.NEVER = 2; openfl_display_Preloader.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, fields : { onComplete : { SuppressWarnings : ["checkstyle:Dynamic"]}}}; openfl_display_DefaultPreloader.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl_display_ShaderInput.__meta__ = { fields : { index : { SuppressWarnings : ["checkstyle:Dynamic"]}, name : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}}; openfl_display_ShaderParameter.__meta__ = { fields : { index : { SuppressWarnings : ["checkstyle:Dynamic"]}, name : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}}; openfl_display__$ShaderParameterType_ShaderParameterType_$Impl_$.BOOL = 0; openfl_display__$ShaderParameterType_ShaderParameterType_$Impl_$.BOOL2 = 1; openfl_display__$ShaderParameterType_ShaderParameterType_$Impl_$.BOOL3 = 2; openfl_display__$ShaderParameterType_ShaderParameterType_$Impl_$.BOOL4 = 3; openfl_display__$ShaderParameterType_ShaderParameterType_$Impl_$.FLOAT = 4; openfl_display__$ShaderParameterType_ShaderParameterType_$Impl_$.FLOAT2 = 5; openfl_display__$ShaderParameterType_ShaderParameterType_$Impl_$.FLOAT3 = 6; openfl_display__$ShaderParameterType_ShaderParameterType_$Impl_$.FLOAT4 = 7; openfl_display__$ShaderParameterType_ShaderParameterType_$Impl_$.INT = 8; openfl_display__$ShaderParameterType_ShaderParameterType_$Impl_$.INT2 = 9; openfl_display__$ShaderParameterType_ShaderParameterType_$Impl_$.INT3 = 10; openfl_display__$ShaderParameterType_ShaderParameterType_$Impl_$.INT4 = 11; openfl_display__$ShaderParameterType_ShaderParameterType_$Impl_$.MATRIX2X2 = 12; openfl_display__$ShaderParameterType_ShaderParameterType_$Impl_$.MATRIX2X3 = 13; openfl_display__$ShaderParameterType_ShaderParameterType_$Impl_$.MATRIX2X4 = 14; openfl_display__$ShaderParameterType_ShaderParameterType_$Impl_$.MATRIX3X2 = 15; openfl_display__$ShaderParameterType_ShaderParameterType_$Impl_$.MATRIX3X3 = 16; openfl_display__$ShaderParameterType_ShaderParameterType_$Impl_$.MATRIX3X4 = 17; openfl_display__$ShaderParameterType_ShaderParameterType_$Impl_$.MATRIX4X2 = 18; openfl_display__$ShaderParameterType_ShaderParameterType_$Impl_$.MATRIX4X3 = 19; openfl_display__$ShaderParameterType_ShaderParameterType_$Impl_$.MATRIX4X4 = 20; openfl_display__$ShaderPrecision_ShaderPrecision_$Impl_$.FAST = 0; openfl_display__$ShaderPrecision_ShaderPrecision_$Impl_$.FULL = 1; openfl_display__$SpreadMethod_SpreadMethod_$Impl_$.PAD = 0; openfl_display__$SpreadMethod_SpreadMethod_$Impl_$.REFLECT = 1; openfl_display__$SpreadMethod_SpreadMethod_$Impl_$.REPEAT = 2; openfl_display_Stage.__meta__ = { fields : { __broadcastEvent : { SuppressWarnings : ["checkstyle:Dynamic"]}, __dispatchEvent : { SuppressWarnings : [["checkstyle:Dynamic","checkstyle:LeftCurly"]]}, __dispatchStack : { SuppressWarnings : [["checkstyle:Dynamic","checkstyle:LeftCurly"]]}, __dispatchTarget : { SuppressWarnings : ["checkstyle:Dynamic"]}, __handleError : { SuppressWarnings : ["checkstyle:Dynamic"]}}}; openfl_display__$StageAlign_StageAlign_$Impl_$.BOTTOM = 0; openfl_display__$StageAlign_StageAlign_$Impl_$.BOTTOM_LEFT = 1; openfl_display__$StageAlign_StageAlign_$Impl_$.BOTTOM_RIGHT = 2; openfl_display__$StageAlign_StageAlign_$Impl_$.LEFT = 3; openfl_display__$StageAlign_StageAlign_$Impl_$.RIGHT = 4; openfl_display__$StageAlign_StageAlign_$Impl_$.TOP = 5; openfl_display__$StageAlign_StageAlign_$Impl_$.TOP_LEFT = 6; openfl_display__$StageAlign_StageAlign_$Impl_$.TOP_RIGHT = 7; openfl_display__$StageDisplayState_StageDisplayState_$Impl_$.FULL_SCREEN = 0; openfl_display__$StageDisplayState_StageDisplayState_$Impl_$.FULL_SCREEN_INTERACTIVE = 1; openfl_display__$StageDisplayState_StageDisplayState_$Impl_$.NORMAL = 2; openfl_display__$StageQuality_StageQuality_$Impl_$.BEST = 0; openfl_display__$StageQuality_StageQuality_$Impl_$.HIGH = 1; openfl_display__$StageQuality_StageQuality_$Impl_$.LOW = 2; openfl_display__$StageQuality_StageQuality_$Impl_$.MEDIUM = 3; openfl_display__$StageScaleMode_StageScaleMode_$Impl_$.EXACT_FIT = 0; openfl_display__$StageScaleMode_StageScaleMode_$Impl_$.NO_BORDER = 1; openfl_display__$StageScaleMode_StageScaleMode_$Impl_$.NO_SCALE = 2; openfl_display__$StageScaleMode_StageScaleMode_$Impl_$.SHOW_ALL = 3; openfl_display_Tile.__meta__ = { fields : { data : { SuppressWarnings : ["checkstyle:Dynamic"]}}}; openfl_display__$Tileset_TileData.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl_display__$TriangleCulling_TriangleCulling_$Impl_$.NEGATIVE = 0; openfl_display__$TriangleCulling_TriangleCulling_$Impl_$.NONE = 1; openfl_display__$TriangleCulling_TriangleCulling_$Impl_$.POSITIVE = 2; openfl_display_Window.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, fields : { _ : { SuppressWarnings : ["checkstyle:Dynamic"]}}}; openfl_display__$internal_AbstractNoise.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl_display__$internal_CairoBitmap.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl_display__$internal_CairoDisplayObject.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl_display__$internal_CairoGraphics.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl_display__$internal_CairoShape.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl_display__$internal_CairoTextField.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl_display__$internal_CairoTilemap.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, statics : { renderTileContainer : { SuppressWarnings : ["checkstyle:Dynamic"]}}}; openfl_display__$internal_CanvasBitmap.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl_display__$internal_CanvasDisplayObject.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl_display__$internal_DrawCommandBuffer.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, fields : { o : { SuppressWarnings : ["checkstyle:Dynamic"]}}}; openfl_display__$internal_DrawCommandBuffer.empty = new openfl_display__$internal_DrawCommandBuffer(); openfl_display__$internal_CanvasGraphics.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, statics : { windingRule : { SuppressWarnings : ["checkstyle:Dynamic"]}, createBitmapFill : { SuppressWarnings : ["checkstyle:Dynamic"]}, createGradientPattern : { SuppressWarnings : ["checkstyle:Dynamic"]}}}; openfl_display__$internal_CanvasGraphics.SIN45 = 0.70710678118654752440084436210485; openfl_display__$internal_CanvasGraphics.TAN22 = 0.4142135623730950488016887242097; openfl_display__$internal_CanvasGraphics.fillCommands = new openfl_display__$internal_DrawCommandBuffer(); openfl_display__$internal_CanvasGraphics.strokeCommands = new openfl_display__$internal_DrawCommandBuffer(); openfl_display__$internal_CanvasShape.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl_display__$internal_CanvasTextField.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl_display__$internal_CanvasTilemap.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, statics : { renderTileContainer : { SuppressWarnings : ["checkstyle:Dynamic"]}}}; openfl_display__$internal_CanvasVideo.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl_display__$internal_Context3DBitmap.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl_display__$internal_Context3DBuffer.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl_display__$internal_Context3DBuffer.MAX_INDEX_BUFFER_LENGTH = 65535; openfl_display__$internal_Context3DBuffer.MAX_QUADS_PER_INDEX_BUFFER = 10922; openfl_display__$internal_Context3DBuffer.MAX_QUAD_INDEX_BUFFER_LENGTH = 65532; openfl_display__$internal_Context3DDisplayObject.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl_display__$internal_Context3DGraphics.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl_display__$internal_Context3DGraphics.blankBitmapData = new openfl_display_BitmapData(1,1,false,0); openfl_display__$internal_Context3DGraphics.tempColorTransform = new openfl_geom_ColorTransform(1,1,1,1,0,0,0,0); openfl_display__$internal_Context3DMaskShader.opaqueBitmapData = new openfl_display_BitmapData(1,1,false,0); openfl_display__$internal_Context3DShape.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl_display__$internal_Context3DTextField.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl_display__$internal_Context3DTilemap.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl_display__$internal_Context3DVideo.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl_display__$internal_Context3DVideo.__textureSizeValue = [0,0.]; openfl_display__$internal_DOMBitmap.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl_display__$internal_DOMDisplayObject.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl_display__$internal_DOMShape.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl_display__$internal_DOMTextField.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl_display__$internal_DOMTextField.__regexColor = new EReg("color=(\"#([^\"]+)\"|'#([^']+)')","i"); openfl_display__$internal_DOMTextField.__regexFace = new EReg("face=(\"([^\"]+)\"|'([^']+)')","i"); openfl_display__$internal_DOMTextField.__regexFont = new EReg("<font ([^>]+)>","gi"); openfl_display__$internal_DOMTextField.__regexCloseFont = new EReg("</font>","gi"); openfl_display__$internal_DOMTextField.__regexSize = new EReg("size=(\"([^\"]+)\"|'([^']+)')","i"); openfl_display__$internal_DOMTilemap.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl_display__$internal_DOMVideo.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl_display__$internal_DrawCommandReader.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, fields : { obj : { SuppressWarnings : ["checkstyle:Dynamic"]}}}; openfl_display__$internal_FlashRenderer.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl_display__$internal_FlashTilemap.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl_display__$internal_FlashTilemap.alphaColorTransform = new openfl_geom_ColorTransform(); openfl_display__$internal_FlashTilemap.bitmap = new openfl_display_Bitmap(); openfl_display__$internal_FlashTilemap.destPoint = new openfl_geom_Point(); openfl_display__$internal_FlashTilemap.sourceRect = new openfl_geom_Rectangle(); openfl_display__$internal_PerlinNoise.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, statics : { P : { SuppressWarnings : ["checkstyle:ConstantName"]}}}; openfl_display__$internal_PerlinNoise.P = [151,160,137,91,90,15,131,13,201,95,96,53,194,233,7,225,140,36,103,30,69,142,8,99,37,240,21,10,23,190,6,148,247,120,234,75,0,26,197,62,94,252,219,203,117,35,11,32,57,177,33,88,237,149,56,87,174,20,125,136,171,168,68,175,74,165,71,134,139,48,27,166,77,146,158,231,83,111,229,122,60,211,133,230,220,105,92,41,55,46,245,40,244,102,143,54,65,25,63,161,1,216,80,73,209,76,132,187,208,89,18,169,200,196,135,130,116,188,159,86,164,100,109,198,173,186,3,64,52,217,226,250,124,123,5,202,38,147,118,126,255,82,85,212,207,206,59,227,47,16,58,17,182,189,28,42,223,183,170,213,119,248,152,2,44,154,163,70,221,153,101,155,167,43,172,9,129,22,39,253,19,98,108,110,79,113,224,232,178,185,112,104,218,246,97,228,251,34,242,193,238,210,144,12,191,179,162,241,81,51,145,235,249,14,239,107,49,192,214,31,181,199,106,157,184,84,204,176,115,121,50,45,127,4,150,254,138,236,205,93,222,114,67,29,24,72,243,141,128,195,78,66,215,61,156,180,151,160,137,91,90,15,131,13,201,95,96,53,194,233,7,225,140,36,103,30,69,142,8,99,37,240,21,10,23,190,6,148,247,120,234,75,0,26,197,62,94,252,219,203,117,35,11,32,57,177,33,88,237,149,56,87,174,20,125,136,171,168,68,175,74,165,71,134,139,48,27,166,77,146,158,231,83,111,229,122,60,211,133,230,220,105,92,41,55,46,245,40,244,102,143,54,65,25,63,161,1,216,80,73,209,76,132,187,208,89,18,169,200,196,135,130,116,188,159,86,164,100,109,198,173,186,3,64,52,217,226,250,124,123,5,202,38,147,118,126,255,82,85,212,207,206,59,227,47,16,58,17,182,189,28,42,223,183,170,213,119,248,152,2,44,154,163,70,221,153,101,155,167,43,172,9,129,22,39,253,19,98,108,110,79,113,224,232,178,185,112,104,218,246,97,228,251,34,242,193,238,210,144,12,191,179,162,241,81,51,145,235,249,14,239,107,49,192,214,31,181,199,106,157,184,84,204,176,115,121,50,45,127,4,150,254,138,236,205,93,222,114,67,29,24,72,243,141,128,195,78,66,215,61,156,180]; openfl_display__$internal_SamplerState.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl_display__$internal_ShaderBuffer.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, fields : { overrideIntValues : { SuppressWarnings : ["checkstyle:Dynamic"]}}}; openfl_display3D_Context3D.supportsVideoTexture = true; openfl_display3D_Context3D.__glDepthStencil = -1; openfl_display3D_Context3D.__glMaxTextureMaxAnisotropy = -1; openfl_display3D_Context3D.__glMaxViewportDims = -1; openfl_display3D_Context3D.__glMemoryCurrentAvailable = -1; openfl_display3D_Context3D.__glMemoryTotalAvailable = -1; openfl_display3D_Context3D.__glTextureMaxAnisotropy = -1; openfl_display3D__$Context3DBlendFactor_Context3DBlendFactor_$Impl_$.DESTINATION_ALPHA = 0; openfl_display3D__$Context3DBlendFactor_Context3DBlendFactor_$Impl_$.DESTINATION_COLOR = 1; openfl_display3D__$Context3DBlendFactor_Context3DBlendFactor_$Impl_$.ONE = 2; openfl_display3D__$Context3DBlendFactor_Context3DBlendFactor_$Impl_$.ONE_MINUS_DESTINATION_ALPHA = 3; openfl_display3D__$Context3DBlendFactor_Context3DBlendFactor_$Impl_$.ONE_MINUS_DESTINATION_COLOR = 4; openfl_display3D__$Context3DBlendFactor_Context3DBlendFactor_$Impl_$.ONE_MINUS_SOURCE_ALPHA = 5; openfl_display3D__$Context3DBlendFactor_Context3DBlendFactor_$Impl_$.ONE_MINUS_SOURCE_COLOR = 6; openfl_display3D__$Context3DBlendFactor_Context3DBlendFactor_$Impl_$.SOURCE_ALPHA = 7; openfl_display3D__$Context3DBlendFactor_Context3DBlendFactor_$Impl_$.SOURCE_COLOR = 8; openfl_display3D__$Context3DBlendFactor_Context3DBlendFactor_$Impl_$.ZERO = 9; openfl_display3D__$Context3DBufferUsage_Context3DBufferUsage_$Impl_$.DYNAMIC_DRAW = 0; openfl_display3D__$Context3DBufferUsage_Context3DBufferUsage_$Impl_$.STATIC_DRAW = 1; openfl_display3D__$Context3DCompareMode_Context3DCompareMode_$Impl_$.ALWAYS = 0; openfl_display3D__$Context3DCompareMode_Context3DCompareMode_$Impl_$.EQUAL = 1; openfl_display3D__$Context3DCompareMode_Context3DCompareMode_$Impl_$.GREATER = 2; openfl_display3D__$Context3DCompareMode_Context3DCompareMode_$Impl_$.GREATER_EQUAL = 3; openfl_display3D__$Context3DCompareMode_Context3DCompareMode_$Impl_$.LESS = 4; openfl_display3D__$Context3DCompareMode_Context3DCompareMode_$Impl_$.LESS_EQUAL = 5; openfl_display3D__$Context3DCompareMode_Context3DCompareMode_$Impl_$.NEVER = 6; openfl_display3D__$Context3DCompareMode_Context3DCompareMode_$Impl_$.NOT_EQUAL = 7; openfl_display3D__$Context3DMipFilter_Context3DMipFilter_$Impl_$.MIPLINEAR = 0; openfl_display3D__$Context3DMipFilter_Context3DMipFilter_$Impl_$.MIPNEAREST = 1; openfl_display3D__$Context3DMipFilter_Context3DMipFilter_$Impl_$.MIPNONE = 2; openfl_display3D__$Context3DProfile_Context3DProfile_$Impl_$.BASELINE = 0; openfl_display3D__$Context3DProfile_Context3DProfile_$Impl_$.BASELINE_CONSTRAINED = 1; openfl_display3D__$Context3DProfile_Context3DProfile_$Impl_$.BASELINE_EXTENDED = 2; openfl_display3D__$Context3DProfile_Context3DProfile_$Impl_$.STANDARD = 3; openfl_display3D__$Context3DProfile_Context3DProfile_$Impl_$.STANDARD_CONSTRAINED = 4; openfl_display3D__$Context3DProfile_Context3DProfile_$Impl_$.STANDARD_EXTENDED = 5; openfl_display3D__$Context3DProgramFormat_Context3DProgramFormat_$Impl_$.AGAL = 0; openfl_display3D__$Context3DProgramFormat_Context3DProgramFormat_$Impl_$.GLSL = 1; openfl_display3D__$Context3DProgramType_Context3DProgramType_$Impl_$.FRAGMENT = 0; openfl_display3D__$Context3DProgramType_Context3DProgramType_$Impl_$.VERTEX = 1; openfl_display3D__$Context3DRenderMode_Context3DRenderMode_$Impl_$.AUTO = 0; openfl_display3D__$Context3DRenderMode_Context3DRenderMode_$Impl_$.SOFTWARE = 1; openfl_display3D__$Context3DStencilAction_Context3DStencilAction_$Impl_$.DECREMENT_SATURATE = 0; openfl_display3D__$Context3DStencilAction_Context3DStencilAction_$Impl_$.DECREMENT_WRAP = 1; openfl_display3D__$Context3DStencilAction_Context3DStencilAction_$Impl_$.INCREMENT_SATURATE = 2; openfl_display3D__$Context3DStencilAction_Context3DStencilAction_$Impl_$.INCREMENT_WRAP = 3; openfl_display3D__$Context3DStencilAction_Context3DStencilAction_$Impl_$.INVERT = 4; openfl_display3D__$Context3DStencilAction_Context3DStencilAction_$Impl_$.KEEP = 5; openfl_display3D__$Context3DStencilAction_Context3DStencilAction_$Impl_$.SET = 6; openfl_display3D__$Context3DStencilAction_Context3DStencilAction_$Impl_$.ZERO = 7; openfl_display3D__$Context3DTextureFilter_Context3DTextureFilter_$Impl_$.ANISOTROPIC16X = 0; openfl_display3D__$Context3DTextureFilter_Context3DTextureFilter_$Impl_$.ANISOTROPIC2X = 1; openfl_display3D__$Context3DTextureFilter_Context3DTextureFilter_$Impl_$.ANISOTROPIC4X = 2; openfl_display3D__$Context3DTextureFilter_Context3DTextureFilter_$Impl_$.ANISOTROPIC8X = 3; openfl_display3D__$Context3DTextureFilter_Context3DTextureFilter_$Impl_$.LINEAR = 4; openfl_display3D__$Context3DTextureFilter_Context3DTextureFilter_$Impl_$.NEAREST = 5; openfl_display3D__$Context3DTextureFormat_Context3DTextureFormat_$Impl_$.BGR_PACKED = 0; openfl_display3D__$Context3DTextureFormat_Context3DTextureFormat_$Impl_$.BGRA = 1; openfl_display3D__$Context3DTextureFormat_Context3DTextureFormat_$Impl_$.BGRA_PACKED = 2; openfl_display3D__$Context3DTextureFormat_Context3DTextureFormat_$Impl_$.COMPRESSED = 3; openfl_display3D__$Context3DTextureFormat_Context3DTextureFormat_$Impl_$.COMPRESSED_ALPHA = 4; openfl_display3D__$Context3DTextureFormat_Context3DTextureFormat_$Impl_$.RGBA_HALF_FLOAT = 5; openfl_display3D__$Context3DTriangleFace_Context3DTriangleFace_$Impl_$.BACK = 0; openfl_display3D__$Context3DTriangleFace_Context3DTriangleFace_$Impl_$.FRONT = 1; openfl_display3D__$Context3DTriangleFace_Context3DTriangleFace_$Impl_$.FRONT_AND_BACK = 2; openfl_display3D__$Context3DTriangleFace_Context3DTriangleFace_$Impl_$.NONE = 3; openfl_display3D__$Context3DVertexBufferFormat_Context3DVertexBufferFormat_$Impl_$.BYTES_4 = 0; openfl_display3D__$Context3DVertexBufferFormat_Context3DVertexBufferFormat_$Impl_$.FLOAT_1 = 1; openfl_display3D__$Context3DVertexBufferFormat_Context3DVertexBufferFormat_$Impl_$.FLOAT_2 = 2; openfl_display3D__$Context3DVertexBufferFormat_Context3DVertexBufferFormat_$Impl_$.FLOAT_3 = 3; openfl_display3D__$Context3DVertexBufferFormat_Context3DVertexBufferFormat_$Impl_$.FLOAT_4 = 4; openfl_display3D__$Context3DWrapMode_Context3DWrapMode_$Impl_$.CLAMP = 0; openfl_display3D__$Context3DWrapMode_Context3DWrapMode_$Impl_$.CLAMP_U_REPEAT_V = 1; openfl_display3D__$Context3DWrapMode_Context3DWrapMode_$Impl_$.REPEAT = 2; openfl_display3D__$Context3DWrapMode_Context3DWrapMode_$Impl_$.REPEAT_U_CLAMP_V = 3; openfl_display3D_Uniform.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl_display3D_UniformMap.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl_display3D__$internal_AGALConverter.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl_display3D__$internal_AGALConverter.limitedProfile = true; openfl_display3D__$internal__$AGALConverter_DestRegister.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl_display3D__$internal_RegisterMap.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl_display3D__$internal__$AGALConverter_SamplerRegister.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl_display3D__$internal__$AGALConverter_SourceRegister.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl_display3D__$internal_ATFReader.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl_display3D__$internal_Context3DState.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl_display3D_textures_TextureBase.__meta__ = { fields : { __textureContext : { SuppressWarnings : ["checkstyle:Dynamic"]}, __getGLFramebuffer : { SuppressWarnings : ["checkstyle:Dynamic"]}}}; openfl_display3D_textures_TextureBase.__supportsBGRA = null; openfl_display3D_textures_Texture.__lowMemoryMode = false; openfl_errors_Error.DEFAULT_TO_STRING = "Error"; openfl_events_Event.ACTIVATE = "activate"; openfl_events_Event.ADDED = "added"; openfl_events_Event.ADDED_TO_STAGE = "addedToStage"; openfl_events_Event.CANCEL = "cancel"; openfl_events_Event.CHANGE = "change"; openfl_events_Event.CLEAR = "clear"; openfl_events_Event.CLOSE = "close"; openfl_events_Event.COMPLETE = "complete"; openfl_events_Event.CONNECT = "connect"; openfl_events_Event.CONTEXT3D_CREATE = "context3DCreate"; openfl_events_Event.COPY = "copy"; openfl_events_Event.CUT = "cut"; openfl_events_Event.DEACTIVATE = "deactivate"; openfl_events_Event.ENTER_FRAME = "enterFrame"; openfl_events_Event.EXIT_FRAME = "exitFrame"; openfl_events_Event.FRAME_CONSTRUCTED = "frameConstructed"; openfl_events_Event.FRAME_LABEL = "frameLabel"; openfl_events_Event.FULLSCREEN = "fullScreen"; openfl_events_Event.ID3 = "id3"; openfl_events_Event.INIT = "init"; openfl_events_Event.MOUSE_LEAVE = "mouseLeave"; openfl_events_Event.OPEN = "open"; openfl_events_Event.PASTE = "paste"; openfl_events_Event.REMOVED = "removed"; openfl_events_Event.REMOVED_FROM_STAGE = "removedFromStage"; openfl_events_Event.RENDER = "render"; openfl_events_Event.RESIZE = "resize"; openfl_events_Event.SCROLL = "scroll"; openfl_events_Event.SELECT = "select"; openfl_events_Event.SELECT_ALL = "selectAll"; openfl_events_Event.SOUND_COMPLETE = "soundComplete"; openfl_events_Event.TAB_CHILDREN_CHANGE = "tabChildrenChange"; openfl_events_Event.TAB_ENABLED_CHANGE = "tabEnabledChange"; openfl_events_Event.TAB_INDEX_CHANGE = "tabIndexChange"; openfl_events_Event.TEXTURE_READY = "textureReady"; openfl_events_Event.UNLOAD = "unload"; openfl_events_AccelerometerEvent.UPDATE = "update"; openfl_events_ActivityEvent.ACTIVITY = "activity"; openfl_events_TextEvent.LINK = "link"; openfl_events_TextEvent.TEXT_INPUT = "textInput"; openfl_events_ErrorEvent.ERROR = "error"; openfl_events__$EventDispatcher_DispatchIterator.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl_events__$EventDispatcher_Listener.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl_events_FocusEvent.FOCUS_IN = "focusIn"; openfl_events_FocusEvent.FOCUS_OUT = "focusOut"; openfl_events_FocusEvent.KEY_FOCUS_CHANGE = "keyFocusChange"; openfl_events_FocusEvent.MOUSE_FOCUS_CHANGE = "mouseFocusChange"; openfl_events_FullScreenEvent.FULL_SCREEN = "fullScreen"; openfl_events_FullScreenEvent.FULL_SCREEN_INTERACTIVE_ACCEPTED = "fullScreenInteractiveAccepted"; openfl_events_GameInputEvent.DEVICE_ADDED = "deviceAdded"; openfl_events_GameInputEvent.DEVICE_REMOVED = "deviceRemoved"; openfl_events_GameInputEvent.DEVICE_UNUSABLE = "deviceUnusable"; openfl_events_HTTPStatusEvent.HTTP_RESPONSE_STATUS = "httpResponseStatus"; openfl_events_HTTPStatusEvent.HTTP_STATUS = "httpStatus"; openfl_events_IOErrorEvent.IO_ERROR = "ioError"; openfl_events_KeyboardEvent.KEY_DOWN = "keyDown"; openfl_events_KeyboardEvent.KEY_UP = "keyUp"; openfl_events_MouseEvent.CLICK = "click"; openfl_events_MouseEvent.DOUBLE_CLICK = "doubleClick"; openfl_events_MouseEvent.MIDDLE_CLICK = "middleClick"; openfl_events_MouseEvent.MIDDLE_MOUSE_DOWN = "middleMouseDown"; openfl_events_MouseEvent.MIDDLE_MOUSE_UP = "middleMouseUp"; openfl_events_MouseEvent.MOUSE_DOWN = "mouseDown"; openfl_events_MouseEvent.MOUSE_MOVE = "mouseMove"; openfl_events_MouseEvent.MOUSE_OUT = "mouseOut"; openfl_events_MouseEvent.MOUSE_OVER = "mouseOver"; openfl_events_MouseEvent.MOUSE_UP = "mouseUp"; openfl_events_MouseEvent.MOUSE_WHEEL = "mouseWheel"; openfl_events_MouseEvent.RELEASE_OUTSIDE = "releaseOutside"; openfl_events_MouseEvent.RIGHT_CLICK = "rightClick"; openfl_events_MouseEvent.RIGHT_MOUSE_DOWN = "rightMouseDown"; openfl_events_MouseEvent.RIGHT_MOUSE_UP = "rightMouseUp"; openfl_events_MouseEvent.ROLL_OUT = "rollOut"; openfl_events_MouseEvent.ROLL_OVER = "rollOver"; openfl_events_NetStatusEvent.NET_STATUS = "netStatus"; openfl_events_ProgressEvent.PROGRESS = "progress"; openfl_events_ProgressEvent.SOCKET_DATA = "socketData"; openfl_events_RenderEvent.CLEAR_DOM = "clearDOM"; openfl_events_RenderEvent.RENDER_CAIRO = "renderCairo"; openfl_events_RenderEvent.RENDER_CANVAS = "renderCanvas"; openfl_events_RenderEvent.RENDER_DOM = "renderDOM"; openfl_events_RenderEvent.RENDER_OPENGL = "renderOpenGL"; openfl_events_SecurityErrorEvent.SECURITY_ERROR = "securityError"; openfl_events_TouchEvent.__meta__ = { fields : { delta : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}}; openfl_events_TouchEvent.TOUCH_BEGIN = "touchBegin"; openfl_events_TouchEvent.TOUCH_END = "touchEnd"; openfl_events_TouchEvent.TOUCH_MOVE = "touchMove"; openfl_events_TouchEvent.TOUCH_OUT = "touchOut"; openfl_events_TouchEvent.TOUCH_OVER = "touchOver"; openfl_events_TouchEvent.TOUCH_ROLL_OUT = "touchRollOut"; openfl_events_TouchEvent.TOUCH_ROLL_OVER = "touchRollOver"; openfl_events_TouchEvent.TOUCH_TAP = "touchTap"; openfl_events_UncaughtErrorEvent.UNCAUGHT_ERROR = "uncaughtError"; openfl_filters_ShaderFilter.__meta__ = { fields : { blendMode : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}}; openfl_geom_Matrix3D.__meta__ = { statics : { create2D : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, createABCD : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, createOrtho : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}}; openfl_geom__$Orientation3D_Orientation3D_$Impl_$.AXIS_ANGLE = 0; openfl_geom__$Orientation3D_Orientation3D_$Impl_$.EULER_ANGLES = 1; openfl_geom__$Orientation3D_Orientation3D_$Impl_$.QUATERNION = 2; openfl_media_SoundTransform.__meta__ = { fields : { clone : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}}; openfl_media_SoundMixer.MAX_ACTIVE_CHANNELS = 32; openfl_media_SoundMixer.__soundChannels = []; openfl_media_SoundMixer.__soundTransform = new openfl_media_SoundTransform(); openfl_media_Video.VERTEX_BUFFER_STRIDE = 5; openfl_net_NetConnection.__meta__ = { statics : { CONNECT_SUCCESS : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}}; openfl_net_NetConnection.CONNECT_SUCCESS = "NetConnection.Connect.Success"; openfl_net_NetStream.__meta__ = { fields : { audioCodec : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, decodedFrames : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, speed : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, requestVideoStatus : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}}; openfl_net_SharedObject.defaultObjectEncoding = 10; openfl_net__$SharedObjectFlushStatus_SharedObjectFlushStatus_$Impl_$.FLUSHED = 0; openfl_net__$SharedObjectFlushStatus_SharedObjectFlushStatus_$Impl_$.PENDING = 1; openfl_net__$URLLoaderDataFormat_URLLoaderDataFormat_$Impl_$.BINARY = 0; openfl_net__$URLLoaderDataFormat_URLLoaderDataFormat_$Impl_$.TEXT = 1; openfl_net__$URLLoaderDataFormat_URLLoaderDataFormat_$Impl_$.VARIABLES = 2; openfl_net_URLRequestDefaults.followRedirects = true; openfl_net_URLRequestDefaults.idleTimeout = 0; openfl_net_URLRequestDefaults.manageCookies = false; openfl_sensors_Accelerometer.currentX = 0.0; openfl_sensors_Accelerometer.currentY = 1.0; openfl_sensors_Accelerometer.currentZ = 0.0; openfl_sensors_Accelerometer.defaultInterval = 34; openfl_sensors_Accelerometer.initialized = false; openfl_sensors_Accelerometer.supported = false; openfl_system_ApplicationDomain.currentDomain = new openfl_system_ApplicationDomain(null); openfl_system_SecurityDomain.__meta__ = { obj : { SuppressWarnings : ["checkstyle:UnnecessaryConstructor"]}}; openfl_system_SecurityDomain.currentDomain = new openfl_system_SecurityDomain(); openfl_system_System.useCodePage = false; openfl_text__$AntiAliasType_AntiAliasType_$Impl_$.ADVANCED = 0; openfl_text__$AntiAliasType_AntiAliasType_$Impl_$.NORMAL = 1; openfl_text__$FontStyle_FontStyle_$Impl_$.BOLD = 0; openfl_text__$FontStyle_FontStyle_$Impl_$.BOLD_ITALIC = 1; openfl_text__$FontStyle_FontStyle_$Impl_$.ITALIC = 2; openfl_text__$FontStyle_FontStyle_$Impl_$.REGULAR = 3; openfl_text__$FontType_FontType_$Impl_$.DEVICE = 0; openfl_text__$FontType_FontType_$Impl_$.EMBEDDED = 1; openfl_text__$FontType_FontType_$Impl_$.EMBEDDED_CFF = 2; openfl_text__$GridFitType_GridFitType_$Impl_$.NONE = 0; openfl_text__$GridFitType_GridFitType_$Impl_$.PIXEL = 1; openfl_text__$GridFitType_GridFitType_$Impl_$.SUBPIXEL = 2; openfl_text__$TextFieldAutoSize_TextFieldAutoSize_$Impl_$.CENTER = 0; openfl_text__$TextFieldAutoSize_TextFieldAutoSize_$Impl_$.LEFT = 1; openfl_text__$TextFieldAutoSize_TextFieldAutoSize_$Impl_$.NONE = 2; openfl_text__$TextFieldAutoSize_TextFieldAutoSize_$Impl_$.RIGHT = 3; openfl_text__$TextFieldType_TextFieldType_$Impl_$.DYNAMIC = 0; openfl_text__$TextFieldType_TextFieldType_$Impl_$.INPUT = 1; openfl_text_TextFormat.__meta__ = { fields : { clone : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}}; openfl_text__$TextFormatAlign_TextFormatAlign_$Impl_$.CENTER = 0; openfl_text__$TextFormatAlign_TextFormatAlign_$Impl_$.END = 1; openfl_text__$TextFormatAlign_TextFormatAlign_$Impl_$.JUSTIFY = 2; openfl_text__$TextFormatAlign_TextFormatAlign_$Impl_$.LEFT = 3; openfl_text__$TextFormatAlign_TextFormatAlign_$Impl_$.RIGHT = 4; openfl_text__$TextFormatAlign_TextFormatAlign_$Impl_$.START = 5; openfl_text__$internal_CacheMeasurement.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl_text__$internal_GlyphPosition.__meta__ = { obj : { SuppressWarnings : [["checkstyle:FieldDocComment","checkstyle:Dynamic"]]}}; openfl_text__$internal_HTMLParser.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl_text__$internal_HTMLParser.__regexAlign = new EReg("align\\s?=\\s?(\"([^\"]+)\"|'([^']+)')","i"); openfl_text__$internal_HTMLParser.__regexBreakTag = new EReg("<br\\s*/?>","gi"); openfl_text__$internal_HTMLParser.__regexBlockIndent = new EReg("blockindent\\s?=\\s?(\"([^\"]+)\"|'([^']+)')","i"); openfl_text__$internal_HTMLParser.__regexColor = new EReg("color\\s?=\\s?(\"#([^\"]+)\"|'#([^']+)')","i"); openfl_text__$internal_HTMLParser.__regexEntities = [new EReg(""","g"),new EReg("'","g"),new EReg("&","g"),new EReg("<","g"),new EReg(">","g"),new EReg(" ","g")]; openfl_text__$internal_HTMLParser.__regexFace = new EReg("face\\s?=\\s?(\"([^\"]+)\"|'([^']+)')","i"); openfl_text__$internal_HTMLParser.__regexHTMLTag = new EReg("<.*?>","g"); openfl_text__$internal_HTMLParser.__regexHref = new EReg("href\\s?=\\s?(\"([^\"]+)\"|'([^']+)')","i"); openfl_text__$internal_HTMLParser.__regexIndent = new EReg(" indent\\s?=\\s?(\"([^\"]+)\"|'([^']+)')","i"); openfl_text__$internal_HTMLParser.__regexLeading = new EReg("leading\\s?=\\s?(\"([^\"]+)\"|'([^']+)')","i"); openfl_text__$internal_HTMLParser.__regexLeftMargin = new EReg("leftmargin\\s?=\\s?(\"([^\"]+)\"|'([^']+)')","i"); openfl_text__$internal_HTMLParser.__regexRightMargin = new EReg("rightmargin\\s?=\\s?(\"([^\"]+)\"|'([^']+)')","i"); openfl_text__$internal_HTMLParser.__regexSize = new EReg("size\\s?=\\s?(\"([^\"]+)\"|'([^']+)')","i"); openfl_text__$internal_HTMLParser.__regexTabStops = new EReg("tabstops\\s?=\\s?(\"([^\"]+)\"|'([^']+)')","i"); openfl_text__$internal_ShapeCache.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl_text__$internal_TextEngine.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, fields : { __cairoFont : { SuppressWarnings : ["checkstyle:Dynamic"]}}}; openfl_text__$internal_TextEngine.GUTTER = 2; openfl_text__$internal_TextEngine.UTF8_TAB = 9; openfl_text__$internal_TextEngine.UTF8_ENDLINE = 10; openfl_text__$internal_TextEngine.UTF8_SPACE = 32; openfl_text__$internal_TextEngine.UTF8_HYPHEN = 45; openfl_text__$internal_TextEngine.__defaultFonts = new haxe_ds_StringMap(); openfl_text__$internal_TextLayout.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, fields : { glyphs : { SuppressWarnings : ["checkstyle:Dynamic"]}, __handle : { SuppressWarnings : ["checkstyle:Dynamic"]}, __hbBuffer : { SuppressWarnings : ["checkstyle:Dynamic"]}, __hbFont : { SuppressWarnings : ["checkstyle:Dynamic"]}, get_glyphs : { SuppressWarnings : ["checkstyle:Dynamic"]}}}; openfl_text__$internal_TextLayout.FT_LOAD_DEFAULT = 0; openfl_text__$internal_TextLayout.FT_LOAD_NO_SCALE = 1; openfl_text__$internal_TextLayout.FT_LOAD_NO_HINTING = 2; openfl_text__$internal_TextLayout.FT_LOAD_RENDER = 4; openfl_text__$internal_TextLayout.FT_LOAD_NO_BITMAP = 8; openfl_text__$internal_TextLayout.FT_LOAD_VERTICAL_LAYOUT = 16; openfl_text__$internal_TextLayout.FT_LOAD_FORCE_AUTOHINT = 32; openfl_text__$internal_TextLayout.FT_LOAD_CROP_BITMAP = 64; openfl_text__$internal_TextLayout.FT_LOAD_PEDANTIC = 128; openfl_text__$internal_TextLayout.FT_LOAD_IGNORE_GLOBAL_ADVANCE_WIDTH = 256; openfl_text__$internal_TextLayout.FT_LOAD_NO_RECURSE = 512; openfl_text__$internal_TextLayout.FT_LOAD_IGNORE_TRANSFORM = 1024; openfl_text__$internal_TextLayout.FT_LOAD_MONOCHROME = 2048; openfl_text__$internal_TextLayout.FT_LOAD_LINEAR_DESIGN = 4096; openfl_text__$internal_TextLayout.FT_LOAD_NO_AUTOHINT = 8192; openfl_text__$internal_TextLayout.FT_LOAD_COLOR = 16384; openfl_text__$internal_TextLayout.FT_LOAD_COMPUTE_METRICS = 32768; openfl_text__$internal_TextLayout.FT_LOAD_BITMAP_METRICS_ONLY = 65536; openfl_text__$internal_TextLayout.FT_LOAD_TARGET_NORMAL = 0; openfl_text__$internal_TextLayout.FT_LOAD_TARGET_LIGHT = 0; openfl_text__$internal__$TextLayout_TextDirection_$Impl_$.INVALID = 0; openfl_text__$internal__$TextLayout_TextDirection_$Impl_$.LEFT_TO_RIGHT = 4; openfl_text__$internal__$TextLayout_TextDirection_$Impl_$.RIGHT_TO_LEFT = 5; openfl_text__$internal__$TextLayout_TextDirection_$Impl_$.TOP_TO_BOTTOM = 6; openfl_text__$internal__$TextLayout_TextDirection_$Impl_$.BOTTOM_TO_TOP = 7; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.COMMON = "Zyyy"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.INHERITED = "Zinh"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.UNKNOWN = "Zzzz"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.ARABIC = "Arab"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.ARMENIAN = "Armn"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.BENGALI = "Beng"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.CYRILLIC = "Cyrl"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.DEVANAGARI = "Deva"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.GEORGIAN = "Geor"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.GREEK = "Grek"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.GUJARATI = "Gujr"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.GURMUKHI = "Guru"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.HANGUL = "Hang"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.HAN = "Hani"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.HEBREW = "Hebr"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.HIRAGANA = "Hira"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.KANNADA = "Knda"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.KATAKANA = "Kana"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.LAO = "Laoo"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.LATIN = "Latn"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.MALAYALAM = "Mlym"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.ORIYA = "Orya"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.TAMIL = "Taml"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.TELUGA = "Telu"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.THAI = "Thai"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.TIBETAN = "Tibt"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.BOPOMOFO = "Bopo"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.BRAILLE = "Brai"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.CANADIAN_SYLLABICS = "Cans"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.CHEROKEE = "Cher"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.ETHIOPIC = "Ethi"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.KHMER = "Khmr"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.MONGOLIAN = "Mong"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.MYANMAR = "Mymr"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.OGHAM = "Ogam"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.RUNIC = "Runr"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.SINHALA = "Sinh"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.SYRIAC = "Syrc"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.THAANA = "Thaa"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.YI = "Yiii"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.DESERET = "Dsrt"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.GOTHIC = "Goth"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.OLD_ITALIC = "Ital"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.BUHID = "Buhd"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.HANUNOO = "Hano"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.TAGALOG = "Tglg"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.TAGBANWA = "Tagb"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.CYPRIOT = "Cprt"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.LIMBU = "Limb"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.LINEAR_B = "Linb"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.OSMANYA = "Osma"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.SHAVIAN = "Shaw"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.TAI_LE = "Tale"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.UGARITIC = "Ugar"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.BUGINESE = "Bugi"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.COPTIC = "Copt"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.GLAGOLITIC = "Glag"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.KHAROSHTHI = "Khar"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.NEW_TAI_LUE = "Talu"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.OLD_PERSIAN = "Xpeo"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.SYLOTI_NAGRI = "Sylo"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.TIFINAGH = "Tfng"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.BALINESE = "Bali"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.CUNEIFORM = "Xsux"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.NKO = "Nkoo"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.PHAGS_PA = "Phag"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.PHOENICIAN = "Phnx"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.CARIAN = "Cari"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.CHAM = "Cham"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.KAYAH_LI = "Kali"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.LEPCHA = "Lepc"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.LYCIAN = "Lyci"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.LYDIAN = "Lydi"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.OL_CHIKI = "Olck"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.REJANG = "Rjng"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.SAURASHTRA = "Saur"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.SUNDANESE = "Sund"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.VAI = "Vaii"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.AVESTAN = "Avst"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.BAMUM = "Bamu"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.EGYPTIAN_HIEROGLYPHS = "Egyp"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.IMPERIAL_ARAMAIC = "Armi"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.INSCRIPTIONAL_PAHLAVI = "Phli"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.INSCRIPTIONAL_PARTHIAN = "Prti"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.JAVANESE = "Java"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.KAITHI = "Kthi"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.LISU = "Lisu"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.MEETEI_MAYEK = "Mtei"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.OLD_SOUTH_ARABIAN = "Sarb"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.OLD_TURKIC = "Orkh"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.SAMARITAN = "Samr"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.TAI_THAM = "Lana"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.TAI_VIET = "Tavt"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.BATAK = "Batk"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.BRAHMI = "Brah"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.MANDAIC = "Mand"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.CHAKMA = "Cakm"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.MEROITIC_CURSIVE = "Merc"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.MEROITIC_HIEROGLYPHS = "Mero"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.MIAO = "Plrd"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.SHARADA = "Shrd"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.SORA_SOMPENG = "Sora"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.TAKRI = "Takr"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.BASSA_VAH = "Bass"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.CAUCASIAN_ALBANIAN = "Aghb"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.DUPLOYAN = "Dupl"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.ELBASAN = "Elba"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.GRANTHA = "Gran"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.KHOJKI = "Khoj"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.KHUDAWADI = "Sind"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.LINEAR_A = "Lina"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.MAHAJANI = "Mahj"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.MANICHAEAN = "Mani"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.MENDE_KIKAKUI = "Mend"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.MODI = "Modi"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.MRO = "Mroo"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.NABATAEAN = "Nbat"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.OLD_NORTH_ARABIAN = "Narb"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.OLD_PERMIC = "Perm"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.PAHAWH_HMONG = "Hmng"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.PALMYRENE = "Palm"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.PAU_CIN_HAU = "Pauc"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.PSALTER_PAHLAVI = "Phlp"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.SIDDHAM = "Sidd"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.TIRHUTA = "Tirh"; openfl_text__$internal__$TextLayout_TextScript_$Impl_$.WARANG_CITI = "Wara"; openfl_text__$internal_TextLayoutGroup.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl_ui_GameInputDevice.MAX_BUFFER_SIZE = 32000; openfl_ui_Keyboard.__meta__ = { statics : { BREAK : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, NUMLOCK : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}}; openfl_ui_Keyboard.NUMBER_0 = 48; openfl_ui_Keyboard.NUMBER_1 = 49; openfl_ui_Keyboard.NUMBER_2 = 50; openfl_ui_Keyboard.NUMBER_3 = 51; openfl_ui_Keyboard.NUMBER_4 = 52; openfl_ui_Keyboard.NUMBER_5 = 53; openfl_ui_Keyboard.NUMBER_6 = 54; openfl_ui_Keyboard.NUMBER_7 = 55; openfl_ui_Keyboard.NUMBER_8 = 56; openfl_ui_Keyboard.NUMBER_9 = 57; openfl_ui_Keyboard.A = 65; openfl_ui_Keyboard.B = 66; openfl_ui_Keyboard.C = 67; openfl_ui_Keyboard.D = 68; openfl_ui_Keyboard.E = 69; openfl_ui_Keyboard.F = 70; openfl_ui_Keyboard.G = 71; openfl_ui_Keyboard.H = 72; openfl_ui_Keyboard.I = 73; openfl_ui_Keyboard.J = 74; openfl_ui_Keyboard.K = 75; openfl_ui_Keyboard.L = 76; openfl_ui_Keyboard.M = 77; openfl_ui_Keyboard.N = 78; openfl_ui_Keyboard.O = 79; openfl_ui_Keyboard.P = 80; openfl_ui_Keyboard.Q = 81; openfl_ui_Keyboard.R = 82; openfl_ui_Keyboard.S = 83; openfl_ui_Keyboard.T = 84; openfl_ui_Keyboard.U = 85; openfl_ui_Keyboard.V = 86; openfl_ui_Keyboard.W = 87; openfl_ui_Keyboard.X = 88; openfl_ui_Keyboard.Y = 89; openfl_ui_Keyboard.Z = 90; openfl_ui_Keyboard.NUMPAD_0 = 96; openfl_ui_Keyboard.NUMPAD_1 = 97; openfl_ui_Keyboard.NUMPAD_2 = 98; openfl_ui_Keyboard.NUMPAD_3 = 99; openfl_ui_Keyboard.NUMPAD_4 = 100; openfl_ui_Keyboard.NUMPAD_5 = 101; openfl_ui_Keyboard.NUMPAD_6 = 102; openfl_ui_Keyboard.NUMPAD_7 = 103; openfl_ui_Keyboard.NUMPAD_8 = 104; openfl_ui_Keyboard.NUMPAD_9 = 105; openfl_ui_Keyboard.NUMPAD_MULTIPLY = 106; openfl_ui_Keyboard.NUMPAD_ADD = 107; openfl_ui_Keyboard.NUMPAD_ENTER = 108; openfl_ui_Keyboard.NUMPAD_SUBTRACT = 109; openfl_ui_Keyboard.NUMPAD_DECIMAL = 110; openfl_ui_Keyboard.NUMPAD_DIVIDE = 111; openfl_ui_Keyboard.F1 = 112; openfl_ui_Keyboard.F2 = 113; openfl_ui_Keyboard.F3 = 114; openfl_ui_Keyboard.F4 = 115; openfl_ui_Keyboard.F5 = 116; openfl_ui_Keyboard.F6 = 117; openfl_ui_Keyboard.F7 = 118; openfl_ui_Keyboard.F8 = 119; openfl_ui_Keyboard.F9 = 120; openfl_ui_Keyboard.F10 = 121; openfl_ui_Keyboard.F11 = 122; openfl_ui_Keyboard.F12 = 123; openfl_ui_Keyboard.F13 = 124; openfl_ui_Keyboard.F14 = 125; openfl_ui_Keyboard.F15 = 126; openfl_ui_Keyboard.BACKSPACE = 8; openfl_ui_Keyboard.TAB = 9; openfl_ui_Keyboard.ALTERNATE = 18; openfl_ui_Keyboard.ENTER = 13; openfl_ui_Keyboard.COMMAND = 15; openfl_ui_Keyboard.SHIFT = 16; openfl_ui_Keyboard.CONTROL = 17; openfl_ui_Keyboard.BREAK = 19; openfl_ui_Keyboard.CAPS_LOCK = 20; openfl_ui_Keyboard.NUMPAD = 21; openfl_ui_Keyboard.ESCAPE = 27; openfl_ui_Keyboard.SPACE = 32; openfl_ui_Keyboard.PAGE_UP = 33; openfl_ui_Keyboard.PAGE_DOWN = 34; openfl_ui_Keyboard.END = 35; openfl_ui_Keyboard.HOME = 36; openfl_ui_Keyboard.LEFT = 37; openfl_ui_Keyboard.RIGHT = 39; openfl_ui_Keyboard.UP = 38; openfl_ui_Keyboard.DOWN = 40; openfl_ui_Keyboard.INSERT = 45; openfl_ui_Keyboard.DELETE = 46; openfl_ui_Keyboard.NUMLOCK = 144; openfl_ui_Keyboard.SEMICOLON = 186; openfl_ui_Keyboard.EQUAL = 187; openfl_ui_Keyboard.COMMA = 188; openfl_ui_Keyboard.MINUS = 189; openfl_ui_Keyboard.PERIOD = 190; openfl_ui_Keyboard.SLASH = 191; openfl_ui_Keyboard.BACKQUOTE = 192; openfl_ui_Keyboard.LEFTBRACKET = 219; openfl_ui_Keyboard.BACKSLASH = 220; openfl_ui_Keyboard.RIGHTBRACKET = 221; openfl_ui_Keyboard.QUOTE = 222; openfl_ui_Mouse.supportsCursor = true; openfl_ui_Mouse.supportsNativeCursor = true; openfl_ui_Mouse.__cursor = "auto"; openfl_ui__$MouseCursor_MouseCursor_$Impl_$.ARROW = "arrow"; openfl_ui__$MouseCursor_MouseCursor_$Impl_$.AUTO = "auto"; openfl_ui__$MouseCursor_MouseCursor_$Impl_$.BUTTON = "button"; openfl_ui__$MouseCursor_MouseCursor_$Impl_$.HAND = "hand"; openfl_ui__$MouseCursor_MouseCursor_$Impl_$.IBEAM = "ibeam"; openfl_ui__$MouseCursor_MouseCursor_$Impl_$.__CROSSHAIR = "crosshair"; openfl_ui__$MouseCursor_MouseCursor_$Impl_$.__CUSTOM = "custom"; openfl_ui__$MouseCursor_MouseCursor_$Impl_$.__MOVE = "move"; openfl_ui__$MouseCursor_MouseCursor_$Impl_$.__RESIZE_NESW = "resize_nesw"; openfl_ui__$MouseCursor_MouseCursor_$Impl_$.__RESIZE_NS = "resize_ns"; openfl_ui__$MouseCursor_MouseCursor_$Impl_$.__RESIZE_NWSE = "resize_nwse"; openfl_ui__$MouseCursor_MouseCursor_$Impl_$.__RESIZE_WE = "resize_we"; openfl_ui__$MouseCursor_MouseCursor_$Impl_$.__WAIT = "wait"; openfl_ui__$MouseCursor_MouseCursor_$Impl_$.__WAIT_ARROW = "waitarrow"; openfl_ui__$MultitouchInputMode_MultitouchInputMode_$Impl_$.GESTURE = 0; openfl_ui__$MultitouchInputMode_MultitouchInputMode_$Impl_$.NONE = 1; openfl_ui__$MultitouchInputMode_MultitouchInputMode_$Impl_$.TOUCH_POINT = 2; openfl_utils_AGALMiniAssembler.__meta__ = { obj : { SuppressWarnings : [["checkstyle:ConstantName","checkstyle:FieldDocComment"]]}}; openfl_utils_AGALMiniAssembler.OPMAP = new haxe_ds_StringMap(); openfl_utils_AGALMiniAssembler.REGMAP = new haxe_ds_StringMap(); openfl_utils_AGALMiniAssembler.SAMPLEMAP = new haxe_ds_StringMap(); openfl_utils_AGALMiniAssembler.MAX_NESTING = 4; openfl_utils_AGALMiniAssembler.MAX_OPCODES = 4096; openfl_utils_AGALMiniAssembler.FRAGMENT = "fragment"; openfl_utils_AGALMiniAssembler.VERTEX = "vertex"; openfl_utils_AGALMiniAssembler.SAMPLER_TYPE_SHIFT = 8; openfl_utils_AGALMiniAssembler.SAMPLER_DIM_SHIFT = 12; openfl_utils_AGALMiniAssembler.SAMPLER_SPECIAL_SHIFT = 16; openfl_utils_AGALMiniAssembler.SAMPLER_REPEAT_SHIFT = 20; openfl_utils_AGALMiniAssembler.SAMPLER_MIPMAP_SHIFT = 24; openfl_utils_AGALMiniAssembler.SAMPLER_FILTER_SHIFT = 28; openfl_utils_AGALMiniAssembler.REG_WRITE = 1; openfl_utils_AGALMiniAssembler.REG_READ = 2; openfl_utils_AGALMiniAssembler.REG_FRAG = 32; openfl_utils_AGALMiniAssembler.REG_VERT = 64; openfl_utils_AGALMiniAssembler.OP_SCALAR = 1; openfl_utils_AGALMiniAssembler.OP_SPECIAL_TEX = 8; openfl_utils_AGALMiniAssembler.OP_SPECIAL_MATRIX = 16; openfl_utils_AGALMiniAssembler.OP_FRAG_ONLY = 32; openfl_utils_AGALMiniAssembler.OP_VERT_ONLY = 64; openfl_utils_AGALMiniAssembler.OP_NO_DEST = 128; openfl_utils_AGALMiniAssembler.OP_VERSION2 = 256; openfl_utils_AGALMiniAssembler.OP_INCNEST = 512; openfl_utils_AGALMiniAssembler.OP_DECNEST = 1024; openfl_utils_AGALMiniAssembler.MOV = "mov"; openfl_utils_AGALMiniAssembler.ADD = "add"; openfl_utils_AGALMiniAssembler.SUB = "sub"; openfl_utils_AGALMiniAssembler.MUL = "mul"; openfl_utils_AGALMiniAssembler.DIV = "div"; openfl_utils_AGALMiniAssembler.RCP = "rcp"; openfl_utils_AGALMiniAssembler.MIN = "min"; openfl_utils_AGALMiniAssembler.MAX = "max"; openfl_utils_AGALMiniAssembler.FRC = "frc"; openfl_utils_AGALMiniAssembler.SQT = "sqt"; openfl_utils_AGALMiniAssembler.RSQ = "rsq"; openfl_utils_AGALMiniAssembler.POW = "pow"; openfl_utils_AGALMiniAssembler.LOG = "log"; openfl_utils_AGALMiniAssembler.EXP = "exp"; openfl_utils_AGALMiniAssembler.NRM = "nrm"; openfl_utils_AGALMiniAssembler.SIN = "sin"; openfl_utils_AGALMiniAssembler.COS = "cos"; openfl_utils_AGALMiniAssembler.CRS = "crs"; openfl_utils_AGALMiniAssembler.DP3 = "dp3"; openfl_utils_AGALMiniAssembler.DP4 = "dp4"; openfl_utils_AGALMiniAssembler.ABS = "abs"; openfl_utils_AGALMiniAssembler.NEG = "neg"; openfl_utils_AGALMiniAssembler.SAT = "sat"; openfl_utils_AGALMiniAssembler.M33 = "m33"; openfl_utils_AGALMiniAssembler.M44 = "m44"; openfl_utils_AGALMiniAssembler.M34 = "m34"; openfl_utils_AGALMiniAssembler.DDX = "ddx"; openfl_utils_AGALMiniAssembler.DDY = "ddy"; openfl_utils_AGALMiniAssembler.IFE = "ife"; openfl_utils_AGALMiniAssembler.INE = "ine"; openfl_utils_AGALMiniAssembler.IFG = "ifg"; openfl_utils_AGALMiniAssembler.IFL = "ifl"; openfl_utils_AGALMiniAssembler.IEG = "ieg"; openfl_utils_AGALMiniAssembler.IEL = "iel"; openfl_utils_AGALMiniAssembler.ELS = "els"; openfl_utils_AGALMiniAssembler.EIF = "eif"; openfl_utils_AGALMiniAssembler.TED = "ted"; openfl_utils_AGALMiniAssembler.KIL = "kil"; openfl_utils_AGALMiniAssembler.TEX = "tex"; openfl_utils_AGALMiniAssembler.SGE = "sge"; openfl_utils_AGALMiniAssembler.SLT = "slt"; openfl_utils_AGALMiniAssembler.SGN = "sgn"; openfl_utils_AGALMiniAssembler.SEQ = "seq"; openfl_utils_AGALMiniAssembler.SNE = "sne"; openfl_utils_AGALMiniAssembler.VA = "va"; openfl_utils_AGALMiniAssembler.VC = "vc"; openfl_utils_AGALMiniAssembler.VT = "vt"; openfl_utils_AGALMiniAssembler.VO = "vo"; openfl_utils_AGALMiniAssembler.VI = "vi"; openfl_utils_AGALMiniAssembler.FC = "fc"; openfl_utils_AGALMiniAssembler.FT = "ft"; openfl_utils_AGALMiniAssembler.FS = "fs"; openfl_utils_AGALMiniAssembler.FO = "fo"; openfl_utils_AGALMiniAssembler.FD = "fd"; openfl_utils_AGALMiniAssembler.IID = "iid"; openfl_utils_AGALMiniAssembler.D2 = "2d"; openfl_utils_AGALMiniAssembler.D3 = "3d"; openfl_utils_AGALMiniAssembler.CUBE = "cube"; openfl_utils_AGALMiniAssembler.MIPNEAREST = "mipnearest"; openfl_utils_AGALMiniAssembler.MIPLINEAR = "miplinear"; openfl_utils_AGALMiniAssembler.MIPNONE = "mipnone"; openfl_utils_AGALMiniAssembler.NOMIP = "nomip"; openfl_utils_AGALMiniAssembler.NEAREST = "nearest"; openfl_utils_AGALMiniAssembler.LINEAR = "linear"; openfl_utils_AGALMiniAssembler.ANISOTROPIC2X = "anisotropic2x"; openfl_utils_AGALMiniAssembler.ANISOTROPIC4X = "anisotropic4x"; openfl_utils_AGALMiniAssembler.ANISOTROPIC8X = "anisotropic8x"; openfl_utils_AGALMiniAssembler.ANISOTROPIC16X = "anisotropic16x"; openfl_utils_AGALMiniAssembler.CENTROID = "centroid"; openfl_utils_AGALMiniAssembler.SINGLE = "single"; openfl_utils_AGALMiniAssembler.IGNORESAMPLER = "ignoresampler"; openfl_utils_AGALMiniAssembler.REPEAT = "repeat"; openfl_utils_AGALMiniAssembler.WRAP = "wrap"; openfl_utils_AGALMiniAssembler.CLAMP = "clamp"; openfl_utils_AGALMiniAssembler.REPEAT_U_CLAMP_V = "repeat_u_clamp_v"; openfl_utils_AGALMiniAssembler.CLAMP_U_REPEAT_V = "clamp_u_repeat_v"; openfl_utils_AGALMiniAssembler.RGBA = "rgba"; openfl_utils_AGALMiniAssembler.COMPRESSED = "compressed"; openfl_utils_AGALMiniAssembler.COMPRESSEDALPHA = "compressedalpha"; openfl_utils_AGALMiniAssembler.DXT1 = "dxt1"; openfl_utils_AGALMiniAssembler.DXT5 = "dxt5"; openfl_utils_AGALMiniAssembler.VIDEO = "video"; openfl_utils_AGALMiniAssembler.initialized = false; openfl_utils__$AGALMiniAssembler_OpCode.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl_utils__$AGALMiniAssembler_Register.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl_utils__$AGALMiniAssembler_Sampler.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl_utils_Assets.cache = new openfl_utils_AssetCache(); openfl_utils_Assets.dispatcher = new openfl_events_EventDispatcher(); openfl_utils__$ByteArray_ByteArray_$Impl_$.__bytePointer = (function($this) { var $r; var this1 = new lime_utils_BytePointerData(null,0); $r = this1; return $r; }(this)); openfl_utils__$CompressionAlgorithm_CompressionAlgorithm_$Impl_$.DEFLATE = 0; openfl_utils__$CompressionAlgorithm_CompressionAlgorithm_$Impl_$.LZMA = 1; openfl_utils__$CompressionAlgorithm_CompressionAlgorithm_$Impl_$.ZLIB = 2; openfl_utils__$Dictionary_ClassMap.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl_utils__$Dictionary_FloatMap.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl_utils__$Dictionary_UtilsObjectMap.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl_utils__$Endian_Endian_$Impl_$.BIG_ENDIAN = 0; openfl_utils__$Endian_Endian_$Impl_$.LITTLE_ENDIAN = 1; openfl_utils__$Object_Object_$Impl_$.__meta__ = { statics : { iterator : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, __get : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, __set : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}}; haxe_lang_Iterator.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; haxe_lang_Iterable.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}}; openfl_utils__$internal_Lib.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, statics : { notImplemented : { SuppressWarnings : ["checkstyle:NullableParameter"]}}}; openfl_utils__$internal_Lib.__sentWarnings = new haxe_ds_StringMap(); openfl_utils__$internal_TouchData.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}, fields : { touch : { SuppressWarnings : ["checkstyle:Dynamic"]}}}; openfl_utils__$internal_TouchData.__pool = new lime_utils_ObjectPool(function() { return new openfl_utils__$internal_TouchData(); },function(data) { data.reset(); }); polymod_Polymod.onError = null; polymod_Polymod.library = null; polymod_backends_LimeBackend.defaultAssetLibrary = null; polymod_backends__$PolymodAssets_PolymodAssetType_$Impl_$.BYTES = "BYTES"; polymod_backends__$PolymodAssets_PolymodAssetType_$Impl_$.TEXT = "TEXT"; polymod_backends__$PolymodAssets_PolymodAssetType_$Impl_$.IMAGE = "IMAGE"; polymod_backends__$PolymodAssets_PolymodAssetType_$Impl_$.VIDEO = "VIDEO"; polymod_backends__$PolymodAssets_PolymodAssetType_$Impl_$.FONT = "FONT"; polymod_backends__$PolymodAssets_PolymodAssetType_$Impl_$.AUDIO_GENERIC = "AUDIO_GENERIC"; polymod_backends__$PolymodAssets_PolymodAssetType_$Impl_$.AUDIO_MUSIC = "AUDIO_MUSIC"; polymod_backends__$PolymodAssets_PolymodAssetType_$Impl_$.AUDIO_SOUND = "AUDIO_SOUND"; polymod_backends__$PolymodAssets_PolymodAssetType_$Impl_$.MANIFEST = "MANIFEST"; polymod_backends__$PolymodAssets_PolymodAssetType_$Impl_$.TEMPLATE = "TEMPLATE"; polymod_backends__$PolymodAssets_PolymodAssetType_$Impl_$.UNKNOWN = "UNKNOWN"; ApplicationMain.main(); })(typeof exports != "undefined" ? exports : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this, typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); }); $hx_exports.lime = $hx_exports.lime || {}; $hx_exports.lime.$scripts = $hx_exports.lime.$scripts || {}; $hx_exports.lime.$scripts["Funkin"] = $hx_script; $hx_exports.lime.embed = function(projectName) { var exports = {}; var script = $hx_exports.lime.$scripts[projectName]; if (!script) throw Error("Cannot find project name \"" + projectName + "\""); script(exports, $global); for (var key in exports) $hx_exports[key] = $hx_exports[key] || exports[key]; var lime = exports.lime || window.lime; if (lime && lime.embed && this != lime.embed) lime.embed.apply(lime, arguments); return exports; }; if(typeof define == "function" && define.amd) { define([], function() { return $hx_exports.lime; }); define.__amd = define.amd; define.amd = null; } })(typeof exports != "undefined" ? exports : typeof define == "function" && define.amd ? {} : typeof window != "undefined" ? window : typeof self != "undefined" ? self : this, typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this); /*! howler.js v2.1.1 | (c) 2013-2018, James Simpson of GoldFire Studios | MIT License | howlerjs.com */ !function(){"use strict";var e=function(){this.init()};e.prototype={init:function(){var e=this||n;return e._counter=1e3,e._html5AudioPool=[],e.html5PoolSize=10,e._codecs={},e._howls=[],e._muted=!1,e._volume=1,e._canPlayEvent="canplaythrough",e._navigator="undefined"!=typeof window&&window.navigator?window.navigator:null,e.masterGain=null,e.noAudio=!1,e.usingWebAudio=!0,e.autoSuspend=!0,e.ctx=null,e.autoUnlock=!0,e._setup(),e},volume:function(e){var o=this||n;if(e=parseFloat(e),o.ctx||_(),void 0!==e&&e>=0&&e<=1){if(o._volume=e,o._muted)return o;o.usingWebAudio&&o.masterGain.gain.setValueAtTime(e,n.ctx.currentTime);for(var t=0;t<o._howls.length;t++)if(!o._howls[t]._webAudio)for(var r=o._howls[t]._getSoundIds(),a=0;a<r.length;a++){var u=o._howls[t]._soundById(r[a]);u&&u._node&&(u._node.volume=u._volume*e)}return o}return o._volume},mute:function(e){var o=this||n;o.ctx||_(),o._muted=e,o.usingWebAudio&&o.masterGain.gain.setValueAtTime(e?0:o._volume,n.ctx.currentTime);for(var t=0;t<o._howls.length;t++)if(!o._howls[t]._webAudio)for(var r=o._howls[t]._getSoundIds(),a=0;a<r.length;a++){var u=o._howls[t]._soundById(r[a]);u&&u._node&&(u._node.muted=!!e||u._muted)}return o},unload:function(){for(var e=this||n,o=e._howls.length-1;o>=0;o--)e._howls[o].unload();return e.usingWebAudio&&e.ctx&&void 0!==e.ctx.close&&(e.ctx.close(),e.ctx=null,_()),e},codecs:function(e){return(this||n)._codecs[e.replace(/^x-/,"")]},_setup:function(){var e=this||n;if(e.state=e.ctx?e.ctx.state||"suspended":"suspended",e._autoSuspend(),!e.usingWebAudio)if("undefined"!=typeof Audio)try{var o=new Audio;void 0===o.oncanplaythrough&&(e._canPlayEvent="canplay")}catch(n){e.noAudio=!0}else e.noAudio=!0;try{var o=new Audio;o.muted&&(e.noAudio=!0)}catch(e){}return e.noAudio||e._setupCodecs(),e},_setupCodecs:function(){var e=this||n,o=null;try{o="undefined"!=typeof Audio?new Audio:null}catch(n){return e}if(!o||"function"!=typeof o.canPlayType)return e;var t=o.canPlayType("audio/mpeg;").replace(/^no$/,""),r=e._navigator&&e._navigator.userAgent.match(/OPR\/([0-6].)/g),a=r&&parseInt(r[0].split("/")[1],10)<33;return e._codecs={mp3:!(a||!t&&!o.canPlayType("audio/mp3;").replace(/^no$/,"")),mpeg:!!t,opus:!!o.canPlayType('audio/ogg; codecs="opus"').replace(/^no$/,""),ogg:!!o.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),oga:!!o.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),wav:!!o.canPlayType('audio/wav; codecs="1"').replace(/^no$/,""),aac:!!o.canPlayType("audio/aac;").replace(/^no$/,""),caf:!!o.canPlayType("audio/x-caf;").replace(/^no$/,""),m4a:!!(o.canPlayType("audio/x-m4a;")||o.canPlayType("audio/m4a;")||o.canPlayType("audio/aac;")).replace(/^no$/,""),mp4:!!(o.canPlayType("audio/x-mp4;")||o.canPlayType("audio/mp4;")||o.canPlayType("audio/aac;")).replace(/^no$/,""),weba:!!o.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/,""),webm:!!o.canPlayType('audio/webm; codecs="vorbis"').replace(/^no$/,""),dolby:!!o.canPlayType('audio/mp4; codecs="ec-3"').replace(/^no$/,""),flac:!!(o.canPlayType("audio/x-flac;")||o.canPlayType("audio/flac;")).replace(/^no$/,"")},e},_unlockAudio:function(){var e=this||n,o=/iPhone|iPad|iPod|Android|BlackBerry|BB10|Silk|Mobi|Chrome|Safari/i.test(e._navigator&&e._navigator.userAgent);if(!e._audioUnlocked&&e.ctx&&o){e._audioUnlocked=!1,e.autoUnlock=!1,e._mobileUnloaded||44100===e.ctx.sampleRate||(e._mobileUnloaded=!0,e.unload()),e._scratchBuffer=e.ctx.createBuffer(1,1,22050);var t=function(n){for(var o=0;o<e.html5PoolSize;o++){var r=new Audio;r._unlocked=!0,e._releaseHtml5Audio(r)}for(var o=0;o<e._howls.length;o++)if(!e._howls[o]._webAudio)for(var a=e._howls[o]._getSoundIds(),u=0;u<a.length;u++){var i=e._howls[o]._soundById(a[u]);i&&i._node&&!i._node._unlocked&&(i._node._unlocked=!0,i._node.load())}e._autoResume();var d=e.ctx.createBufferSource();d.buffer=e._scratchBuffer,d.connect(e.ctx.destination),void 0===d.start?d.noteOn(0):d.start(0),"function"==typeof e.ctx.resume&&e.ctx.resume(),d.onended=function(){d.disconnect(0),e._audioUnlocked=!0,document.removeEventListener("touchstart",t,!0),document.removeEventListener("touchend",t,!0),document.removeEventListener("click",t,!0);for(var n=0;n<e._howls.length;n++)e._howls[n]._emit("unlock")}};return document.addEventListener("touchstart",t,!0),document.addEventListener("touchend",t,!0),document.addEventListener("click",t,!0),e}},_obtainHtml5Audio:function(){var e=this||n;if(e._html5AudioPool.length)return e._html5AudioPool.pop();var o=(new Audio).play();return o&&"undefined"!=typeof Promise&&(o instanceof Promise||"function"==typeof o.then)&&o.catch(function(){console.warn("HTML5 Audio pool exhausted, returning potentially locked audio object.")}),new Audio},_releaseHtml5Audio:function(e){var o=this||n;return e._unlocked&&o._html5AudioPool.push(e),o},_autoSuspend:function(){var e=this;if(e.autoSuspend&&e.ctx&&void 0!==e.ctx.suspend&&n.usingWebAudio){for(var o=0;o<e._howls.length;o++)if(e._howls[o]._webAudio)for(var t=0;t<e._howls[o]._sounds.length;t++)if(!e._howls[o]._sounds[t]._paused)return e;return e._suspendTimer&&clearTimeout(e._suspendTimer),e._suspendTimer=setTimeout(function(){e.autoSuspend&&(e._suspendTimer=null,e.state="suspending",e.ctx.suspend().then(function(){e.state="suspended",e._resumeAfterSuspend&&(delete e._resumeAfterSuspend,e._autoResume())}))},3e4),e}},_autoResume:function(){var e=this;if(e.ctx&&void 0!==e.ctx.resume&&n.usingWebAudio)return"running"===e.state&&e._suspendTimer?(clearTimeout(e._suspendTimer),e._suspendTimer=null):"suspended"===e.state?(e.ctx.resume().then(function(){e.state="running";for(var n=0;n<e._howls.length;n++)e._howls[n]._emit("resume")}),e._suspendTimer&&(clearTimeout(e._suspendTimer),e._suspendTimer=null)):"suspending"===e.state&&(e._resumeAfterSuspend=!0),e}};var n=new e,o=function(e){var n=this;if(!e.src||0===e.src.length)return void console.error("An array of source files must be passed with any new Howl.");n.init(e)};o.prototype={init:function(e){var o=this;return n.ctx||_(),o._autoplay=e.autoplay||!1,o._format="string"!=typeof e.format?e.format:[e.format],o._html5=e.html5||!1,o._muted=e.mute||!1,o._loop=e.loop||!1,o._pool=e.pool||5,o._preload="boolean"!=typeof e.preload||e.preload,o._rate=e.rate||1,o._sprite=e.sprite||{},o._src="string"!=typeof e.src?e.src:[e.src],o._volume=void 0!==e.volume?e.volume:1,o._xhrWithCredentials=e.xhrWithCredentials||!1,o._duration=0,o._state="unloaded",o._sounds=[],o._endTimers={},o._queue=[],o._playLock=!1,o._onend=e.onend?[{fn:e.onend}]:[],o._onfade=e.onfade?[{fn:e.onfade}]:[],o._onload=e.onload?[{fn:e.onload}]:[],o._onloaderror=e.onloaderror?[{fn:e.onloaderror}]:[],o._onplayerror=e.onplayerror?[{fn:e.onplayerror}]:[],o._onpause=e.onpause?[{fn:e.onpause}]:[],o._onplay=e.onplay?[{fn:e.onplay}]:[],o._onstop=e.onstop?[{fn:e.onstop}]:[],o._onmute=e.onmute?[{fn:e.onmute}]:[],o._onvolume=e.onvolume?[{fn:e.onvolume}]:[],o._onrate=e.onrate?[{fn:e.onrate}]:[],o._onseek=e.onseek?[{fn:e.onseek}]:[],o._onunlock=e.onunlock?[{fn:e.onunlock}]:[],o._onresume=[],o._webAudio=n.usingWebAudio&&!o._html5,void 0!==n.ctx&&n.ctx&&n.autoUnlock&&n._unlockAudio(),n._howls.push(o),o._autoplay&&o._queue.push({event:"play",action:function(){o.play()}}),o._preload&&o.load(),o},load:function(){var e=this,o=null;if(n.noAudio)return void e._emit("loaderror",null,"No audio support.");"string"==typeof e._src&&(e._src=[e._src]);for(var r=0;r<e._src.length;r++){var u,i;if(e._format&&e._format[r])u=e._format[r];else{if("string"!=typeof(i=e._src[r])){e._emit("loaderror",null,"Non-string found in selected audio sources - ignoring.");continue}u=/^data:audio\/([^;,]+);/i.exec(i),u||(u=/\.([^.]+)$/.exec(i.split("?",1)[0])),u&&(u=u[1].toLowerCase())}if(u||console.warn('No file extension was found. Consider using the "format" property or specify an extension.'),u&&n.codecs(u)){o=e._src[r];break}}return o?(e._src=o,e._state="loading","https:"===window.location.protocol&&"http:"===o.slice(0,5)&&(e._html5=!0,e._webAudio=!1),new t(e),e._webAudio&&a(e),e):void e._emit("loaderror",null,"No codec support for selected audio sources.")},play:function(e,o){var t=this,r=null;if("number"==typeof e)r=e,e=null;else{if("string"==typeof e&&"loaded"===t._state&&!t._sprite[e])return null;if(void 0===e&&(e="__default",!t._playLock)){for(var a=0,u=0;u<t._sounds.length;u++)t._sounds[u]._paused&&!t._sounds[u]._ended&&(a++,r=t._sounds[u]._id);1===a?e=null:r=null}}var i=r?t._soundById(r):t._inactiveSound();if(!i)return null;if(r&&!e&&(e=i._sprite||"__default"),"loaded"!==t._state){i._sprite=e,i._ended=!1;var d=i._id;return t._queue.push({event:"play",action:function(){t.play(d)}}),d}if(r&&!i._paused)return o||t._loadQueue("play"),i._id;t._webAudio&&n._autoResume();var _=Math.max(0,i._seek>0?i._seek:t._sprite[e][0]/1e3),s=Math.max(0,(t._sprite[e][0]+t._sprite[e][1])/1e3-_),l=1e3*s/Math.abs(i._rate),c=t._sprite[e][0]/1e3,f=(t._sprite[e][0]+t._sprite[e][1])/1e3,p=!(!i._loop&&!t._sprite[e][2]);i._sprite=e,i._ended=!1;var m=function(){i._paused=!1,i._seek=_,i._start=c,i._stop=f,i._loop=p};if(_>=f)return void t._ended(i);var v=i._node;if(t._webAudio){var h=function(){t._playLock=!1,m(),t._refreshBuffer(i);var e=i._muted||t._muted?0:i._volume;v.gain.setValueAtTime(e,n.ctx.currentTime),i._playStart=n.ctx.currentTime,void 0===v.bufferSource.start?i._loop?v.bufferSource.noteGrainOn(0,_,86400):v.bufferSource.noteGrainOn(0,_,s):i._loop?v.bufferSource.start(0,_,86400):v.bufferSource.start(0,_,s),l!==1/0&&(t._endTimers[i._id]=setTimeout(t._ended.bind(t,i),l)),o||setTimeout(function(){t._emit("play",i._id),t._loadQueue()},0)};"running"===n.state?h():(t._playLock=!0,t.once("resume",h),t._clearTimer(i._id))}else{var y=function(){v.currentTime=_,v.muted=i._muted||t._muted||n._muted||v.muted,v.volume=i._volume*n.volume(),v.playbackRate=i._rate;try{var r=v.play();if(r&&"undefined"!=typeof Promise&&(r instanceof Promise||"function"==typeof r.then)?(t._playLock=!0,m(),r.then(function(){t._playLock=!1,v._unlocked=!0,o||(t._emit("play",i._id),t._loadQueue())}).catch(function(){t._playLock=!1,t._emit("playerror",i._id,"Playback was unable to start. This is most commonly an issue on mobile devices and Chrome where playback was not within a user interaction."),i._ended=!0,i._paused=!0})):o||(t._playLock=!1,m(),t._emit("play",i._id),t._loadQueue()),v.playbackRate=i._rate,v.paused)return void t._emit("playerror",i._id,"Playback was unable to start. This is most commonly an issue on mobile devices and Chrome where playback was not within a user interaction.");"__default"!==e||i._loop?t._endTimers[i._id]=setTimeout(t._ended.bind(t,i),l):(t._endTimers[i._id]=function(){t._ended(i),v.removeEventListener("ended",t._endTimers[i._id],!1)},v.addEventListener("ended",t._endTimers[i._id],!1))}catch(e){t._emit("playerror",i._id,e)}},g=window&&window.ejecta||!v.readyState&&n._navigator.isCocoonJS;if(v.readyState>=3||g)y();else{t._playLock=!0;var b=function(){y(),v.removeEventListener(n._canPlayEvent,b,!1)};v.addEventListener(n._canPlayEvent,b,!1),t._clearTimer(i._id)}}return i._id},pause:function(e){var n=this;if("loaded"!==n._state||n._playLock)return n._queue.push({event:"pause",action:function(){n.pause(e)}}),n;for(var o=n._getSoundIds(e),t=0;t<o.length;t++){n._clearTimer(o[t]);var r=n._soundById(o[t]);if(r&&!r._paused&&(r._seek=n.seek(o[t]),r._rateSeek=0,r._paused=!0,n._stopFade(o[t]),r._node))if(n._webAudio){if(!r._node.bufferSource)continue;void 0===r._node.bufferSource.stop?r._node.bufferSource.noteOff(0):r._node.bufferSource.stop(0),n._cleanBuffer(r._node)}else isNaN(r._node.duration)&&r._node.duration!==1/0||r._node.pause();arguments[1]||n._emit("pause",r?r._id:null)}return n},stop:function(e,n){var o=this;if("loaded"!==o._state||o._playLock)return o._queue.push({event:"stop",action:function(){o.stop(e)}}),o;for(var t=o._getSoundIds(e),r=0;r<t.length;r++){o._clearTimer(t[r]);var a=o._soundById(t[r]);a&&(a._seek=a._start||0,a._rateSeek=0,a._paused=!0,a._ended=!0,o._stopFade(t[r]),a._node&&(o._webAudio?a._node.bufferSource&&(void 0===a._node.bufferSource.stop?a._node.bufferSource.noteOff(0):a._node.bufferSource.stop(0),o._cleanBuffer(a._node)):isNaN(a._node.duration)&&a._node.duration!==1/0||(a._node.currentTime=a._start||0,a._node.pause())),n||o._emit("stop",a._id))}return o},mute:function(e,o){var t=this;if("loaded"!==t._state||t._playLock)return t._queue.push({event:"mute",action:function(){t.mute(e,o)}}),t;if(void 0===o){if("boolean"!=typeof e)return t._muted;t._muted=e}for(var r=t._getSoundIds(o),a=0;a<r.length;a++){var u=t._soundById(r[a]);u&&(u._muted=e,u._interval&&t._stopFade(u._id),t._webAudio&&u._node?u._node.gain.setValueAtTime(e?0:u._volume,n.ctx.currentTime):u._node&&(u._node.muted=!!n._muted||e),t._emit("mute",u._id))}return t},volume:function(){var e,o,t=this,r=arguments;if(0===r.length)return t._volume;if(1===r.length||2===r.length&&void 0===r[1]){t._getSoundIds().indexOf(r[0])>=0?o=parseInt(r[0],10):e=parseFloat(r[0])}else r.length>=2&&(e=parseFloat(r[0]),o=parseInt(r[1],10));var a;if(!(void 0!==e&&e>=0&&e<=1))return a=o?t._soundById(o):t._sounds[0],a?a._volume:0;if("loaded"!==t._state||t._playLock)return t._queue.push({event:"volume",action:function(){t.volume.apply(t,r)}}),t;void 0===o&&(t._volume=e),o=t._getSoundIds(o);for(var u=0;u<o.length;u++)(a=t._soundById(o[u]))&&(a._volume=e,r[2]||t._stopFade(o[u]),t._webAudio&&a._node&&!a._muted?a._node.gain.setValueAtTime(e,n.ctx.currentTime):a._node&&!a._muted&&(a._node.volume=e*n.volume()),t._emit("volume",a._id));return t},fade:function(e,o,t,r){var a=this;if("loaded"!==a._state||a._playLock)return a._queue.push({event:"fade",action:function(){a.fade(e,o,t,r)}}),a;e=parseFloat(e),o=parseFloat(o),t=parseFloat(t),a.volume(e,r);for(var u=a._getSoundIds(r),i=0;i<u.length;i++){var d=a._soundById(u[i]);if(d){if(r||a._stopFade(u[i]),a._webAudio&&!d._muted){var _=n.ctx.currentTime,s=_+t/1e3;d._volume=e,d._node.gain.setValueAtTime(e,_),d._node.gain.linearRampToValueAtTime(o,s)}a._startFadeInterval(d,e,o,t,u[i],void 0===r)}}return a},_startFadeInterval:function(e,n,o,t,r,a){var u=this,i=n,d=o-n,_=Math.abs(d/.01),s=Math.max(4,_>0?t/_:t),l=Date.now();e._fadeTo=o,e._interval=setInterval(function(){var r=(Date.now()-l)/t;l=Date.now(),i+=d*r,i=Math.max(0,i),i=Math.min(1,i),i=Math.round(100*i)/100,u._webAudio?e._volume=i:u.volume(i,e._id,!0),a&&(u._volume=i),(o<n&&i<=o||o>n&&i>=o)&&(clearInterval(e._interval),e._interval=null,e._fadeTo=null,u.volume(o,e._id),u._emit("fade",e._id))},s)},_stopFade:function(e){var o=this,t=o._soundById(e);return t&&t._interval&&(o._webAudio&&t._node.gain.cancelScheduledValues(n.ctx.currentTime),clearInterval(t._interval),t._interval=null,o.volume(t._fadeTo,e),t._fadeTo=null,o._emit("fade",e)),o},loop:function(){var e,n,o,t=this,r=arguments;if(0===r.length)return t._loop;if(1===r.length){if("boolean"!=typeof r[0])return!!(o=t._soundById(parseInt(r[0],10)))&&o._loop;e=r[0],t._loop=e}else 2===r.length&&(e=r[0],n=parseInt(r[1],10));for(var a=t._getSoundIds(n),u=0;u<a.length;u++)(o=t._soundById(a[u]))&&(o._loop=e,t._webAudio&&o._node&&o._node.bufferSource&&(o._node.bufferSource.loop=e,e&&(o._node.bufferSource.loopStart=o._start||0,o._node.bufferSource.loopEnd=o._stop)));return t},rate:function(){var e,o,t=this,r=arguments;if(0===r.length)o=t._sounds[0]._id;else if(1===r.length){var a=t._getSoundIds(),u=a.indexOf(r[0]);u>=0?o=parseInt(r[0],10):e=parseFloat(r[0])}else 2===r.length&&(e=parseFloat(r[0]),o=parseInt(r[1],10));var i;if("number"!=typeof e)return i=t._soundById(o),i?i._rate:t._rate;if("loaded"!==t._state||t._playLock)return t._queue.push({event:"rate",action:function(){t.rate.apply(t,r)}}),t;void 0===o&&(t._rate=e),o=t._getSoundIds(o);for(var d=0;d<o.length;d++)if(i=t._soundById(o[d])){t.playing(o[d])&&(i._rateSeek=t.seek(o[d]),i._playStart=t._webAudio?n.ctx.currentTime:i._playStart),i._rate=e,t._webAudio&&i._node&&i._node.bufferSource?i._node.bufferSource.playbackRate.setValueAtTime(e,n.ctx.currentTime):i._node&&(i._node.playbackRate=e);var _=t.seek(o[d]),s=(t._sprite[i._sprite][0]+t._sprite[i._sprite][1])/1e3-_,l=1e3*s/Math.abs(i._rate);!t._endTimers[o[d]]&&i._paused||(t._clearTimer(o[d]),t._endTimers[o[d]]=setTimeout(t._ended.bind(t,i),l)),t._emit("rate",i._id)}return t},seek:function(){var e,o,t=this,r=arguments;if(0===r.length)o=t._sounds[0]._id;else if(1===r.length){var a=t._getSoundIds(),u=a.indexOf(r[0]);u>=0?o=parseInt(r[0],10):t._sounds.length&&(o=t._sounds[0]._id,e=parseFloat(r[0]))}else 2===r.length&&(e=parseFloat(r[0]),o=parseInt(r[1],10));if(void 0===o)return t;if("loaded"!==t._state||t._playLock)return t._queue.push({event:"seek",action:function(){t.seek.apply(t,r)}}),t;var i=t._soundById(o);if(i){if(!("number"==typeof e&&e>=0)){if(t._webAudio){var d=t.playing(o)?n.ctx.currentTime-i._playStart:0,_=i._rateSeek?i._rateSeek-i._seek:0;return i._seek+(_+d*Math.abs(i._rate))}return i._node.currentTime}var s=t.playing(o);s&&t.pause(o,!0),i._seek=e,i._ended=!1,t._clearTimer(o),t._webAudio||!i._node||isNaN(i._node.duration)||(i._node.currentTime=e);var l=function(){t._emit("seek",o),s&&t.play(o,!0)};if(s&&!t._webAudio){var c=function(){t._playLock?setTimeout(c,0):l()};setTimeout(c,0)}else l()}return t},playing:function(e){var n=this;if("number"==typeof e){var o=n._soundById(e);return!!o&&!o._paused}for(var t=0;t<n._sounds.length;t++)if(!n._sounds[t]._paused)return!0;return!1},duration:function(e){var n=this,o=n._duration,t=n._soundById(e);return t&&(o=n._sprite[t._sprite][1]/1e3),o},state:function(){return this._state},unload:function(){for(var e=this,o=e._sounds,t=0;t<o.length;t++){if(o[t]._paused||e.stop(o[t]._id),!e._webAudio){/MSIE |Trident\//.test(n._navigator&&n._navigator.userAgent)||(o[t]._node.src="data:audio/wav;base64,UklGRigAAABXQVZFZm10IBIAAAABAAEARKwAAIhYAQACABAAAABkYXRhAgAAAAEA"),o[t]._node.removeEventListener("error",o[t]._errorFn,!1),o[t]._node.removeEventListener(n._canPlayEvent,o[t]._loadFn,!1),n._releaseHtml5Audio(o[t]._node)}delete o[t]._node,e._clearTimer(o[t]._id)}var a=n._howls.indexOf(e);a>=0&&n._howls.splice(a,1);var u=!0;for(t=0;t<n._howls.length;t++)if(n._howls[t]._src===e._src||e._src.indexOf(n._howls[t]._src)>=0){u=!1;break}return r&&u&&delete r[e._src],n.noAudio=!1,e._state="unloaded",e._sounds=[],e=null,null},on:function(e,n,o,t){var r=this,a=r["_on"+e];return"function"==typeof n&&a.push(t?{id:o,fn:n,once:t}:{id:o,fn:n}),r},off:function(e,n,o){var t=this,r=t["_on"+e],a=0;if("number"==typeof n&&(o=n,n=null),n||o)for(a=0;a<r.length;a++){var u=o===r[a].id;if(n===r[a].fn&&u||!n&&u){r.splice(a,1);break}}else if(e)t["_on"+e]=[];else{var i=Object.keys(t);for(a=0;a<i.length;a++)0===i[a].indexOf("_on")&&Array.isArray(t[i[a]])&&(t[i[a]]=[])}return t},once:function(e,n,o){var t=this;return t.on(e,n,o,1),t},_emit:function(e,n,o){for(var t=this,r=t["_on"+e],a=r.length-1;a>=0;a--)r[a].id&&r[a].id!==n&&"load"!==e||(setTimeout(function(e){e.call(this,n,o)}.bind(t,r[a].fn),0),r[a].once&&t.off(e,r[a].fn,r[a].id));return t._loadQueue(e),t},_loadQueue:function(e){var n=this;if(n._queue.length>0){var o=n._queue[0];o.event===e&&(n._queue.shift(),n._loadQueue()),e||o.action()}return n},_ended:function(e){var o=this,t=e._sprite;if(!o._webAudio&&e._node&&!e._node.paused&&!e._node.ended&&e._node.currentTime<e._stop)return setTimeout(o._ended.bind(o,e),100),o;var r=!(!e._loop&&!o._sprite[t][2]);if(o._emit("end",e._id),!o._webAudio&&r&&o.stop(e._id,!0).play(e._id),o._webAudio&&r){o._emit("play",e._id),e._seek=e._start||0,e._rateSeek=0,e._playStart=n.ctx.currentTime;var a=1e3*(e._stop-e._start)/Math.abs(e._rate);o._endTimers[e._id]=setTimeout(o._ended.bind(o,e),a)}return o._webAudio&&!r&&(e._paused=!0,e._ended=!0,e._seek=e._start||0,e._rateSeek=0,o._clearTimer(e._id),o._cleanBuffer(e._node),n._autoSuspend()),o._webAudio||r||o.stop(e._id,!0),o},_clearTimer:function(e){var n=this;if(n._endTimers[e]){if("function"!=typeof n._endTimers[e])clearTimeout(n._endTimers[e]);else{var o=n._soundById(e);o&&o._node&&o._node.removeEventListener("ended",n._endTimers[e],!1)}delete n._endTimers[e]}return n},_soundById:function(e){for(var n=this,o=0;o<n._sounds.length;o++)if(e===n._sounds[o]._id)return n._sounds[o];return null},_inactiveSound:function(){var e=this;e._drain();for(var n=0;n<e._sounds.length;n++)if(e._sounds[n]._ended)return e._sounds[n].reset();return new t(e)},_drain:function(){var e=this,n=e._pool,o=0,t=0;if(!(e._sounds.length<n)){for(t=0;t<e._sounds.length;t++)e._sounds[t]._ended&&o++;for(t=e._sounds.length-1;t>=0;t--){if(o<=n)return;e._sounds[t]._ended&&(e._webAudio&&e._sounds[t]._node&&e._sounds[t]._node.disconnect(0),e._sounds.splice(t,1),o--)}}},_getSoundIds:function(e){var n=this;if(void 0===e){for(var o=[],t=0;t<n._sounds.length;t++)o.push(n._sounds[t]._id);return o}return[e]},_refreshBuffer:function(e){var o=this;return e._node.bufferSource=n.ctx.createBufferSource(),e._node.bufferSource.buffer=r[o._src],e._panner?e._node.bufferSource.connect(e._panner):e._node.bufferSource.connect(e._node),e._node.bufferSource.loop=e._loop,e._loop&&(e._node.bufferSource.loopStart=e._start||0,e._node.bufferSource.loopEnd=e._stop||0),e._node.bufferSource.playbackRate.setValueAtTime(e._rate,n.ctx.currentTime),o},_cleanBuffer:function(e){var o=this,t=n._navigator&&n._navigator.vendor.indexOf("Apple")>=0;if(n._scratchBuffer&&e.bufferSource&&(e.bufferSource.onended=null,e.bufferSource.disconnect(0),t))try{e.bufferSource.buffer=n._scratchBuffer}catch(e){}return e.bufferSource=null,o}};var t=function(e){this._parent=e,this.init()};t.prototype={init:function(){var e=this,o=e._parent;return e._muted=o._muted,e._loop=o._loop,e._volume=o._volume,e._rate=o._rate,e._seek=0,e._paused=!0,e._ended=!0,e._sprite="__default",e._id=++n._counter,o._sounds.push(e),e.create(),e},create:function(){var e=this,o=e._parent,t=n._muted||e._muted||e._parent._muted?0:e._volume;return o._webAudio?(e._node=void 0===n.ctx.createGain?n.ctx.createGainNode():n.ctx.createGain(),e._node.gain.setValueAtTime(t,n.ctx.currentTime),e._node.paused=!0,e._node.connect(n.masterGain)):(e._node=n._obtainHtml5Audio(),e._errorFn=e._errorListener.bind(e),e._node.addEventListener("error",e._errorFn,!1),e._loadFn=e._loadListener.bind(e),e._node.addEventListener(n._canPlayEvent,e._loadFn,!1),e._node.src=o._src,e._node.preload="auto",e._node.volume=t*n.volume(),e._node.load()),e},reset:function(){var e=this,o=e._parent;return e._muted=o._muted,e._loop=o._loop,e._volume=o._volume,e._rate=o._rate,e._seek=0,e._rateSeek=0,e._paused=!0,e._ended=!0,e._sprite="__default",e._id=++n._counter,e},_errorListener:function(){var e=this;e._parent._emit("loaderror",e._id,e._node.error?e._node.error.code:0),e._node.removeEventListener("error",e._errorFn,!1)},_loadListener:function(){var e=this,o=e._parent;o._duration=Math.ceil(10*e._node.duration)/10,0===Object.keys(o._sprite).length&&(o._sprite={__default:[0,1e3*o._duration]}),"loaded"!==o._state&&(o._state="loaded",o._emit("load"),o._loadQueue()),e._node.removeEventListener(n._canPlayEvent,e._loadFn,!1)}};var r={},a=function(e){var n=e._src;if(r[n])return e._duration=r[n].duration,void d(e);if(/^data:[^;]+;base64,/.test(n)){for(var o=atob(n.split(",")[1]),t=new Uint8Array(o.length),a=0;a<o.length;++a)t[a]=o.charCodeAt(a);i(t.buffer,e)}else{var _=new XMLHttpRequest;_.open("GET",n,!0),_.withCredentials=e._xhrWithCredentials,_.responseType="arraybuffer",_.onload=function(){var n=(_.status+"")[0];if("0"!==n&&"2"!==n&&"3"!==n)return void e._emit("loaderror",null,"Failed loading audio file with status: "+_.status+".");i(_.response,e)},_.onerror=function(){e._webAudio&&(e._html5=!0,e._webAudio=!1,e._sounds=[],delete r[n],e.load())},u(_)}},u=function(e){try{e.send()}catch(n){e.onerror()}},i=function(e,o){var t=function(){o._emit("loaderror",null,"Decoding audio data failed.")},a=function(e){e&&o._sounds.length>0?(r[o._src]=e,d(o,e)):t()};"undefined"!=typeof Promise&&1===n.ctx.decodeAudioData.length?n.ctx.decodeAudioData(e).then(a).catch(t):n.ctx.decodeAudioData(e,a,t)},d=function(e,n){n&&!e._duration&&(e._duration=n.duration),0===Object.keys(e._sprite).length&&(e._sprite={__default:[0,1e3*e._duration]}),"loaded"!==e._state&&(e._state="loaded",e._emit("load"),e._loadQueue())},_=function(){if(n.usingWebAudio){try{"undefined"!=typeof AudioContext?n.ctx=new AudioContext:"undefined"!=typeof webkitAudioContext?n.ctx=new webkitAudioContext:n.usingWebAudio=!1}catch(e){n.usingWebAudio=!1}n.ctx||(n.usingWebAudio=!1);var e=/iP(hone|od|ad)/.test(n._navigator&&n._navigator.platform),o=n._navigator&&n._navigator.appVersion.match(/OS (\d+)_(\d+)_?(\d+)?/),t=o?parseInt(o[1],10):null;if(e&&t&&t<9){var r=/safari/.test(n._navigator&&n._navigator.userAgent.toLowerCase());(n._navigator&&n._navigator.standalone&&!r||n._navigator&&!n._navigator.standalone&&!r)&&(n.usingWebAudio=!1)}n.usingWebAudio&&(n.masterGain=void 0===n.ctx.createGain?n.ctx.createGainNode():n.ctx.createGain(),n.masterGain.gain.setValueAtTime(n._muted?0:1,n.ctx.currentTime),n.masterGain.connect(n.ctx.destination)),n._setup()}};"function"==typeof define&&define.amd&&define([],function(){return{Howler:n,Howl:o}}),"undefined"!=typeof exports&&(exports.Howler=n,exports.Howl=o),"undefined"!=typeof window?(window.HowlerGlobal=e,window.Howler=n,window.Howl=o,window.Sound=t):"undefined"!=typeof global&&(global.HowlerGlobal=e,global.Howler=n,global.Howl=o,global.Sound=t)}(); /*! Spatial Plugin */ !function(){"use strict";HowlerGlobal.prototype._pos=[0,0,0],HowlerGlobal.prototype._orientation=[0,0,-1,0,1,0],HowlerGlobal.prototype.stereo=function(e){var n=this;if(!n.ctx||!n.ctx.listener)return n;for(var t=n._howls.length-1;t>=0;t--)n._howls[t].stereo(e);return n},HowlerGlobal.prototype.pos=function(e,n,t){var r=this;return r.ctx&&r.ctx.listener?(n="number"!=typeof n?r._pos[1]:n,t="number"!=typeof t?r._pos[2]:t,"number"!=typeof e?r._pos:(r._pos=[e,n,t],void 0!==r.ctx.listener.positionX?(r.ctx.listener.positionX.setTargetAtTime(r._pos[0],Howler.ctx.currentTime,.1),r.ctx.listener.positionY.setTargetAtTime(r._pos[1],Howler.ctx.currentTime,.1),r.ctx.listener.positionZ.setTargetAtTime(r._pos[2],Howler.ctx.currentTime,.1)):r.ctx.listener.setPosition(r._pos[0],r._pos[1],r._pos[2]),r)):r},HowlerGlobal.prototype.orientation=function(e,n,t,r,o,i){var a=this;if(!a.ctx||!a.ctx.listener)return a;var s=a._orientation;return n="number"!=typeof n?s[1]:n,t="number"!=typeof t?s[2]:t,r="number"!=typeof r?s[3]:r,o="number"!=typeof o?s[4]:o,i="number"!=typeof i?s[5]:i,"number"!=typeof e?s:(a._orientation=[e,n,t,r,o,i],void 0!==a.ctx.listener.forwardX?(a.ctx.listener.forwardX.setTargetAtTime(e,Howler.ctx.currentTime,.1),a.ctx.listener.forwardY.setTargetAtTime(n,Howler.ctx.currentTime,.1),a.ctx.listener.forwardZ.setTargetAtTime(t,Howler.ctx.currentTime,.1),a.ctx.listener.upX.setTargetAtTime(e,Howler.ctx.currentTime,.1),a.ctx.listener.upY.setTargetAtTime(n,Howler.ctx.currentTime,.1),a.ctx.listener.upZ.setTargetAtTime(t,Howler.ctx.currentTime,.1)):a.ctx.listener.setOrientation(e,n,t,r,o,i),a)},Howl.prototype.init=function(e){return function(n){var t=this;return t._orientation=n.orientation||[1,0,0],t._stereo=n.stereo||null,t._pos=n.pos||null,t._pannerAttr={coneInnerAngle:void 0!==n.coneInnerAngle?n.coneInnerAngle:360,coneOuterAngle:void 0!==n.coneOuterAngle?n.coneOuterAngle:360,coneOuterGain:void 0!==n.coneOuterGain?n.coneOuterGain:0,distanceModel:void 0!==n.distanceModel?n.distanceModel:"inverse",maxDistance:void 0!==n.maxDistance?n.maxDistance:1e4,panningModel:void 0!==n.panningModel?n.panningModel:"HRTF",refDistance:void 0!==n.refDistance?n.refDistance:1,rolloffFactor:void 0!==n.rolloffFactor?n.rolloffFactor:1},t._onstereo=n.onstereo?[{fn:n.onstereo}]:[],t._onpos=n.onpos?[{fn:n.onpos}]:[],t._onorientation=n.onorientation?[{fn:n.onorientation}]:[],e.call(this,n)}}(Howl.prototype.init),Howl.prototype.stereo=function(n,t){var r=this;if(!r._webAudio)return r;if("loaded"!==r._state)return r._queue.push({event:"stereo",action:function(){r.stereo(n,t)}}),r;var o=void 0===Howler.ctx.createStereoPanner?"spatial":"stereo";if(void 0===t){if("number"!=typeof n)return r._stereo;r._stereo=n,r._pos=[n,0,0]}for(var i=r._getSoundIds(t),a=0;a<i.length;a++){var s=r._soundById(i[a]);if(s){if("number"!=typeof n)return s._stereo;s._stereo=n,s._pos=[n,0,0],s._node&&(s._pannerAttr.panningModel="equalpower",s._panner&&s._panner.pan||e(s,o),"spatial"===o?void 0!==s._panner.positionX?(s._panner.positionX.setValueAtTime(n,Howler.ctx.currentTime),s._panner.positionY.setValueAtTime(0,Howler.ctx.currentTime),s._panner.positionZ.setValueAtTime(0,Howler.ctx.currentTime)):s._panner.setPosition(n,0,0):s._panner.pan.setValueAtTime(n,Howler.ctx.currentTime)),r._emit("stereo",s._id)}}return r},Howl.prototype.pos=function(n,t,r,o){var i=this;if(!i._webAudio)return i;if("loaded"!==i._state)return i._queue.push({event:"pos",action:function(){i.pos(n,t,r,o)}}),i;if(t="number"!=typeof t?0:t,r="number"!=typeof r?-.5:r,void 0===o){if("number"!=typeof n)return i._pos;i._pos=[n,t,r]}for(var a=i._getSoundIds(o),s=0;s<a.length;s++){var p=i._soundById(a[s]);if(p){if("number"!=typeof n)return p._pos;p._pos=[n,t,r],p._node&&(p._panner&&!p._panner.pan||e(p,"spatial"),void 0!==p._panner.positionX?(p._panner.positionX.setValueAtTime(n,Howler.ctx.currentTime),p._panner.positionY.setValueAtTime(t,Howler.ctx.currentTime),p._panner.positionZ.setValueAtTime(r,Howler.ctx.currentTime)):p._panner.setPosition(n,t,r)),i._emit("pos",p._id)}}return i},Howl.prototype.orientation=function(n,t,r,o){var i=this;if(!i._webAudio)return i;if("loaded"!==i._state)return i._queue.push({event:"orientation",action:function(){i.orientation(n,t,r,o)}}),i;if(t="number"!=typeof t?i._orientation[1]:t,r="number"!=typeof r?i._orientation[2]:r,void 0===o){if("number"!=typeof n)return i._orientation;i._orientation=[n,t,r]}for(var a=i._getSoundIds(o),s=0;s<a.length;s++){var p=i._soundById(a[s]);if(p){if("number"!=typeof n)return p._orientation;p._orientation=[n,t,r],p._node&&(p._panner||(p._pos||(p._pos=i._pos||[0,0,-.5]),e(p,"spatial")),void 0!==p._panner.orientationX?(p._panner.orientationX.setValueAtTime(n,Howler.ctx.currentTime),p._panner.orientationY.setValueAtTime(t,Howler.ctx.currentTime),p._panner.orientationZ.setValueAtTime(r,Howler.ctx.currentTime)):p._panner.setOrientation(n,t,r)),i._emit("orientation",p._id)}}return i},Howl.prototype.pannerAttr=function(){var n,t,r,o=this,i=arguments;if(!o._webAudio)return o;if(0===i.length)return o._pannerAttr;if(1===i.length){if("object"!=typeof i[0])return r=o._soundById(parseInt(i[0],10)),r?r._pannerAttr:o._pannerAttr;n=i[0],void 0===t&&(n.pannerAttr||(n.pannerAttr={coneInnerAngle:n.coneInnerAngle,coneOuterAngle:n.coneOuterAngle,coneOuterGain:n.coneOuterGain,distanceModel:n.distanceModel,maxDistance:n.maxDistance,refDistance:n.refDistance,rolloffFactor:n.rolloffFactor,panningModel:n.panningModel}),o._pannerAttr={coneInnerAngle:void 0!==n.pannerAttr.coneInnerAngle?n.pannerAttr.coneInnerAngle:o._coneInnerAngle,coneOuterAngle:void 0!==n.pannerAttr.coneOuterAngle?n.pannerAttr.coneOuterAngle:o._coneOuterAngle,coneOuterGain:void 0!==n.pannerAttr.coneOuterGain?n.pannerAttr.coneOuterGain:o._coneOuterGain,distanceModel:void 0!==n.pannerAttr.distanceModel?n.pannerAttr.distanceModel:o._distanceModel,maxDistance:void 0!==n.pannerAttr.maxDistance?n.pannerAttr.maxDistance:o._maxDistance,refDistance:void 0!==n.pannerAttr.refDistance?n.pannerAttr.refDistance:o._refDistance,rolloffFactor:void 0!==n.pannerAttr.rolloffFactor?n.pannerAttr.rolloffFactor:o._rolloffFactor,panningModel:void 0!==n.pannerAttr.panningModel?n.pannerAttr.panningModel:o._panningModel})}else 2===i.length&&(n=i[0],t=parseInt(i[1],10));for(var a=o._getSoundIds(t),s=0;s<a.length;s++)if(r=o._soundById(a[s])){var p=r._pannerAttr;p={coneInnerAngle:void 0!==n.coneInnerAngle?n.coneInnerAngle:p.coneInnerAngle,coneOuterAngle:void 0!==n.coneOuterAngle?n.coneOuterAngle:p.coneOuterAngle,coneOuterGain:void 0!==n.coneOuterGain?n.coneOuterGain:p.coneOuterGain,distanceModel:void 0!==n.distanceModel?n.distanceModel:p.distanceModel,maxDistance:void 0!==n.maxDistance?n.maxDistance:p.maxDistance,refDistance:void 0!==n.refDistance?n.refDistance:p.refDistance,rolloffFactor:void 0!==n.rolloffFactor?n.rolloffFactor:p.rolloffFactor,panningModel:void 0!==n.panningModel?n.panningModel:p.panningModel};var c=r._panner;c?(c.coneInnerAngle=p.coneInnerAngle,c.coneOuterAngle=p.coneOuterAngle,c.coneOuterGain=p.coneOuterGain,c.distanceModel=p.distanceModel,c.maxDistance=p.maxDistance,c.refDistance=p.refDistance,c.rolloffFactor=p.rolloffFactor,c.panningModel=p.panningModel):(r._pos||(r._pos=o._pos||[0,0,-.5]),e(r,"spatial"))}return o},Sound.prototype.init=function(e){return function(){var n=this,t=n._parent;n._orientation=t._orientation,n._stereo=t._stereo,n._pos=t._pos,n._pannerAttr=t._pannerAttr,e.call(this),n._stereo?t.stereo(n._stereo):n._pos&&t.pos(n._pos[0],n._pos[1],n._pos[2],n._id)}}(Sound.prototype.init),Sound.prototype.reset=function(e){return function(){var n=this,t=n._parent;return n._orientation=t._orientation,n._stereo=t._stereo,n._pos=t._pos,n._pannerAttr=t._pannerAttr,n._stereo?t.stereo(n._stereo):n._pos?t.pos(n._pos[0],n._pos[1],n._pos[2],n._id):n._panner&&(n._panner.disconnect(0),n._panner=void 0,t._refreshBuffer(n)),e.call(this)}}(Sound.prototype.reset);var e=function(e,n){n=n||"spatial","spatial"===n?(e._panner=Howler.ctx.createPanner(),e._panner.coneInnerAngle=e._pannerAttr.coneInnerAngle,e._panner.coneOuterAngle=e._pannerAttr.coneOuterAngle,e._panner.coneOuterGain=e._pannerAttr.coneOuterGain,e._panner.distanceModel=e._pannerAttr.distanceModel,e._panner.maxDistance=e._pannerAttr.maxDistance,e._panner.refDistance=e._pannerAttr.refDistance,e._panner.rolloffFactor=e._pannerAttr.rolloffFactor,e._panner.panningModel=e._pannerAttr.panningModel,void 0!==e._panner.positionX?(e._panner.positionX.setValueAtTime(e._pos[0],Howler.ctx.currentTime),e._panner.positionY.setValueAtTime(e._pos[1],Howler.ctx.currentTime),e._panner.positionZ.setValueAtTime(e._pos[2],Howler.ctx.currentTime)):e._panner.setPosition(e._pos[0],e._pos[1],e._pos[2]),void 0!==e._panner.orientationX?(e._panner.orientationX.setValueAtTime(e._orientation[0],Howler.ctx.currentTime),e._panner.orientationY.setValueAtTime(e._orientation[1],Howler.ctx.currentTime),e._panner.orientationZ.setValueAtTime(e._orientation[2],Howler.ctx.currentTime)):e._panner.setOrientation(e._orientation[0],e._orientation[1],e._orientation[2])):(e._panner=Howler.ctx.createStereoPanner(),e._panner.pan.setValueAtTime(e._stereo,Howler.ctx.currentTime)),e._panner.connect(e._node),e._paused||e._parent.pause(e._id,!0).play(e._id,!0)}}(); /* pako 1.0.2 nodeca/pako */ !function(t){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=t();else if("function"==typeof define&&define.amd)define([],t);else{var e;e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:this,e.pako=t()}}(function(){return function t(e,a,i){function n(s,o){if(!a[s]){if(!e[s]){var l="function"==typeof require&&require;if(!o&&l)return l(s,!0);if(r)return r(s,!0);var h=new Error("Cannot find module '"+s+"'");throw h.code="MODULE_NOT_FOUND",h}var d=a[s]={exports:{}};e[s][0].call(d.exports,function(t){var a=e[s][1][t];return n(a?a:t)},d,d.exports,t,e,a,i)}return a[s].exports}for(var r="function"==typeof require&&require,s=0;s<i.length;s++)n(i[s]);return n}({1:[function(t,e,a){"use strict";function i(t){if(!(this instanceof i))return new i(t);this.options=l.assign({level:w,method:v,chunkSize:16384,windowBits:15,memLevel:8,strategy:p,to:""},t||{});var e=this.options;e.raw&&e.windowBits>0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new f,this.strm.avail_out=0;var a=o.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(a!==b)throw new Error(d[a]);if(e.header&&o.deflateSetHeader(this.strm,e.header),e.dictionary){var n;if(n="string"==typeof e.dictionary?h.string2buf(e.dictionary):"[object ArrayBuffer]"===_.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,a=o.deflateSetDictionary(this.strm,n),a!==b)throw new Error(d[a]);this._dict_set=!0}}function n(t,e){var a=new i(e);if(a.push(t,!0),a.err)throw a.msg;return a.result}function r(t,e){return e=e||{},e.raw=!0,n(t,e)}function s(t,e){return e=e||{},e.gzip=!0,n(t,e)}var o=t("./zlib/deflate"),l=t("./utils/common"),h=t("./utils/strings"),d=t("./zlib/messages"),f=t("./zlib/zstream"),_=Object.prototype.toString,u=0,c=4,b=0,g=1,m=2,w=-1,p=0,v=8;i.prototype.push=function(t,e){var a,i,n=this.strm,r=this.options.chunkSize;if(this.ended)return!1;i=e===~~e?e:e===!0?c:u,"string"==typeof t?n.input=h.string2buf(t):"[object ArrayBuffer]"===_.call(t)?n.input=new Uint8Array(t):n.input=t,n.next_in=0,n.avail_in=n.input.length;do{if(0===n.avail_out&&(n.output=new l.Buf8(r),n.next_out=0,n.avail_out=r),a=o.deflate(n,i),a!==g&&a!==b)return this.onEnd(a),this.ended=!0,!1;0!==n.avail_out&&(0!==n.avail_in||i!==c&&i!==m)||("string"===this.options.to?this.onData(h.buf2binstring(l.shrinkBuf(n.output,n.next_out))):this.onData(l.shrinkBuf(n.output,n.next_out)))}while((n.avail_in>0||0===n.avail_out)&&a!==g);return i===c?(a=o.deflateEnd(this.strm),this.onEnd(a),this.ended=!0,a===b):i!==m||(this.onEnd(b),n.avail_out=0,!0)},i.prototype.onData=function(t){this.chunks.push(t)},i.prototype.onEnd=function(t){t===b&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=l.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},a.Deflate=i,a.deflate=n,a.deflateRaw=r,a.gzip=s},{"./utils/common":3,"./utils/strings":4,"./zlib/deflate":8,"./zlib/messages":13,"./zlib/zstream":15}],2:[function(t,e,a){"use strict";function i(t){if(!(this instanceof i))return new i(t);this.options=o.assign({chunkSize:16384,windowBits:0,to:""},t||{});var e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(e.windowBits>=0&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&0===(15&e.windowBits)&&(e.windowBits|=15),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new f,this.strm.avail_out=0;var a=s.inflateInit2(this.strm,e.windowBits);if(a!==h.Z_OK)throw new Error(d[a]);this.header=new _,s.inflateGetHeader(this.strm,this.header)}function n(t,e){var a=new i(e);if(a.push(t,!0),a.err)throw a.msg;return a.result}function r(t,e){return e=e||{},e.raw=!0,n(t,e)}var s=t("./zlib/inflate"),o=t("./utils/common"),l=t("./utils/strings"),h=t("./zlib/constants"),d=t("./zlib/messages"),f=t("./zlib/zstream"),_=t("./zlib/gzheader"),u=Object.prototype.toString;i.prototype.push=function(t,e){var a,i,n,r,d,f,_=this.strm,c=this.options.chunkSize,b=this.options.dictionary,g=!1;if(this.ended)return!1;i=e===~~e?e:e===!0?h.Z_FINISH:h.Z_NO_FLUSH,"string"==typeof t?_.input=l.binstring2buf(t):"[object ArrayBuffer]"===u.call(t)?_.input=new Uint8Array(t):_.input=t,_.next_in=0,_.avail_in=_.input.length;do{if(0===_.avail_out&&(_.output=new o.Buf8(c),_.next_out=0,_.avail_out=c),a=s.inflate(_,h.Z_NO_FLUSH),a===h.Z_NEED_DICT&&b&&(f="string"==typeof b?l.string2buf(b):"[object ArrayBuffer]"===u.call(b)?new Uint8Array(b):b,a=s.inflateSetDictionary(this.strm,f)),a===h.Z_BUF_ERROR&&g===!0&&(a=h.Z_OK,g=!1),a!==h.Z_STREAM_END&&a!==h.Z_OK)return this.onEnd(a),this.ended=!0,!1;_.next_out&&(0!==_.avail_out&&a!==h.Z_STREAM_END&&(0!==_.avail_in||i!==h.Z_FINISH&&i!==h.Z_SYNC_FLUSH)||("string"===this.options.to?(n=l.utf8border(_.output,_.next_out),r=_.next_out-n,d=l.buf2string(_.output,n),_.next_out=r,_.avail_out=c-r,r&&o.arraySet(_.output,_.output,n,r,0),this.onData(d)):this.onData(o.shrinkBuf(_.output,_.next_out)))),0===_.avail_in&&0===_.avail_out&&(g=!0)}while((_.avail_in>0||0===_.avail_out)&&a!==h.Z_STREAM_END);return a===h.Z_STREAM_END&&(i=h.Z_FINISH),i===h.Z_FINISH?(a=s.inflateEnd(this.strm),this.onEnd(a),this.ended=!0,a===h.Z_OK):i!==h.Z_SYNC_FLUSH||(this.onEnd(h.Z_OK),_.avail_out=0,!0)},i.prototype.onData=function(t){this.chunks.push(t)},i.prototype.onEnd=function(t){t===h.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=o.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},a.Inflate=i,a.inflate=n,a.inflateRaw=r,a.ungzip=n},{"./utils/common":3,"./utils/strings":4,"./zlib/constants":6,"./zlib/gzheader":9,"./zlib/inflate":11,"./zlib/messages":13,"./zlib/zstream":15}],3:[function(t,e,a){"use strict";var i="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;a.assign=function(t){for(var e=Array.prototype.slice.call(arguments,1);e.length;){var a=e.shift();if(a){if("object"!=typeof a)throw new TypeError(a+"must be non-object");for(var i in a)a.hasOwnProperty(i)&&(t[i]=a[i])}}return t},a.shrinkBuf=function(t,e){return t.length===e?t:t.subarray?t.subarray(0,e):(t.length=e,t)};var n={arraySet:function(t,e,a,i,n){if(e.subarray&&t.subarray)return void t.set(e.subarray(a,a+i),n);for(var r=0;r<i;r++)t[n+r]=e[a+r]},flattenChunks:function(t){var e,a,i,n,r,s;for(i=0,e=0,a=t.length;e<a;e++)i+=t[e].length;for(s=new Uint8Array(i),n=0,e=0,a=t.length;e<a;e++)r=t[e],s.set(r,n),n+=r.length;return s}},r={arraySet:function(t,e,a,i,n){for(var r=0;r<i;r++)t[n+r]=e[a+r]},flattenChunks:function(t){return[].concat.apply([],t)}};a.setTyped=function(t){t?(a.Buf8=Uint8Array,a.Buf16=Uint16Array,a.Buf32=Int32Array,a.assign(a,n)):(a.Buf8=Array,a.Buf16=Array,a.Buf32=Array,a.assign(a,r))},a.setTyped(i)},{}],4:[function(t,e,a){"use strict";function i(t,e){if(e<65537&&(t.subarray&&s||!t.subarray&&r))return String.fromCharCode.apply(null,n.shrinkBuf(t,e));for(var a="",i=0;i<e;i++)a+=String.fromCharCode(t[i]);return a}var n=t("./common"),r=!0,s=!0;try{String.fromCharCode.apply(null,[0])}catch(t){r=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(t){s=!1}for(var o=new n.Buf8(256),l=0;l<256;l++)o[l]=l>=252?6:l>=248?5:l>=240?4:l>=224?3:l>=192?2:1;o[254]=o[254]=1,a.string2buf=function(t){var e,a,i,r,s,o=t.length,l=0;for(r=0;r<o;r++)a=t.charCodeAt(r),55296===(64512&a)&&r+1<o&&(i=t.charCodeAt(r+1),56320===(64512&i)&&(a=65536+(a-55296<<10)+(i-56320),r++)),l+=a<128?1:a<2048?2:a<65536?3:4;for(e=new n.Buf8(l),s=0,r=0;s<l;r++)a=t.charCodeAt(r),55296===(64512&a)&&r+1<o&&(i=t.charCodeAt(r+1),56320===(64512&i)&&(a=65536+(a-55296<<10)+(i-56320),r++)),a<128?e[s++]=a:a<2048?(e[s++]=192|a>>>6,e[s++]=128|63&a):a<65536?(e[s++]=224|a>>>12,e[s++]=128|a>>>6&63,e[s++]=128|63&a):(e[s++]=240|a>>>18,e[s++]=128|a>>>12&63,e[s++]=128|a>>>6&63,e[s++]=128|63&a);return e},a.buf2binstring=function(t){return i(t,t.length)},a.binstring2buf=function(t){for(var e=new n.Buf8(t.length),a=0,i=e.length;a<i;a++)e[a]=t.charCodeAt(a);return e},a.buf2string=function(t,e){var a,n,r,s,l=e||t.length,h=new Array(2*l);for(n=0,a=0;a<l;)if(r=t[a++],r<128)h[n++]=r;else if(s=o[r],s>4)h[n++]=65533,a+=s-1;else{for(r&=2===s?31:3===s?15:7;s>1&&a<l;)r=r<<6|63&t[a++],s--;s>1?h[n++]=65533:r<65536?h[n++]=r:(r-=65536,h[n++]=55296|r>>10&1023,h[n++]=56320|1023&r)}return i(h,n)},a.utf8border=function(t,e){var a;for(e=e||t.length,e>t.length&&(e=t.length),a=e-1;a>=0&&128===(192&t[a]);)a--;return a<0?e:0===a?e:a+o[t[a]]>e?a:e}},{"./common":3}],5:[function(t,e,a){"use strict";function i(t,e,a,i){for(var n=65535&t|0,r=t>>>16&65535|0,s=0;0!==a;){s=a>2e3?2e3:a,a-=s;do n=n+e[i++]|0,r=r+n|0;while(--s);n%=65521,r%=65521}return n|r<<16|0}e.exports=i},{}],6:[function(t,e,a){"use strict";e.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},{}],7:[function(t,e,a){"use strict";function i(){for(var t,e=[],a=0;a<256;a++){t=a;for(var i=0;i<8;i++)t=1&t?3988292384^t>>>1:t>>>1;e[a]=t}return e}function n(t,e,a,i){var n=r,s=i+a;t^=-1;for(var o=i;o<s;o++)t=t>>>8^n[255&(t^e[o])];return t^-1}var r=i();e.exports=n},{}],8:[function(t,e,a){"use strict";function i(t,e){return t.msg=D[e],e}function n(t){return(t<<1)-(t>4?9:0)}function r(t){for(var e=t.length;--e>=0;)t[e]=0}function s(t){var e=t.state,a=e.pending;a>t.avail_out&&(a=t.avail_out),0!==a&&(R.arraySet(t.output,e.pending_buf,e.pending_out,a,t.next_out),t.next_out+=a,e.pending_out+=a,t.total_out+=a,t.avail_out-=a,e.pending-=a,0===e.pending&&(e.pending_out=0))}function o(t,e){C._tr_flush_block(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,s(t.strm)}function l(t,e){t.pending_buf[t.pending++]=e}function h(t,e){t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e}function d(t,e,a,i){var n=t.avail_in;return n>i&&(n=i),0===n?0:(t.avail_in-=n,R.arraySet(e,t.input,t.next_in,n,a),1===t.state.wrap?t.adler=N(t.adler,e,n,a):2===t.state.wrap&&(t.adler=O(t.adler,e,n,a)),t.next_in+=n,t.total_in+=n,n)}function f(t,e){var a,i,n=t.max_chain_length,r=t.strstart,s=t.prev_length,o=t.nice_match,l=t.strstart>t.w_size-ft?t.strstart-(t.w_size-ft):0,h=t.window,d=t.w_mask,f=t.prev,_=t.strstart+dt,u=h[r+s-1],c=h[r+s];t.prev_length>=t.good_match&&(n>>=2),o>t.lookahead&&(o=t.lookahead);do if(a=e,h[a+s]===c&&h[a+s-1]===u&&h[a]===h[r]&&h[++a]===h[r+1]){r+=2,a++;do;while(h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&h[++r]===h[++a]&&r<_);if(i=dt-(_-r),r=_-dt,i>s){if(t.match_start=e,s=i,i>=o)break;u=h[r+s-1],c=h[r+s]}}while((e=f[e&d])>l&&0!==--n);return s<=t.lookahead?s:t.lookahead}function _(t){var e,a,i,n,r,s=t.w_size;do{if(n=t.window_size-t.lookahead-t.strstart,t.strstart>=s+(s-ft)){R.arraySet(t.window,t.window,s,s,0),t.match_start-=s,t.strstart-=s,t.block_start-=s,a=t.hash_size,e=a;do i=t.head[--e],t.head[e]=i>=s?i-s:0;while(--a);a=s,e=a;do i=t.prev[--e],t.prev[e]=i>=s?i-s:0;while(--a);n+=s}if(0===t.strm.avail_in)break;if(a=d(t.strm,t.window,t.strstart+t.lookahead,n),t.lookahead+=a,t.lookahead+t.insert>=ht)for(r=t.strstart-t.insert,t.ins_h=t.window[r],t.ins_h=(t.ins_h<<t.hash_shift^t.window[r+1])&t.hash_mask;t.insert&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[r+ht-1])&t.hash_mask,t.prev[r&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=r,r++,t.insert--,!(t.lookahead+t.insert<ht)););}while(t.lookahead<ft&&0!==t.strm.avail_in)}function u(t,e){var a=65535;for(a>t.pending_buf_size-5&&(a=t.pending_buf_size-5);;){if(t.lookahead<=1){if(_(t),0===t.lookahead&&e===I)return vt;if(0===t.lookahead)break}t.strstart+=t.lookahead,t.lookahead=0;var i=t.block_start+a;if((0===t.strstart||t.strstart>=i)&&(t.lookahead=t.strstart-i,t.strstart=i,o(t,!1),0===t.strm.avail_out))return vt;if(t.strstart-t.block_start>=t.w_size-ft&&(o(t,!1),0===t.strm.avail_out))return vt}return t.insert=0,e===F?(o(t,!0),0===t.strm.avail_out?yt:xt):t.strstart>t.block_start&&(o(t,!1),0===t.strm.avail_out)?vt:vt}function c(t,e){for(var a,i;;){if(t.lookahead<ft){if(_(t),t.lookahead<ft&&e===I)return vt;if(0===t.lookahead)break}if(a=0,t.lookahead>=ht&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+ht-1])&t.hash_mask,a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!==a&&t.strstart-a<=t.w_size-ft&&(t.match_length=f(t,a)),t.match_length>=ht)if(i=C._tr_tally(t,t.strstart-t.match_start,t.match_length-ht),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=ht){t.match_length--;do t.strstart++,t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+ht-1])&t.hash_mask,a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart;while(0!==--t.match_length);t.strstart++}else t.strstart+=t.match_length,t.match_length=0,t.ins_h=t.window[t.strstart],t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+1])&t.hash_mask;else i=C._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(i&&(o(t,!1),0===t.strm.avail_out))return vt}return t.insert=t.strstart<ht-1?t.strstart:ht-1,e===F?(o(t,!0),0===t.strm.avail_out?yt:xt):t.last_lit&&(o(t,!1),0===t.strm.avail_out)?vt:kt}function b(t,e){for(var a,i,n;;){if(t.lookahead<ft){if(_(t),t.lookahead<ft&&e===I)return vt;if(0===t.lookahead)break}if(a=0,t.lookahead>=ht&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+ht-1])&t.hash_mask,a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),t.prev_length=t.match_length,t.prev_match=t.match_start,t.match_length=ht-1,0!==a&&t.prev_length<t.max_lazy_match&&t.strstart-a<=t.w_size-ft&&(t.match_length=f(t,a),t.match_length<=5&&(t.strategy===q||t.match_length===ht&&t.strstart-t.match_start>4096)&&(t.match_length=ht-1)),t.prev_length>=ht&&t.match_length<=t.prev_length){n=t.strstart+t.lookahead-ht,i=C._tr_tally(t,t.strstart-1-t.prev_match,t.prev_length-ht),t.lookahead-=t.prev_length-1,t.prev_length-=2;do++t.strstart<=n&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+ht-1])&t.hash_mask,a=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart);while(0!==--t.prev_length);if(t.match_available=0,t.match_length=ht-1,t.strstart++,i&&(o(t,!1),0===t.strm.avail_out))return vt}else if(t.match_available){if(i=C._tr_tally(t,0,t.window[t.strstart-1]),i&&o(t,!1),t.strstart++,t.lookahead--,0===t.strm.avail_out)return vt}else t.match_available=1,t.strstart++,t.lookahead--}return t.match_available&&(i=C._tr_tally(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<ht-1?t.strstart:ht-1,e===F?(o(t,!0),0===t.strm.avail_out?yt:xt):t.last_lit&&(o(t,!1),0===t.strm.avail_out)?vt:kt}function g(t,e){for(var a,i,n,r,s=t.window;;){if(t.lookahead<=dt){if(_(t),t.lookahead<=dt&&e===I)return vt;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=ht&&t.strstart>0&&(n=t.strstart-1,i=s[n],i===s[++n]&&i===s[++n]&&i===s[++n])){r=t.strstart+dt;do;while(i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&i===s[++n]&&n<r);t.match_length=dt-(r-n),t.match_length>t.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=ht?(a=C._tr_tally(t,1,t.match_length-ht),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(a=C._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),a&&(o(t,!1),0===t.strm.avail_out))return vt}return t.insert=0,e===F?(o(t,!0),0===t.strm.avail_out?yt:xt):t.last_lit&&(o(t,!1),0===t.strm.avail_out)?vt:kt}function m(t,e){for(var a;;){if(0===t.lookahead&&(_(t),0===t.lookahead)){if(e===I)return vt;break}if(t.match_length=0,a=C._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,a&&(o(t,!1),0===t.strm.avail_out))return vt}return t.insert=0,e===F?(o(t,!0),0===t.strm.avail_out?yt:xt):t.last_lit&&(o(t,!1),0===t.strm.avail_out)?vt:kt}function w(t,e,a,i,n){this.good_length=t,this.max_lazy=e,this.nice_length=a,this.max_chain=i,this.func=n}function p(t){t.window_size=2*t.w_size,r(t.head),t.max_lazy_match=Z[t.level].max_lazy,t.good_match=Z[t.level].good_length,t.nice_match=Z[t.level].nice_length,t.max_chain_length=Z[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=ht-1,t.match_available=0,t.ins_h=0}function v(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=V,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new R.Buf16(2*ot),this.dyn_dtree=new R.Buf16(2*(2*rt+1)),this.bl_tree=new R.Buf16(2*(2*st+1)),r(this.dyn_ltree),r(this.dyn_dtree),r(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new R.Buf16(lt+1),this.heap=new R.Buf16(2*nt+1),r(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new R.Buf16(2*nt+1),r(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function k(t){var e;return t&&t.state?(t.total_in=t.total_out=0,t.data_type=Q,e=t.state,e.pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=e.wrap?ut:wt,t.adler=2===e.wrap?0:1,e.last_flush=I,C._tr_init(e),H):i(t,K)}function y(t){var e=k(t);return e===H&&p(t.state),e}function x(t,e){return t&&t.state?2!==t.state.wrap?K:(t.state.gzhead=e,H):K}function z(t,e,a,n,r,s){if(!t)return K;var o=1;if(e===Y&&(e=6),n<0?(o=0,n=-n):n>15&&(o=2,n-=16),r<1||r>$||a!==V||n<8||n>15||e<0||e>9||s<0||s>W)return i(t,K);8===n&&(n=9);var l=new v;return t.state=l,l.strm=t,l.wrap=o,l.gzhead=null,l.w_bits=n,l.w_size=1<<l.w_bits,l.w_mask=l.w_size-1,l.hash_bits=r+7,l.hash_size=1<<l.hash_bits,l.hash_mask=l.hash_size-1,l.hash_shift=~~((l.hash_bits+ht-1)/ht),l.window=new R.Buf8(2*l.w_size),l.head=new R.Buf16(l.hash_size),l.prev=new R.Buf16(l.w_size),l.lit_bufsize=1<<r+6,l.pending_buf_size=4*l.lit_bufsize,l.pending_buf=new R.Buf8(l.pending_buf_size),l.d_buf=1*l.lit_bufsize,l.l_buf=3*l.lit_bufsize,l.level=e,l.strategy=s,l.method=a,y(t)}function B(t,e){return z(t,e,V,tt,et,J)}function S(t,e){var a,o,d,f;if(!t||!t.state||e>L||e<0)return t?i(t,K):K;if(o=t.state,!t.output||!t.input&&0!==t.avail_in||o.status===pt&&e!==F)return i(t,0===t.avail_out?P:K);if(o.strm=t,a=o.last_flush,o.last_flush=e,o.status===ut)if(2===o.wrap)t.adler=0,l(o,31),l(o,139),l(o,8),o.gzhead?(l(o,(o.gzhead.text?1:0)+(o.gzhead.hcrc?2:0)+(o.gzhead.extra?4:0)+(o.gzhead.name?8:0)+(o.gzhead.comment?16:0)),l(o,255&o.gzhead.time),l(o,o.gzhead.time>>8&255),l(o,o.gzhead.time>>16&255),l(o,o.gzhead.time>>24&255),l(o,9===o.level?2:o.strategy>=G||o.level<2?4:0),l(o,255&o.gzhead.os),o.gzhead.extra&&o.gzhead.extra.length&&(l(o,255&o.gzhead.extra.length),l(o,o.gzhead.extra.length>>8&255)),o.gzhead.hcrc&&(t.adler=O(t.adler,o.pending_buf,o.pending,0)),o.gzindex=0,o.status=ct):(l(o,0),l(o,0),l(o,0),l(o,0),l(o,0),l(o,9===o.level?2:o.strategy>=G||o.level<2?4:0),l(o,zt),o.status=wt);else{var _=V+(o.w_bits-8<<4)<<8,u=-1;u=o.strategy>=G||o.level<2?0:o.level<6?1:6===o.level?2:3,_|=u<<6,0!==o.strstart&&(_|=_t),_+=31-_%31,o.status=wt,h(o,_),0!==o.strstart&&(h(o,t.adler>>>16),h(o,65535&t.adler)),t.adler=1}if(o.status===ct)if(o.gzhead.extra){for(d=o.pending;o.gzindex<(65535&o.gzhead.extra.length)&&(o.pending!==o.pending_buf_size||(o.gzhead.hcrc&&o.pending>d&&(t.adler=O(t.adler,o.pending_buf,o.pending-d,d)),s(t),d=o.pending,o.pending!==o.pending_buf_size));)l(o,255&o.gzhead.extra[o.gzindex]),o.gzindex++;o.gzhead.hcrc&&o.pending>d&&(t.adler=O(t.adler,o.pending_buf,o.pending-d,d)),o.gzindex===o.gzhead.extra.length&&(o.gzindex=0,o.status=bt)}else o.status=bt;if(o.status===bt)if(o.gzhead.name){d=o.pending;do{if(o.pending===o.pending_buf_size&&(o.gzhead.hcrc&&o.pending>d&&(t.adler=O(t.adler,o.pending_buf,o.pending-d,d)),s(t),d=o.pending,o.pending===o.pending_buf_size)){f=1;break}f=o.gzindex<o.gzhead.name.length?255&o.gzhead.name.charCodeAt(o.gzindex++):0,l(o,f)}while(0!==f);o.gzhead.hcrc&&o.pending>d&&(t.adler=O(t.adler,o.pending_buf,o.pending-d,d)),0===f&&(o.gzindex=0,o.status=gt)}else o.status=gt;if(o.status===gt)if(o.gzhead.comment){d=o.pending;do{if(o.pending===o.pending_buf_size&&(o.gzhead.hcrc&&o.pending>d&&(t.adler=O(t.adler,o.pending_buf,o.pending-d,d)),s(t),d=o.pending,o.pending===o.pending_buf_size)){f=1;break}f=o.gzindex<o.gzhead.comment.length?255&o.gzhead.comment.charCodeAt(o.gzindex++):0,l(o,f)}while(0!==f);o.gzhead.hcrc&&o.pending>d&&(t.adler=O(t.adler,o.pending_buf,o.pending-d,d)),0===f&&(o.status=mt)}else o.status=mt;if(o.status===mt&&(o.gzhead.hcrc?(o.pending+2>o.pending_buf_size&&s(t),o.pending+2<=o.pending_buf_size&&(l(o,255&t.adler),l(o,t.adler>>8&255),t.adler=0,o.status=wt)):o.status=wt),0!==o.pending){if(s(t),0===t.avail_out)return o.last_flush=-1,H}else if(0===t.avail_in&&n(e)<=n(a)&&e!==F)return i(t,P);if(o.status===pt&&0!==t.avail_in)return i(t,P);if(0!==t.avail_in||0!==o.lookahead||e!==I&&o.status!==pt){var c=o.strategy===G?m(o,e):o.strategy===X?g(o,e):Z[o.level].func(o,e);if(c!==yt&&c!==xt||(o.status=pt),c===vt||c===yt)return 0===t.avail_out&&(o.last_flush=-1),H;if(c===kt&&(e===U?C._tr_align(o):e!==L&&(C._tr_stored_block(o,0,0,!1),e===T&&(r(o.head),0===o.lookahead&&(o.strstart=0,o.block_start=0,o.insert=0))),s(t),0===t.avail_out))return o.last_flush=-1,H}return e!==F?H:o.wrap<=0?j:(2===o.wrap?(l(o,255&t.adler),l(o,t.adler>>8&255),l(o,t.adler>>16&255),l(o,t.adler>>24&255),l(o,255&t.total_in),l(o,t.total_in>>8&255),l(o,t.total_in>>16&255),l(o,t.total_in>>24&255)):(h(o,t.adler>>>16),h(o,65535&t.adler)),s(t),o.wrap>0&&(o.wrap=-o.wrap),0!==o.pending?H:j)}function E(t){var e;return t&&t.state?(e=t.state.status,e!==ut&&e!==ct&&e!==bt&&e!==gt&&e!==mt&&e!==wt&&e!==pt?i(t,K):(t.state=null,e===wt?i(t,M):H)):K}function A(t,e){var a,i,n,s,o,l,h,d,f=e.length;if(!t||!t.state)return K;if(a=t.state,s=a.wrap,2===s||1===s&&a.status!==ut||a.lookahead)return K;for(1===s&&(t.adler=N(t.adler,e,f,0)),a.wrap=0,f>=a.w_size&&(0===s&&(r(a.head),a.strstart=0,a.block_start=0,a.insert=0),d=new R.Buf8(a.w_size),R.arraySet(d,e,f-a.w_size,a.w_size,0),e=d,f=a.w_size),o=t.avail_in,l=t.next_in,h=t.input,t.avail_in=f,t.next_in=0,t.input=e,_(a);a.lookahead>=ht;){i=a.strstart,n=a.lookahead-(ht-1);do a.ins_h=(a.ins_h<<a.hash_shift^a.window[i+ht-1])&a.hash_mask,a.prev[i&a.w_mask]=a.head[a.ins_h],a.head[a.ins_h]=i,i++;while(--n);a.strstart=i,a.lookahead=ht-1,_(a)}return a.strstart+=a.lookahead,a.block_start=a.strstart,a.insert=a.lookahead,a.lookahead=0,a.match_length=a.prev_length=ht-1,a.match_available=0,t.next_in=l,t.input=h,t.avail_in=o,a.wrap=s,H}var Z,R=t("../utils/common"),C=t("./trees"),N=t("./adler32"),O=t("./crc32"),D=t("./messages"),I=0,U=1,T=3,F=4,L=5,H=0,j=1,K=-2,M=-3,P=-5,Y=-1,q=1,G=2,X=3,W=4,J=0,Q=2,V=8,$=9,tt=15,et=8,at=29,it=256,nt=it+1+at,rt=30,st=19,ot=2*nt+1,lt=15,ht=3,dt=258,ft=dt+ht+1,_t=32,ut=42,ct=69,bt=73,gt=91,mt=103,wt=113,pt=666,vt=1,kt=2,yt=3,xt=4,zt=3;Z=[new w(0,0,0,0,u),new w(4,4,8,4,c),new w(4,5,16,8,c),new w(4,6,32,32,c),new w(4,4,16,16,b),new w(8,16,32,32,b),new w(8,16,128,128,b),new w(8,32,128,256,b),new w(32,128,258,1024,b),new w(32,258,258,4096,b)],a.deflateInit=B,a.deflateInit2=z,a.deflateReset=y,a.deflateResetKeep=k,a.deflateSetHeader=x,a.deflate=S,a.deflateEnd=E,a.deflateSetDictionary=A,a.deflateInfo="pako deflate (from Nodeca project)"},{"../utils/common":3,"./adler32":5,"./crc32":7,"./messages":13,"./trees":14}],9:[function(t,e,a){"use strict";function i(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}e.exports=i},{}],10:[function(t,e,a){"use strict";var i=30,n=12;e.exports=function(t,e){var a,r,s,o,l,h,d,f,_,u,c,b,g,m,w,p,v,k,y,x,z,B,S,E,A;a=t.state,r=t.next_in,E=t.input,s=r+(t.avail_in-5),o=t.next_out,A=t.output,l=o-(e-t.avail_out),h=o+(t.avail_out-257),d=a.dmax,f=a.wsize,_=a.whave,u=a.wnext,c=a.window,b=a.hold,g=a.bits,m=a.lencode,w=a.distcode,p=(1<<a.lenbits)-1,v=(1<<a.distbits)-1;t:do{g<15&&(b+=E[r++]<<g,g+=8,b+=E[r++]<<g,g+=8),k=m[b&p];e:for(;;){if(y=k>>>24,b>>>=y,g-=y,y=k>>>16&255,0===y)A[o++]=65535&k;else{if(!(16&y)){if(0===(64&y)){k=m[(65535&k)+(b&(1<<y)-1)];continue e}if(32&y){a.mode=n;break t}t.msg="invalid literal/length code",a.mode=i;break t}x=65535&k,y&=15,y&&(g<y&&(b+=E[r++]<<g,g+=8),x+=b&(1<<y)-1,b>>>=y,g-=y),g<15&&(b+=E[r++]<<g,g+=8,b+=E[r++]<<g,g+=8),k=w[b&v];a:for(;;){if(y=k>>>24,b>>>=y,g-=y,y=k>>>16&255,!(16&y)){if(0===(64&y)){k=w[(65535&k)+(b&(1<<y)-1)];continue a}t.msg="invalid distance code",a.mode=i;break t}if(z=65535&k,y&=15,g<y&&(b+=E[r++]<<g,g+=8,g<y&&(b+=E[r++]<<g,g+=8)),z+=b&(1<<y)-1,z>d){t.msg="invalid distance too far back",a.mode=i;break t}if(b>>>=y,g-=y,y=o-l,z>y){if(y=z-y,y>_&&a.sane){t.msg="invalid distance too far back",a.mode=i;break t}if(B=0,S=c,0===u){if(B+=f-y,y<x){x-=y;do A[o++]=c[B++];while(--y);B=o-z,S=A}}else if(u<y){if(B+=f+u-y,y-=u,y<x){x-=y;do A[o++]=c[B++];while(--y);if(B=0,u<x){y=u,x-=y;do A[o++]=c[B++];while(--y);B=o-z,S=A}}}else if(B+=u-y,y<x){x-=y;do A[o++]=c[B++];while(--y);B=o-z,S=A}for(;x>2;)A[o++]=S[B++],A[o++]=S[B++],A[o++]=S[B++],x-=3;x&&(A[o++]=S[B++],x>1&&(A[o++]=S[B++]))}else{B=o-z;do A[o++]=A[B++],A[o++]=A[B++],A[o++]=A[B++],x-=3;while(x>2);x&&(A[o++]=A[B++],x>1&&(A[o++]=A[B++]))}break}}break}}while(r<s&&o<h);x=g>>3,r-=x,g-=x<<3,b&=(1<<g)-1,t.next_in=r,t.next_out=o,t.avail_in=r<s?5+(s-r):5-(r-s),t.avail_out=o<h?257+(h-o):257-(o-h),a.hold=b,a.bits=g}},{}],11:[function(t,e,a){"use strict";function i(t){return(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24)}function n(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new w.Buf16(320),this.work=new w.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function r(t){var e;return t&&t.state?(e=t.state,t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=T,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new w.Buf32(bt),e.distcode=e.distdyn=new w.Buf32(gt),e.sane=1,e.back=-1,Z):N}function s(t){var e;return t&&t.state?(e=t.state,e.wsize=0,e.whave=0,e.wnext=0,r(t)):N}function o(t,e){var a,i;return t&&t.state?(i=t.state,e<0?(a=0,e=-e):(a=(e>>4)+1,e<48&&(e&=15)),e&&(e<8||e>15)?N:(null!==i.window&&i.wbits!==e&&(i.window=null),i.wrap=a,i.wbits=e,s(t))):N}function l(t,e){var a,i;return t?(i=new n,t.state=i,i.window=null,a=o(t,e),a!==Z&&(t.state=null),a):N}function h(t){return l(t,wt)}function d(t){if(pt){var e;for(g=new w.Buf32(512),m=new w.Buf32(32),e=0;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(y(z,t.lens,0,288,g,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;y(B,t.lens,0,32,m,0,t.work,{bits:5}),pt=!1}t.lencode=g,t.lenbits=9,t.distcode=m,t.distbits=5}function f(t,e,a,i){var n,r=t.state;return null===r.window&&(r.wsize=1<<r.wbits,r.wnext=0,r.whave=0,r.window=new w.Buf8(r.wsize)),i>=r.wsize?(w.arraySet(r.window,e,a-r.wsize,r.wsize,0),r.wnext=0,r.whave=r.wsize):(n=r.wsize-r.wnext,n>i&&(n=i),w.arraySet(r.window,e,a-i,n,r.wnext),i-=n,i?(w.arraySet(r.window,e,a-i,i,0),r.wnext=i,r.whave=r.wsize):(r.wnext+=n,r.wnext===r.wsize&&(r.wnext=0),r.whave<r.wsize&&(r.whave+=n))),0}function _(t,e){var a,n,r,s,o,l,h,_,u,c,b,g,m,bt,gt,mt,wt,pt,vt,kt,yt,xt,zt,Bt,St=0,Et=new w.Buf8(4),At=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!t||!t.state||!t.output||!t.input&&0!==t.avail_in)return N;a=t.state,a.mode===X&&(a.mode=W),o=t.next_out,r=t.output,h=t.avail_out,s=t.next_in,n=t.input,l=t.avail_in,_=a.hold,u=a.bits,c=l,b=h,xt=Z;t:for(;;)switch(a.mode){case T:if(0===a.wrap){a.mode=W;break}for(;u<16;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}if(2&a.wrap&&35615===_){a.check=0,Et[0]=255&_,Et[1]=_>>>8&255,a.check=v(a.check,Et,2,0),_=0,u=0,a.mode=F;break}if(a.flags=0,a.head&&(a.head.done=!1),!(1&a.wrap)||(((255&_)<<8)+(_>>8))%31){t.msg="incorrect header check",a.mode=_t;break}if((15&_)!==U){t.msg="unknown compression method",a.mode=_t;break}if(_>>>=4,u-=4,yt=(15&_)+8,0===a.wbits)a.wbits=yt;else if(yt>a.wbits){t.msg="invalid window size",a.mode=_t;break}a.dmax=1<<yt,t.adler=a.check=1,a.mode=512&_?q:X,_=0,u=0;break;case F:for(;u<16;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}if(a.flags=_,(255&a.flags)!==U){t.msg="unknown compression method",a.mode=_t;break}if(57344&a.flags){t.msg="unknown header flags set",a.mode=_t;break}a.head&&(a.head.text=_>>8&1),512&a.flags&&(Et[0]=255&_,Et[1]=_>>>8&255,a.check=v(a.check,Et,2,0)),_=0,u=0,a.mode=L;case L:for(;u<32;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}a.head&&(a.head.time=_),512&a.flags&&(Et[0]=255&_,Et[1]=_>>>8&255,Et[2]=_>>>16&255,Et[3]=_>>>24&255,a.check=v(a.check,Et,4,0)),_=0,u=0,a.mode=H;case H:for(;u<16;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}a.head&&(a.head.xflags=255&_,a.head.os=_>>8),512&a.flags&&(Et[0]=255&_,Et[1]=_>>>8&255,a.check=v(a.check,Et,2,0)),_=0,u=0,a.mode=j;case j:if(1024&a.flags){for(;u<16;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}a.length=_,a.head&&(a.head.extra_len=_),512&a.flags&&(Et[0]=255&_,Et[1]=_>>>8&255,a.check=v(a.check,Et,2,0)),_=0,u=0}else a.head&&(a.head.extra=null);a.mode=K;case K:if(1024&a.flags&&(g=a.length,g>l&&(g=l),g&&(a.head&&(yt=a.head.extra_len-a.length,a.head.extra||(a.head.extra=new Array(a.head.extra_len)),w.arraySet(a.head.extra,n,s,g,yt)),512&a.flags&&(a.check=v(a.check,n,g,s)),l-=g,s+=g,a.length-=g),a.length))break t;a.length=0,a.mode=M;case M:if(2048&a.flags){if(0===l)break t;g=0;do yt=n[s+g++],a.head&&yt&&a.length<65536&&(a.head.name+=String.fromCharCode(yt));while(yt&&g<l);if(512&a.flags&&(a.check=v(a.check,n,g,s)),l-=g,s+=g,yt)break t}else a.head&&(a.head.name=null);a.length=0,a.mode=P;case P:if(4096&a.flags){if(0===l)break t;g=0;do yt=n[s+g++],a.head&&yt&&a.length<65536&&(a.head.comment+=String.fromCharCode(yt));while(yt&&g<l);if(512&a.flags&&(a.check=v(a.check,n,g,s)),l-=g,s+=g,yt)break t}else a.head&&(a.head.comment=null);a.mode=Y;case Y:if(512&a.flags){for(;u<16;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}if(_!==(65535&a.check)){t.msg="header crc mismatch",a.mode=_t;break}_=0,u=0}a.head&&(a.head.hcrc=a.flags>>9&1,a.head.done=!0),t.adler=a.check=0,a.mode=X;break;case q:for(;u<32;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}t.adler=a.check=i(_),_=0,u=0,a.mode=G;case G:if(0===a.havedict)return t.next_out=o,t.avail_out=h,t.next_in=s,t.avail_in=l,a.hold=_,a.bits=u,C;t.adler=a.check=1,a.mode=X;case X:if(e===E||e===A)break t;case W:if(a.last){_>>>=7&u,u-=7&u,a.mode=ht;break}for(;u<3;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}switch(a.last=1&_,_>>>=1,u-=1,3&_){case 0:a.mode=J;break;case 1:if(d(a),a.mode=at,e===A){_>>>=2,u-=2;break t}break;case 2:a.mode=$;break;case 3:t.msg="invalid block type",a.mode=_t}_>>>=2,u-=2;break;case J:for(_>>>=7&u,u-=7&u;u<32;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}if((65535&_)!==(_>>>16^65535)){t.msg="invalid stored block lengths",a.mode=_t;break}if(a.length=65535&_,_=0,u=0,a.mode=Q,e===A)break t;case Q:a.mode=V;case V:if(g=a.length){if(g>l&&(g=l),g>h&&(g=h),0===g)break t;w.arraySet(r,n,s,g,o),l-=g,s+=g,h-=g,o+=g,a.length-=g;break}a.mode=X;break;case $:for(;u<14;){if(0===l)break t; l--,_+=n[s++]<<u,u+=8}if(a.nlen=(31&_)+257,_>>>=5,u-=5,a.ndist=(31&_)+1,_>>>=5,u-=5,a.ncode=(15&_)+4,_>>>=4,u-=4,a.nlen>286||a.ndist>30){t.msg="too many length or distance symbols",a.mode=_t;break}a.have=0,a.mode=tt;case tt:for(;a.have<a.ncode;){for(;u<3;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}a.lens[At[a.have++]]=7&_,_>>>=3,u-=3}for(;a.have<19;)a.lens[At[a.have++]]=0;if(a.lencode=a.lendyn,a.lenbits=7,zt={bits:a.lenbits},xt=y(x,a.lens,0,19,a.lencode,0,a.work,zt),a.lenbits=zt.bits,xt){t.msg="invalid code lengths set",a.mode=_t;break}a.have=0,a.mode=et;case et:for(;a.have<a.nlen+a.ndist;){for(;St=a.lencode[_&(1<<a.lenbits)-1],gt=St>>>24,mt=St>>>16&255,wt=65535&St,!(gt<=u);){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}if(wt<16)_>>>=gt,u-=gt,a.lens[a.have++]=wt;else{if(16===wt){for(Bt=gt+2;u<Bt;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}if(_>>>=gt,u-=gt,0===a.have){t.msg="invalid bit length repeat",a.mode=_t;break}yt=a.lens[a.have-1],g=3+(3&_),_>>>=2,u-=2}else if(17===wt){for(Bt=gt+3;u<Bt;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}_>>>=gt,u-=gt,yt=0,g=3+(7&_),_>>>=3,u-=3}else{for(Bt=gt+7;u<Bt;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}_>>>=gt,u-=gt,yt=0,g=11+(127&_),_>>>=7,u-=7}if(a.have+g>a.nlen+a.ndist){t.msg="invalid bit length repeat",a.mode=_t;break}for(;g--;)a.lens[a.have++]=yt}}if(a.mode===_t)break;if(0===a.lens[256]){t.msg="invalid code -- missing end-of-block",a.mode=_t;break}if(a.lenbits=9,zt={bits:a.lenbits},xt=y(z,a.lens,0,a.nlen,a.lencode,0,a.work,zt),a.lenbits=zt.bits,xt){t.msg="invalid literal/lengths set",a.mode=_t;break}if(a.distbits=6,a.distcode=a.distdyn,zt={bits:a.distbits},xt=y(B,a.lens,a.nlen,a.ndist,a.distcode,0,a.work,zt),a.distbits=zt.bits,xt){t.msg="invalid distances set",a.mode=_t;break}if(a.mode=at,e===A)break t;case at:a.mode=it;case it:if(l>=6&&h>=258){t.next_out=o,t.avail_out=h,t.next_in=s,t.avail_in=l,a.hold=_,a.bits=u,k(t,b),o=t.next_out,r=t.output,h=t.avail_out,s=t.next_in,n=t.input,l=t.avail_in,_=a.hold,u=a.bits,a.mode===X&&(a.back=-1);break}for(a.back=0;St=a.lencode[_&(1<<a.lenbits)-1],gt=St>>>24,mt=St>>>16&255,wt=65535&St,!(gt<=u);){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}if(mt&&0===(240&mt)){for(pt=gt,vt=mt,kt=wt;St=a.lencode[kt+((_&(1<<pt+vt)-1)>>pt)],gt=St>>>24,mt=St>>>16&255,wt=65535&St,!(pt+gt<=u);){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}_>>>=pt,u-=pt,a.back+=pt}if(_>>>=gt,u-=gt,a.back+=gt,a.length=wt,0===mt){a.mode=lt;break}if(32&mt){a.back=-1,a.mode=X;break}if(64&mt){t.msg="invalid literal/length code",a.mode=_t;break}a.extra=15&mt,a.mode=nt;case nt:if(a.extra){for(Bt=a.extra;u<Bt;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}a.length+=_&(1<<a.extra)-1,_>>>=a.extra,u-=a.extra,a.back+=a.extra}a.was=a.length,a.mode=rt;case rt:for(;St=a.distcode[_&(1<<a.distbits)-1],gt=St>>>24,mt=St>>>16&255,wt=65535&St,!(gt<=u);){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}if(0===(240&mt)){for(pt=gt,vt=mt,kt=wt;St=a.distcode[kt+((_&(1<<pt+vt)-1)>>pt)],gt=St>>>24,mt=St>>>16&255,wt=65535&St,!(pt+gt<=u);){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}_>>>=pt,u-=pt,a.back+=pt}if(_>>>=gt,u-=gt,a.back+=gt,64&mt){t.msg="invalid distance code",a.mode=_t;break}a.offset=wt,a.extra=15&mt,a.mode=st;case st:if(a.extra){for(Bt=a.extra;u<Bt;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}a.offset+=_&(1<<a.extra)-1,_>>>=a.extra,u-=a.extra,a.back+=a.extra}if(a.offset>a.dmax){t.msg="invalid distance too far back",a.mode=_t;break}a.mode=ot;case ot:if(0===h)break t;if(g=b-h,a.offset>g){if(g=a.offset-g,g>a.whave&&a.sane){t.msg="invalid distance too far back",a.mode=_t;break}g>a.wnext?(g-=a.wnext,m=a.wsize-g):m=a.wnext-g,g>a.length&&(g=a.length),bt=a.window}else bt=r,m=o-a.offset,g=a.length;g>h&&(g=h),h-=g,a.length-=g;do r[o++]=bt[m++];while(--g);0===a.length&&(a.mode=it);break;case lt:if(0===h)break t;r[o++]=a.length,h--,a.mode=it;break;case ht:if(a.wrap){for(;u<32;){if(0===l)break t;l--,_|=n[s++]<<u,u+=8}if(b-=h,t.total_out+=b,a.total+=b,b&&(t.adler=a.check=a.flags?v(a.check,r,b,o-b):p(a.check,r,b,o-b)),b=h,(a.flags?_:i(_))!==a.check){t.msg="incorrect data check",a.mode=_t;break}_=0,u=0}a.mode=dt;case dt:if(a.wrap&&a.flags){for(;u<32;){if(0===l)break t;l--,_+=n[s++]<<u,u+=8}if(_!==(4294967295&a.total)){t.msg="incorrect length check",a.mode=_t;break}_=0,u=0}a.mode=ft;case ft:xt=R;break t;case _t:xt=O;break t;case ut:return D;case ct:default:return N}return t.next_out=o,t.avail_out=h,t.next_in=s,t.avail_in=l,a.hold=_,a.bits=u,(a.wsize||b!==t.avail_out&&a.mode<_t&&(a.mode<ht||e!==S))&&f(t,t.output,t.next_out,b-t.avail_out)?(a.mode=ut,D):(c-=t.avail_in,b-=t.avail_out,t.total_in+=c,t.total_out+=b,a.total+=b,a.wrap&&b&&(t.adler=a.check=a.flags?v(a.check,r,b,t.next_out-b):p(a.check,r,b,t.next_out-b)),t.data_type=a.bits+(a.last?64:0)+(a.mode===X?128:0)+(a.mode===at||a.mode===Q?256:0),(0===c&&0===b||e===S)&&xt===Z&&(xt=I),xt)}function u(t){if(!t||!t.state)return N;var e=t.state;return e.window&&(e.window=null),t.state=null,Z}function c(t,e){var a;return t&&t.state?(a=t.state,0===(2&a.wrap)?N:(a.head=e,e.done=!1,Z)):N}function b(t,e){var a,i,n,r=e.length;return t&&t.state?(a=t.state,0!==a.wrap&&a.mode!==G?N:a.mode===G&&(i=1,i=p(i,e,r,0),i!==a.check)?O:(n=f(t,e,r,r))?(a.mode=ut,D):(a.havedict=1,Z)):N}var g,m,w=t("../utils/common"),p=t("./adler32"),v=t("./crc32"),k=t("./inffast"),y=t("./inftrees"),x=0,z=1,B=2,S=4,E=5,A=6,Z=0,R=1,C=2,N=-2,O=-3,D=-4,I=-5,U=8,T=1,F=2,L=3,H=4,j=5,K=6,M=7,P=8,Y=9,q=10,G=11,X=12,W=13,J=14,Q=15,V=16,$=17,tt=18,et=19,at=20,it=21,nt=22,rt=23,st=24,ot=25,lt=26,ht=27,dt=28,ft=29,_t=30,ut=31,ct=32,bt=852,gt=592,mt=15,wt=mt,pt=!0;a.inflateReset=s,a.inflateReset2=o,a.inflateResetKeep=r,a.inflateInit=h,a.inflateInit2=l,a.inflate=_,a.inflateEnd=u,a.inflateGetHeader=c,a.inflateSetDictionary=b,a.inflateInfo="pako inflate (from Nodeca project)"},{"../utils/common":3,"./adler32":5,"./crc32":7,"./inffast":10,"./inftrees":12}],12:[function(t,e,a){"use strict";var i=t("../utils/common"),n=15,r=852,s=592,o=0,l=1,h=2,d=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],f=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],_=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],u=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];e.exports=function(t,e,a,c,b,g,m,w){var p,v,k,y,x,z,B,S,E,A=w.bits,Z=0,R=0,C=0,N=0,O=0,D=0,I=0,U=0,T=0,F=0,L=null,H=0,j=new i.Buf16(n+1),K=new i.Buf16(n+1),M=null,P=0;for(Z=0;Z<=n;Z++)j[Z]=0;for(R=0;R<c;R++)j[e[a+R]]++;for(O=A,N=n;N>=1&&0===j[N];N--);if(O>N&&(O=N),0===N)return b[g++]=20971520,b[g++]=20971520,w.bits=1,0;for(C=1;C<N&&0===j[C];C++);for(O<C&&(O=C),U=1,Z=1;Z<=n;Z++)if(U<<=1,U-=j[Z],U<0)return-1;if(U>0&&(t===o||1!==N))return-1;for(K[1]=0,Z=1;Z<n;Z++)K[Z+1]=K[Z]+j[Z];for(R=0;R<c;R++)0!==e[a+R]&&(m[K[e[a+R]]++]=R);if(t===o?(L=M=m,z=19):t===l?(L=d,H-=257,M=f,P-=257,z=256):(L=_,M=u,z=-1),F=0,R=0,Z=C,x=g,D=O,I=0,k=-1,T=1<<O,y=T-1,t===l&&T>r||t===h&&T>s)return 1;for(var Y=0;;){Y++,B=Z-I,m[R]<z?(S=0,E=m[R]):m[R]>z?(S=M[P+m[R]],E=L[H+m[R]]):(S=96,E=0),p=1<<Z-I,v=1<<D,C=v;do v-=p,b[x+(F>>I)+v]=B<<24|S<<16|E|0;while(0!==v);for(p=1<<Z-1;F&p;)p>>=1;if(0!==p?(F&=p-1,F+=p):F=0,R++,0===--j[Z]){if(Z===N)break;Z=e[a+m[R]]}if(Z>O&&(F&y)!==k){for(0===I&&(I=O),x+=C,D=Z-I,U=1<<D;D+I<N&&(U-=j[D+I],!(U<=0));)D++,U<<=1;if(T+=1<<D,t===l&&T>r||t===h&&T>s)return 1;k=F&y,b[k]=O<<24|D<<16|x-g|0}}return 0!==F&&(b[x+F]=Z-I<<24|64<<16|0),w.bits=O,0}},{"../utils/common":3}],13:[function(t,e,a){"use strict";e.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},{}],14:[function(t,e,a){"use strict";function i(t){for(var e=t.length;--e>=0;)t[e]=0}function n(t,e,a,i,n){this.static_tree=t,this.extra_bits=e,this.extra_base=a,this.elems=i,this.max_length=n,this.has_stree=t&&t.length}function r(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}function s(t){return t<256?lt[t]:lt[256+(t>>>7)]}function o(t,e){t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255}function l(t,e,a){t.bi_valid>W-a?(t.bi_buf|=e<<t.bi_valid&65535,o(t,t.bi_buf),t.bi_buf=e>>W-t.bi_valid,t.bi_valid+=a-W):(t.bi_buf|=e<<t.bi_valid&65535,t.bi_valid+=a)}function h(t,e,a){l(t,a[2*e],a[2*e+1])}function d(t,e){var a=0;do a|=1&t,t>>>=1,a<<=1;while(--e>0);return a>>>1}function f(t){16===t.bi_valid?(o(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)}function _(t,e){var a,i,n,r,s,o,l=e.dyn_tree,h=e.max_code,d=e.stat_desc.static_tree,f=e.stat_desc.has_stree,_=e.stat_desc.extra_bits,u=e.stat_desc.extra_base,c=e.stat_desc.max_length,b=0;for(r=0;r<=X;r++)t.bl_count[r]=0;for(l[2*t.heap[t.heap_max]+1]=0,a=t.heap_max+1;a<G;a++)i=t.heap[a],r=l[2*l[2*i+1]+1]+1,r>c&&(r=c,b++),l[2*i+1]=r,i>h||(t.bl_count[r]++,s=0,i>=u&&(s=_[i-u]),o=l[2*i],t.opt_len+=o*(r+s),f&&(t.static_len+=o*(d[2*i+1]+s)));if(0!==b){do{for(r=c-1;0===t.bl_count[r];)r--;t.bl_count[r]--,t.bl_count[r+1]+=2,t.bl_count[c]--,b-=2}while(b>0);for(r=c;0!==r;r--)for(i=t.bl_count[r];0!==i;)n=t.heap[--a],n>h||(l[2*n+1]!==r&&(t.opt_len+=(r-l[2*n+1])*l[2*n],l[2*n+1]=r),i--)}}function u(t,e,a){var i,n,r=new Array(X+1),s=0;for(i=1;i<=X;i++)r[i]=s=s+a[i-1]<<1;for(n=0;n<=e;n++){var o=t[2*n+1];0!==o&&(t[2*n]=d(r[o]++,o))}}function c(){var t,e,a,i,r,s=new Array(X+1);for(a=0,i=0;i<K-1;i++)for(dt[i]=a,t=0;t<1<<et[i];t++)ht[a++]=i;for(ht[a-1]=i,r=0,i=0;i<16;i++)for(ft[i]=r,t=0;t<1<<at[i];t++)lt[r++]=i;for(r>>=7;i<Y;i++)for(ft[i]=r<<7,t=0;t<1<<at[i]-7;t++)lt[256+r++]=i;for(e=0;e<=X;e++)s[e]=0;for(t=0;t<=143;)st[2*t+1]=8,t++,s[8]++;for(;t<=255;)st[2*t+1]=9,t++,s[9]++;for(;t<=279;)st[2*t+1]=7,t++,s[7]++;for(;t<=287;)st[2*t+1]=8,t++,s[8]++;for(u(st,P+1,s),t=0;t<Y;t++)ot[2*t+1]=5,ot[2*t]=d(t,5);_t=new n(st,et,M+1,P,X),ut=new n(ot,at,0,Y,X),ct=new n(new Array(0),it,0,q,J)}function b(t){var e;for(e=0;e<P;e++)t.dyn_ltree[2*e]=0;for(e=0;e<Y;e++)t.dyn_dtree[2*e]=0;for(e=0;e<q;e++)t.bl_tree[2*e]=0;t.dyn_ltree[2*Q]=1,t.opt_len=t.static_len=0,t.last_lit=t.matches=0}function g(t){t.bi_valid>8?o(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0}function m(t,e,a,i){g(t),i&&(o(t,a),o(t,~a)),N.arraySet(t.pending_buf,t.window,e,a,t.pending),t.pending+=a}function w(t,e,a,i){var n=2*e,r=2*a;return t[n]<t[r]||t[n]===t[r]&&i[e]<=i[a]}function p(t,e,a){for(var i=t.heap[a],n=a<<1;n<=t.heap_len&&(n<t.heap_len&&w(e,t.heap[n+1],t.heap[n],t.depth)&&n++,!w(e,i,t.heap[n],t.depth));)t.heap[a]=t.heap[n],a=n,n<<=1;t.heap[a]=i}function v(t,e,a){var i,n,r,o,d=0;if(0!==t.last_lit)do i=t.pending_buf[t.d_buf+2*d]<<8|t.pending_buf[t.d_buf+2*d+1],n=t.pending_buf[t.l_buf+d],d++,0===i?h(t,n,e):(r=ht[n],h(t,r+M+1,e),o=et[r],0!==o&&(n-=dt[r],l(t,n,o)),i--,r=s(i),h(t,r,a),o=at[r],0!==o&&(i-=ft[r],l(t,i,o)));while(d<t.last_lit);h(t,Q,e)}function k(t,e){var a,i,n,r=e.dyn_tree,s=e.stat_desc.static_tree,o=e.stat_desc.has_stree,l=e.stat_desc.elems,h=-1;for(t.heap_len=0,t.heap_max=G,a=0;a<l;a++)0!==r[2*a]?(t.heap[++t.heap_len]=h=a,t.depth[a]=0):r[2*a+1]=0;for(;t.heap_len<2;)n=t.heap[++t.heap_len]=h<2?++h:0,r[2*n]=1,t.depth[n]=0,t.opt_len--,o&&(t.static_len-=s[2*n+1]);for(e.max_code=h,a=t.heap_len>>1;a>=1;a--)p(t,r,a);n=l;do a=t.heap[1],t.heap[1]=t.heap[t.heap_len--],p(t,r,1),i=t.heap[1],t.heap[--t.heap_max]=a,t.heap[--t.heap_max]=i,r[2*n]=r[2*a]+r[2*i],t.depth[n]=(t.depth[a]>=t.depth[i]?t.depth[a]:t.depth[i])+1,r[2*a+1]=r[2*i+1]=n,t.heap[1]=n++,p(t,r,1);while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],_(t,e),u(r,h,t.bl_count)}function y(t,e,a){var i,n,r=-1,s=e[1],o=0,l=7,h=4;for(0===s&&(l=138,h=3),e[2*(a+1)+1]=65535,i=0;i<=a;i++)n=s,s=e[2*(i+1)+1],++o<l&&n===s||(o<h?t.bl_tree[2*n]+=o:0!==n?(n!==r&&t.bl_tree[2*n]++,t.bl_tree[2*V]++):o<=10?t.bl_tree[2*$]++:t.bl_tree[2*tt]++,o=0,r=n,0===s?(l=138,h=3):n===s?(l=6,h=3):(l=7,h=4))}function x(t,e,a){var i,n,r=-1,s=e[1],o=0,d=7,f=4;for(0===s&&(d=138,f=3),i=0;i<=a;i++)if(n=s,s=e[2*(i+1)+1],!(++o<d&&n===s)){if(o<f){do h(t,n,t.bl_tree);while(0!==--o)}else 0!==n?(n!==r&&(h(t,n,t.bl_tree),o--),h(t,V,t.bl_tree),l(t,o-3,2)):o<=10?(h(t,$,t.bl_tree),l(t,o-3,3)):(h(t,tt,t.bl_tree),l(t,o-11,7));o=0,r=n,0===s?(d=138,f=3):n===s?(d=6,f=3):(d=7,f=4)}}function z(t){var e;for(y(t,t.dyn_ltree,t.l_desc.max_code),y(t,t.dyn_dtree,t.d_desc.max_code),k(t,t.bl_desc),e=q-1;e>=3&&0===t.bl_tree[2*nt[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e}function B(t,e,a,i){var n;for(l(t,e-257,5),l(t,a-1,5),l(t,i-4,4),n=0;n<i;n++)l(t,t.bl_tree[2*nt[n]+1],3);x(t,t.dyn_ltree,e-1),x(t,t.dyn_dtree,a-1)}function S(t){var e,a=4093624447;for(e=0;e<=31;e++,a>>>=1)if(1&a&&0!==t.dyn_ltree[2*e])return D;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return I;for(e=32;e<M;e++)if(0!==t.dyn_ltree[2*e])return I;return D}function E(t){bt||(c(),bt=!0),t.l_desc=new r(t.dyn_ltree,_t),t.d_desc=new r(t.dyn_dtree,ut),t.bl_desc=new r(t.bl_tree,ct),t.bi_buf=0,t.bi_valid=0,b(t)}function A(t,e,a,i){l(t,(T<<1)+(i?1:0),3),m(t,e,a,!0)}function Z(t){l(t,F<<1,3),h(t,Q,st),f(t)}function R(t,e,a,i){var n,r,s=0;t.level>0?(t.strm.data_type===U&&(t.strm.data_type=S(t)),k(t,t.l_desc),k(t,t.d_desc),s=z(t),n=t.opt_len+3+7>>>3,r=t.static_len+3+7>>>3,r<=n&&(n=r)):n=r=a+5,a+4<=n&&e!==-1?A(t,e,a,i):t.strategy===O||r===n?(l(t,(F<<1)+(i?1:0),3),v(t,st,ot)):(l(t,(L<<1)+(i?1:0),3),B(t,t.l_desc.max_code+1,t.d_desc.max_code+1,s+1),v(t,t.dyn_ltree,t.dyn_dtree)),b(t),i&&g(t)}function C(t,e,a){return t.pending_buf[t.d_buf+2*t.last_lit]=e>>>8&255,t.pending_buf[t.d_buf+2*t.last_lit+1]=255&e,t.pending_buf[t.l_buf+t.last_lit]=255&a,t.last_lit++,0===e?t.dyn_ltree[2*a]++:(t.matches++,e--,t.dyn_ltree[2*(ht[a]+M+1)]++,t.dyn_dtree[2*s(e)]++),t.last_lit===t.lit_bufsize-1}var N=t("../utils/common"),O=4,D=0,I=1,U=2,T=0,F=1,L=2,H=3,j=258,K=29,M=256,P=M+1+K,Y=30,q=19,G=2*P+1,X=15,W=16,J=7,Q=256,V=16,$=17,tt=18,et=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],at=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],it=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],nt=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],rt=512,st=new Array(2*(P+2));i(st);var ot=new Array(2*Y);i(ot);var lt=new Array(rt);i(lt);var ht=new Array(j-H+1);i(ht);var dt=new Array(K);i(dt);var ft=new Array(Y);i(ft);var _t,ut,ct,bt=!1;a._tr_init=E,a._tr_stored_block=A,a._tr_flush_block=R,a._tr_tally=C,a._tr_align=Z},{"../utils/common":3}],15:[function(t,e,a){"use strict";function i(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}e.exports=i},{}],"/":[function(t,e,a){"use strict";var i=t("./lib/utils/common").assign,n=t("./lib/deflate"),r=t("./lib/inflate"),s=t("./lib/zlib/constants"),o={};i(o,n,r,s),e.exports=o},{"./lib/deflate":1,"./lib/inflate":2,"./lib/utils/common":3,"./lib/zlib/constants":6}]},{},[])("/")}); /*! @source http://purl.eligrey.com/github/FileSaver.js/blob/master/FileSaver.js */ var saveAs=saveAs||function(e){"use strict";if(typeof e==="undefined"||typeof navigator!=="undefined"&&/MSIE [1-9]\./.test(navigator.userAgent)){return}var t=e.document,n=function(){return e.URL||e.webkitURL||e},r=t.createElementNS("http://www.w3.org/1999/xhtml","a"),o="download"in r,a=function(e){var t=new MouseEvent("click");e.dispatchEvent(t)},i=/constructor/i.test(e.HTMLElement)||e.safari,f=/CriOS\/[\d]+/.test(navigator.userAgent),u=function(t){(e.setImmediate||e.setTimeout)(function(){throw t},0)},s="application/octet-stream",d=1e3*40,c=function(e){var t=function(){if(typeof e==="string"){n().revokeObjectURL(e)}else{e.remove()}};setTimeout(t,d)},l=function(e,t,n){t=[].concat(t);var r=t.length;while(r--){var o=e["on"+t[r]];if(typeof o==="function"){try{o.call(e,n||e)}catch(a){u(a)}}}},p=function(e){if(/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)){return new Blob([String.fromCharCode(65279),e],{type:e.type})}return e},v=function(t,u,d){if(!d){t=p(t)}var v=this,w=t.type,m=w===s,y,h=function(){l(v,"writestart progress write writeend".split(" "))},S=function(){if((f||m&&i)&&e.FileReader){var r=new FileReader;r.onloadend=function(){var t=f?r.result:r.result.replace(/^data:[^;]*;/,"data:attachment/file;");var n=e.open(t,"_blank");if(!n)e.location.href=t;t=undefined;v.readyState=v.DONE;h()};r.readAsDataURL(t);v.readyState=v.INIT;return}if(!y){y=n().createObjectURL(t)}if(m){e.location.href=y}else{var o=e.open(y,"_blank");if(!o){e.location.href=y}}v.readyState=v.DONE;h();c(y)};v.readyState=v.INIT;if(o){y=n().createObjectURL(t);setTimeout(function(){r.href=y;r.download=u;a(r);h();c(y);v.readyState=v.DONE});return}S()},w=v.prototype,m=function(e,t,n){return new v(e,t||e.name||"download",n)};if(typeof navigator!=="undefined"&&navigator.msSaveOrOpenBlob){return function(e,t,n){t=t||e.name||"download";if(!n){e=p(e)}return navigator.msSaveOrOpenBlob(e,t)}}w.abort=function(){};w.readyState=w.INIT=0;w.WRITING=1;w.DONE=2;w.error=w.onwritestart=w.onprogress=w.onwrite=w.onabort=w.onerror=w.onwriteend=null;return m}(typeof self!=="undefined"&&self||typeof window!=="undefined"&&window||this.content);if(typeof module!=="undefined"&&module.exports){module.exports.saveAs=saveAs}else if(typeof define!=="undefined"&&define!==null&&define.amd!==null){define("FileSaver.js",function(){return saveAs})} if(typeof define == "function" && define.__amd) { define.amd = define.__amd; delete define.__amd; }